delete deployment + misc

This commit is contained in:
lda
2026-05-31 15:50:03 +07:00 Verified
parent 44e1e90ca7
commit 6fca7edc5b
10 changed files with 564 additions and 0 deletions
+14
View File
@@ -953,6 +953,20 @@ class WorkflowSurfaceHandlers:
"saved": True,
}
async def delete_deployment(self, *, deployment_id: str) -> dict[str, Any]:
"""Delete one mutable deployment environment binding."""
if self.service.artifact_store is None:
raise KeyError("workflow artifact store is not configured")
self.service.artifact_store.delete_deployment(deployment_id)
self.service._record_event(
make_event(
"workflow_deployment_deleted",
capability_id=f"deployment.{deployment_id}",
payload={"deployment_id": deployment_id},
)
)
return {"deployment_id": deployment_id, "deleted": True}
async def validate_deployment(
self,
*,
+16
View File
@@ -591,6 +591,22 @@ def register_workflow_tools(server: FastMCP[Any], service: WfMcpService) -> None
async def save_deployment(deployment: dict[str, Any]) -> dict[str, Any]:
return await handlers.save_deployment(deployment)
@server.tool(
name="wf.workflow.delete_deployment",
title="Delete Workflow Deployment",
description=(
"Delete one saved workflow deployment. This removes the mutable "
"environment binding only; workflow artifacts remain immutable."
),
)
async def delete_deployment(
deployment_id: Annotated[
str,
Field(description="Saved workflow deployment id to delete."),
],
) -> dict[str, Any]:
return await handlers.delete_deployment(deployment_id=deployment_id)
@server.tool(
name="wf.workflow.validate_deployment",
title="Validate Workflow Deployment",