RPC_CALL and RPC_RESPONSE
Client → server: RPC_CALL
{
"type": "RPC_CALL",
"requestId": "string",
"fnKey": "ClassName.methodName",
"args": []
}argsis a positional array; length must match the catalog entry’sparams.length.- File parameters use JSON-safe placeholders — see File uploads.
Server → client: RpcResponse
Typed in code as RpcResponse. Important fields:
| Field | Description |
|---|---|
type | Always 'RPC_RESPONSE'. |
requestId | Echo from the call. |
fnKey | Echo from the call. |
status | 'ok' or 'error'. |
result | JSON-safe payload on success; null on error. |
returnType | Declared or inferred return type string; 'error' when failed. |
returnShape | Structural shape string on success; null on error. |
label | Active Return label, synthetic error label, or timeout/serialization label. |
duration | Human-readable timing string. |
error | RpcErrorDetail or null. |
artifacts | Optional array of RpcArtifactRef (protocol v7+). |
RpcArtifactRef
Extensible object with required kind and optional uploadUrl, objectKey, expiresAt, plus additional keys for host-specific metadata.