feat: Tool Workshop manifest editor (PR 2)
- Add tool_definitions API client with types for manifests - Add ManifestEditor component: base image selector, package editors (apt/npm/pip/node), script editors (build/startup), mount schema designer, runtime config, and live preview panel - Integrate ManifestEditor into Tool Workshop as 'Manifest (Declarative)' definition type alongside Compose and Dockerfile - Update ToolType API types to include manifest_id and 'manifest' definition_type - Frontend builds clean, TypeScript typecheck passes
This commit is contained in:
@@ -94,7 +94,9 @@ def upgrade() -> None:
|
||||
op.drop_constraint("chk_definition_type", "tool_types", type_="check")
|
||||
|
||||
op.execute("ALTER TABLE tool_types ALTER COLUMN definition_type TYPE VARCHAR(16)")
|
||||
op.execute("ALTER TABLE tool_types ALTER COLUMN definition_type SET DEFAULT 'legacy'")
|
||||
op.execute(
|
||||
"ALTER TABLE tool_types ALTER COLUMN definition_type SET DEFAULT 'legacy'"
|
||||
)
|
||||
|
||||
# ── Add columns to tool_instances ────────────────────────────────
|
||||
result = conn.execute(
|
||||
@@ -106,7 +108,9 @@ def upgrade() -> None:
|
||||
if not result.fetchone():
|
||||
op.add_column(
|
||||
"tool_instances",
|
||||
sa.Column("manifest_compiled_at", sa.TIMESTAMP(timezone=True), nullable=True),
|
||||
sa.Column(
|
||||
"manifest_compiled_at", sa.TIMESTAMP(timezone=True), nullable=True
|
||||
),
|
||||
)
|
||||
|
||||
result = conn.execute(
|
||||
@@ -369,7 +373,9 @@ CMD ["/bin/bash"]
|
||||
op.drop_column("tool_instances", "manifest_compiled_at")
|
||||
|
||||
if has_manifest_id:
|
||||
op.drop_constraint("fk_tool_types_manifest_id", "tool_types", type_="foreignkey")
|
||||
op.drop_constraint(
|
||||
"fk_tool_types_manifest_id", "tool_types", type_="foreignkey"
|
||||
)
|
||||
op.drop_column("tool_types", "manifest_id")
|
||||
|
||||
op.drop_table("tool_definition_manifests")
|
||||
|
||||
Reference in New Issue
Block a user