26 lines
1.9 KiB
Markdown
26 lines
1.9 KiB
Markdown
# apps/api/src/models/tool
|
|
dir: apps/api/src/models/tool
|
|
|
|
index: apps/api/src/models/tool/.pi-map.index.md
|
|
|
|
## role
|
|
Provides SQLAlchemy ORM models for managing containerized tool definitions, types, and deployed instances in the API.
|
|
## files
|
|
- __init__.py | Package initialization file that exports the public API for the tool models module. | dep: src.models.tool.tool_definition_manifest, src.models.tool.tool_instance, src.models.tool.tool_type
|
|
- tool_definition_manifest.py | Defines a SQLAlchemy model for tool definition manifests that can represent either base Docker images or tool definitions that inherit from bases, storing manifest JSON and cached Dockerfile/Compose outputs. | exp: class:ToolDefinitionManifest | dep: uuid, typing, sqlalchemy, sqlalchemy.orm, src.models.base, src.models.user
|
|
- tool_instance.py | Defines a SQLAlchemy ORM model representing a deployed tool instance with container/runtime metadata and relationships to users, projects, and workspaces. | exp: class:ToolInstance | dep: uuid, datetime, typing, sqlalchemy, sqlalchemy.orm, src.models.base, src.models, src.models.project, src.models.user, src.models (ConfigProfile, GitRepository, Project, ToolType, User, Workspace)
|
|
- tool_type.py | Defines a SQLAlchemy ORM model for tool types that specify metadata, configuration, and deployment templates for containerized tools. | exp: class:ToolType | dep: uuid, typing, sqlalchemy, sqlalchemy.orm, src.models.base, src.models.tool.tool_definition_manifest, src.models.user
|
|
## arch
|
|
Uses SQLAlchemy ORM with declarative models, inheritance patterns (base vs. derived tool definitions), and relational associations linking tools to users, projects, and workspaces.
|
|
## tags
|
|
tool, models, src, sqlalchemy, definition, manifest, orm, instance
|
|
## symbols
|
|
- ToolDefinitionManifest
|
|
- ToolInstance
|
|
- ToolType
|
|
## workflows
|
|
- change tool behavior
|
|
read: __init__.py, tool_definition_manifest.py, tool_instance.py
|
|
## dirty
|
|
-
|