{
"id": "agent-host-transport:http",
"_kind": "AgentHostTransport",
"_file": "compute/agent-host-transports/http.yaml",
"_cluster": "compute",
"attributes": {
"displayName": "HTTP",
"kind": "http",
"description": "HTTP request/response transport between a host and an agent. Used by\nhosted agent SDKs and dashboard integrations that drive the agent\nover a synchronous request/response API rather than a long-lived\npipe.\n",
"inboundMessageFormat": "HTTP POST with a JSON body describing the work item. Per-agent shape;\na typical request body carries `{prompt|input, context|history?,\ntools?, options?}`. Streaming variants use `Accept: text/event-stream`\nor `Accept: application/x-ndjson`. Agent-specific request/response\nshapes are recorded on the AgentVersion node via per-edge evidence\n(intentionally not enumerated here — this transport node captures\nonly the cross-vendor contract).\n",
"outboundMessageFormat": "Either a single JSON response body (`{output, events?, usage?}`) for\nsynchronous calls, or a streamed body — `text/event-stream` SSE\nframes carrying JSONL turn events, or `application/x-ndjson` with\none JSON event per line.\n",
"signalForwarding": "No OS-signal channel. Cancel is expressed at the HTTP layer:\n - Closing the TCP connection / aborting the request typically\n cancels the in-flight turn server-side.\n - Some agents expose an explicit `POST /sessions/{id}/cancel`\n (or DELETE) endpoint. The exact path is per-agent and lives on\n the AgentVersion node, not here.\n",
"ptySemantics": "Not applicable — there is no terminal in an HTTP transport; ANSI /\nraw-mode behaviours must be handled by the agent's web frontend if\nneeded at all.\n"
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "agent-runtime-impl:claude-code.runtime@1.x",
"to": "agent-host-transport:http",
"kind": "exposes",
"attributes": {}
}
]
}