## Why The generated unnamespaced JSON envelope schemas (`ClientRequest` and `ServerNotification`) still contained both v1 and v2 variants, which pulled legacy v1/core types and v2 types into the same `definitions` graph. That caused `schemars` to produce numeric suffix names (for example `AskForApproval2`, `ByteRange2`, `MessagePhase2`). This PR moves JSON codegen toward v2-only output while preserving the unnamespaced envelope artifacts, and avoids reintroducing numeric-suffix tolerance by removing the v1/internal-only variants that caused the collisions in those envelope schemas. ## What Changed - In `codex-rs/app-server-protocol/src/export.rs`, JSON generation now excludes v1 schema artifacts (`v1/*`) while continuing to emit unnamespaced/root JSON schemas and the JSON bundle. - Added a narrow JSON v1 allowlist (`JSON_V1_ALLOWLIST`) so `InitializeParams` and `InitializeResponse` are still emitted. - Added JSON-only post-processing for the mixed envelope schemas before collision checks run: - `ClientRequest`: strips v1 request variants from the generated `oneOf` using the temporary `V1_CLIENT_REQUEST_METHODS` list - `ServerNotification`: strips v1 notifications plus the internal-only `rawResponseItem/completed` notification using the temporary `EXCLUDED_SERVER_NOTIFICATION_METHODS_FOR_JSON` list - Added a temporary local-definition pruning pass for those envelope schemas so now-unreferenced v1/core definitions are removed from `definitions` after method filtering. - Updated the variant-title naming heuristic for single-property literal object variants to use the literal value (when available), avoiding collisions like multiple `state`-only variants all deriving the same title. - Collision handling remains fail-fast (no numeric suffix fallback map in this PR path). ## Verification - `just write-app-server-schema` --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/openai/codex/pull/12408). * __->__ #12408 * #12406
8422 lines
No EOL
214 KiB
JSON
8422 lines
No EOL
214 KiB
JSON
{
|
||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
"definitions": {
|
||
"AbsolutePathBuf": {
|
||
"description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.",
|
||
"type": "string"
|
||
},
|
||
"AgentMessageContent": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"Text"
|
||
],
|
||
"title": "TextAgentMessageContentType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "TextAgentMessageContent",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"AgentStatus": {
|
||
"description": "Agent lifecycle status, derived from emitted events.",
|
||
"oneOf": [
|
||
{
|
||
"description": "Agent is waiting for initialization.",
|
||
"enum": [
|
||
"pending_init"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "Agent is currently running.",
|
||
"enum": [
|
||
"running"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"description": "Agent is done. Contains the final assistant message.",
|
||
"properties": {
|
||
"completed": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"completed"
|
||
],
|
||
"title": "CompletedAgentStatus",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"description": "Agent encountered an error.",
|
||
"properties": {
|
||
"errored": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"errored"
|
||
],
|
||
"title": "ErroredAgentStatus",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent has been shutdown.",
|
||
"enum": [
|
||
"shutdown"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "Agent is not found.",
|
||
"enum": [
|
||
"not_found"
|
||
],
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"AskForApproval": {
|
||
"description": "Determines the conditions under which the user is consulted to approve running the command proposed by Codex.",
|
||
"oneOf": [
|
||
{
|
||
"description": "Under this policy, only \"known safe\" commands—as determined by `is_safe_command()`—that **only read files** are auto‑approved. Everything else will ask the user to approve.",
|
||
"enum": [
|
||
"untrusted"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "DEPRECATED: *All* commands are auto‑approved, but they are expected to run inside a sandbox where network access is disabled and writes are confined to a specific set of paths. If the command fails, it will be escalated to the user to approve execution without a sandbox. Prefer `OnRequest` for interactive runs or `Never` for non-interactive runs.",
|
||
"enum": [
|
||
"on-failure"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "The model decides when to ask the user for approval.",
|
||
"enum": [
|
||
"on-request"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"description": "Fine-grained rejection controls for approval prompts.\n\nWhen a field is `true`, prompts of that category are automatically rejected instead of shown to the user.",
|
||
"properties": {
|
||
"reject": {
|
||
"$ref": "#/definitions/RejectConfig"
|
||
}
|
||
},
|
||
"required": [
|
||
"reject"
|
||
],
|
||
"title": "RejectAskForApproval",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Never ask the user to approve commands. Failures are immediately returned to the model, and never escalated to the user for approval.",
|
||
"enum": [
|
||
"never"
|
||
],
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"ByteRange": {
|
||
"properties": {
|
||
"end": {
|
||
"description": "End byte offset (exclusive) within the UTF-8 text buffer.",
|
||
"format": "uint",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"start": {
|
||
"description": "Start byte offset (inclusive) within the UTF-8 text buffer.",
|
||
"format": "uint",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
}
|
||
},
|
||
"required": [
|
||
"end",
|
||
"start"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"CallToolResult": {
|
||
"description": "The server's response to a tool call.",
|
||
"properties": {
|
||
"_meta": true,
|
||
"content": {
|
||
"items": true,
|
||
"type": "array"
|
||
},
|
||
"isError": {
|
||
"type": [
|
||
"boolean",
|
||
"null"
|
||
]
|
||
},
|
||
"structuredContent": true
|
||
},
|
||
"required": [
|
||
"content"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"CodexErrorInfo": {
|
||
"description": "Codex errors that we expose to clients.",
|
||
"oneOf": [
|
||
{
|
||
"enum": [
|
||
"context_window_exceeded",
|
||
"usage_limit_exceeded",
|
||
"server_overloaded",
|
||
"internal_server_error",
|
||
"unauthorized",
|
||
"bad_request",
|
||
"sandbox_error",
|
||
"thread_rollback_failed",
|
||
"other"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"http_connection_failed": {
|
||
"properties": {
|
||
"http_status_code": {
|
||
"format": "uint16",
|
||
"minimum": 0.0,
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"type": "object"
|
||
}
|
||
},
|
||
"required": [
|
||
"http_connection_failed"
|
||
],
|
||
"title": "HttpConnectionFailedCodexErrorInfo",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"description": "Failed to connect to the response SSE stream.",
|
||
"properties": {
|
||
"response_stream_connection_failed": {
|
||
"properties": {
|
||
"http_status_code": {
|
||
"format": "uint16",
|
||
"minimum": 0.0,
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"type": "object"
|
||
}
|
||
},
|
||
"required": [
|
||
"response_stream_connection_failed"
|
||
],
|
||
"title": "ResponseStreamConnectionFailedCodexErrorInfo",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"description": "The response SSE stream disconnected in the middle of a turnbefore completion.",
|
||
"properties": {
|
||
"response_stream_disconnected": {
|
||
"properties": {
|
||
"http_status_code": {
|
||
"format": "uint16",
|
||
"minimum": 0.0,
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"type": "object"
|
||
}
|
||
},
|
||
"required": [
|
||
"response_stream_disconnected"
|
||
],
|
||
"title": "ResponseStreamDisconnectedCodexErrorInfo",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"description": "Reached the retry limit for responses.",
|
||
"properties": {
|
||
"response_too_many_failed_attempts": {
|
||
"properties": {
|
||
"http_status_code": {
|
||
"format": "uint16",
|
||
"minimum": 0.0,
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"type": "object"
|
||
}
|
||
},
|
||
"required": [
|
||
"response_too_many_failed_attempts"
|
||
],
|
||
"title": "ResponseTooManyFailedAttemptsCodexErrorInfo",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"CollabAgentRef": {
|
||
"properties": {
|
||
"agent_nickname": {
|
||
"description": "Optional nickname assigned to an AgentControl-spawned sub-agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"agent_role": {
|
||
"description": "Optional role (agent_role) assigned to an AgentControl-spawned sub-agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver/new agent."
|
||
}
|
||
},
|
||
"required": [
|
||
"thread_id"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"CollabAgentStatusEntry": {
|
||
"properties": {
|
||
"agent_nickname": {
|
||
"description": "Optional nickname assigned to an AgentControl-spawned sub-agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"agent_role": {
|
||
"description": "Optional role (agent_role) assigned to an AgentControl-spawned sub-agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the agent."
|
||
},
|
||
"thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver/new agent."
|
||
}
|
||
},
|
||
"required": [
|
||
"status",
|
||
"thread_id"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ContentItem": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"input_text"
|
||
],
|
||
"title": "InputTextContentItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "InputTextContentItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"image_url": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"input_image"
|
||
],
|
||
"title": "InputImageContentItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"image_url",
|
||
"type"
|
||
],
|
||
"title": "InputImageContentItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"output_text"
|
||
],
|
||
"title": "OutputTextContentItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "OutputTextContentItem",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"CreditsSnapshot": {
|
||
"properties": {
|
||
"balance": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"has_credits": {
|
||
"type": "boolean"
|
||
},
|
||
"unlimited": {
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"required": [
|
||
"has_credits",
|
||
"unlimited"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"CustomPrompt": {
|
||
"properties": {
|
||
"argument_hint": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"content": {
|
||
"type": "string"
|
||
},
|
||
"description": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"content",
|
||
"name",
|
||
"path"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"Duration": {
|
||
"properties": {
|
||
"nanos": {
|
||
"format": "uint32",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"secs": {
|
||
"format": "uint64",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
}
|
||
},
|
||
"required": [
|
||
"nanos",
|
||
"secs"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"EventMsg": {
|
||
"description": "Response event from the agent NOTE: Make sure none of these values have optional types, as it will mess up the extension code-gen.",
|
||
"oneOf": [
|
||
{
|
||
"description": "Error while executing a submission",
|
||
"properties": {
|
||
"codex_error_info": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/CodexErrorInfo"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"default": null
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"error"
|
||
],
|
||
"title": "ErrorEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "ErrorEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Warning issued while processing a submission. Unlike `Error`, this indicates the turn continued but the user should still be notified.",
|
||
"properties": {
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"warning"
|
||
],
|
||
"title": "WarningEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "WarningEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Realtime conversation lifecycle start event.",
|
||
"properties": {
|
||
"session_id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"realtime_conversation_started"
|
||
],
|
||
"title": "RealtimeConversationStartedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "RealtimeConversationStartedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Realtime conversation streaming payload event.",
|
||
"properties": {
|
||
"payload": {
|
||
"$ref": "#/definitions/RealtimeEvent"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"realtime_conversation_realtime"
|
||
],
|
||
"title": "RealtimeConversationRealtimeEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"payload",
|
||
"type"
|
||
],
|
||
"title": "RealtimeConversationRealtimeEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Realtime conversation lifecycle close event.",
|
||
"properties": {
|
||
"reason": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"realtime_conversation_closed"
|
||
],
|
||
"title": "RealtimeConversationClosedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "RealtimeConversationClosedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Model routing changed from the requested model to a different model.",
|
||
"properties": {
|
||
"from_model": {
|
||
"type": "string"
|
||
},
|
||
"reason": {
|
||
"$ref": "#/definitions/ModelRerouteReason"
|
||
},
|
||
"to_model": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"model_reroute"
|
||
],
|
||
"title": "ModelRerouteEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"from_model",
|
||
"reason",
|
||
"to_model",
|
||
"type"
|
||
],
|
||
"title": "ModelRerouteEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Conversation history was compacted (either automatically or manually).",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"context_compacted"
|
||
],
|
||
"title": "ContextCompactedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "ContextCompactedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Conversation history was rolled back by dropping the last N user turns.",
|
||
"properties": {
|
||
"num_turns": {
|
||
"description": "Number of user turns that were removed from context.",
|
||
"format": "uint32",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"thread_rolled_back"
|
||
],
|
||
"title": "ThreadRolledBackEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"num_turns",
|
||
"type"
|
||
],
|
||
"title": "ThreadRolledBackEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent has started a turn. v1 wire format uses `task_started`; accept `turn_started` for v2 interop.",
|
||
"properties": {
|
||
"collaboration_mode_kind": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ModeKind"
|
||
}
|
||
],
|
||
"default": "default"
|
||
},
|
||
"model_context_window": {
|
||
"format": "int64",
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"task_started"
|
||
],
|
||
"title": "TaskStartedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "TaskStartedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent has completed all actions. v1 wire format uses `task_complete`; accept `turn_complete` for v2 interop.",
|
||
"properties": {
|
||
"last_agent_message": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"task_complete"
|
||
],
|
||
"title": "TaskCompleteEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "TaskCompleteEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Usage update for the current session, including totals and last turn. Optional means unknown — UIs should not display when `None`.",
|
||
"properties": {
|
||
"info": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/TokenUsageInfo"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"rate_limits": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/RateLimitSnapshot"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"token_count"
|
||
],
|
||
"title": "TokenCountEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "TokenCountEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent text output message",
|
||
"properties": {
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"phase": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/MessagePhase"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"default": null
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_message"
|
||
],
|
||
"title": "AgentMessageEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "AgentMessageEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "User/system input message (what was sent to the model)",
|
||
"properties": {
|
||
"images": {
|
||
"description": "Image URLs sourced from `UserInput::Image`. These are safe to replay in legacy UI history events and correspond to images sent to the model.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"local_images": {
|
||
"default": [],
|
||
"description": "Local file paths sourced from `UserInput::LocalImage`. These are kept so the UI can reattach images when editing history, and should not be sent to the model or treated as API-ready URLs.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"text_elements": {
|
||
"default": [],
|
||
"description": "UI-defined spans within `message` used to render or persist special elements.",
|
||
"items": {
|
||
"$ref": "#/definitions/TextElement"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"user_message"
|
||
],
|
||
"title": "UserMessageEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "UserMessageEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent text output delta message",
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_message_delta"
|
||
],
|
||
"title": "AgentMessageDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"type"
|
||
],
|
||
"title": "AgentMessageDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Reasoning event from agent.",
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning"
|
||
],
|
||
"title": "AgentReasoningEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent reasoning delta event from agent.",
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning_delta"
|
||
],
|
||
"title": "AgentReasoningDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Raw chain-of-thought from agent.",
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning_raw_content"
|
||
],
|
||
"title": "AgentReasoningRawContentEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningRawContentEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent reasoning content delta event from agent.",
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning_raw_content_delta"
|
||
],
|
||
"title": "AgentReasoningRawContentDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningRawContentDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Signaled when the model begins a new reasoning summary section (e.g., a new titled block).",
|
||
"properties": {
|
||
"item_id": {
|
||
"default": "",
|
||
"type": "string"
|
||
},
|
||
"summary_index": {
|
||
"default": 0,
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning_section_break"
|
||
],
|
||
"title": "AgentReasoningSectionBreakEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningSectionBreakEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Ack the client's configure message.",
|
||
"properties": {
|
||
"approval_policy": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AskForApproval"
|
||
}
|
||
],
|
||
"description": "When to escalate for approval for execution"
|
||
},
|
||
"cwd": {
|
||
"description": "Working directory that should be treated as the *root* of the session.",
|
||
"type": "string"
|
||
},
|
||
"forked_from_id": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"history_entry_count": {
|
||
"description": "Current number of entries in the history log.",
|
||
"format": "uint",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"history_log_id": {
|
||
"description": "Identifier of the history log file (inode on Unix, 0 otherwise).",
|
||
"format": "uint64",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"initial_messages": {
|
||
"description": "Optional initial messages (as events) for resumed sessions. When present, UIs can use these to seed the history.",
|
||
"items": {
|
||
"$ref": "#/definitions/EventMsg"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"model": {
|
||
"description": "Tell the client what model is being queried.",
|
||
"type": "string"
|
||
},
|
||
"model_provider_id": {
|
||
"type": "string"
|
||
},
|
||
"network_proxy": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||
},
|
||
"reasoning_effort": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/ReasoningEffort"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "The effort the model is putting into reasoning about the user's request."
|
||
},
|
||
"rollout_path": {
|
||
"description": "Path in which the rollout is stored. Can be `None` for ephemeral threads",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"sandbox_policy": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/SandboxPolicy"
|
||
}
|
||
],
|
||
"description": "How to sandbox commands executed in the system"
|
||
},
|
||
"session_id": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"thread_name": {
|
||
"description": "Optional user-facing thread name (may be unset).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"session_configured"
|
||
],
|
||
"title": "SessionConfiguredEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"approval_policy",
|
||
"cwd",
|
||
"history_entry_count",
|
||
"history_log_id",
|
||
"model",
|
||
"model_provider_id",
|
||
"sandbox_policy",
|
||
"session_id",
|
||
"type"
|
||
],
|
||
"title": "SessionConfiguredEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Updated session metadata (e.g., thread name changes).",
|
||
"properties": {
|
||
"thread_id": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"thread_name": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"thread_name_updated"
|
||
],
|
||
"title": "ThreadNameUpdatedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"thread_id",
|
||
"type"
|
||
],
|
||
"title": "ThreadNameUpdatedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Incremental MCP startup progress updates.",
|
||
"properties": {
|
||
"server": {
|
||
"description": "Server name being started.",
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/McpStartupStatus"
|
||
}
|
||
],
|
||
"description": "Current startup status."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_startup_update"
|
||
],
|
||
"title": "McpStartupUpdateEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"server",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "McpStartupUpdateEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Aggregate MCP startup completion summary.",
|
||
"properties": {
|
||
"cancelled": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"failed": {
|
||
"items": {
|
||
"$ref": "#/definitions/McpStartupFailure"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"ready": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_startup_complete"
|
||
],
|
||
"title": "McpStartupCompleteEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"cancelled",
|
||
"failed",
|
||
"ready",
|
||
"type"
|
||
],
|
||
"title": "McpStartupCompleteEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier so this can be paired with the McpToolCallEnd event.",
|
||
"type": "string"
|
||
},
|
||
"invocation": {
|
||
"$ref": "#/definitions/McpInvocation"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_tool_call_begin"
|
||
],
|
||
"title": "McpToolCallBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"invocation",
|
||
"type"
|
||
],
|
||
"title": "McpToolCallBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the corresponding McpToolCallBegin that finished.",
|
||
"type": "string"
|
||
},
|
||
"duration": {
|
||
"$ref": "#/definitions/Duration"
|
||
},
|
||
"invocation": {
|
||
"$ref": "#/definitions/McpInvocation"
|
||
},
|
||
"result": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/Result_of_CallToolResult_or_String"
|
||
}
|
||
],
|
||
"description": "Result of the tool call. Note this could be an error."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_tool_call_end"
|
||
],
|
||
"title": "McpToolCallEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"duration",
|
||
"invocation",
|
||
"result",
|
||
"type"
|
||
],
|
||
"title": "McpToolCallEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"web_search_begin"
|
||
],
|
||
"title": "WebSearchBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"type"
|
||
],
|
||
"title": "WebSearchBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"action": {
|
||
"$ref": "#/definitions/WebSearchAction"
|
||
},
|
||
"call_id": {
|
||
"type": "string"
|
||
},
|
||
"query": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"web_search_end"
|
||
],
|
||
"title": "WebSearchEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"action",
|
||
"call_id",
|
||
"query",
|
||
"type"
|
||
],
|
||
"title": "WebSearchEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that the server is about to execute a command.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier so this can be paired with the ExecCommandEnd event.",
|
||
"type": "string"
|
||
},
|
||
"command": {
|
||
"description": "The command to be executed.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"cwd": {
|
||
"description": "The command's working directory if not the default cwd for the agent.",
|
||
"type": "string"
|
||
},
|
||
"interaction_input": {
|
||
"description": "Raw input sent to a unified exec session (if this is an interaction event).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"parsed_cmd": {
|
||
"items": {
|
||
"$ref": "#/definitions/ParsedCommand"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"process_id": {
|
||
"description": "Identifier for the underlying PTY process (when available).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"source": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ExecCommandSource"
|
||
}
|
||
],
|
||
"default": "agent",
|
||
"description": "Where the command originated. Defaults to Agent for backward compatibility."
|
||
},
|
||
"turn_id": {
|
||
"description": "Turn ID that this command belongs to.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec_command_begin"
|
||
],
|
||
"title": "ExecCommandBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"command",
|
||
"cwd",
|
||
"parsed_cmd",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ExecCommandBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Incremental chunk of output from a running command.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the ExecCommandBegin that produced this chunk.",
|
||
"type": "string"
|
||
},
|
||
"chunk": {
|
||
"description": "Raw bytes from the stream (may not be valid UTF-8).",
|
||
"type": "string"
|
||
},
|
||
"stream": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ExecOutputStream"
|
||
}
|
||
],
|
||
"description": "Which stream produced this chunk."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec_command_output_delta"
|
||
],
|
||
"title": "ExecCommandOutputDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"chunk",
|
||
"stream",
|
||
"type"
|
||
],
|
||
"title": "ExecCommandOutputDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Terminal interaction for an in-progress command (stdin sent and stdout observed).",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the ExecCommandBegin that produced this chunk.",
|
||
"type": "string"
|
||
},
|
||
"process_id": {
|
||
"description": "Process id associated with the running command.",
|
||
"type": "string"
|
||
},
|
||
"stdin": {
|
||
"description": "Stdin sent to the running session.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"terminal_interaction"
|
||
],
|
||
"title": "TerminalInteractionEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"process_id",
|
||
"stdin",
|
||
"type"
|
||
],
|
||
"title": "TerminalInteractionEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"aggregated_output": {
|
||
"default": "",
|
||
"description": "Captured aggregated output",
|
||
"type": "string"
|
||
},
|
||
"call_id": {
|
||
"description": "Identifier for the ExecCommandBegin that finished.",
|
||
"type": "string"
|
||
},
|
||
"command": {
|
||
"description": "The command that was executed.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"cwd": {
|
||
"description": "The command's working directory if not the default cwd for the agent.",
|
||
"type": "string"
|
||
},
|
||
"duration": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/Duration"
|
||
}
|
||
],
|
||
"description": "The duration of the command execution."
|
||
},
|
||
"exit_code": {
|
||
"description": "The command's exit code.",
|
||
"format": "int32",
|
||
"type": "integer"
|
||
},
|
||
"formatted_output": {
|
||
"description": "Formatted output from the command, as seen by the model.",
|
||
"type": "string"
|
||
},
|
||
"interaction_input": {
|
||
"description": "Raw input sent to a unified exec session (if this is an interaction event).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"parsed_cmd": {
|
||
"items": {
|
||
"$ref": "#/definitions/ParsedCommand"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"process_id": {
|
||
"description": "Identifier for the underlying PTY process (when available).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"source": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ExecCommandSource"
|
||
}
|
||
],
|
||
"default": "agent",
|
||
"description": "Where the command originated. Defaults to Agent for backward compatibility."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ExecCommandStatus"
|
||
}
|
||
],
|
||
"description": "Completion status for this command execution."
|
||
},
|
||
"stderr": {
|
||
"description": "Captured stderr",
|
||
"type": "string"
|
||
},
|
||
"stdout": {
|
||
"description": "Captured stdout",
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"description": "Turn ID that this command belongs to.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec_command_end"
|
||
],
|
||
"title": "ExecCommandEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"command",
|
||
"cwd",
|
||
"duration",
|
||
"exit_code",
|
||
"formatted_output",
|
||
"parsed_cmd",
|
||
"status",
|
||
"stderr",
|
||
"stdout",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ExecCommandEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that the agent attached a local image via the view_image tool.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the originating tool call.",
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"description": "Local filesystem path provided to the tool.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"view_image_tool_call"
|
||
],
|
||
"title": "ViewImageToolCallEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"path",
|
||
"type"
|
||
],
|
||
"title": "ViewImageToolCallEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"approval_id": {
|
||
"description": "Identifier for this specific approval callback.\n\nWhen absent, the approval is for the command item itself (`call_id`). This is present for subcommand approvals (via execve intercept).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"call_id": {
|
||
"description": "Identifier for the associated command execution item.",
|
||
"type": "string"
|
||
},
|
||
"command": {
|
||
"description": "The command to be executed.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"cwd": {
|
||
"description": "The command's working directory.",
|
||
"type": "string"
|
||
},
|
||
"network_approval_context": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/NetworkApprovalContext"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Optional network context for a blocked request that can be approved."
|
||
},
|
||
"parsed_cmd": {
|
||
"items": {
|
||
"$ref": "#/definitions/ParsedCommand"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"proposed_execpolicy_amendment": {
|
||
"description": "Proposed execpolicy amendment that can be applied to allow future runs.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"reason": {
|
||
"description": "Optional human-readable reason for the approval (e.g. retry without sandbox).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this command belongs to. Uses `#[serde(default)]` for backwards compatibility.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec_approval_request"
|
||
],
|
||
"title": "ExecApprovalRequestEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"command",
|
||
"cwd",
|
||
"parsed_cmd",
|
||
"type"
|
||
],
|
||
"title": "ExecApprovalRequestEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Responses API call id for the associated tool call, if available.",
|
||
"type": "string"
|
||
},
|
||
"questions": {
|
||
"items": {
|
||
"$ref": "#/definitions/RequestUserInputQuestion"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this request belongs to. Uses `#[serde(default)]` for backwards compatibility.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"request_user_input"
|
||
],
|
||
"title": "RequestUserInputEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"questions",
|
||
"type"
|
||
],
|
||
"title": "RequestUserInputEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"arguments": true,
|
||
"callId": {
|
||
"type": "string"
|
||
},
|
||
"tool": {
|
||
"type": "string"
|
||
},
|
||
"turnId": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"dynamic_tool_call_request"
|
||
],
|
||
"title": "DynamicToolCallRequestEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"arguments",
|
||
"callId",
|
||
"tool",
|
||
"turnId",
|
||
"type"
|
||
],
|
||
"title": "DynamicToolCallRequestEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"id": {
|
||
"$ref": "#/definitions/RequestId"
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"server_name": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"elicitation_request"
|
||
],
|
||
"title": "ElicitationRequestEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"message",
|
||
"server_name",
|
||
"type"
|
||
],
|
||
"title": "ElicitationRequestEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Responses API call id for the associated patch apply call, if available.",
|
||
"type": "string"
|
||
},
|
||
"changes": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/FileChange"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"grant_root": {
|
||
"description": "When set, the agent is asking the user to allow writes under this root for the remainder of the session.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"reason": {
|
||
"description": "Optional explanatory reason (e.g. request for extra write access).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility with older senders.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"apply_patch_approval_request"
|
||
],
|
||
"title": "ApplyPatchApprovalRequestEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"changes",
|
||
"type"
|
||
],
|
||
"title": "ApplyPatchApprovalRequestEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification advising the user that something they are using has been deprecated and should be phased out.",
|
||
"properties": {
|
||
"details": {
|
||
"description": "Optional extra guidance, such as migration steps or rationale.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"summary": {
|
||
"description": "Concise summary of what is deprecated.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"deprecation_notice"
|
||
],
|
||
"title": "DeprecationNoticeEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"summary",
|
||
"type"
|
||
],
|
||
"title": "DeprecationNoticeEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"background_event"
|
||
],
|
||
"title": "BackgroundEventEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "BackgroundEventEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"message": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"undo_started"
|
||
],
|
||
"title": "UndoStartedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "UndoStartedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"message": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"success": {
|
||
"type": "boolean"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"undo_completed"
|
||
],
|
||
"title": "UndoCompletedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"success",
|
||
"type"
|
||
],
|
||
"title": "UndoCompletedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that a model stream experienced an error or disconnect and the system is handling it (e.g., retrying with backoff).",
|
||
"properties": {
|
||
"additional_details": {
|
||
"default": null,
|
||
"description": "Optional details about the underlying stream failure (often the same human-readable message that is surfaced as the terminal error if retries are exhausted).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"codex_error_info": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/CodexErrorInfo"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"default": null
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"stream_error"
|
||
],
|
||
"title": "StreamErrorEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "StreamErrorEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that the agent is about to apply a code patch. Mirrors `ExecCommandBegin` so front‑ends can show progress indicators.",
|
||
"properties": {
|
||
"auto_approved": {
|
||
"description": "If true, there was no ApplyPatchApprovalRequest for this patch.",
|
||
"type": "boolean"
|
||
},
|
||
"call_id": {
|
||
"description": "Identifier so this can be paired with the PatchApplyEnd event.",
|
||
"type": "string"
|
||
},
|
||
"changes": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/FileChange"
|
||
},
|
||
"description": "The changes to be applied.",
|
||
"type": "object"
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"patch_apply_begin"
|
||
],
|
||
"title": "PatchApplyBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"auto_approved",
|
||
"call_id",
|
||
"changes",
|
||
"type"
|
||
],
|
||
"title": "PatchApplyBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that a patch application has finished.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the PatchApplyBegin that finished.",
|
||
"type": "string"
|
||
},
|
||
"changes": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/FileChange"
|
||
},
|
||
"default": {},
|
||
"description": "The changes that were applied (mirrors PatchApplyBeginEvent::changes).",
|
||
"type": "object"
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/PatchApplyStatus"
|
||
}
|
||
],
|
||
"description": "Completion status for this patch application."
|
||
},
|
||
"stderr": {
|
||
"description": "Captured stderr (parser errors, IO failures, etc.).",
|
||
"type": "string"
|
||
},
|
||
"stdout": {
|
||
"description": "Captured stdout (summary printed by apply_patch).",
|
||
"type": "string"
|
||
},
|
||
"success": {
|
||
"description": "Whether the patch was applied successfully.",
|
||
"type": "boolean"
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"patch_apply_end"
|
||
],
|
||
"title": "PatchApplyEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"status",
|
||
"stderr",
|
||
"stdout",
|
||
"success",
|
||
"type"
|
||
],
|
||
"title": "PatchApplyEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"turn_diff"
|
||
],
|
||
"title": "TurnDiffEventMsgType",
|
||
"type": "string"
|
||
},
|
||
"unified_diff": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type",
|
||
"unified_diff"
|
||
],
|
||
"title": "TurnDiffEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Response to GetHistoryEntryRequest.",
|
||
"properties": {
|
||
"entry": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/HistoryEntry"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "The entry at the requested offset, if available and parseable."
|
||
},
|
||
"log_id": {
|
||
"format": "uint64",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"offset": {
|
||
"format": "uint",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"get_history_entry_response"
|
||
],
|
||
"title": "GetHistoryEntryResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"log_id",
|
||
"offset",
|
||
"type"
|
||
],
|
||
"title": "GetHistoryEntryResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "List of MCP tools available to the agent.",
|
||
"properties": {
|
||
"auth_statuses": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/McpAuthStatus"
|
||
},
|
||
"description": "Authentication status for each configured MCP server.",
|
||
"type": "object"
|
||
},
|
||
"resource_templates": {
|
||
"additionalProperties": {
|
||
"items": {
|
||
"$ref": "#/definitions/ResourceTemplate"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"description": "Known resource templates grouped by server name.",
|
||
"type": "object"
|
||
},
|
||
"resources": {
|
||
"additionalProperties": {
|
||
"items": {
|
||
"$ref": "#/definitions/Resource"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"description": "Known resources grouped by server name.",
|
||
"type": "object"
|
||
},
|
||
"tools": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/Tool"
|
||
},
|
||
"description": "Fully qualified tool name -> tool definition.",
|
||
"type": "object"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_list_tools_response"
|
||
],
|
||
"title": "McpListToolsResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"auth_statuses",
|
||
"resource_templates",
|
||
"resources",
|
||
"tools",
|
||
"type"
|
||
],
|
||
"title": "McpListToolsResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "List of custom prompts available to the agent.",
|
||
"properties": {
|
||
"custom_prompts": {
|
||
"items": {
|
||
"$ref": "#/definitions/CustomPrompt"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"list_custom_prompts_response"
|
||
],
|
||
"title": "ListCustomPromptsResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"custom_prompts",
|
||
"type"
|
||
],
|
||
"title": "ListCustomPromptsResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "List of skills available to the agent.",
|
||
"properties": {
|
||
"skills": {
|
||
"items": {
|
||
"$ref": "#/definitions/SkillsListEntry"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"list_skills_response"
|
||
],
|
||
"title": "ListSkillsResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"skills",
|
||
"type"
|
||
],
|
||
"title": "ListSkillsResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "List of remote skills available to the agent.",
|
||
"properties": {
|
||
"skills": {
|
||
"items": {
|
||
"$ref": "#/definitions/RemoteSkillSummary"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"list_remote_skills_response"
|
||
],
|
||
"title": "ListRemoteSkillsResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"skills",
|
||
"type"
|
||
],
|
||
"title": "ListRemoteSkillsResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Remote skill downloaded to local cache.",
|
||
"properties": {
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"remote_skill_downloaded"
|
||
],
|
||
"title": "RemoteSkillDownloadedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"name",
|
||
"path",
|
||
"type"
|
||
],
|
||
"title": "RemoteSkillDownloadedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that skill data may have been updated and clients may want to reload.",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"skills_update_available"
|
||
],
|
||
"title": "SkillsUpdateAvailableEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "SkillsUpdateAvailableEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"explanation": {
|
||
"default": null,
|
||
"description": "Arguments for the `update_plan` todo/checklist tool (not plan mode).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"plan": {
|
||
"items": {
|
||
"$ref": "#/definitions/PlanItemArg"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"plan_update"
|
||
],
|
||
"title": "PlanUpdateEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"plan",
|
||
"type"
|
||
],
|
||
"title": "PlanUpdateEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"reason": {
|
||
"$ref": "#/definitions/TurnAbortReason"
|
||
},
|
||
"turn_id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"turn_aborted"
|
||
],
|
||
"title": "TurnAbortedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"reason",
|
||
"type"
|
||
],
|
||
"title": "TurnAbortedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that the agent is shutting down.",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"shutdown_complete"
|
||
],
|
||
"title": "ShutdownCompleteEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "ShutdownCompleteEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Entered review mode.",
|
||
"properties": {
|
||
"target": {
|
||
"$ref": "#/definitions/ReviewTarget"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"entered_review_mode"
|
||
],
|
||
"title": "EnteredReviewModeEventMsgType",
|
||
"type": "string"
|
||
},
|
||
"user_facing_hint": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"target",
|
||
"type"
|
||
],
|
||
"title": "EnteredReviewModeEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Exited review mode with an optional final result to apply.",
|
||
"properties": {
|
||
"review_output": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/ReviewOutputEvent"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exited_review_mode"
|
||
],
|
||
"title": "ExitedReviewModeEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "ExitedReviewModeEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"item": {
|
||
"$ref": "#/definitions/ResponseItem"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"raw_response_item"
|
||
],
|
||
"title": "RawResponseItemEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"item",
|
||
"type"
|
||
],
|
||
"title": "RawResponseItemEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"item": {
|
||
"$ref": "#/definitions/TurnItem"
|
||
},
|
||
"thread_id": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"item_started"
|
||
],
|
||
"title": "ItemStartedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"item",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ItemStartedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"item": {
|
||
"$ref": "#/definitions/TurnItem"
|
||
},
|
||
"thread_id": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"item_completed"
|
||
],
|
||
"title": "ItemCompletedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"item",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ItemCompletedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"item_id": {
|
||
"type": "string"
|
||
},
|
||
"thread_id": {
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_message_content_delta"
|
||
],
|
||
"title": "AgentMessageContentDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"item_id",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "AgentMessageContentDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"item_id": {
|
||
"type": "string"
|
||
},
|
||
"thread_id": {
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"plan_delta"
|
||
],
|
||
"title": "PlanDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"item_id",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "PlanDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"item_id": {
|
||
"type": "string"
|
||
},
|
||
"summary_index": {
|
||
"default": 0,
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"thread_id": {
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"reasoning_content_delta"
|
||
],
|
||
"title": "ReasoningContentDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"item_id",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ReasoningContentDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"content_index": {
|
||
"default": 0,
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"item_id": {
|
||
"type": "string"
|
||
},
|
||
"thread_id": {
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"reasoning_raw_content_delta"
|
||
],
|
||
"title": "ReasoningRawContentDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"item_id",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ReasoningRawContentDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: agent spawn begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"prompt": {
|
||
"description": "Initial prompt sent to the agent. Can be empty to prevent CoT leaking at the beginning.",
|
||
"type": "string"
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_agent_spawn_begin"
|
||
],
|
||
"title": "CollabAgentSpawnBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"prompt",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabAgentSpawnBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: agent spawn end.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"new_agent_nickname": {
|
||
"description": "Optional nickname assigned to the new agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"new_agent_role": {
|
||
"description": "Optional role assigned to the new agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"new_thread_id": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Thread ID of the newly spawned agent, if it was created."
|
||
},
|
||
"prompt": {
|
||
"description": "Initial prompt sent to the agent. Can be empty to prevent CoT leaking at the beginning.",
|
||
"type": "string"
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the new agent reported to the sender agent."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_agent_spawn_end"
|
||
],
|
||
"title": "CollabAgentSpawnEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"prompt",
|
||
"sender_thread_id",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "CollabAgentSpawnEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: agent interaction begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"prompt": {
|
||
"description": "Prompt sent from the sender to the receiver. Can be empty to prevent CoT leaking at the beginning.",
|
||
"type": "string"
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_agent_interaction_begin"
|
||
],
|
||
"title": "CollabAgentInteractionBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"prompt",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabAgentInteractionBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: agent interaction end.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"prompt": {
|
||
"description": "Prompt sent from the sender to the receiver. Can be empty to prevent CoT leaking at the beginning.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agent_nickname": {
|
||
"description": "Optional nickname assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_agent_role": {
|
||
"description": "Optional role assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the receiver agent reported to the sender agent."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_agent_interaction_end"
|
||
],
|
||
"title": "CollabAgentInteractionEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"prompt",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "CollabAgentInteractionEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: waiting begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "ID of the waiting call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agents": {
|
||
"description": "Optional nicknames/roles for receivers.",
|
||
"items": {
|
||
"$ref": "#/definitions/CollabAgentRef"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"receiver_thread_ids": {
|
||
"description": "Thread ID of the receivers.",
|
||
"items": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_waiting_begin"
|
||
],
|
||
"title": "CollabWaitingBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_ids",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabWaitingBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: waiting end.",
|
||
"properties": {
|
||
"agent_statuses": {
|
||
"description": "Optional receiver metadata paired with final statuses.",
|
||
"items": {
|
||
"$ref": "#/definitions/CollabAgentStatusEntry"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"call_id": {
|
||
"description": "ID of the waiting call.",
|
||
"type": "string"
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"statuses": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/AgentStatus"
|
||
},
|
||
"description": "Last known status of the receiver agents reported to the sender agent.",
|
||
"type": "object"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_waiting_end"
|
||
],
|
||
"title": "CollabWaitingEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"sender_thread_id",
|
||
"statuses",
|
||
"type"
|
||
],
|
||
"title": "CollabWaitingEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: close begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_close_begin"
|
||
],
|
||
"title": "CollabCloseBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabCloseBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: close end.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agent_nickname": {
|
||
"description": "Optional nickname assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_agent_role": {
|
||
"description": "Optional role assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the receiver agent reported to the sender agent before the close."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_close_end"
|
||
],
|
||
"title": "CollabCloseEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "CollabCloseEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: resume begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agent_nickname": {
|
||
"description": "Optional nickname assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_agent_role": {
|
||
"description": "Optional role assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_resume_begin"
|
||
],
|
||
"title": "CollabResumeBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabResumeBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: resume end.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agent_nickname": {
|
||
"description": "Optional nickname assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_agent_role": {
|
||
"description": "Optional role assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the receiver agent reported to the sender agent after resume."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_resume_end"
|
||
],
|
||
"title": "CollabResumeEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "CollabResumeEndEventMsg",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"ExecCommandSource": {
|
||
"enum": [
|
||
"agent",
|
||
"user_shell",
|
||
"unified_exec_startup",
|
||
"unified_exec_interaction"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"ExecCommandStatus": {
|
||
"enum": [
|
||
"completed",
|
||
"failed",
|
||
"declined"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"ExecOutputStream": {
|
||
"enum": [
|
||
"stdout",
|
||
"stderr"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"FileChange": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"content": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"add"
|
||
],
|
||
"title": "AddFileChangeType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"content",
|
||
"type"
|
||
],
|
||
"title": "AddFileChange",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"content": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"delete"
|
||
],
|
||
"title": "DeleteFileChangeType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"content",
|
||
"type"
|
||
],
|
||
"title": "DeleteFileChange",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"move_path": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"update"
|
||
],
|
||
"title": "UpdateFileChangeType",
|
||
"type": "string"
|
||
},
|
||
"unified_diff": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type",
|
||
"unified_diff"
|
||
],
|
||
"title": "UpdateFileChange",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"FunctionCallOutputBody": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"items": {
|
||
"$ref": "#/definitions/FunctionCallOutputContentItem"
|
||
},
|
||
"type": "array"
|
||
}
|
||
]
|
||
},
|
||
"FunctionCallOutputContentItem": {
|
||
"description": "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.",
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"input_text"
|
||
],
|
||
"title": "InputTextFunctionCallOutputContentItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "InputTextFunctionCallOutputContentItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"image_url": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"input_image"
|
||
],
|
||
"title": "InputImageFunctionCallOutputContentItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"image_url",
|
||
"type"
|
||
],
|
||
"title": "InputImageFunctionCallOutputContentItem",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"FunctionCallOutputPayload": {
|
||
"description": "The payload we send back to OpenAI when reporting a tool call result.\n\n`body` serializes directly as the wire value for `function_call_output.output`. `success` remains internal metadata for downstream handling.",
|
||
"properties": {
|
||
"body": {
|
||
"$ref": "#/definitions/FunctionCallOutputBody"
|
||
},
|
||
"success": {
|
||
"type": [
|
||
"boolean",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"body"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"GhostCommit": {
|
||
"description": "Details of a ghost commit created from a repository state.",
|
||
"properties": {
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"parent": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"preexisting_untracked_dirs": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"preexisting_untracked_files": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"preexisting_untracked_dirs",
|
||
"preexisting_untracked_files"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"HistoryEntry": {
|
||
"properties": {
|
||
"conversation_id": {
|
||
"type": "string"
|
||
},
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"ts": {
|
||
"format": "uint64",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
}
|
||
},
|
||
"required": [
|
||
"conversation_id",
|
||
"text",
|
||
"ts"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"LocalShellAction": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"command": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"env": {
|
||
"additionalProperties": {
|
||
"type": "string"
|
||
},
|
||
"type": [
|
||
"object",
|
||
"null"
|
||
]
|
||
},
|
||
"timeout_ms": {
|
||
"format": "uint64",
|
||
"minimum": 0.0,
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec"
|
||
],
|
||
"title": "ExecLocalShellActionType",
|
||
"type": "string"
|
||
},
|
||
"user": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"working_directory": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"command",
|
||
"type"
|
||
],
|
||
"title": "ExecLocalShellAction",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"LocalShellStatus": {
|
||
"enum": [
|
||
"completed",
|
||
"in_progress",
|
||
"incomplete"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"McpAuthStatus": {
|
||
"enum": [
|
||
"unsupported",
|
||
"not_logged_in",
|
||
"bearer_token",
|
||
"o_auth"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"McpInvocation": {
|
||
"properties": {
|
||
"arguments": {
|
||
"description": "Arguments to the tool call."
|
||
},
|
||
"server": {
|
||
"description": "Name of the MCP server as defined in the config.",
|
||
"type": "string"
|
||
},
|
||
"tool": {
|
||
"description": "Name of the tool as given by the MCP server.",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"server",
|
||
"tool"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"McpStartupFailure": {
|
||
"properties": {
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"server": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"error",
|
||
"server"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"McpStartupStatus": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"state": {
|
||
"enum": [
|
||
"starting"
|
||
],
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"state"
|
||
],
|
||
"title": "StartingMcpStartupStatus",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"state": {
|
||
"enum": [
|
||
"ready"
|
||
],
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"state"
|
||
],
|
||
"title": "ReadyMcpStartupStatus",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"error": {
|
||
"type": "string"
|
||
},
|
||
"state": {
|
||
"enum": [
|
||
"failed"
|
||
],
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"error",
|
||
"state"
|
||
],
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"state": {
|
||
"enum": [
|
||
"cancelled"
|
||
],
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"state"
|
||
],
|
||
"title": "CancelledMcpStartupStatus",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"MessagePhase": {
|
||
"description": "Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as \"phase unknown\" and keep compatibility behavior for legacy models.",
|
||
"oneOf": [
|
||
{
|
||
"description": "Mid-turn assistant text (for example preamble/progress narration).\n\nAdditional tool calls or assistant output may follow before turn completion.",
|
||
"enum": [
|
||
"commentary"
|
||
],
|
||
"type": "string"
|
||
},
|
||
{
|
||
"description": "The assistant's terminal answer text for the current turn.",
|
||
"enum": [
|
||
"final_answer"
|
||
],
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"ModeKind": {
|
||
"description": "Initial collaboration mode to use when the TUI starts.",
|
||
"enum": [
|
||
"plan",
|
||
"default"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"ModelRerouteReason": {
|
||
"enum": [
|
||
"high_risk_cyber_activity"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"NetworkAccess": {
|
||
"description": "Represents whether outbound network access is available to the agent.",
|
||
"enum": [
|
||
"restricted",
|
||
"enabled"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"NetworkApprovalContext": {
|
||
"properties": {
|
||
"host": {
|
||
"type": "string"
|
||
},
|
||
"protocol": {
|
||
"$ref": "#/definitions/NetworkApprovalProtocol"
|
||
}
|
||
},
|
||
"required": [
|
||
"host",
|
||
"protocol"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"NetworkApprovalProtocol": {
|
||
"enum": [
|
||
"http",
|
||
"https",
|
||
"socks5_tcp",
|
||
"socks5_udp"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"ParsedCommand": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"cmd": {
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"description": "(Best effort) Path to the file being read by the command. When possible, this is an absolute path, though when relative, it should be resolved against the `cwd`` that will be used to run the command to derive the absolute path.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"read"
|
||
],
|
||
"title": "ReadParsedCommandType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"cmd",
|
||
"name",
|
||
"path",
|
||
"type"
|
||
],
|
||
"title": "ReadParsedCommand",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"cmd": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"list_files"
|
||
],
|
||
"title": "ListFilesParsedCommandType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"cmd",
|
||
"type"
|
||
],
|
||
"title": "ListFilesParsedCommand",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"cmd": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"query": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"search"
|
||
],
|
||
"title": "SearchParsedCommandType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"cmd",
|
||
"type"
|
||
],
|
||
"title": "SearchParsedCommand",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"cmd": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"unknown"
|
||
],
|
||
"title": "UnknownParsedCommandType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"cmd",
|
||
"type"
|
||
],
|
||
"title": "UnknownParsedCommand",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"PatchApplyStatus": {
|
||
"enum": [
|
||
"completed",
|
||
"failed",
|
||
"declined"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"PlanItemArg": {
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"status": {
|
||
"$ref": "#/definitions/StepStatus"
|
||
},
|
||
"step": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"status",
|
||
"step"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"PlanType": {
|
||
"enum": [
|
||
"free",
|
||
"go",
|
||
"plus",
|
||
"pro",
|
||
"team",
|
||
"business",
|
||
"enterprise",
|
||
"edu",
|
||
"unknown"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"RateLimitSnapshot": {
|
||
"properties": {
|
||
"credits": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/CreditsSnapshot"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"limit_id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"limit_name": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"plan_type": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/PlanType"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"primary": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/RateLimitWindow"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"secondary": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/RateLimitWindow"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"type": "object"
|
||
},
|
||
"RateLimitWindow": {
|
||
"properties": {
|
||
"resets_at": {
|
||
"description": "Unix timestamp (seconds since epoch) when the window resets.",
|
||
"format": "int64",
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
},
|
||
"used_percent": {
|
||
"description": "Percentage (0-100) of the window that has been consumed.",
|
||
"format": "double",
|
||
"type": "number"
|
||
},
|
||
"window_minutes": {
|
||
"description": "Rolling window duration, in minutes.",
|
||
"format": "int64",
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"used_percent"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ReadOnlyAccess": {
|
||
"description": "Determines how read-only file access is granted inside a restricted sandbox.",
|
||
"oneOf": [
|
||
{
|
||
"description": "Restrict reads to an explicit set of roots.\n\nWhen `include_platform_defaults` is `true`, platform defaults required for basic execution are included in addition to `readable_roots`.",
|
||
"properties": {
|
||
"include_platform_defaults": {
|
||
"default": true,
|
||
"description": "Include built-in platform read roots required for basic process execution.",
|
||
"type": "boolean"
|
||
},
|
||
"readable_roots": {
|
||
"description": "Additional absolute roots that should be readable.",
|
||
"items": {
|
||
"$ref": "#/definitions/AbsolutePathBuf"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"restricted"
|
||
],
|
||
"title": "RestrictedReadOnlyAccessType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "RestrictedReadOnlyAccess",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Allow unrestricted file reads.",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"full-access"
|
||
],
|
||
"title": "FullAccessReadOnlyAccessType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "FullAccessReadOnlyAccess",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"RealtimeAudioFrame": {
|
||
"properties": {
|
||
"data": {
|
||
"type": "string"
|
||
},
|
||
"num_channels": {
|
||
"format": "uint16",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"sample_rate": {
|
||
"format": "uint32",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"samples_per_channel": {
|
||
"format": "uint32",
|
||
"minimum": 0.0,
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"data",
|
||
"num_channels",
|
||
"sample_rate"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"RealtimeEvent": {
|
||
"oneOf": [
|
||
{
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"SessionCreated": {
|
||
"properties": {
|
||
"session_id": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"session_id"
|
||
],
|
||
"type": "object"
|
||
}
|
||
},
|
||
"required": [
|
||
"SessionCreated"
|
||
],
|
||
"title": "SessionCreatedRealtimeEvent",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"SessionUpdated": {
|
||
"properties": {
|
||
"backend_prompt": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"type": "object"
|
||
}
|
||
},
|
||
"required": [
|
||
"SessionUpdated"
|
||
],
|
||
"title": "SessionUpdatedRealtimeEvent",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"AudioOut": {
|
||
"$ref": "#/definitions/RealtimeAudioFrame"
|
||
}
|
||
},
|
||
"required": [
|
||
"AudioOut"
|
||
],
|
||
"title": "AudioOutRealtimeEvent",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"ConversationItemAdded": true
|
||
},
|
||
"required": [
|
||
"ConversationItemAdded"
|
||
],
|
||
"title": "ConversationItemAddedRealtimeEvent",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"additionalProperties": false,
|
||
"properties": {
|
||
"Error": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"Error"
|
||
],
|
||
"title": "ErrorRealtimeEvent",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"ReasoningEffort": {
|
||
"description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning",
|
||
"enum": [
|
||
"none",
|
||
"minimal",
|
||
"low",
|
||
"medium",
|
||
"high",
|
||
"xhigh"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"ReasoningItemContent": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"reasoning_text"
|
||
],
|
||
"title": "ReasoningTextReasoningItemContentType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "ReasoningTextReasoningItemContent",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"text"
|
||
],
|
||
"title": "TextReasoningItemContentType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "TextReasoningItemContent",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"ReasoningItemReasoningSummary": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"summary_text"
|
||
],
|
||
"title": "SummaryTextReasoningItemReasoningSummaryType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "SummaryTextReasoningItemReasoningSummary",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"RejectConfig": {
|
||
"properties": {
|
||
"mcp_elicitations": {
|
||
"description": "Reject MCP elicitation prompts.",
|
||
"type": "boolean"
|
||
},
|
||
"rules": {
|
||
"description": "Reject prompts triggered by execpolicy `prompt` rules.",
|
||
"type": "boolean"
|
||
},
|
||
"sandbox_approval": {
|
||
"description": "Reject approval prompts related to sandbox escalation.",
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"required": [
|
||
"mcp_elicitations",
|
||
"rules",
|
||
"sandbox_approval"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"RemoteSkillSummary": {
|
||
"properties": {
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"description",
|
||
"id",
|
||
"name"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"RequestId": {
|
||
"anyOf": [
|
||
{
|
||
"type": "string"
|
||
},
|
||
{
|
||
"format": "int64",
|
||
"type": "integer"
|
||
}
|
||
],
|
||
"description": "ID of a request, which can be either a string or an integer."
|
||
},
|
||
"RequestUserInputQuestion": {
|
||
"properties": {
|
||
"header": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"isOther": {
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"isSecret": {
|
||
"default": false,
|
||
"type": "boolean"
|
||
},
|
||
"options": {
|
||
"items": {
|
||
"$ref": "#/definitions/RequestUserInputQuestionOption"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"question": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"header",
|
||
"id",
|
||
"question"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"RequestUserInputQuestionOption": {
|
||
"properties": {
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"label": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"description",
|
||
"label"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"Resource": {
|
||
"description": "A known resource that the server is capable of reading.",
|
||
"properties": {
|
||
"_meta": true,
|
||
"annotations": true,
|
||
"description": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"icons": {
|
||
"items": true,
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"mimeType": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"size": {
|
||
"format": "int64",
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
},
|
||
"title": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"uri": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"uri"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ResourceTemplate": {
|
||
"description": "A template description for resources available on the server.",
|
||
"properties": {
|
||
"annotations": true,
|
||
"description": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"mimeType": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"title": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"uriTemplate": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"uriTemplate"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ResponseItem": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"content": {
|
||
"items": {
|
||
"$ref": "#/definitions/ContentItem"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"end_turn": {
|
||
"type": [
|
||
"boolean",
|
||
"null"
|
||
]
|
||
},
|
||
"id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
],
|
||
"writeOnly": true
|
||
},
|
||
"phase": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/MessagePhase"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"role": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"message"
|
||
],
|
||
"title": "MessageResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"content",
|
||
"role",
|
||
"type"
|
||
],
|
||
"title": "MessageResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"content": {
|
||
"default": null,
|
||
"items": {
|
||
"$ref": "#/definitions/ReasoningItemContent"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"encrypted_content": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"id": {
|
||
"type": "string",
|
||
"writeOnly": true
|
||
},
|
||
"summary": {
|
||
"items": {
|
||
"$ref": "#/definitions/ReasoningItemReasoningSummary"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"reasoning"
|
||
],
|
||
"title": "ReasoningResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"summary",
|
||
"type"
|
||
],
|
||
"title": "ReasoningResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"action": {
|
||
"$ref": "#/definitions/LocalShellAction"
|
||
},
|
||
"call_id": {
|
||
"description": "Set when using the Responses API.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"id": {
|
||
"description": "Legacy id field retained for compatibility with older payloads.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
],
|
||
"writeOnly": true
|
||
},
|
||
"status": {
|
||
"$ref": "#/definitions/LocalShellStatus"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"local_shell_call"
|
||
],
|
||
"title": "LocalShellCallResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"action",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "LocalShellCallResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"arguments": {
|
||
"type": "string"
|
||
},
|
||
"call_id": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
],
|
||
"writeOnly": true
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"function_call"
|
||
],
|
||
"title": "FunctionCallResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"arguments",
|
||
"call_id",
|
||
"name",
|
||
"type"
|
||
],
|
||
"title": "FunctionCallResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"type": "string"
|
||
},
|
||
"output": {
|
||
"$ref": "#/definitions/FunctionCallOutputPayload"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"function_call_output"
|
||
],
|
||
"title": "FunctionCallOutputResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"output",
|
||
"type"
|
||
],
|
||
"title": "FunctionCallOutputResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"type": "string"
|
||
},
|
||
"id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
],
|
||
"writeOnly": true
|
||
},
|
||
"input": {
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"custom_tool_call"
|
||
],
|
||
"title": "CustomToolCallResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"input",
|
||
"name",
|
||
"type"
|
||
],
|
||
"title": "CustomToolCallResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"type": "string"
|
||
},
|
||
"output": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"custom_tool_call_output"
|
||
],
|
||
"title": "CustomToolCallOutputResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"output",
|
||
"type"
|
||
],
|
||
"title": "CustomToolCallOutputResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"action": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/WebSearchAction"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
],
|
||
"writeOnly": true
|
||
},
|
||
"status": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"web_search_call"
|
||
],
|
||
"title": "WebSearchCallResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "WebSearchCallResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"ghost_commit": {
|
||
"$ref": "#/definitions/GhostCommit"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"ghost_snapshot"
|
||
],
|
||
"title": "GhostSnapshotResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"ghost_commit",
|
||
"type"
|
||
],
|
||
"title": "GhostSnapshotResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"encrypted_content": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"compaction"
|
||
],
|
||
"title": "CompactionResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"encrypted_content",
|
||
"type"
|
||
],
|
||
"title": "CompactionResponseItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"other"
|
||
],
|
||
"title": "OtherResponseItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "OtherResponseItem",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"Result_of_CallToolResult_or_String": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"Ok": {
|
||
"$ref": "#/definitions/CallToolResult"
|
||
}
|
||
},
|
||
"required": [
|
||
"Ok"
|
||
],
|
||
"title": "OkResult_of_CallToolResult_or_String",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"Err": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"Err"
|
||
],
|
||
"title": "ErrResult_of_CallToolResult_or_String",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"ReviewCodeLocation": {
|
||
"description": "Location of the code related to a review finding.",
|
||
"properties": {
|
||
"absolute_file_path": {
|
||
"type": "string"
|
||
},
|
||
"line_range": {
|
||
"$ref": "#/definitions/ReviewLineRange"
|
||
}
|
||
},
|
||
"required": [
|
||
"absolute_file_path",
|
||
"line_range"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ReviewFinding": {
|
||
"description": "A single review finding describing an observed issue or recommendation.",
|
||
"properties": {
|
||
"body": {
|
||
"type": "string"
|
||
},
|
||
"code_location": {
|
||
"$ref": "#/definitions/ReviewCodeLocation"
|
||
},
|
||
"confidence_score": {
|
||
"format": "float",
|
||
"type": "number"
|
||
},
|
||
"priority": {
|
||
"format": "int32",
|
||
"type": "integer"
|
||
},
|
||
"title": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"body",
|
||
"code_location",
|
||
"confidence_score",
|
||
"priority",
|
||
"title"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ReviewLineRange": {
|
||
"description": "Inclusive line range in a file associated with the finding.",
|
||
"properties": {
|
||
"end": {
|
||
"format": "uint32",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"start": {
|
||
"format": "uint32",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
}
|
||
},
|
||
"required": [
|
||
"end",
|
||
"start"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ReviewOutputEvent": {
|
||
"description": "Structured review result produced by a child review session.",
|
||
"properties": {
|
||
"findings": {
|
||
"items": {
|
||
"$ref": "#/definitions/ReviewFinding"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"overall_confidence_score": {
|
||
"format": "float",
|
||
"type": "number"
|
||
},
|
||
"overall_correctness": {
|
||
"type": "string"
|
||
},
|
||
"overall_explanation": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"findings",
|
||
"overall_confidence_score",
|
||
"overall_correctness",
|
||
"overall_explanation"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ReviewTarget": {
|
||
"oneOf": [
|
||
{
|
||
"description": "Review the working tree: staged, unstaged, and untracked files.",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"uncommittedChanges"
|
||
],
|
||
"title": "UncommittedChangesReviewTargetType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "UncommittedChangesReviewTarget",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Review changes between the current branch and the given base branch.",
|
||
"properties": {
|
||
"branch": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"baseBranch"
|
||
],
|
||
"title": "BaseBranchReviewTargetType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"branch",
|
||
"type"
|
||
],
|
||
"title": "BaseBranchReviewTarget",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Review the changes introduced by a specific commit.",
|
||
"properties": {
|
||
"sha": {
|
||
"type": "string"
|
||
},
|
||
"title": {
|
||
"description": "Optional human-readable label (e.g., commit subject) for UIs.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"commit"
|
||
],
|
||
"title": "CommitReviewTargetType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"sha",
|
||
"type"
|
||
],
|
||
"title": "CommitReviewTarget",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Arbitrary instructions provided by the user.",
|
||
"properties": {
|
||
"instructions": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"custom"
|
||
],
|
||
"title": "CustomReviewTargetType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"instructions",
|
||
"type"
|
||
],
|
||
"title": "CustomReviewTarget",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"SandboxPolicy": {
|
||
"description": "Determines execution restrictions for model shell commands.",
|
||
"oneOf": [
|
||
{
|
||
"description": "No restrictions whatsoever. Use with caution.",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"danger-full-access"
|
||
],
|
||
"title": "DangerFullAccessSandboxPolicyType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "DangerFullAccessSandboxPolicy",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Read-only access configuration.",
|
||
"properties": {
|
||
"access": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ReadOnlyAccess"
|
||
}
|
||
],
|
||
"description": "Read access granted while running under this policy."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"read-only"
|
||
],
|
||
"title": "ReadOnlySandboxPolicyType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "ReadOnlySandboxPolicy",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Indicates the process is already in an external sandbox. Allows full disk access while honoring the provided network setting.",
|
||
"properties": {
|
||
"network_access": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/NetworkAccess"
|
||
}
|
||
],
|
||
"default": "restricted",
|
||
"description": "Whether the external sandbox permits outbound network traffic."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"external-sandbox"
|
||
],
|
||
"title": "ExternalSandboxSandboxPolicyType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "ExternalSandboxSandboxPolicy",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Same as `ReadOnly` but additionally grants write access to the current working directory (\"workspace\").",
|
||
"properties": {
|
||
"exclude_slash_tmp": {
|
||
"default": false,
|
||
"description": "When set to `true`, will NOT include the `/tmp` among the default writable roots on UNIX. Defaults to `false`.",
|
||
"type": "boolean"
|
||
},
|
||
"exclude_tmpdir_env_var": {
|
||
"default": false,
|
||
"description": "When set to `true`, will NOT include the per-user `TMPDIR` environment variable among the default writable roots. Defaults to `false`.",
|
||
"type": "boolean"
|
||
},
|
||
"network_access": {
|
||
"default": false,
|
||
"description": "When set to `true`, outbound network access is allowed. `false` by default.",
|
||
"type": "boolean"
|
||
},
|
||
"read_only_access": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ReadOnlyAccess"
|
||
}
|
||
],
|
||
"description": "Read access granted while running under this policy."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"workspace-write"
|
||
],
|
||
"title": "WorkspaceWriteSandboxPolicyType",
|
||
"type": "string"
|
||
},
|
||
"writable_roots": {
|
||
"description": "Additional folders (beyond cwd and possibly TMPDIR) that should be writable from within the sandbox.",
|
||
"items": {
|
||
"$ref": "#/definitions/AbsolutePathBuf"
|
||
},
|
||
"type": "array"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "WorkspaceWriteSandboxPolicy",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"SessionNetworkProxyRuntime": {
|
||
"properties": {
|
||
"admin_addr": {
|
||
"type": "string"
|
||
},
|
||
"http_addr": {
|
||
"type": "string"
|
||
},
|
||
"socks_addr": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"admin_addr",
|
||
"http_addr",
|
||
"socks_addr"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"SkillDependencies": {
|
||
"properties": {
|
||
"tools": {
|
||
"items": {
|
||
"$ref": "#/definitions/SkillToolDependency"
|
||
},
|
||
"type": "array"
|
||
}
|
||
},
|
||
"required": [
|
||
"tools"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"SkillErrorInfo": {
|
||
"properties": {
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"path"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"SkillInterface": {
|
||
"properties": {
|
||
"brand_color": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"default_prompt": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"display_name": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"icon_large": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"icon_small": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"short_description": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"type": "object"
|
||
},
|
||
"SkillMetadata": {
|
||
"properties": {
|
||
"dependencies": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/SkillDependencies"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"description": {
|
||
"type": "string"
|
||
},
|
||
"enabled": {
|
||
"type": "boolean"
|
||
},
|
||
"interface": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/SkillInterface"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": "string"
|
||
},
|
||
"scope": {
|
||
"$ref": "#/definitions/SkillScope"
|
||
},
|
||
"short_description": {
|
||
"description": "Legacy short_description from SKILL.md. Prefer SKILL.json interface.short_description.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"description",
|
||
"enabled",
|
||
"name",
|
||
"path",
|
||
"scope"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"SkillScope": {
|
||
"enum": [
|
||
"user",
|
||
"repo",
|
||
"system",
|
||
"admin"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"SkillToolDependency": {
|
||
"properties": {
|
||
"command": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"description": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"transport": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"type": "string"
|
||
},
|
||
"url": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"value": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type",
|
||
"value"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"SkillsListEntry": {
|
||
"properties": {
|
||
"cwd": {
|
||
"type": "string"
|
||
},
|
||
"errors": {
|
||
"items": {
|
||
"$ref": "#/definitions/SkillErrorInfo"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"skills": {
|
||
"items": {
|
||
"$ref": "#/definitions/SkillMetadata"
|
||
},
|
||
"type": "array"
|
||
}
|
||
},
|
||
"required": [
|
||
"cwd",
|
||
"errors",
|
||
"skills"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"StepStatus": {
|
||
"enum": [
|
||
"pending",
|
||
"in_progress",
|
||
"completed"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"TextElement": {
|
||
"properties": {
|
||
"byte_range": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ByteRange"
|
||
}
|
||
],
|
||
"description": "Byte range in the parent `text` buffer that this element occupies."
|
||
},
|
||
"placeholder": {
|
||
"description": "Optional human-readable placeholder for the element, displayed in the UI.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"byte_range"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"ThreadId": {
|
||
"type": "string"
|
||
},
|
||
"TokenUsage": {
|
||
"properties": {
|
||
"cached_input_tokens": {
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"input_tokens": {
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"output_tokens": {
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"reasoning_output_tokens": {
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"total_tokens": {
|
||
"format": "int64",
|
||
"type": "integer"
|
||
}
|
||
},
|
||
"required": [
|
||
"cached_input_tokens",
|
||
"input_tokens",
|
||
"output_tokens",
|
||
"reasoning_output_tokens",
|
||
"total_tokens"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"TokenUsageInfo": {
|
||
"properties": {
|
||
"last_token_usage": {
|
||
"$ref": "#/definitions/TokenUsage"
|
||
},
|
||
"model_context_window": {
|
||
"format": "int64",
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
},
|
||
"total_token_usage": {
|
||
"$ref": "#/definitions/TokenUsage"
|
||
}
|
||
},
|
||
"required": [
|
||
"last_token_usage",
|
||
"total_token_usage"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"Tool": {
|
||
"description": "Definition for a tool the client can call.",
|
||
"properties": {
|
||
"_meta": true,
|
||
"annotations": true,
|
||
"description": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"icons": {
|
||
"items": true,
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"inputSchema": true,
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"outputSchema": true,
|
||
"title": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"inputSchema",
|
||
"name"
|
||
],
|
||
"type": "object"
|
||
},
|
||
"TurnAbortReason": {
|
||
"enum": [
|
||
"interrupted",
|
||
"replaced",
|
||
"review_ended"
|
||
],
|
||
"type": "string"
|
||
},
|
||
"TurnItem": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"content": {
|
||
"items": {
|
||
"$ref": "#/definitions/UserInput"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"UserMessage"
|
||
],
|
||
"title": "UserMessageTurnItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"content",
|
||
"id",
|
||
"type"
|
||
],
|
||
"title": "UserMessageTurnItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Assistant-authored message payload used in turn-item streams.\n\n`phase` is optional because not all providers/models emit it. Consumers should use it when present, but retain legacy completion semantics when it is `None`.",
|
||
"properties": {
|
||
"content": {
|
||
"items": {
|
||
"$ref": "#/definitions/AgentMessageContent"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"phase": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/MessagePhase"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Optional phase metadata carried through from `ResponseItem::Message`.\n\nThis is currently used by TUI rendering to distinguish mid-turn commentary from a final answer and avoid status-indicator jitter."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"AgentMessage"
|
||
],
|
||
"title": "AgentMessageTurnItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"content",
|
||
"id",
|
||
"type"
|
||
],
|
||
"title": "AgentMessageTurnItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"Plan"
|
||
],
|
||
"title": "PlanTurnItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "PlanTurnItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"raw_content": {
|
||
"default": [],
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"summary_text": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"Reasoning"
|
||
],
|
||
"title": "ReasoningTurnItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"summary_text",
|
||
"type"
|
||
],
|
||
"title": "ReasoningTurnItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"action": {
|
||
"$ref": "#/definitions/WebSearchAction"
|
||
},
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"query": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"WebSearch"
|
||
],
|
||
"title": "WebSearchTurnItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"action",
|
||
"id",
|
||
"query",
|
||
"type"
|
||
],
|
||
"title": "WebSearchTurnItem",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"ContextCompaction"
|
||
],
|
||
"title": "ContextCompactionTurnItemType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"type"
|
||
],
|
||
"title": "ContextCompactionTurnItem",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"UserInput": {
|
||
"description": "User input",
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"text_elements": {
|
||
"default": [],
|
||
"description": "UI-defined spans within `text` that should be treated as special elements. These are byte ranges into the UTF-8 `text` buffer and are used to render or persist rich input markers (e.g., image placeholders) across history and resume without mutating the literal text.",
|
||
"items": {
|
||
"$ref": "#/definitions/TextElement"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"text"
|
||
],
|
||
"title": "TextUserInputType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "TextUserInput",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Pre‑encoded data: URI image.",
|
||
"properties": {
|
||
"image_url": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"image"
|
||
],
|
||
"title": "ImageUserInputType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"image_url",
|
||
"type"
|
||
],
|
||
"title": "ImageUserInput",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Local image path provided by the user. This will be converted to an `Image` variant (base64 data URL) during request serialization.",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"local_image"
|
||
],
|
||
"title": "LocalImageUserInputType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"type"
|
||
],
|
||
"title": "LocalImageUserInput",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Skill selected by the user (name + path to SKILL.md).",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"skill"
|
||
],
|
||
"title": "SkillUserInputType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"path",
|
||
"type"
|
||
],
|
||
"title": "SkillUserInput",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Explicit mention selected by the user (name + app://connector id).",
|
||
"properties": {
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mention"
|
||
],
|
||
"title": "MentionUserInputType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"name",
|
||
"path",
|
||
"type"
|
||
],
|
||
"title": "MentionUserInput",
|
||
"type": "object"
|
||
}
|
||
]
|
||
},
|
||
"WebSearchAction": {
|
||
"oneOf": [
|
||
{
|
||
"properties": {
|
||
"queries": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"query": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"search"
|
||
],
|
||
"title": "SearchWebSearchActionType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "SearchWebSearchAction",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"open_page"
|
||
],
|
||
"title": "OpenPageWebSearchActionType",
|
||
"type": "string"
|
||
},
|
||
"url": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "OpenPageWebSearchAction",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"pattern": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"find_in_page"
|
||
],
|
||
"title": "FindInPageWebSearchActionType",
|
||
"type": "string"
|
||
},
|
||
"url": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "FindInPageWebSearchAction",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"other"
|
||
],
|
||
"title": "OtherWebSearchActionType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "OtherWebSearchAction",
|
||
"type": "object"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"description": "Response event from the agent NOTE: Make sure none of these values have optional types, as it will mess up the extension code-gen.",
|
||
"oneOf": [
|
||
{
|
||
"description": "Error while executing a submission",
|
||
"properties": {
|
||
"codex_error_info": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/CodexErrorInfo"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"default": null
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"error"
|
||
],
|
||
"title": "ErrorEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "ErrorEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Warning issued while processing a submission. Unlike `Error`, this indicates the turn continued but the user should still be notified.",
|
||
"properties": {
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"warning"
|
||
],
|
||
"title": "WarningEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "WarningEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Realtime conversation lifecycle start event.",
|
||
"properties": {
|
||
"session_id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"realtime_conversation_started"
|
||
],
|
||
"title": "RealtimeConversationStartedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "RealtimeConversationStartedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Realtime conversation streaming payload event.",
|
||
"properties": {
|
||
"payload": {
|
||
"$ref": "#/definitions/RealtimeEvent"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"realtime_conversation_realtime"
|
||
],
|
||
"title": "RealtimeConversationRealtimeEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"payload",
|
||
"type"
|
||
],
|
||
"title": "RealtimeConversationRealtimeEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Realtime conversation lifecycle close event.",
|
||
"properties": {
|
||
"reason": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"realtime_conversation_closed"
|
||
],
|
||
"title": "RealtimeConversationClosedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "RealtimeConversationClosedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Model routing changed from the requested model to a different model.",
|
||
"properties": {
|
||
"from_model": {
|
||
"type": "string"
|
||
},
|
||
"reason": {
|
||
"$ref": "#/definitions/ModelRerouteReason"
|
||
},
|
||
"to_model": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"model_reroute"
|
||
],
|
||
"title": "ModelRerouteEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"from_model",
|
||
"reason",
|
||
"to_model",
|
||
"type"
|
||
],
|
||
"title": "ModelRerouteEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Conversation history was compacted (either automatically or manually).",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"context_compacted"
|
||
],
|
||
"title": "ContextCompactedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "ContextCompactedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Conversation history was rolled back by dropping the last N user turns.",
|
||
"properties": {
|
||
"num_turns": {
|
||
"description": "Number of user turns that were removed from context.",
|
||
"format": "uint32",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"thread_rolled_back"
|
||
],
|
||
"title": "ThreadRolledBackEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"num_turns",
|
||
"type"
|
||
],
|
||
"title": "ThreadRolledBackEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent has started a turn. v1 wire format uses `task_started`; accept `turn_started` for v2 interop.",
|
||
"properties": {
|
||
"collaboration_mode_kind": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ModeKind"
|
||
}
|
||
],
|
||
"default": "default"
|
||
},
|
||
"model_context_window": {
|
||
"format": "int64",
|
||
"type": [
|
||
"integer",
|
||
"null"
|
||
]
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"task_started"
|
||
],
|
||
"title": "TaskStartedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "TaskStartedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent has completed all actions. v1 wire format uses `task_complete`; accept `turn_complete` for v2 interop.",
|
||
"properties": {
|
||
"last_agent_message": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"task_complete"
|
||
],
|
||
"title": "TaskCompleteEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "TaskCompleteEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Usage update for the current session, including totals and last turn. Optional means unknown — UIs should not display when `None`.",
|
||
"properties": {
|
||
"info": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/TokenUsageInfo"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"rate_limits": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/RateLimitSnapshot"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"token_count"
|
||
],
|
||
"title": "TokenCountEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "TokenCountEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent text output message",
|
||
"properties": {
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"phase": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/MessagePhase"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"default": null
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_message"
|
||
],
|
||
"title": "AgentMessageEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "AgentMessageEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "User/system input message (what was sent to the model)",
|
||
"properties": {
|
||
"images": {
|
||
"description": "Image URLs sourced from `UserInput::Image`. These are safe to replay in legacy UI history events and correspond to images sent to the model.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"local_images": {
|
||
"default": [],
|
||
"description": "Local file paths sourced from `UserInput::LocalImage`. These are kept so the UI can reattach images when editing history, and should not be sent to the model or treated as API-ready URLs.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"text_elements": {
|
||
"default": [],
|
||
"description": "UI-defined spans within `message` used to render or persist special elements.",
|
||
"items": {
|
||
"$ref": "#/definitions/TextElement"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"user_message"
|
||
],
|
||
"title": "UserMessageEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "UserMessageEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent text output delta message",
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_message_delta"
|
||
],
|
||
"title": "AgentMessageDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"type"
|
||
],
|
||
"title": "AgentMessageDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Reasoning event from agent.",
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning"
|
||
],
|
||
"title": "AgentReasoningEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent reasoning delta event from agent.",
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning_delta"
|
||
],
|
||
"title": "AgentReasoningDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Raw chain-of-thought from agent.",
|
||
"properties": {
|
||
"text": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning_raw_content"
|
||
],
|
||
"title": "AgentReasoningRawContentEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"text",
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningRawContentEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Agent reasoning content delta event from agent.",
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning_raw_content_delta"
|
||
],
|
||
"title": "AgentReasoningRawContentDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningRawContentDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Signaled when the model begins a new reasoning summary section (e.g., a new titled block).",
|
||
"properties": {
|
||
"item_id": {
|
||
"default": "",
|
||
"type": "string"
|
||
},
|
||
"summary_index": {
|
||
"default": 0,
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_reasoning_section_break"
|
||
],
|
||
"title": "AgentReasoningSectionBreakEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "AgentReasoningSectionBreakEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Ack the client's configure message.",
|
||
"properties": {
|
||
"approval_policy": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AskForApproval"
|
||
}
|
||
],
|
||
"description": "When to escalate for approval for execution"
|
||
},
|
||
"cwd": {
|
||
"description": "Working directory that should be treated as the *root* of the session.",
|
||
"type": "string"
|
||
},
|
||
"forked_from_id": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"history_entry_count": {
|
||
"description": "Current number of entries in the history log.",
|
||
"format": "uint",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"history_log_id": {
|
||
"description": "Identifier of the history log file (inode on Unix, 0 otherwise).",
|
||
"format": "uint64",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"initial_messages": {
|
||
"description": "Optional initial messages (as events) for resumed sessions. When present, UIs can use these to seed the history.",
|
||
"items": {
|
||
"$ref": "#/definitions/EventMsg"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"model": {
|
||
"description": "Tell the client what model is being queried.",
|
||
"type": "string"
|
||
},
|
||
"model_provider_id": {
|
||
"type": "string"
|
||
},
|
||
"network_proxy": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||
},
|
||
"reasoning_effort": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/ReasoningEffort"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "The effort the model is putting into reasoning about the user's request."
|
||
},
|
||
"rollout_path": {
|
||
"description": "Path in which the rollout is stored. Can be `None` for ephemeral threads",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"sandbox_policy": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/SandboxPolicy"
|
||
}
|
||
],
|
||
"description": "How to sandbox commands executed in the system"
|
||
},
|
||
"session_id": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"thread_name": {
|
||
"description": "Optional user-facing thread name (may be unset).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"session_configured"
|
||
],
|
||
"title": "SessionConfiguredEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"approval_policy",
|
||
"cwd",
|
||
"history_entry_count",
|
||
"history_log_id",
|
||
"model",
|
||
"model_provider_id",
|
||
"sandbox_policy",
|
||
"session_id",
|
||
"type"
|
||
],
|
||
"title": "SessionConfiguredEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Updated session metadata (e.g., thread name changes).",
|
||
"properties": {
|
||
"thread_id": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"thread_name": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"thread_name_updated"
|
||
],
|
||
"title": "ThreadNameUpdatedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"thread_id",
|
||
"type"
|
||
],
|
||
"title": "ThreadNameUpdatedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Incremental MCP startup progress updates.",
|
||
"properties": {
|
||
"server": {
|
||
"description": "Server name being started.",
|
||
"type": "string"
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/McpStartupStatus"
|
||
}
|
||
],
|
||
"description": "Current startup status."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_startup_update"
|
||
],
|
||
"title": "McpStartupUpdateEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"server",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "McpStartupUpdateEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Aggregate MCP startup completion summary.",
|
||
"properties": {
|
||
"cancelled": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"failed": {
|
||
"items": {
|
||
"$ref": "#/definitions/McpStartupFailure"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"ready": {
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_startup_complete"
|
||
],
|
||
"title": "McpStartupCompleteEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"cancelled",
|
||
"failed",
|
||
"ready",
|
||
"type"
|
||
],
|
||
"title": "McpStartupCompleteEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier so this can be paired with the McpToolCallEnd event.",
|
||
"type": "string"
|
||
},
|
||
"invocation": {
|
||
"$ref": "#/definitions/McpInvocation"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_tool_call_begin"
|
||
],
|
||
"title": "McpToolCallBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"invocation",
|
||
"type"
|
||
],
|
||
"title": "McpToolCallBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the corresponding McpToolCallBegin that finished.",
|
||
"type": "string"
|
||
},
|
||
"duration": {
|
||
"$ref": "#/definitions/Duration"
|
||
},
|
||
"invocation": {
|
||
"$ref": "#/definitions/McpInvocation"
|
||
},
|
||
"result": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/Result_of_CallToolResult_or_String"
|
||
}
|
||
],
|
||
"description": "Result of the tool call. Note this could be an error."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_tool_call_end"
|
||
],
|
||
"title": "McpToolCallEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"duration",
|
||
"invocation",
|
||
"result",
|
||
"type"
|
||
],
|
||
"title": "McpToolCallEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"web_search_begin"
|
||
],
|
||
"title": "WebSearchBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"type"
|
||
],
|
||
"title": "WebSearchBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"action": {
|
||
"$ref": "#/definitions/WebSearchAction"
|
||
},
|
||
"call_id": {
|
||
"type": "string"
|
||
},
|
||
"query": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"web_search_end"
|
||
],
|
||
"title": "WebSearchEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"action",
|
||
"call_id",
|
||
"query",
|
||
"type"
|
||
],
|
||
"title": "WebSearchEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that the server is about to execute a command.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier so this can be paired with the ExecCommandEnd event.",
|
||
"type": "string"
|
||
},
|
||
"command": {
|
||
"description": "The command to be executed.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"cwd": {
|
||
"description": "The command's working directory if not the default cwd for the agent.",
|
||
"type": "string"
|
||
},
|
||
"interaction_input": {
|
||
"description": "Raw input sent to a unified exec session (if this is an interaction event).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"parsed_cmd": {
|
||
"items": {
|
||
"$ref": "#/definitions/ParsedCommand"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"process_id": {
|
||
"description": "Identifier for the underlying PTY process (when available).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"source": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ExecCommandSource"
|
||
}
|
||
],
|
||
"default": "agent",
|
||
"description": "Where the command originated. Defaults to Agent for backward compatibility."
|
||
},
|
||
"turn_id": {
|
||
"description": "Turn ID that this command belongs to.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec_command_begin"
|
||
],
|
||
"title": "ExecCommandBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"command",
|
||
"cwd",
|
||
"parsed_cmd",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ExecCommandBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Incremental chunk of output from a running command.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the ExecCommandBegin that produced this chunk.",
|
||
"type": "string"
|
||
},
|
||
"chunk": {
|
||
"description": "Raw bytes from the stream (may not be valid UTF-8).",
|
||
"type": "string"
|
||
},
|
||
"stream": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ExecOutputStream"
|
||
}
|
||
],
|
||
"description": "Which stream produced this chunk."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec_command_output_delta"
|
||
],
|
||
"title": "ExecCommandOutputDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"chunk",
|
||
"stream",
|
||
"type"
|
||
],
|
||
"title": "ExecCommandOutputDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Terminal interaction for an in-progress command (stdin sent and stdout observed).",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the ExecCommandBegin that produced this chunk.",
|
||
"type": "string"
|
||
},
|
||
"process_id": {
|
||
"description": "Process id associated with the running command.",
|
||
"type": "string"
|
||
},
|
||
"stdin": {
|
||
"description": "Stdin sent to the running session.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"terminal_interaction"
|
||
],
|
||
"title": "TerminalInteractionEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"process_id",
|
||
"stdin",
|
||
"type"
|
||
],
|
||
"title": "TerminalInteractionEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"aggregated_output": {
|
||
"default": "",
|
||
"description": "Captured aggregated output",
|
||
"type": "string"
|
||
},
|
||
"call_id": {
|
||
"description": "Identifier for the ExecCommandBegin that finished.",
|
||
"type": "string"
|
||
},
|
||
"command": {
|
||
"description": "The command that was executed.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"cwd": {
|
||
"description": "The command's working directory if not the default cwd for the agent.",
|
||
"type": "string"
|
||
},
|
||
"duration": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/Duration"
|
||
}
|
||
],
|
||
"description": "The duration of the command execution."
|
||
},
|
||
"exit_code": {
|
||
"description": "The command's exit code.",
|
||
"format": "int32",
|
||
"type": "integer"
|
||
},
|
||
"formatted_output": {
|
||
"description": "Formatted output from the command, as seen by the model.",
|
||
"type": "string"
|
||
},
|
||
"interaction_input": {
|
||
"description": "Raw input sent to a unified exec session (if this is an interaction event).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"parsed_cmd": {
|
||
"items": {
|
||
"$ref": "#/definitions/ParsedCommand"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"process_id": {
|
||
"description": "Identifier for the underlying PTY process (when available).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"source": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ExecCommandSource"
|
||
}
|
||
],
|
||
"default": "agent",
|
||
"description": "Where the command originated. Defaults to Agent for backward compatibility."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ExecCommandStatus"
|
||
}
|
||
],
|
||
"description": "Completion status for this command execution."
|
||
},
|
||
"stderr": {
|
||
"description": "Captured stderr",
|
||
"type": "string"
|
||
},
|
||
"stdout": {
|
||
"description": "Captured stdout",
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"description": "Turn ID that this command belongs to.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec_command_end"
|
||
],
|
||
"title": "ExecCommandEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"command",
|
||
"cwd",
|
||
"duration",
|
||
"exit_code",
|
||
"formatted_output",
|
||
"parsed_cmd",
|
||
"status",
|
||
"stderr",
|
||
"stdout",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ExecCommandEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that the agent attached a local image via the view_image tool.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the originating tool call.",
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"description": "Local filesystem path provided to the tool.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"view_image_tool_call"
|
||
],
|
||
"title": "ViewImageToolCallEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"path",
|
||
"type"
|
||
],
|
||
"title": "ViewImageToolCallEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"approval_id": {
|
||
"description": "Identifier for this specific approval callback.\n\nWhen absent, the approval is for the command item itself (`call_id`). This is present for subcommand approvals (via execve intercept).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"call_id": {
|
||
"description": "Identifier for the associated command execution item.",
|
||
"type": "string"
|
||
},
|
||
"command": {
|
||
"description": "The command to be executed.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"cwd": {
|
||
"description": "The command's working directory.",
|
||
"type": "string"
|
||
},
|
||
"network_approval_context": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/NetworkApprovalContext"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Optional network context for a blocked request that can be approved."
|
||
},
|
||
"parsed_cmd": {
|
||
"items": {
|
||
"$ref": "#/definitions/ParsedCommand"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"proposed_execpolicy_amendment": {
|
||
"description": "Proposed execpolicy amendment that can be applied to allow future runs.",
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
]
|
||
},
|
||
"reason": {
|
||
"description": "Optional human-readable reason for the approval (e.g. retry without sandbox).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this command belongs to. Uses `#[serde(default)]` for backwards compatibility.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exec_approval_request"
|
||
],
|
||
"title": "ExecApprovalRequestEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"command",
|
||
"cwd",
|
||
"parsed_cmd",
|
||
"type"
|
||
],
|
||
"title": "ExecApprovalRequestEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Responses API call id for the associated tool call, if available.",
|
||
"type": "string"
|
||
},
|
||
"questions": {
|
||
"items": {
|
||
"$ref": "#/definitions/RequestUserInputQuestion"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this request belongs to. Uses `#[serde(default)]` for backwards compatibility.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"request_user_input"
|
||
],
|
||
"title": "RequestUserInputEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"questions",
|
||
"type"
|
||
],
|
||
"title": "RequestUserInputEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"arguments": true,
|
||
"callId": {
|
||
"type": "string"
|
||
},
|
||
"tool": {
|
||
"type": "string"
|
||
},
|
||
"turnId": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"dynamic_tool_call_request"
|
||
],
|
||
"title": "DynamicToolCallRequestEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"arguments",
|
||
"callId",
|
||
"tool",
|
||
"turnId",
|
||
"type"
|
||
],
|
||
"title": "DynamicToolCallRequestEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"id": {
|
||
"$ref": "#/definitions/RequestId"
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"server_name": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"elicitation_request"
|
||
],
|
||
"title": "ElicitationRequestEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"message",
|
||
"server_name",
|
||
"type"
|
||
],
|
||
"title": "ElicitationRequestEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Responses API call id for the associated patch apply call, if available.",
|
||
"type": "string"
|
||
},
|
||
"changes": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/FileChange"
|
||
},
|
||
"type": "object"
|
||
},
|
||
"grant_root": {
|
||
"description": "When set, the agent is asking the user to allow writes under this root for the remainder of the session.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"reason": {
|
||
"description": "Optional explanatory reason (e.g. request for extra write access).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility with older senders.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"apply_patch_approval_request"
|
||
],
|
||
"title": "ApplyPatchApprovalRequestEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"changes",
|
||
"type"
|
||
],
|
||
"title": "ApplyPatchApprovalRequestEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification advising the user that something they are using has been deprecated and should be phased out.",
|
||
"properties": {
|
||
"details": {
|
||
"description": "Optional extra guidance, such as migration steps or rationale.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"summary": {
|
||
"description": "Concise summary of what is deprecated.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"deprecation_notice"
|
||
],
|
||
"title": "DeprecationNoticeEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"summary",
|
||
"type"
|
||
],
|
||
"title": "DeprecationNoticeEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"background_event"
|
||
],
|
||
"title": "BackgroundEventEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "BackgroundEventEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"message": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"undo_started"
|
||
],
|
||
"title": "UndoStartedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "UndoStartedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"message": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"success": {
|
||
"type": "boolean"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"undo_completed"
|
||
],
|
||
"title": "UndoCompletedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"success",
|
||
"type"
|
||
],
|
||
"title": "UndoCompletedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that a model stream experienced an error or disconnect and the system is handling it (e.g., retrying with backoff).",
|
||
"properties": {
|
||
"additional_details": {
|
||
"default": null,
|
||
"description": "Optional details about the underlying stream failure (often the same human-readable message that is surfaced as the terminal error if retries are exhausted).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"codex_error_info": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/CodexErrorInfo"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"default": null
|
||
},
|
||
"message": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"stream_error"
|
||
],
|
||
"title": "StreamErrorEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"message",
|
||
"type"
|
||
],
|
||
"title": "StreamErrorEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that the agent is about to apply a code patch. Mirrors `ExecCommandBegin` so front‑ends can show progress indicators.",
|
||
"properties": {
|
||
"auto_approved": {
|
||
"description": "If true, there was no ApplyPatchApprovalRequest for this patch.",
|
||
"type": "boolean"
|
||
},
|
||
"call_id": {
|
||
"description": "Identifier so this can be paired with the PatchApplyEnd event.",
|
||
"type": "string"
|
||
},
|
||
"changes": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/FileChange"
|
||
},
|
||
"description": "The changes to be applied.",
|
||
"type": "object"
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"patch_apply_begin"
|
||
],
|
||
"title": "PatchApplyBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"auto_approved",
|
||
"call_id",
|
||
"changes",
|
||
"type"
|
||
],
|
||
"title": "PatchApplyBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that a patch application has finished.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the PatchApplyBegin that finished.",
|
||
"type": "string"
|
||
},
|
||
"changes": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/FileChange"
|
||
},
|
||
"default": {},
|
||
"description": "The changes that were applied (mirrors PatchApplyBeginEvent::changes).",
|
||
"type": "object"
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/PatchApplyStatus"
|
||
}
|
||
],
|
||
"description": "Completion status for this patch application."
|
||
},
|
||
"stderr": {
|
||
"description": "Captured stderr (parser errors, IO failures, etc.).",
|
||
"type": "string"
|
||
},
|
||
"stdout": {
|
||
"description": "Captured stdout (summary printed by apply_patch).",
|
||
"type": "string"
|
||
},
|
||
"success": {
|
||
"description": "Whether the patch was applied successfully.",
|
||
"type": "boolean"
|
||
},
|
||
"turn_id": {
|
||
"default": "",
|
||
"description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility.",
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"patch_apply_end"
|
||
],
|
||
"title": "PatchApplyEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"status",
|
||
"stderr",
|
||
"stdout",
|
||
"success",
|
||
"type"
|
||
],
|
||
"title": "PatchApplyEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"turn_diff"
|
||
],
|
||
"title": "TurnDiffEventMsgType",
|
||
"type": "string"
|
||
},
|
||
"unified_diff": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type",
|
||
"unified_diff"
|
||
],
|
||
"title": "TurnDiffEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Response to GetHistoryEntryRequest.",
|
||
"properties": {
|
||
"entry": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/HistoryEntry"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "The entry at the requested offset, if available and parseable."
|
||
},
|
||
"log_id": {
|
||
"format": "uint64",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"offset": {
|
||
"format": "uint",
|
||
"minimum": 0.0,
|
||
"type": "integer"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"get_history_entry_response"
|
||
],
|
||
"title": "GetHistoryEntryResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"log_id",
|
||
"offset",
|
||
"type"
|
||
],
|
||
"title": "GetHistoryEntryResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "List of MCP tools available to the agent.",
|
||
"properties": {
|
||
"auth_statuses": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/McpAuthStatus"
|
||
},
|
||
"description": "Authentication status for each configured MCP server.",
|
||
"type": "object"
|
||
},
|
||
"resource_templates": {
|
||
"additionalProperties": {
|
||
"items": {
|
||
"$ref": "#/definitions/ResourceTemplate"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"description": "Known resource templates grouped by server name.",
|
||
"type": "object"
|
||
},
|
||
"resources": {
|
||
"additionalProperties": {
|
||
"items": {
|
||
"$ref": "#/definitions/Resource"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"description": "Known resources grouped by server name.",
|
||
"type": "object"
|
||
},
|
||
"tools": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/Tool"
|
||
},
|
||
"description": "Fully qualified tool name -> tool definition.",
|
||
"type": "object"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"mcp_list_tools_response"
|
||
],
|
||
"title": "McpListToolsResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"auth_statuses",
|
||
"resource_templates",
|
||
"resources",
|
||
"tools",
|
||
"type"
|
||
],
|
||
"title": "McpListToolsResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "List of custom prompts available to the agent.",
|
||
"properties": {
|
||
"custom_prompts": {
|
||
"items": {
|
||
"$ref": "#/definitions/CustomPrompt"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"list_custom_prompts_response"
|
||
],
|
||
"title": "ListCustomPromptsResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"custom_prompts",
|
||
"type"
|
||
],
|
||
"title": "ListCustomPromptsResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "List of skills available to the agent.",
|
||
"properties": {
|
||
"skills": {
|
||
"items": {
|
||
"$ref": "#/definitions/SkillsListEntry"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"list_skills_response"
|
||
],
|
||
"title": "ListSkillsResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"skills",
|
||
"type"
|
||
],
|
||
"title": "ListSkillsResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "List of remote skills available to the agent.",
|
||
"properties": {
|
||
"skills": {
|
||
"items": {
|
||
"$ref": "#/definitions/RemoteSkillSummary"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"list_remote_skills_response"
|
||
],
|
||
"title": "ListRemoteSkillsResponseEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"skills",
|
||
"type"
|
||
],
|
||
"title": "ListRemoteSkillsResponseEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Remote skill downloaded to local cache.",
|
||
"properties": {
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"type": "string"
|
||
},
|
||
"path": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"remote_skill_downloaded"
|
||
],
|
||
"title": "RemoteSkillDownloadedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"id",
|
||
"name",
|
||
"path",
|
||
"type"
|
||
],
|
||
"title": "RemoteSkillDownloadedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that skill data may have been updated and clients may want to reload.",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"skills_update_available"
|
||
],
|
||
"title": "SkillsUpdateAvailableEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "SkillsUpdateAvailableEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"explanation": {
|
||
"default": null,
|
||
"description": "Arguments for the `update_plan` todo/checklist tool (not plan mode).",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"plan": {
|
||
"items": {
|
||
"$ref": "#/definitions/PlanItemArg"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"plan_update"
|
||
],
|
||
"title": "PlanUpdateEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"plan",
|
||
"type"
|
||
],
|
||
"title": "PlanUpdateEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"reason": {
|
||
"$ref": "#/definitions/TurnAbortReason"
|
||
},
|
||
"turn_id": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"turn_aborted"
|
||
],
|
||
"title": "TurnAbortedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"reason",
|
||
"type"
|
||
],
|
||
"title": "TurnAbortedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Notification that the agent is shutting down.",
|
||
"properties": {
|
||
"type": {
|
||
"enum": [
|
||
"shutdown_complete"
|
||
],
|
||
"title": "ShutdownCompleteEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "ShutdownCompleteEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Entered review mode.",
|
||
"properties": {
|
||
"target": {
|
||
"$ref": "#/definitions/ReviewTarget"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"entered_review_mode"
|
||
],
|
||
"title": "EnteredReviewModeEventMsgType",
|
||
"type": "string"
|
||
},
|
||
"user_facing_hint": {
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
}
|
||
},
|
||
"required": [
|
||
"target",
|
||
"type"
|
||
],
|
||
"title": "EnteredReviewModeEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Exited review mode with an optional final result to apply.",
|
||
"properties": {
|
||
"review_output": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/ReviewOutputEvent"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"exited_review_mode"
|
||
],
|
||
"title": "ExitedReviewModeEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"type"
|
||
],
|
||
"title": "ExitedReviewModeEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"item": {
|
||
"$ref": "#/definitions/ResponseItem"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"raw_response_item"
|
||
],
|
||
"title": "RawResponseItemEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"item",
|
||
"type"
|
||
],
|
||
"title": "RawResponseItemEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"item": {
|
||
"$ref": "#/definitions/TurnItem"
|
||
},
|
||
"thread_id": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"item_started"
|
||
],
|
||
"title": "ItemStartedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"item",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ItemStartedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"item": {
|
||
"$ref": "#/definitions/TurnItem"
|
||
},
|
||
"thread_id": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"item_completed"
|
||
],
|
||
"title": "ItemCompletedEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"item",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ItemCompletedEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"item_id": {
|
||
"type": "string"
|
||
},
|
||
"thread_id": {
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"agent_message_content_delta"
|
||
],
|
||
"title": "AgentMessageContentDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"item_id",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "AgentMessageContentDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"item_id": {
|
||
"type": "string"
|
||
},
|
||
"thread_id": {
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"plan_delta"
|
||
],
|
||
"title": "PlanDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"item_id",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "PlanDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"item_id": {
|
||
"type": "string"
|
||
},
|
||
"summary_index": {
|
||
"default": 0,
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"thread_id": {
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"reasoning_content_delta"
|
||
],
|
||
"title": "ReasoningContentDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"item_id",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ReasoningContentDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"properties": {
|
||
"content_index": {
|
||
"default": 0,
|
||
"format": "int64",
|
||
"type": "integer"
|
||
},
|
||
"delta": {
|
||
"type": "string"
|
||
},
|
||
"item_id": {
|
||
"type": "string"
|
||
},
|
||
"thread_id": {
|
||
"type": "string"
|
||
},
|
||
"turn_id": {
|
||
"type": "string"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"reasoning_raw_content_delta"
|
||
],
|
||
"title": "ReasoningRawContentDeltaEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"delta",
|
||
"item_id",
|
||
"thread_id",
|
||
"turn_id",
|
||
"type"
|
||
],
|
||
"title": "ReasoningRawContentDeltaEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: agent spawn begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"prompt": {
|
||
"description": "Initial prompt sent to the agent. Can be empty to prevent CoT leaking at the beginning.",
|
||
"type": "string"
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_agent_spawn_begin"
|
||
],
|
||
"title": "CollabAgentSpawnBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"prompt",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabAgentSpawnBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: agent spawn end.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"new_agent_nickname": {
|
||
"description": "Optional nickname assigned to the new agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"new_agent_role": {
|
||
"description": "Optional role assigned to the new agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"new_thread_id": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
],
|
||
"description": "Thread ID of the newly spawned agent, if it was created."
|
||
},
|
||
"prompt": {
|
||
"description": "Initial prompt sent to the agent. Can be empty to prevent CoT leaking at the beginning.",
|
||
"type": "string"
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the new agent reported to the sender agent."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_agent_spawn_end"
|
||
],
|
||
"title": "CollabAgentSpawnEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"prompt",
|
||
"sender_thread_id",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "CollabAgentSpawnEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: agent interaction begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"prompt": {
|
||
"description": "Prompt sent from the sender to the receiver. Can be empty to prevent CoT leaking at the beginning.",
|
||
"type": "string"
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_agent_interaction_begin"
|
||
],
|
||
"title": "CollabAgentInteractionBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"prompt",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabAgentInteractionBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: agent interaction end.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"prompt": {
|
||
"description": "Prompt sent from the sender to the receiver. Can be empty to prevent CoT leaking at the beginning.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agent_nickname": {
|
||
"description": "Optional nickname assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_agent_role": {
|
||
"description": "Optional role assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the receiver agent reported to the sender agent."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_agent_interaction_end"
|
||
],
|
||
"title": "CollabAgentInteractionEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"prompt",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "CollabAgentInteractionEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: waiting begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "ID of the waiting call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agents": {
|
||
"description": "Optional nicknames/roles for receivers.",
|
||
"items": {
|
||
"$ref": "#/definitions/CollabAgentRef"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"receiver_thread_ids": {
|
||
"description": "Thread ID of the receivers.",
|
||
"items": {
|
||
"$ref": "#/definitions/ThreadId"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_waiting_begin"
|
||
],
|
||
"title": "CollabWaitingBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_ids",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabWaitingBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: waiting end.",
|
||
"properties": {
|
||
"agent_statuses": {
|
||
"description": "Optional receiver metadata paired with final statuses.",
|
||
"items": {
|
||
"$ref": "#/definitions/CollabAgentStatusEntry"
|
||
},
|
||
"type": "array"
|
||
},
|
||
"call_id": {
|
||
"description": "ID of the waiting call.",
|
||
"type": "string"
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"statuses": {
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/AgentStatus"
|
||
},
|
||
"description": "Last known status of the receiver agents reported to the sender agent.",
|
||
"type": "object"
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_waiting_end"
|
||
],
|
||
"title": "CollabWaitingEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"sender_thread_id",
|
||
"statuses",
|
||
"type"
|
||
],
|
||
"title": "CollabWaitingEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: close begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_close_begin"
|
||
],
|
||
"title": "CollabCloseBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabCloseBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: close end.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agent_nickname": {
|
||
"description": "Optional nickname assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_agent_role": {
|
||
"description": "Optional role assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the receiver agent reported to the sender agent before the close."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_close_end"
|
||
],
|
||
"title": "CollabCloseEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "CollabCloseEndEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: resume begin.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agent_nickname": {
|
||
"description": "Optional nickname assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_agent_role": {
|
||
"description": "Optional role assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_resume_begin"
|
||
],
|
||
"title": "CollabResumeBeginEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"type"
|
||
],
|
||
"title": "CollabResumeBeginEventMsg",
|
||
"type": "object"
|
||
},
|
||
{
|
||
"description": "Collab interaction: resume end.",
|
||
"properties": {
|
||
"call_id": {
|
||
"description": "Identifier for the collab tool call.",
|
||
"type": "string"
|
||
},
|
||
"receiver_agent_nickname": {
|
||
"description": "Optional nickname assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_agent_role": {
|
||
"description": "Optional role assigned to the receiver agent.",
|
||
"type": [
|
||
"string",
|
||
"null"
|
||
]
|
||
},
|
||
"receiver_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the receiver."
|
||
},
|
||
"sender_thread_id": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/ThreadId"
|
||
}
|
||
],
|
||
"description": "Thread ID of the sender."
|
||
},
|
||
"status": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/definitions/AgentStatus"
|
||
}
|
||
],
|
||
"description": "Last known status of the receiver agent reported to the sender agent after resume."
|
||
},
|
||
"type": {
|
||
"enum": [
|
||
"collab_resume_end"
|
||
],
|
||
"title": "CollabResumeEndEventMsgType",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"required": [
|
||
"call_id",
|
||
"receiver_thread_id",
|
||
"sender_thread_id",
|
||
"status",
|
||
"type"
|
||
],
|
||
"title": "CollabResumeEndEventMsg",
|
||
"type": "object"
|
||
}
|
||
],
|
||
"title": "EventMsg"
|
||
} |