feat: add cap call rpc command

This commit is contained in:
lda
2026-06-08 22:02:46 +07:00 Verified
parent c39d361873
commit 44407e8de2
9 changed files with 134 additions and 2 deletions
@@ -7,7 +7,11 @@ import fastapi_jsonrpc as jsonrpc
from wf_server import WorkflowServer
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
from ..models import InspectCapabilityParams, ListCapabilitiesParams
from ..models import (
CallCapabilityParams,
InspectCapabilityParams,
ListCapabilitiesParams,
)
from ..params import RpcParams
@@ -41,3 +45,16 @@ def register_methods(
)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(name="workflow.capabilities.call", errors=[WorkflowRpcError])
async def workflow_capabilities_call(
params: CallCapabilityParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.api.call_capability(
qualified_name=params.qualified_name,
payload=params.payload,
deployment_id=params.deployment_id,
)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)