call capability result!

This commit is contained in:
lda
2026-05-19 04:19:05 +07:00 Verified
parent 50fc6e3670
commit edbe8c4d84
7 changed files with 123 additions and 6 deletions
+8
View File
@@ -42,6 +42,7 @@ def test_server_exposes_upstream_admin_and_workflow_tools() -> None:
async with client:
tools = await client.list_tools()
names = [tool.name for tool in tools]
tools_by_name = {tool.name: tool for tool in tools}
assert "fixture.personal.echo_tool" in names
assert "wf.admin.list_connections" in names
assert "wf.admin.get_connection_statuses" in names
@@ -64,6 +65,13 @@ def test_server_exposes_upstream_admin_and_workflow_tools() -> None:
assert "wf.workflow.create_artifact_from_draft" in names
assert "wf.workflow.patch_draft" in names
assert "wf.workflow.run_deployment" in names
call_capability_schema = tools_by_name[
"wf.workflow.call_capability"
].outputSchema
assert call_capability_schema is not None
assert "source_id" in call_capability_schema["properties"]
assert "kind" in call_capability_schema["properties"]
assert "diagnostics" in call_capability_schema["properties"]
echo_result = await client.call_tool(
"fixture.personal.echo_tool",
+35
View File
@@ -614,10 +614,41 @@ def test_workflow_surface_calls_saved_wrapper_artifact() -> None:
)
assert payload["qualified_name"] == "workflow.echo_wrapper.v1"
assert payload["source_id"] == "workflow"
assert payload["kind"] == "wrapper_artifact"
assert payload["diagnostics"] == []
assert payload["outcome"] == "completed"
assert payload["output"]["echoed"] == "hello"
def test_workflow_surface_calls_live_node_spec_with_self_describing_response() -> None:
service = WfMcpService(
store=FileStore(local_temp_root() / "surface_live_capability_call"),
artifact_store=FileWorkflowArtifactStore(
local_temp_root() / "surface_live_capability_call_artifacts"
),
)
service.register_connection(
ConnectionConfig(id="demo.personal", server="demo", account="personal")
)
service.register_specs("demo.personal", echo_tool)
handlers = WorkflowSurfaceHandlers(service)
payload = asyncio.run(
handlers.call_capability(
qualified_name="demo.personal.echo_tool",
payload={"text": "hello"},
)
)
assert payload["qualified_name"] == "demo.personal.echo_tool"
assert payload["source_id"] == "demo.personal"
assert payload["kind"] == "node_spec"
assert payload["diagnostics"] == []
assert payload["outcome"] == "ok"
assert payload["output"]["echoed"] == "hello"
def test_workflow_surface_calls_saved_wrapper_artifact_with_deployment_bindings() -> (
None
):
@@ -655,6 +686,10 @@ def test_workflow_surface_calls_saved_wrapper_artifact_with_deployment_bindings(
)
assert payload["qualified_name"] == "workflow.logical_echo_wrapper.v1"
assert payload["source_id"] == "workflow"
assert payload["kind"] == "wrapper_artifact"
assert payload["deployment_id"] == "logical_echo_wrapper.personal"
assert payload["diagnostics"] == []
assert payload["outcome"] == "completed"
assert payload["output"]["echoed"] == "hello"