feat: add focused draft cli edits

This commit is contained in:
lda
2026-06-15 18:27:27 +07:00 Verified
parent 577fb4707a
commit 97076479f1
20 changed files with 1832 additions and 6 deletions
+8
View File
@@ -29,6 +29,10 @@ from .models import (
ResumeRunParams,
SaveArtifactParams,
SaveDeploymentParams,
SetDraftNameParams,
SetDraftRouteParams,
SetStepInputMapParams,
SetStepOutputMapParams,
StartRunParams,
TraceRangeParams,
ValidateDeploymentParams,
@@ -62,6 +66,10 @@ __all__ = [
"ResumeRunParams",
"SaveArtifactParams",
"SaveDeploymentParams",
"SetDraftNameParams",
"SetDraftRouteParams",
"SetStepInputMapParams",
"SetStepOutputMapParams",
"StartRunParams",
"TraceRangeParams",
"ValidateDeploymentParams",
@@ -69,6 +69,74 @@ class RpcDraftClientMixin:
{"workspace_id": workspace_id, "revision": revision, "patch": patch},
)
async def set_draft_name(
self: RpcCaller,
*,
workspace_id: str,
revision: int,
name: str,
) -> dict[str, Any]:
return await self._call(
"workflow.draft_workspaces.set_name",
{"workspace_id": workspace_id, "revision": revision, "name": name},
)
async def set_draft_route(
self: RpcCaller,
*,
workspace_id: str,
revision: int,
step_id: str,
outcome: str,
target: str,
) -> dict[str, Any]:
return await self._call(
"workflow.draft_workspaces.set_route",
{
"workspace_id": workspace_id,
"revision": revision,
"step_id": step_id,
"outcome": outcome,
"target": target,
},
)
async def set_step_input_map(
self: RpcCaller,
*,
workspace_id: str,
revision: int,
step_id: str,
input_map: dict[str, str],
) -> dict[str, Any]:
return await self._call(
"workflow.draft_workspaces.set_step_input_map",
{
"workspace_id": workspace_id,
"revision": revision,
"step_id": step_id,
"input_map": input_map,
},
)
async def set_step_output_map(
self: RpcCaller,
*,
workspace_id: str,
revision: int,
step_id: str,
output_map: dict[str, str],
) -> dict[str, Any]:
return await self._call(
"workflow.draft_workspaces.set_step_output_map",
{
"workspace_id": workspace_id,
"revision": revision,
"step_id": step_id,
"output_map": output_map,
},
)
async def validate_draft_workspace(
self: RpcCaller,
*,
@@ -16,6 +16,10 @@ from ..models import (
ListDraftWorkspacesParams,
PatchDraftParams,
PatchDraftWorkspaceParams,
SetDraftNameParams,
SetDraftRouteParams,
SetStepInputMapParams,
SetStepOutputMapParams,
ValidateDraftParams,
ValidateDraftWorkspaceParams,
)
@@ -105,6 +109,72 @@ def register_methods(
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.draft_workspaces.set_name", errors=[WorkflowRpcError]
)
async def workflow_draft_workspaces_set_name(
params: SetDraftNameParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.api.set_draft_name(
workspace_id=params.workspace_id,
revision=params.revision,
name=params.name,
)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.draft_workspaces.set_route", errors=[WorkflowRpcError]
)
async def workflow_draft_workspaces_set_route(
params: SetDraftRouteParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.api.set_draft_route(
workspace_id=params.workspace_id,
revision=params.revision,
step_id=params.step_id,
outcome=params.outcome,
target=params.target,
)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.draft_workspaces.set_step_input_map",
errors=[WorkflowRpcError],
)
async def workflow_draft_workspaces_set_step_input_map(
params: SetStepInputMapParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.api.set_step_input_map(
workspace_id=params.workspace_id,
revision=params.revision,
step_id=params.step_id,
input_map=params.input_map,
)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.draft_workspaces.set_step_output_map",
errors=[WorkflowRpcError],
)
async def workflow_draft_workspaces_set_step_output_map(
params: SetStepOutputMapParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.api.set_step_output_map(
workspace_id=params.workspace_id,
revision=params.revision,
step_id=params.step_id,
output_map=params.output_map,
)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.draft_workspaces.validate", errors=[WorkflowRpcError]
)
+28
View File
@@ -111,6 +111,34 @@ class PatchDraftWorkspaceParams(RpcParamsModel):
patch: list[dict[str, Any]]
class SetDraftNameParams(RpcParamsModel):
workspace_id: str = Field(min_length=1)
revision: int = Field(ge=1)
name: str = Field(min_length=1)
class SetDraftRouteParams(RpcParamsModel):
workspace_id: str = Field(min_length=1)
revision: int = Field(ge=1)
step_id: str = Field(min_length=1)
outcome: str = Field(min_length=1)
target: str = Field(min_length=1)
class SetStepInputMapParams(RpcParamsModel):
workspace_id: str = Field(min_length=1)
revision: int = Field(ge=1)
step_id: str = Field(min_length=1)
input_map: dict[str, str]
class SetStepOutputMapParams(RpcParamsModel):
workspace_id: str = Field(min_length=1)
revision: int = Field(ge=1)
step_id: str = Field(min_length=1)
output_map: dict[str, str]
class ValidateDraftWorkspaceParams(RpcParamsModel):
workspace_id: str = Field(min_length=1)