feat: add workflow output draft command

This commit is contained in:
lda
2026-06-29 02:06:47 +07:00 Verified
parent 001c802a21
commit fe63eb08d4
25 changed files with 499 additions and 51 deletions
+2
View File
@@ -42,6 +42,7 @@ from .models import (
SetDraftRouteParams,
SetStepInputMapParams,
SetStepOutputMapParams,
SetWorkflowOutputMapParams,
StartRunParams,
TraceRangeParams,
ValidateDeploymentParams,
@@ -88,6 +89,7 @@ __all__ = [
"SetDraftRouteParams",
"SetStepInputMapParams",
"SetStepOutputMapParams",
"SetWorkflowOutputMapParams",
"StartRunParams",
"TraceRangeParams",
"ValidateDeploymentParams",
@@ -141,6 +141,24 @@ class RpcDraftClientMixin:
},
)
async def set_workflow_output_map(
self: RpcCaller,
*,
workspace_id: str,
revision: int,
output_map: dict[str, str],
merge: bool = False,
) -> dict[str, Any]:
return await self._call(
"workflow.draft_workspaces.set_workflow_output_map",
{
"workspace_id": workspace_id,
"revision": revision,
"output_map": output_map,
"merge": merge,
},
)
async def bind_draft(
self: RpcCaller,
*,
@@ -28,6 +28,7 @@ from ..models import (
SetDraftRouteParams,
SetStepInputMapParams,
SetStepOutputMapParams,
SetWorkflowOutputMapParams,
ValidateDraftParams,
ValidateDraftWorkspaceParams,
)
@@ -185,6 +186,23 @@ def register_methods(
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.draft_workspaces.set_workflow_output_map",
errors=[WorkflowRpcError],
)
async def workflow_draft_workspaces_set_workflow_output_map(
params: SetWorkflowOutputMapParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.api.set_workflow_output_map(
workspace_id=params.workspace_id,
revision=params.revision,
output_map=params.output_map,
merge=params.merge,
)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.draft_workspaces.bind",
errors=[WorkflowRpcError],
+7
View File
@@ -141,6 +141,13 @@ class SetStepOutputMapParams(RpcParamsModel):
merge: bool = False
class SetWorkflowOutputMapParams(RpcParamsModel):
workspace_id: str = Field(min_length=1)
revision: int = Field(ge=1)
output_map: dict[str, str]
merge: bool = False
class BindDraftParams(RpcParamsModel):
workspace_id: str = Field(min_length=1)
revision: int = Field(ge=1)