From 1779feb6a7b5937a81e5134379e3a729416948ff Mon Sep 17 00:00:00 2001 From: Michael Bolin Date: Fri, 20 Feb 2026 21:36:12 -0800 Subject: [PATCH] ignore v1 in JSON schema codegen (#12408) ## 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 --- .../schema/json/ClientRequest.json | 1365 ---- .../schema/json/EventMsg.json | 6 +- .../schema/json/ServerNotification.json | 5898 ----------------- .../codex_app_server_protocol.schemas.json | 3996 +---------- .../v1/AddConversationListenerParams.json | 22 - .../AddConversationSubscriptionResponse.json | 13 - .../json/v1/ArchiveConversationParams.json | 22 - .../json/v1/ArchiveConversationResponse.json | 5 - .../json/v1/AuthStatusChangeNotification.json | 46 - .../json/v1/CancelLoginChatGptParams.json | 13 - .../json/v1/CancelLoginChatGptResponse.json | 5 - .../json/v1/ExecOneOffCommandParams.json | 225 - .../json/v1/ExecOneOffCommandResponse.json | 22 - .../json/v1/ForkConversationParams.json | 195 - .../json/v1/ForkConversationResponse.json | 5776 ---------------- .../schema/json/v1/GetAuthStatusParams.json | 19 - .../schema/json/v1/GetAuthStatusResponse.json | 57 - .../json/v1/GetConversationSummaryParams.json | 35 - .../v1/GetConversationSummaryResponse.json | 190 - .../schema/json/v1/GetUserAgentResponse.json | 13 - .../json/v1/GetUserSavedConfigResponse.json | 366 - .../schema/json/v1/GitDiffToRemoteParams.json | 13 - .../json/v1/GitDiffToRemoteResponse.json | 22 - .../json/v1/InterruptConversationParams.json | 18 - .../v1/InterruptConversationResponse.json | 23 - .../json/v1/ListConversationsParams.json | 30 - .../json/v1/ListConversationsResponse.json | 199 - .../schema/json/v1/LoginApiKeyParams.json | 13 - .../schema/json/v1/LoginApiKeyResponse.json | 5 - .../v1/LoginChatGptCompleteNotification.json | 24 - .../schema/json/v1/LoginChatGptResponse.json | 17 - .../schema/json/v1/LogoutChatGptResponse.json | 5 - .../schema/json/v1/NewConversationParams.json | 161 - .../json/v1/NewConversationResponse.json | 48 - .../v1/RemoveConversationListenerParams.json | 13 - ...emoveConversationSubscriptionResponse.json | 5 - .../json/v1/ResumeConversationParams.json | 984 --- .../json/v1/ResumeConversationResponse.json | 5776 ---------------- .../schema/json/v1/SendUserMessageParams.json | 165 - .../json/v1/SendUserMessageResponse.json | 5 - .../schema/json/v1/SendUserTurnParams.json | 482 -- .../schema/json/v1/SendUserTurnResponse.json | 5 - .../v1/SessionConfiguredNotification.json | 5798 ---------------- .../schema/json/v1/SetDefaultModelParams.json | 37 - .../json/v1/SetDefaultModelResponse.json | 5 - .../schema/json/v1/UserInfoResponse.json | 13 - codex-rs/app-server-protocol/src/export.rs | 372 +- 47 files changed, 204 insertions(+), 32323 deletions(-) delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/AddConversationListenerParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/AddConversationSubscriptionResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ArchiveConversationParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ArchiveConversationResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/AuthStatusChangeNotification.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/CancelLoginChatGptParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/CancelLoginChatGptResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ExecOneOffCommandParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ExecOneOffCommandResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ForkConversationParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ForkConversationResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/GetAuthStatusParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/GetAuthStatusResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/GetConversationSummaryParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/GetConversationSummaryResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/GetUserAgentResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/GetUserSavedConfigResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/GitDiffToRemoteParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/GitDiffToRemoteResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/InterruptConversationParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/InterruptConversationResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ListConversationsParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ListConversationsResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/LoginApiKeyParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/LoginApiKeyResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/LoginChatGptCompleteNotification.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/LoginChatGptResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/LogoutChatGptResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/NewConversationParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/NewConversationResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/RemoveConversationListenerParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/RemoveConversationSubscriptionResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ResumeConversationParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/ResumeConversationResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/SendUserMessageParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/SendUserMessageResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/SendUserTurnParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/SendUserTurnResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/SessionConfiguredNotification.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/SetDefaultModelParams.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/SetDefaultModelResponse.json delete mode 100644 codex-rs/app-server-protocol/schema/json/v1/UserInfoResponse.json diff --git a/codex-rs/app-server-protocol/schema/json/ClientRequest.json b/codex-rs/app-server-protocol/schema/json/ClientRequest.json index 76ba36735..cee6e6d04 100644 --- a/codex-rs/app-server-protocol/schema/json/ClientRequest.json +++ b/codex-rs/app-server-protocol/schema/json/ClientRequest.json @@ -5,21 +5,6 @@ "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" }, - "AddConversationListenerParams": { - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "experimentalRawEvents": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "conversationId" - ], - "type": "object" - }, "AppsListParams": { "description": "EXPERIMENTAL - list available apps/connectors.", "properties": { @@ -53,21 +38,6 @@ }, "type": "object" }, - "ArchiveConversationParams": { - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "rolloutPath" - ], - "type": "object" - }, "AskForApproval": { "oneOf": [ { @@ -110,53 +80,6 @@ } ] }, - "AskForApproval2": { - "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": "RejectAskForApproval2", - "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": { @@ -187,17 +110,6 @@ ], "type": "object" }, - "CancelLoginChatGptParams": { - "properties": { - "loginId": { - "type": "string" - } - }, - "required": [ - "loginId" - ], - "type": "object" - }, "ClientInfo": { "properties": { "name": { @@ -443,44 +355,6 @@ ], "type": "object" }, - "ExecOneOffCommandParams": { - "properties": { - "command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "cwd": { - "type": [ - "string", - "null" - ] - }, - "sandboxPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxPolicy2" - }, - { - "type": "null" - } - ] - }, - "timeoutMs": { - "format": "uint64", - "minimum": 0.0, - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "command" - ], - "type": "object" - }, "ExperimentalFeatureListParams": { "properties": { "cursor": { @@ -538,37 +412,6 @@ ], "type": "object" }, - "ForkConversationParams": { - "properties": { - "conversationId": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadId" - }, - { - "type": "null" - } - ] - }, - "overrides": { - "anyOf": [ - { - "$ref": "#/definitions/NewConversationParams" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, "FunctionCallOutputBody": { "anyOf": [ { @@ -679,51 +522,6 @@ }, "type": "object" }, - "GetAuthStatusParams": { - "properties": { - "includeToken": { - "type": [ - "boolean", - "null" - ] - }, - "refreshToken": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - "GetConversationSummaryParams": { - "anyOf": [ - { - "properties": { - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "rolloutPath" - ], - "title": "RolloutPathGetConversationSummaryParams", - "type": "object" - }, - { - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "conversationId" - ], - "title": "ConversationIdGetConversationSummaryParams", - "type": "object" - } - ] - }, "GhostCommit": { "description": "Details of a ghost commit created from a repository state.", "properties": { @@ -756,17 +554,6 @@ ], "type": "object" }, - "GitDiffToRemoteParams": { - "properties": { - "cwd": { - "type": "string" - } - }, - "required": [ - "cwd" - ], - "type": "object" - }, "HazelnutScope": { "enum": [ "example", @@ -818,141 +605,6 @@ ], "type": "object" }, - "InputItem": { - "oneOf": [ - { - "properties": { - "data": { - "properties": { - "text": { - "type": "string" - }, - "text_elements": { - "default": [], - "description": "UI-defined spans within `text` used to render or persist special elements.", - "items": { - "$ref": "#/definitions/V1TextElement" - }, - "type": "array" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "type": { - "enum": [ - "text" - ], - "title": "TextInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "TextInputItem", - "type": "object" - }, - { - "properties": { - "data": { - "properties": { - "image_url": { - "type": "string" - } - }, - "required": [ - "image_url" - ], - "type": "object" - }, - "type": { - "enum": [ - "image" - ], - "title": "ImageInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "ImageInputItem", - "type": "object" - }, - { - "properties": { - "data": { - "properties": { - "path": { - "type": "string" - } - }, - "required": [ - "path" - ], - "type": "object" - }, - "type": { - "enum": [ - "localImage" - ], - "title": "LocalImageInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "LocalImageInputItem", - "type": "object" - } - ] - }, - "InterruptConversationParams": { - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "conversationId" - ], - "type": "object" - }, - "ListConversationsParams": { - "properties": { - "cursor": { - "type": [ - "string", - "null" - ] - }, - "modelProviders": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "pageSize": { - "format": "uint", - "minimum": 0.0, - "type": [ - "integer", - "null" - ] - } - }, - "type": "object" - }, "ListMcpServerStatusParams": { "properties": { "cursor": { @@ -1112,17 +764,6 @@ } ] }, - "LoginApiKeyParams": { - "properties": { - "apiKey": { - "type": "string" - } - }, - "required": [ - "apiKey" - ], - "type": "object" - }, "McpServerOauthLoginParams": { "properties": { "name": { @@ -1219,94 +860,6 @@ ], "type": "string" }, - "NetworkAccess2": { - "description": "Represents whether outbound network access is available to the agent.", - "enum": [ - "restricted", - "enabled" - ], - "type": "string" - }, - "NewConversationParams": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval2" - }, - { - "type": "null" - } - ] - }, - "baseInstructions": { - "type": [ - "string", - "null" - ] - }, - "compactPrompt": { - "type": [ - "string", - "null" - ] - }, - "config": { - "additionalProperties": true, - "type": [ - "object", - "null" - ] - }, - "cwd": { - "type": [ - "string", - "null" - ] - }, - "developerInstructions": { - "type": [ - "string", - "null" - ] - }, - "includeApplyPatchTool": { - "type": [ - "boolean", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelProvider": { - "type": [ - "string", - "null" - ] - }, - "profile": { - "type": [ - "string", - "null" - ] - }, - "sandbox": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxMode2" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, "Personality": { "enum": [ "none", @@ -1371,57 +924,6 @@ } ] }, - "ReadOnlyAccess2": { - "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": "RestrictedReadOnlyAccess2Type", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "RestrictedReadOnlyAccess2", - "type": "object" - }, - { - "description": "Allow unrestricted file reads.", - "properties": { - "type": { - "enum": [ - "full-access" - ], - "title": "FullAccessReadOnlyAccess2Type", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "FullAccessReadOnlyAccess2", - "type": "object" - } - ] - }, "ReasoningEffort": { "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", "enum": [ @@ -1522,39 +1024,6 @@ } ] }, - "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" - }, - "RemoveConversationListenerParams": { - "properties": { - "subscriptionId": { - "type": "string" - } - }, - "required": [ - "subscriptionId" - ], - "type": "object" - }, "RequestId": { "anyOf": [ { @@ -1922,46 +1391,6 @@ } ] }, - "ResumeConversationParams": { - "properties": { - "conversationId": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadId" - }, - { - "type": "null" - } - ] - }, - "history": { - "items": { - "$ref": "#/definitions/ResponseItem" - }, - "type": [ - "array", - "null" - ] - }, - "overrides": { - "anyOf": [ - { - "$ref": "#/definitions/NewConversationParams" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, "ReviewDelivery": { "enum": [ "inline", @@ -2095,14 +1524,6 @@ ], "type": "string" }, - "SandboxMode2": { - "enum": [ - "read-only", - "workspace-write", - "danger-full-access" - ], - "type": "string" - }, "SandboxPolicy": { "oneOf": [ { @@ -2218,216 +1639,6 @@ } ] }, - "SandboxPolicy2": { - "description": "Determines execution restrictions for model shell commands.", - "oneOf": [ - { - "description": "No restrictions whatsoever. Use with caution.", - "properties": { - "type": { - "enum": [ - "danger-full-access" - ], - "title": "DangerFullAccessSandboxPolicy2Type", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "DangerFullAccessSandboxPolicy2", - "type": "object" - }, - { - "description": "Read-only access configuration.", - "properties": { - "access": { - "allOf": [ - { - "$ref": "#/definitions/ReadOnlyAccess2" - } - ], - "description": "Read access granted while running under this policy." - }, - "type": { - "enum": [ - "read-only" - ], - "title": "ReadOnlySandboxPolicy2Type", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "ReadOnlySandboxPolicy2", - "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/NetworkAccess2" - } - ], - "default": "restricted", - "description": "Whether the external sandbox permits outbound network traffic." - }, - "type": { - "enum": [ - "external-sandbox" - ], - "title": "ExternalSandboxSandboxPolicy2Type", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "ExternalSandboxSandboxPolicy2", - "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/ReadOnlyAccess2" - } - ], - "description": "Read access granted while running under this policy." - }, - "type": { - "enum": [ - "workspace-write" - ], - "title": "WorkspaceWriteSandboxPolicy2Type", - "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": "WorkspaceWriteSandboxPolicy2", - "type": "object" - } - ] - }, - "SendUserMessageParams": { - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "items": { - "items": { - "$ref": "#/definitions/InputItem" - }, - "type": "array" - } - }, - "required": [ - "conversationId", - "items" - ], - "type": "object" - }, - "SendUserTurnParams": { - "properties": { - "approvalPolicy": { - "$ref": "#/definitions/AskForApproval2" - }, - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "cwd": { - "type": "string" - }, - "effort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "items": { - "items": { - "$ref": "#/definitions/InputItem" - }, - "type": "array" - }, - "model": { - "type": "string" - }, - "outputSchema": { - "description": "Optional JSON Schema used to constrain the final assistant message for this turn." - }, - "sandboxPolicy": { - "$ref": "#/definitions/SandboxPolicy2" - }, - "summary": { - "$ref": "#/definitions/ReasoningSummary" - } - }, - "required": [ - "approvalPolicy", - "conversationId", - "cwd", - "items", - "model", - "sandboxPolicy", - "summary" - ], - "type": "object" - }, - "SetDefaultModelParams": { - "properties": { - "model": { - "type": [ - "string", - "null" - ] - }, - "reasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, "Settings": { "description": "Settings for a collaboration mode.", "properties": { @@ -2667,9 +1878,6 @@ ], "type": "object" }, - "ThreadId": { - "type": "string" - }, "ThreadListParams": { "properties": { "archived": { @@ -3245,50 +2453,6 @@ } ] }, - "V1ByteRange": { - "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" - }, - "V1TextElement": { - "properties": { - "byteRange": { - "allOf": [ - { - "$ref": "#/definitions/V1ByteRange" - } - ], - "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": [ - "byteRange" - ], - "type": "object" - }, "WebSearchAction": { "oneOf": [ { @@ -4321,510 +3485,6 @@ "title": "Account/readRequest", "type": "object" }, - { - "description": "DEPRECATED APIs below", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "newConversation" - ], - "title": "NewConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/NewConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "NewConversationRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "getConversationSummary" - ], - "title": "GetConversationSummaryRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/GetConversationSummaryParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "GetConversationSummaryRequest", - "type": "object" - }, - { - "description": "List recorded Codex conversations (rollouts) with optional pagination and search.", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "listConversations" - ], - "title": "ListConversationsRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ListConversationsParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ListConversationsRequest", - "type": "object" - }, - { - "description": "Resume a recorded Codex conversation from a rollout file.", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "resumeConversation" - ], - "title": "ResumeConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ResumeConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ResumeConversationRequest", - "type": "object" - }, - { - "description": "Fork a recorded Codex conversation into a new session.", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "forkConversation" - ], - "title": "ForkConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ForkConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ForkConversationRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "archiveConversation" - ], - "title": "ArchiveConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ArchiveConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ArchiveConversationRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "sendUserMessage" - ], - "title": "SendUserMessageRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/SendUserMessageParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "SendUserMessageRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "sendUserTurn" - ], - "title": "SendUserTurnRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/SendUserTurnParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "SendUserTurnRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "interruptConversation" - ], - "title": "InterruptConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/InterruptConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "InterruptConversationRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "addConversationListener" - ], - "title": "AddConversationListenerRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/AddConversationListenerParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "AddConversationListenerRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "removeConversationListener" - ], - "title": "RemoveConversationListenerRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/RemoveConversationListenerParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "RemoveConversationListenerRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "gitDiffToRemote" - ], - "title": "GitDiffToRemoteRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/GitDiffToRemoteParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "GitDiffToRemoteRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "loginApiKey" - ], - "title": "LoginApiKeyRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/LoginApiKeyParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "LoginApiKeyRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "loginChatGpt" - ], - "title": "LoginChatGptRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "LoginChatGptRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "cancelLoginChatGpt" - ], - "title": "CancelLoginChatGptRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/CancelLoginChatGptParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "CancelLoginChatGptRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "logoutChatGpt" - ], - "title": "LogoutChatGptRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "LogoutChatGptRequest", - "type": "object" - }, - { - "description": "DEPRECATED in favor of GetAccount", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "getAuthStatus" - ], - "title": "GetAuthStatusRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/GetAuthStatusParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "GetAuthStatusRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "getUserSavedConfig" - ], - "title": "GetUserSavedConfigRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "GetUserSavedConfigRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "setDefaultModel" - ], - "title": "SetDefaultModelRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/SetDefaultModelParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "SetDefaultModelRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "getUserAgent" - ], - "title": "GetUserAgentRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "GetUserAgentRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "userInfo" - ], - "title": "UserInfoRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "UserInfoRequest", - "type": "object" - }, { "properties": { "id": { @@ -4848,31 +3508,6 @@ ], "title": "FuzzyFileSearchRequest", "type": "object" - }, - { - "description": "Execute a command (argv vector) under the server's sandbox.", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "execOneOffCommand" - ], - "title": "ExecOneOffCommandRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ExecOneOffCommandParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ExecOneOffCommandRequest", - "type": "object" } ], "title": "ClientRequest" diff --git a/codex-rs/app-server-protocol/schema/json/EventMsg.json b/codex-rs/app-server-protocol/schema/json/EventMsg.json index 518d65020..81140db5e 100644 --- a/codex-rs/app-server-protocol/schema/json/EventMsg.json +++ b/codex-rs/app-server-protocol/schema/json/EventMsg.json @@ -3519,7 +3519,7 @@ "required": [ "state" ], - "title": "StateMcpStartupStatus", + "title": "StartingMcpStartupStatus", "type": "object" }, { @@ -3534,7 +3534,7 @@ "required": [ "state" ], - "title": "StateMcpStartupStatus2", + "title": "ReadyMcpStartupStatus", "type": "object" }, { @@ -3567,7 +3567,7 @@ "required": [ "state" ], - "title": "StateMcpStartupStatus3", + "title": "CancelledMcpStartupStatus", "type": "object" } ] diff --git a/codex-rs/app-server-protocol/schema/json/ServerNotification.json b/codex-rs/app-server-protocol/schema/json/ServerNotification.json index bcdbdb33e..b2dc4c3c3 100644 --- a/codex-rs/app-server-protocol/schema/json/ServerNotification.json +++ b/codex-rs/app-server-protocol/schema/json/ServerNotification.json @@ -1,10 +1,6 @@ { "$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" - }, "AccountLoginCompletedNotification": { "properties": { "error": { @@ -54,30 +50,6 @@ }, "type": "object" }, - "AgentMessageContent": { - "oneOf": [ - { - "properties": { - "text": { - "type": "string" - }, - "type": { - "enum": [ - "Text" - ], - "title": "TextAgentMessageContentType", - "type": "string" - } - }, - "required": [ - "text", - "type" - ], - "title": "TextAgentMessageContent", - "type": "object" - } - ] - }, "AgentMessageDeltaNotification": { "properties": { "delta": { @@ -101,70 +73,6 @@ ], "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" - } - ] - }, "AppBranding": { "description": "EXPERIMENTAL - app metadata returned by app-list APIs.", "properties": { @@ -430,53 +338,6 @@ ], "type": "object" }, - "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" - } - ] - }, "AuthMode": { "description": "Authentication mode for OpenAI-backed providers.", "oneOf": [ @@ -503,22 +364,6 @@ } ] }, - "AuthStatusChangeNotification": { - "description": "Deprecated notification. Use AccountUpdatedNotification instead.", - "properties": { - "authMethod": { - "anyOf": [ - { - "$ref": "#/definitions/AuthMode" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, "ByteRange": { "properties": { "end": { @@ -538,48 +383,6 @@ ], "type": "object" }, - "ByteRange2": { - "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": "This translation layer make sure that we expose codex error code in camel case.\n\nWhen an upstream HTTP status is available (for example, from the Responses API or a provider), it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant.", "oneOf": [ @@ -694,150 +497,6 @@ } ] }, - "CodexErrorInfo2": { - "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": "HttpConnectionFailedCodexErrorInfo2", - "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": "ResponseStreamConnectionFailedCodexErrorInfo2", - "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": "ResponseStreamDisconnectedCodexErrorInfo2", - "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": "ResponseTooManyFailedAttemptsCodexErrorInfo2", - "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" - }, "CollabAgentState": { "properties": { "message": { @@ -866,45 +525,6 @@ ], "type": "string" }, - "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" - }, "CollabAgentTool": { "enum": [ "spawnAgent", @@ -1102,70 +722,6 @@ ], "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" - } - ] - }, "ContextCompactedNotification": { "description": "Deprecated: Use `ContextCompaction` item type instead.", "properties": { @@ -1203,58 +759,6 @@ ], "type": "object" }, - "CreditsSnapshot2": { - "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" - }, "DeprecationNoticeNotification": { "properties": { "details": { @@ -1274,25 +778,6 @@ ], "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" - }, "ErrorNotification": { "properties": { "error": { @@ -1316,2774 +801,6 @@ ], "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/CodexErrorInfo2" - }, - { - "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/ModelRerouteReason2" - }, - "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/RateLimitSnapshot2" - }, - { - "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/TextElement2" - }, - "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/WebSearchAction2" - }, - "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/CodexErrorInfo2" - }, - { - "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/PatchApplyStatus2" - } - ], - "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" - } - ] - }, "FileChangeOutputDeltaNotification": { "properties": { "delta": { @@ -4126,82 +843,6 @@ ], "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" - }, "FuzzyFileSearchResult": { "description": "Superset of [`codex_file_search::FileMatch`]", "properties": { @@ -4272,38 +913,6 @@ ], "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" - }, "GitInfo": { "properties": { "branch": { @@ -4327,27 +936,6 @@ }, "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" - }, "ItemCompletedNotification": { "properties": { "item": { @@ -4386,121 +974,6 @@ ], "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" - }, - "LoginChatGptCompleteNotification": { - "description": "Deprecated in favor of AccountLoginCompletedNotification.", - "properties": { - "error": { - "type": [ - "string", - "null" - ] - }, - "loginId": { - "type": "string" - }, - "success": { - "type": "boolean" - } - }, - "required": [ - "loginId", - "success" - ], - "type": "object" - }, - "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" - }, "McpServerOauthLoginCompletedNotification": { "properties": { "error": { @@ -4522,88 +995,6 @@ ], "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": "StateMcpStartupStatus", - "type": "object" - }, - { - "properties": { - "state": { - "enum": [ - "ready" - ], - "type": "string" - } - }, - "required": [ - "state" - ], - "title": "StateMcpStartupStatus2", - "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": "StateMcpStartupStatus3", - "type": "object" - } - ] - }, "McpToolCallError": { "properties": { "message": { @@ -4678,26 +1069,12 @@ } ] }, - "ModeKind": { - "description": "Initial collaboration mode to use when the TUI starts.", - "enum": [ - "plan", - "default" - ], - "type": "string" - }, "ModelRerouteReason": { "enum": [ "highRiskCyberActivity" ], "type": "string" }, - "ModelRerouteReason2": { - "enum": [ - "high_risk_cyber_activity" - ], - "type": "string" - }, "ModelReroutedNotification": { "properties": { "fromModel": { @@ -4725,149 +1102,6 @@ ], "type": "object" }, - "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": [ "inProgress", @@ -4877,14 +1111,6 @@ ], "type": "string" }, - "PatchApplyStatus2": { - "enum": [ - "completed", - "failed", - "declined" - ], - "type": "string" - }, "PatchChangeKind": { "oneOf": [ { @@ -4967,22 +1193,6 @@ ], "type": "object" }, - "PlanItemArg": { - "additionalProperties": false, - "properties": { - "status": { - "$ref": "#/definitions/StepStatus" - }, - "step": { - "type": "string" - } - }, - "required": [ - "status", - "step" - ], - "type": "object" - }, "PlanType": { "enum": [ "free", @@ -5054,63 +1264,6 @@ }, "type": "object" }, - "RateLimitSnapshot2": { - "properties": { - "credits": { - "anyOf": [ - { - "$ref": "#/definitions/CreditsSnapshot2" - }, - { - "type": "null" - } - ] - }, - "limit_id": { - "type": [ - "string", - "null" - ] - }, - "limit_name": { - "type": [ - "string", - "null" - ] - }, - "plan_type": { - "anyOf": [ - { - "$ref": "#/definitions/PlanType" - }, - { - "type": "null" - } - ] - }, - "primary": { - "anyOf": [ - { - "$ref": "#/definitions/RateLimitWindow2" - }, - { - "type": "null" - } - ] - }, - "secondary": { - "anyOf": [ - { - "$ref": "#/definitions/RateLimitWindow2" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, "RateLimitWindow": { "properties": { "resetsAt": { @@ -5137,299 +1290,6 @@ ], "type": "object" }, - "RateLimitWindow2": { - "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" - }, - "RawResponseItemCompletedNotification": { - "properties": { - "item": { - "$ref": "#/definitions/ResponseItem" - }, - "threadId": { - "type": "string" - }, - "turnId": { - "type": "string" - } - }, - "required": [ - "item", - "threadId", - "turnId" - ], - "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" - } - ] - }, "ReasoningSummaryPartAddedNotification": { "properties": { "itemId": { @@ -5510,953 +1370,6 @@ ], "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/WebSearchAction2" - }, - { - "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" - } - ] - }, - "SessionConfiguredNotification": { - "properties": { - "historyEntryCount": { - "format": "uint", - "minimum": 0.0, - "type": "integer" - }, - "historyLogId": { - "format": "uint64", - "minimum": 0.0, - "type": "integer" - }, - "initialMessages": { - "items": { - "$ref": "#/definitions/EventMsg" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": "string" - }, - "reasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "rolloutPath": { - "type": "string" - }, - "sessionId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "historyEntryCount", - "historyLogId", - "model", - "rolloutPath", - "sessionId" - ], - "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" - }, "SessionSource": { "oneOf": [ { @@ -6484,211 +1397,6 @@ } ] }, - "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" - }, "SubAgentSource": { "oneOf": [ { @@ -6804,29 +1512,6 @@ ], "type": "object" }, - "TextElement2": { - "properties": { - "byte_range": { - "allOf": [ - { - "$ref": "#/definitions/ByteRange2" - } - ], - "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" - }, "TextPosition": { "properties": { "column": { @@ -7645,38 +2330,6 @@ ], "type": "object" }, - "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" - }, "TokenUsageBreakdown": { "properties": { "cachedInputTokens": { @@ -7709,64 +2362,6 @@ ], "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" - }, "Turn": { "properties": { "error": { @@ -7801,14 +2396,6 @@ ], "type": "object" }, - "TurnAbortReason": { - "enum": [ - "interrupted", - "replaced", - "review_ended" - ], - "type": "string" - }, "TurnCompletedNotification": { "properties": { "threadId": { @@ -7872,182 +2459,6 @@ ], "type": "object" }, - "TurnItem": { - "oneOf": [ - { - "properties": { - "content": { - "items": { - "$ref": "#/definitions/UserInput2" - }, - "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/WebSearchAction2" - }, - "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" - } - ] - }, "TurnPlanStep": { "properties": { "status": { @@ -8243,131 +2654,6 @@ } ] }, - "UserInput2": { - "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/TextElement2" - }, - "type": "array" - }, - "type": { - "enum": [ - "text" - ], - "title": "TextUserInput2Type", - "type": "string" - } - }, - "required": [ - "text", - "type" - ], - "title": "TextUserInput2", - "type": "object" - }, - { - "description": "Pre‑encoded data: URI image.", - "properties": { - "image_url": { - "type": "string" - }, - "type": { - "enum": [ - "image" - ], - "title": "ImageUserInput2Type", - "type": "string" - } - }, - "required": [ - "image_url", - "type" - ], - "title": "ImageUserInput2", - "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": "LocalImageUserInput2Type", - "type": "string" - } - }, - "required": [ - "path", - "type" - ], - "title": "LocalImageUserInput2", - "type": "object" - }, - { - "description": "Skill selected by the user (name + path to SKILL.md).", - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "type": { - "enum": [ - "skill" - ], - "title": "SkillUserInput2Type", - "type": "string" - } - }, - "required": [ - "name", - "path", - "type" - ], - "title": "SkillUserInput2", - "type": "object" - }, - { - "description": "Explicit mention selected by the user (name + app://connector id).", - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "type": { - "enum": [ - "mention" - ], - "title": "MentionUserInput2Type", - "type": "string" - } - }, - "required": [ - "name", - "path", - "type" - ], - "title": "MentionUserInput2", - "type": "object" - } - ] - }, "WebSearchAction": { "oneOf": [ { @@ -8469,107 +2755,6 @@ } ] }, - "WebSearchAction2": { - "oneOf": [ - { - "properties": { - "queries": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "query": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "search" - ], - "title": "SearchWebSearchAction2Type", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "SearchWebSearchAction2", - "type": "object" - }, - { - "properties": { - "type": { - "enum": [ - "open_page" - ], - "title": "OpenPageWebSearchAction2Type", - "type": "string" - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "type" - ], - "title": "OpenPageWebSearchAction2", - "type": "object" - }, - { - "properties": { - "pattern": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "find_in_page" - ], - "title": "FindInPageWebSearchAction2Type", - "type": "string" - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "type" - ], - "title": "FindInPageWebSearchAction2", - "type": "object" - }, - { - "properties": { - "type": { - "enum": [ - "other" - ], - "title": "OtherWebSearchAction2Type", - "type": "string" - } - }, - "required": [ - "type" - ], - "title": "OtherWebSearchAction2", - "type": "object" - } - ] - }, "WindowsSandboxSetupCompletedNotification": { "properties": { "error": { @@ -8886,27 +3071,6 @@ "title": "Item/completedNotification", "type": "object" }, - { - "description": "This event is internal-only. Used by Codex Cloud.", - "properties": { - "method": { - "enum": [ - "rawResponseItem/completed" - ], - "title": "RawResponseItem/completedNotificationMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/RawResponseItemCompletedNotification" - } - }, - "required": [ - "method", - "params" - ], - "title": "RawResponseItem/completedNotification", - "type": "object" - }, { "properties": { "method": { @@ -9349,68 +3513,6 @@ ], "title": "Account/login/completedNotification", "type": "object" - }, - { - "description": "DEPRECATED NOTIFICATIONS below", - "properties": { - "method": { - "enum": [ - "authStatusChange" - ], - "title": "AuthStatusChangeNotificationMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/AuthStatusChangeNotification" - } - }, - "required": [ - "method", - "params" - ], - "title": "AuthStatusChangeNotification", - "type": "object" - }, - { - "description": "Deprecated: use `account/login/completed` instead.", - "properties": { - "method": { - "enum": [ - "loginChatGptComplete" - ], - "title": "LoginChatGptCompleteNotificationMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/LoginChatGptCompleteNotification" - } - }, - "required": [ - "method", - "params" - ], - "title": "LoginChatGptCompleteNotification", - "type": "object" - }, - { - "properties": { - "method": { - "enum": [ - "sessionConfigured" - ], - "title": "SessionConfiguredNotificationMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/SessionConfiguredNotification" - } - }, - "required": [ - "method", - "params" - ], - "title": "SessionConfiguredNotification", - "type": "object" } ], "title": "ServerNotification" diff --git a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json index 2c1eb4031..89f7dc34c 100644 --- a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json +++ b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json @@ -1,40 +1,6 @@ { "$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" - }, - "AddConversationListenerParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "experimentalRawEvents": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "conversationId" - ], - "title": "AddConversationListenerParams", - "type": "object" - }, - "AddConversationSubscriptionResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "subscriptionId": { - "type": "string" - } - }, - "required": [ - "subscriptionId" - ], - "title": "AddConversationSubscriptionResponse", - "type": "object" - }, "AgentMessageContent": { "oneOf": [ { @@ -175,140 +141,6 @@ "title": "ApplyPatchApprovalResponse", "type": "object" }, - "ArchiveConversationParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "rolloutPath" - ], - "title": "ArchiveConversationParams", - "type": "object" - }, - "ArchiveConversationResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "ArchiveConversationResponse", - "type": "object" - }, - "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" - } - ] - }, - "AuthMode": { - "description": "Authentication mode for OpenAI-backed providers.", - "oneOf": [ - { - "description": "OpenAI API key provided by the caller and stored by Codex.", - "enum": [ - "apikey" - ], - "type": "string" - }, - { - "description": "ChatGPT OAuth managed by Codex (tokens persisted and refreshed by Codex).", - "enum": [ - "chatgpt" - ], - "type": "string" - }, - { - "description": "[UNSTABLE] FOR OPENAI INTERNAL USE ONLY - DO NOT USE.\n\nChatGPT auth tokens are supplied by an external host app and are only stored in memory. Token refresh must be handled by the external host app.", - "enum": [ - "chatgptAuthTokens" - ], - "type": "string" - } - ] - }, - "AuthStatusChangeNotification": { - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Deprecated notification. Use AccountUpdatedNotification instead.", - "properties": { - "authMethod": { - "anyOf": [ - { - "$ref": "#/definitions/AuthMode" - }, - { - "type": "null" - } - ] - } - }, - "title": "AuthStatusChangeNotification", - "type": "object" - }, - "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": { @@ -330,24 +162,6 @@ ], "type": "object" }, - "CancelLoginChatGptParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "loginId": { - "type": "string" - } - }, - "required": [ - "loginId" - ], - "title": "CancelLoginChatGptParams", - "type": "object" - }, - "CancelLoginChatGptResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CancelLoginChatGptResponse", - "type": "object" - }, "ChatgptAuthTokensRefreshParams": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { @@ -1359,510 +1173,6 @@ "title": "Account/readRequest", "type": "object" }, - { - "description": "DEPRECATED APIs below", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "newConversation" - ], - "title": "NewConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/NewConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "NewConversationRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "getConversationSummary" - ], - "title": "GetConversationSummaryRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/GetConversationSummaryParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "GetConversationSummaryRequest", - "type": "object" - }, - { - "description": "List recorded Codex conversations (rollouts) with optional pagination and search.", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "listConversations" - ], - "title": "ListConversationsRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ListConversationsParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ListConversationsRequest", - "type": "object" - }, - { - "description": "Resume a recorded Codex conversation from a rollout file.", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "resumeConversation" - ], - "title": "ResumeConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ResumeConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ResumeConversationRequest", - "type": "object" - }, - { - "description": "Fork a recorded Codex conversation into a new session.", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "forkConversation" - ], - "title": "ForkConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ForkConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ForkConversationRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "archiveConversation" - ], - "title": "ArchiveConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ArchiveConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ArchiveConversationRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "sendUserMessage" - ], - "title": "SendUserMessageRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/SendUserMessageParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "SendUserMessageRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "sendUserTurn" - ], - "title": "SendUserTurnRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/SendUserTurnParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "SendUserTurnRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "interruptConversation" - ], - "title": "InterruptConversationRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/InterruptConversationParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "InterruptConversationRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "addConversationListener" - ], - "title": "AddConversationListenerRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/AddConversationListenerParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "AddConversationListenerRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "removeConversationListener" - ], - "title": "RemoveConversationListenerRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/RemoveConversationListenerParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "RemoveConversationListenerRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "gitDiffToRemote" - ], - "title": "GitDiffToRemoteRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/GitDiffToRemoteParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "GitDiffToRemoteRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "loginApiKey" - ], - "title": "LoginApiKeyRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/LoginApiKeyParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "LoginApiKeyRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "loginChatGpt" - ], - "title": "LoginChatGptRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "LoginChatGptRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "cancelLoginChatGpt" - ], - "title": "CancelLoginChatGptRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/CancelLoginChatGptParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "CancelLoginChatGptRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "logoutChatGpt" - ], - "title": "LogoutChatGptRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "LogoutChatGptRequest", - "type": "object" - }, - { - "description": "DEPRECATED in favor of GetAccount", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "getAuthStatus" - ], - "title": "GetAuthStatusRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/GetAuthStatusParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "GetAuthStatusRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "getUserSavedConfig" - ], - "title": "GetUserSavedConfigRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "GetUserSavedConfigRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "setDefaultModel" - ], - "title": "SetDefaultModelRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/SetDefaultModelParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "SetDefaultModelRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "getUserAgent" - ], - "title": "GetUserAgentRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "GetUserAgentRequest", - "type": "object" - }, - { - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "userInfo" - ], - "title": "UserInfoRequestMethod", - "type": "string" - }, - "params": { - "type": "null" - } - }, - "required": [ - "id", - "method" - ], - "title": "UserInfoRequest", - "type": "object" - }, { "properties": { "id": { @@ -1886,149 +1196,10 @@ ], "title": "FuzzyFileSearchRequest", "type": "object" - }, - { - "description": "Execute a command (argv vector) under the server's sandbox.", - "properties": { - "id": { - "$ref": "#/definitions/RequestId" - }, - "method": { - "enum": [ - "execOneOffCommand" - ], - "title": "ExecOneOffCommandRequestMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/ExecOneOffCommandParams" - } - }, - "required": [ - "id", - "method", - "params" - ], - "title": "ExecOneOffCommandRequest", - "type": "object" } ], "title": "ClientRequest" }, - "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": { @@ -2248,171 +1419,6 @@ "title": "CommandExecutionRequestApprovalResponse", "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" - } - ] - }, - "ConversationGitInfo": { - "properties": { - "branch": { - "type": [ - "string", - "null" - ] - }, - "origin_url": { - "type": [ - "string", - "null" - ] - }, - "sha": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "ConversationSummary": { - "properties": { - "cliVersion": { - "type": "string" - }, - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "cwd": { - "type": "string" - }, - "gitInfo": { - "anyOf": [ - { - "$ref": "#/definitions/ConversationGitInfo" - }, - { - "type": "null" - } - ] - }, - "modelProvider": { - "type": "string" - }, - "path": { - "type": "string" - }, - "preview": { - "type": "string" - }, - "source": { - "$ref": "#/definitions/SessionSource" - }, - "timestamp": { - "type": [ - "string", - "null" - ] - }, - "updatedAt": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "cliVersion", - "conversationId", - "cwd", - "modelProvider", - "path", - "preview", - "source" - ], - "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": { @@ -5309,68 +4315,6 @@ ], "type": "string" }, - "ExecOneOffCommandParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "cwd": { - "type": [ - "string", - "null" - ] - }, - "sandboxPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxPolicy" - }, - { - "type": "null" - } - ] - }, - "timeoutMs": { - "format": "uint64", - "minimum": 0.0, - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "command" - ], - "title": "ExecOneOffCommandParams", - "type": "object" - }, - "ExecOneOffCommandResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "exitCode": { - "format": "int32", - "type": "integer" - }, - "stderr": { - "type": "string" - }, - "stdout": { - "type": "string" - } - }, - "required": [ - "exitCode", - "stderr", - "stdout" - ], - "title": "ExecOneOffCommandResponse", - "type": "object" - }, "ExecOutputStream": { "enum": [ "stdout", @@ -5528,152 +4472,6 @@ "title": "FileChangeRequestApprovalResponse", "type": "object" }, - "ForcedLoginMethod": { - "enum": [ - "chatgpt", - "api" - ], - "type": "string" - }, - "ForkConversationParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadId" - }, - { - "type": "null" - } - ] - }, - "overrides": { - "anyOf": [ - { - "$ref": "#/definitions/NewConversationParams" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": [ - "string", - "null" - ] - } - }, - "title": "ForkConversationParams", - "type": "object" - }, - "ForkConversationResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "initialMessages": { - "items": { - "$ref": "#/definitions/EventMsg" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": "string" - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "model", - "rolloutPath" - ], - "title": "ForkConversationResponse", - "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" - }, "FuzzyFileSearchParams": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { @@ -5790,188 +4588,6 @@ "title": "FuzzyFileSearchSessionUpdatedNotification", "type": "object" }, - "GetAuthStatusParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "includeToken": { - "type": [ - "boolean", - "null" - ] - }, - "refreshToken": { - "type": [ - "boolean", - "null" - ] - } - }, - "title": "GetAuthStatusParams", - "type": "object" - }, - "GetAuthStatusResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "authMethod": { - "anyOf": [ - { - "$ref": "#/definitions/AuthMode" - }, - { - "type": "null" - } - ] - }, - "authToken": { - "type": [ - "string", - "null" - ] - }, - "requiresOpenaiAuth": { - "type": [ - "boolean", - "null" - ] - } - }, - "title": "GetAuthStatusResponse", - "type": "object" - }, - "GetConversationSummaryParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "anyOf": [ - { - "properties": { - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "rolloutPath" - ], - "title": "RolloutPathv1::GetConversationSummaryParams", - "type": "object" - }, - { - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "conversationId" - ], - "title": "ConversationIdv1::GetConversationSummaryParams", - "type": "object" - } - ], - "title": "GetConversationSummaryParams" - }, - "GetConversationSummaryResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "summary": { - "$ref": "#/definitions/ConversationSummary" - } - }, - "required": [ - "summary" - ], - "title": "GetConversationSummaryResponse", - "type": "object" - }, - "GetUserAgentResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "userAgent": { - "type": "string" - } - }, - "required": [ - "userAgent" - ], - "title": "GetUserAgentResponse", - "type": "object" - }, - "GetUserSavedConfigResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "config": { - "$ref": "#/definitions/UserSavedConfig" - } - }, - "required": [ - "config" - ], - "title": "GetUserSavedConfigResponse", - "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" - }, - "GitDiffToRemoteParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "cwd": { - "type": "string" - } - }, - "required": [ - "cwd" - ], - "title": "GitDiffToRemoteParams", - "type": "object" - }, - "GitDiffToRemoteResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "diff": { - "type": "string" - }, - "sha": { - "$ref": "#/definitions/GitSha" - } - }, - "required": [ - "diff", - "sha" - ], - "title": "GitDiffToRemoteResponse", - "type": "object" - }, - "GitSha": { - "type": "string" - }, "HistoryEntry": { "properties": { "conversation_id": { @@ -6050,128 +4666,6 @@ "title": "InitializeResponse", "type": "object" }, - "InputItem": { - "oneOf": [ - { - "properties": { - "data": { - "properties": { - "text": { - "type": "string" - }, - "text_elements": { - "default": [], - "description": "UI-defined spans within `text` used to render or persist special elements.", - "items": { - "$ref": "#/definitions/V1TextElement" - }, - "type": "array" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "type": { - "enum": [ - "text" - ], - "title": "TextInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "TextInputItem", - "type": "object" - }, - { - "properties": { - "data": { - "properties": { - "image_url": { - "type": "string" - } - }, - "required": [ - "image_url" - ], - "type": "object" - }, - "type": { - "enum": [ - "image" - ], - "title": "ImageInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "ImageInputItem", - "type": "object" - }, - { - "properties": { - "data": { - "properties": { - "path": { - "type": "string" - } - }, - "required": [ - "path" - ], - "type": "object" - }, - "type": { - "enum": [ - "localImage" - ], - "title": "LocalImageInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "LocalImageInputItem", - "type": "object" - } - ] - }, - "InterruptConversationParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "conversationId" - ], - "title": "InterruptConversationParams", - "type": "object" - }, - "InterruptConversationResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "abortReason": { - "$ref": "#/definitions/TurnAbortReason" - } - }, - "required": [ - "abortReason" - ], - "title": "InterruptConversationResponse", - "type": "object" - }, "JSONRPCError": { "$schema": "http://json-schema.org/draft-07/schema#", "description": "A response to a request that indicates an error occurred.", @@ -6278,195 +4772,6 @@ "title": "JSONRPCResponse", "type": "object" }, - "ListConversationsParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "cursor": { - "type": [ - "string", - "null" - ] - }, - "modelProviders": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "pageSize": { - "format": "uint", - "minimum": 0.0, - "type": [ - "integer", - "null" - ] - } - }, - "title": "ListConversationsParams", - "type": "object" - }, - "ListConversationsResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "items": { - "items": { - "$ref": "#/definitions/ConversationSummary" - }, - "type": "array" - }, - "nextCursor": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "items" - ], - "title": "ListConversationsResponse", - "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" - }, - "LoginApiKeyParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "apiKey": { - "type": "string" - } - }, - "required": [ - "apiKey" - ], - "title": "LoginApiKeyParams", - "type": "object" - }, - "LoginApiKeyResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "LoginApiKeyResponse", - "type": "object" - }, - "LoginChatGptCompleteNotification": { - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Deprecated in favor of AccountLoginCompletedNotification.", - "properties": { - "error": { - "type": [ - "string", - "null" - ] - }, - "loginId": { - "type": "string" - }, - "success": { - "type": "boolean" - } - }, - "required": [ - "loginId", - "success" - ], - "title": "LoginChatGptCompleteNotification", - "type": "object" - }, - "LoginChatGptResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "authUrl": { - "type": "string" - }, - "loginId": { - "type": "string" - } - }, - "required": [ - "authUrl", - "loginId" - ], - "title": "LoginChatGptResponse", - "type": "object" - }, - "LogoutChatGptResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "LogoutChatGptResponse", - "type": "object" - }, - "McpAuthStatus": { - "enum": [ - "unsupported", - "not_logged_in", - "bearer_token", - "o_auth" - ], - "type": "string" - }, "McpInvocation": { "properties": { "arguments": { @@ -6516,7 +4821,7 @@ "required": [ "state" ], - "title": "StateMcpStartupStatus", + "title": "StartingMcpStartupStatus", "type": "object" }, { @@ -6531,7 +4836,7 @@ "required": [ "state" ], - "title": "StateMcpStartupStatus2", + "title": "ReadyMcpStartupStatus", "type": "object" }, { @@ -6564,52 +4869,11 @@ "required": [ "state" ], - "title": "StateMcpStartupStatus3", + "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": { @@ -6629,122 +4893,11 @@ "enum": [ "http", "https", - "socks5_tcp", - "socks5_udp" + "socks5Tcp", + "socks5Udp" ], "type": "string" }, - "NewConversationParams": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ] - }, - "baseInstructions": { - "type": [ - "string", - "null" - ] - }, - "compactPrompt": { - "type": [ - "string", - "null" - ] - }, - "config": { - "additionalProperties": true, - "type": [ - "object", - "null" - ] - }, - "cwd": { - "type": [ - "string", - "null" - ] - }, - "developerInstructions": { - "type": [ - "string", - "null" - ] - }, - "includeApplyPatchTool": { - "type": [ - "boolean", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelProvider": { - "type": [ - "string", - "null" - ] - }, - "profile": { - "type": [ - "string", - "null" - ] - }, - "sandbox": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxMode" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "NewConversationResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "model": { - "type": "string" - }, - "reasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "model", - "rolloutPath" - ], - "title": "NewConversationResponse", - "type": "object" - }, "ParsedCommand": { "oneOf": [ { @@ -6856,14 +5009,6 @@ } ] }, - "PatchApplyStatus": { - "enum": [ - "completed", - "failed", - "declined" - ], - "type": "string" - }, "PlanItemArg": { "additionalProperties": false, "properties": { @@ -6880,220 +5025,6 @@ ], "type": "object" }, - "PlanType": { - "enum": [ - "free", - "go", - "plus", - "pro", - "team", - "business", - "enterprise", - "edu", - "unknown" - ], - "type": "string" - }, - "Profile": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ] - }, - "chatgptBaseUrl": { - "type": [ - "string", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelProvider": { - "type": [ - "string", - "null" - ] - }, - "modelReasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "modelReasoningSummary": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningSummary" - }, - { - "type": "null" - } - ] - }, - "modelVerbosity": { - "anyOf": [ - { - "$ref": "#/definitions/Verbosity" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "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": { @@ -7208,106 +5139,6 @@ } ] }, - "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" - } - ] - }, - "ReasoningSummary": { - "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries", - "oneOf": [ - { - "enum": [ - "auto", - "concise", - "detailed" - ], - "type": "string" - }, - { - "description": "Option to disable reasoning summaries.", - "enum": [ - "none" - ], - "type": "string" - } - ] - }, "RejectConfig": { "properties": { "mcp_elicitations": { @@ -7330,43 +5161,6 @@ ], "type": "object" }, - "RemoteSkillSummary": { - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "description", - "id", - "name" - ], - "type": "object" - }, - "RemoveConversationListenerParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "subscriptionId": { - "type": "string" - } - }, - "required": [ - "subscriptionId" - ], - "title": "RemoveConversationListenerParams", - "type": "object" - }, - "RemoveConversationSubscriptionResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RemoveConversationSubscriptionResponse", - "type": "object" - }, "RequestId": { "anyOf": [ { @@ -7430,447 +5224,6 @@ ], "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": [ { @@ -7899,78 +5252,6 @@ } ] }, - "ResumeConversationParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadId" - }, - { - "type": "null" - } - ] - }, - "history": { - "items": { - "$ref": "#/definitions/ResponseItem" - }, - "type": [ - "array", - "null" - ] - }, - "overrides": { - "anyOf": [ - { - "$ref": "#/definitions/NewConversationParams" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": [ - "string", - "null" - ] - } - }, - "title": "ResumeConversationParams", - "type": "object" - }, - "ResumeConversationResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "initialMessages": { - "items": { - "$ref": "#/definitions/EventMsg" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": "string" - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "model", - "rolloutPath" - ], - "title": "ResumeConversationResponse", - "type": "object" - }, "ReviewCodeLocation": { "description": "Location of the code related to a review finding.", "properties": { @@ -8123,338 +5404,6 @@ ], "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" - } - ] - }, - "SandboxMode": { - "enum": [ - "read-only", - "workspace-write", - "danger-full-access" - ], - "type": "string" - }, - "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" - } - ] - }, - "SandboxSettings": { - "properties": { - "excludeSlashTmp": { - "type": [ - "boolean", - "null" - ] - }, - "excludeTmpdirEnvVar": { - "type": [ - "boolean", - "null" - ] - }, - "networkAccess": { - "type": [ - "boolean", - "null" - ] - }, - "writableRoots": { - "default": [], - "items": { - "$ref": "#/definitions/AbsolutePathBuf" - }, - "type": "array" - } - }, - "type": "object" - }, - "SendUserMessageParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "items": { - "items": { - "$ref": "#/definitions/InputItem" - }, - "type": "array" - } - }, - "required": [ - "conversationId", - "items" - ], - "title": "SendUserMessageParams", - "type": "object" - }, - "SendUserMessageResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "SendUserMessageResponse", - "type": "object" - }, - "SendUserTurnParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "approvalPolicy": { - "$ref": "#/definitions/AskForApproval" - }, - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "cwd": { - "type": "string" - }, - "effort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "items": { - "items": { - "$ref": "#/definitions/InputItem" - }, - "type": "array" - }, - "model": { - "type": "string" - }, - "outputSchema": { - "description": "Optional JSON Schema used to constrain the final assistant message for this turn." - }, - "sandboxPolicy": { - "$ref": "#/definitions/SandboxPolicy" - }, - "summary": { - "$ref": "#/definitions/ReasoningSummary" - } - }, - "required": [ - "approvalPolicy", - "conversationId", - "cwd", - "items", - "model", - "sandboxPolicy", - "summary" - ], - "title": "SendUserTurnParams", - "type": "object" - }, - "SendUserTurnResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "SendUserTurnResponse", - "type": "object" - }, "ServerNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "description": "Notification sent from the server to the client.", @@ -8720,27 +5669,6 @@ "title": "Item/completedNotification", "type": "object" }, - { - "description": "This event is internal-only. Used by Codex Cloud.", - "properties": { - "method": { - "enum": [ - "rawResponseItem/completed" - ], - "title": "RawResponseItem/completedNotificationMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/v2/RawResponseItemCompletedNotification" - } - }, - "required": [ - "method", - "params" - ], - "title": "RawResponseItem/completedNotification", - "type": "object" - }, { "properties": { "method": { @@ -9183,68 +6111,6 @@ ], "title": "Account/login/completedNotification", "type": "object" - }, - { - "description": "DEPRECATED NOTIFICATIONS below", - "properties": { - "method": { - "enum": [ - "authStatusChange" - ], - "title": "AuthStatusChangeNotificationMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/AuthStatusChangeNotification" - } - }, - "required": [ - "method", - "params" - ], - "title": "AuthStatusChangeNotification", - "type": "object" - }, - { - "description": "Deprecated: use `account/login/completed` instead.", - "properties": { - "method": { - "enum": [ - "loginChatGptComplete" - ], - "title": "LoginChatGptCompleteNotificationMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/LoginChatGptCompleteNotification" - } - }, - "required": [ - "method", - "params" - ], - "title": "LoginChatGptCompleteNotification", - "type": "object" - }, - { - "properties": { - "method": { - "enum": [ - "sessionConfigured" - ], - "title": "SessionConfiguredNotificationMethod", - "type": "string" - }, - "params": { - "$ref": "#/definitions/SessionConfiguredNotification" - } - }, - "required": [ - "method", - "params" - ], - "title": "SessionConfiguredNotification", - "type": "object" } ], "title": "ServerNotification" @@ -9430,58 +6296,6 @@ ], "title": "ServerRequest" }, - "SessionConfiguredNotification": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "historyEntryCount": { - "format": "uint", - "minimum": 0.0, - "type": "integer" - }, - "historyLogId": { - "format": "uint64", - "minimum": 0.0, - "type": "integer" - }, - "initialMessages": { - "items": { - "$ref": "#/definitions/EventMsg" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": "string" - }, - "reasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "rolloutPath": { - "type": "string" - }, - "sessionId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "historyEntryCount", - "historyLogId", - "model", - "rolloutPath", - "sessionId" - ], - "title": "SessionConfiguredNotification", - "type": "object" - }, "SessionNetworkProxyRuntime": { "properties": { "admin_addr": { @@ -9501,258 +6315,6 @@ ], "type": "object" }, - "SessionSource": { - "oneOf": [ - { - "enum": [ - "cli", - "vscode", - "exec", - "mcp", - "unknown" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "subagent": { - "$ref": "#/definitions/SubAgentSource" - } - }, - "required": [ - "subagent" - ], - "title": "SubagentSessionSource", - "type": "object" - } - ] - }, - "SetDefaultModelParams": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "model": { - "type": [ - "string", - "null" - ] - }, - "reasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - } - }, - "title": "SetDefaultModelParams", - "type": "object" - }, - "SetDefaultModelResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "SetDefaultModelResponse", - "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", @@ -9761,97 +6323,6 @@ ], "type": "string" }, - "SubAgentSource": { - "oneOf": [ - { - "enum": [ - "review", - "compact", - "memory_consolidation" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "thread_spawn": { - "properties": { - "agent_nickname": { - "default": null, - "type": [ - "string", - "null" - ] - }, - "agent_role": { - "default": null, - "type": [ - "string", - "null" - ] - }, - "depth": { - "format": "int32", - "type": "integer" - }, - "parent_thread_id": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "depth", - "parent_thread_id" - ], - "type": "object" - } - }, - "required": [ - "thread_spawn" - ], - "title": "ThreadSpawnSubAgentSource", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "other": { - "type": "string" - } - }, - "required": [ - "other" - ], - "title": "OtherSubAgentSource", - "type": "object" - } - ] - }, - "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": { @@ -9906,42 +6377,6 @@ ], "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" - }, "ToolRequestUserInputAnswer": { "description": "EXPERIMENTAL. Captures a user's answer to a request_user_input question.", "properties": { @@ -10056,23 +6491,6 @@ "title": "ToolRequestUserInputResponse", "type": "object" }, - "Tools": { - "properties": { - "viewImage": { - "type": [ - "boolean", - "null" - ] - }, - "webSearch": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, "TurnAbortReason": { "enum": [ "interrupted", @@ -10257,410 +6675,6 @@ } ] }, - "UserInfoResponse": { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "allegedUserEmail": { - "type": [ - "string", - "null" - ] - } - }, - "title": "UserInfoResponse", - "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" - } - ] - }, - "UserSavedConfig": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ] - }, - "forcedChatgptWorkspaceId": { - "type": [ - "string", - "null" - ] - }, - "forcedLoginMethod": { - "anyOf": [ - { - "$ref": "#/definitions/ForcedLoginMethod" - }, - { - "type": "null" - } - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelReasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "modelReasoningSummary": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningSummary" - }, - { - "type": "null" - } - ] - }, - "modelVerbosity": { - "anyOf": [ - { - "$ref": "#/definitions/Verbosity" - }, - { - "type": "null" - } - ] - }, - "profile": { - "type": [ - "string", - "null" - ] - }, - "profiles": { - "additionalProperties": { - "$ref": "#/definitions/Profile" - }, - "type": "object" - }, - "sandboxMode": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxMode" - }, - { - "type": "null" - } - ] - }, - "sandboxSettings": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxSettings" - }, - { - "type": "null" - } - ] - }, - "tools": { - "anyOf": [ - { - "$ref": "#/definitions/Tools" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "profiles" - ], - "type": "object" - }, - "V1ByteRange": { - "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" - }, - "V1TextElement": { - "properties": { - "byteRange": { - "allOf": [ - { - "$ref": "#/definitions/V1ByteRange" - } - ], - "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": [ - "byteRange" - ], - "type": "object" - }, - "Verbosity": { - "description": "Controls output length/detail on GPT-5 models via the Responses API. Serialized with lowercase values to match the OpenAI API.", - "enum": [ - "low", - "medium", - "high" - ], - "type": "string" - }, - "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" - } - ] - }, "v2": { "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.", diff --git a/codex-rs/app-server-protocol/schema/json/v1/AddConversationListenerParams.json b/codex-rs/app-server-protocol/schema/json/v1/AddConversationListenerParams.json deleted file mode 100644 index 67b8bd7d8..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/AddConversationListenerParams.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "ThreadId": { - "type": "string" - } - }, - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "experimentalRawEvents": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "conversationId" - ], - "title": "AddConversationListenerParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/AddConversationSubscriptionResponse.json b/codex-rs/app-server-protocol/schema/json/v1/AddConversationSubscriptionResponse.json deleted file mode 100644 index 8bd1bcf01..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/AddConversationSubscriptionResponse.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "subscriptionId": { - "type": "string" - } - }, - "required": [ - "subscriptionId" - ], - "title": "AddConversationSubscriptionResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ArchiveConversationParams.json b/codex-rs/app-server-protocol/schema/json/v1/ArchiveConversationParams.json deleted file mode 100644 index 7ee5b16b3..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ArchiveConversationParams.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "ThreadId": { - "type": "string" - } - }, - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "rolloutPath" - ], - "title": "ArchiveConversationParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ArchiveConversationResponse.json b/codex-rs/app-server-protocol/schema/json/v1/ArchiveConversationResponse.json deleted file mode 100644 index 253d15cc0..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ArchiveConversationResponse.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "ArchiveConversationResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/AuthStatusChangeNotification.json b/codex-rs/app-server-protocol/schema/json/v1/AuthStatusChangeNotification.json deleted file mode 100644 index 2aee28ba9..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/AuthStatusChangeNotification.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "AuthMode": { - "description": "Authentication mode for OpenAI-backed providers.", - "oneOf": [ - { - "description": "OpenAI API key provided by the caller and stored by Codex.", - "enum": [ - "apikey" - ], - "type": "string" - }, - { - "description": "ChatGPT OAuth managed by Codex (tokens persisted and refreshed by Codex).", - "enum": [ - "chatgpt" - ], - "type": "string" - }, - { - "description": "[UNSTABLE] FOR OPENAI INTERNAL USE ONLY - DO NOT USE.\n\nChatGPT auth tokens are supplied by an external host app and are only stored in memory. Token refresh must be handled by the external host app.", - "enum": [ - "chatgptAuthTokens" - ], - "type": "string" - } - ] - } - }, - "description": "Deprecated notification. Use AccountUpdatedNotification instead.", - "properties": { - "authMethod": { - "anyOf": [ - { - "$ref": "#/definitions/AuthMode" - }, - { - "type": "null" - } - ] - } - }, - "title": "AuthStatusChangeNotification", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/CancelLoginChatGptParams.json b/codex-rs/app-server-protocol/schema/json/v1/CancelLoginChatGptParams.json deleted file mode 100644 index 8367dac08..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/CancelLoginChatGptParams.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "loginId": { - "type": "string" - } - }, - "required": [ - "loginId" - ], - "title": "CancelLoginChatGptParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/CancelLoginChatGptResponse.json b/codex-rs/app-server-protocol/schema/json/v1/CancelLoginChatGptResponse.json deleted file mode 100644 index a4e1c333c..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/CancelLoginChatGptResponse.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CancelLoginChatGptResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ExecOneOffCommandParams.json b/codex-rs/app-server-protocol/schema/json/v1/ExecOneOffCommandParams.json deleted file mode 100644 index ec5b78935..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ExecOneOffCommandParams.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "$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" - }, - "NetworkAccess": { - "description": "Represents whether outbound network access is available to the agent.", - "enum": [ - "restricted", - "enabled" - ], - "type": "string" - }, - "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" - } - ] - }, - "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" - } - ] - } - }, - "properties": { - "command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "cwd": { - "type": [ - "string", - "null" - ] - }, - "sandboxPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxPolicy" - }, - { - "type": "null" - } - ] - }, - "timeoutMs": { - "format": "uint64", - "minimum": 0.0, - "type": [ - "integer", - "null" - ] - } - }, - "required": [ - "command" - ], - "title": "ExecOneOffCommandParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ExecOneOffCommandResponse.json b/codex-rs/app-server-protocol/schema/json/v1/ExecOneOffCommandResponse.json deleted file mode 100644 index 121ed648f..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ExecOneOffCommandResponse.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "exitCode": { - "format": "int32", - "type": "integer" - }, - "stderr": { - "type": "string" - }, - "stdout": { - "type": "string" - } - }, - "required": [ - "exitCode", - "stderr", - "stdout" - ], - "title": "ExecOneOffCommandResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ForkConversationParams.json b/codex-rs/app-server-protocol/schema/json/v1/ForkConversationParams.json deleted file mode 100644 index b71235277..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ForkConversationParams.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "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" - } - ] - }, - "NewConversationParams": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ] - }, - "baseInstructions": { - "type": [ - "string", - "null" - ] - }, - "compactPrompt": { - "type": [ - "string", - "null" - ] - }, - "config": { - "additionalProperties": true, - "type": [ - "object", - "null" - ] - }, - "cwd": { - "type": [ - "string", - "null" - ] - }, - "developerInstructions": { - "type": [ - "string", - "null" - ] - }, - "includeApplyPatchTool": { - "type": [ - "boolean", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelProvider": { - "type": [ - "string", - "null" - ] - }, - "profile": { - "type": [ - "string", - "null" - ] - }, - "sandbox": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxMode" - }, - { - "type": "null" - } - ] - } - }, - "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" - }, - "SandboxMode": { - "enum": [ - "read-only", - "workspace-write", - "danger-full-access" - ], - "type": "string" - }, - "ThreadId": { - "type": "string" - } - }, - "properties": { - "conversationId": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadId" - }, - { - "type": "null" - } - ] - }, - "overrides": { - "anyOf": [ - { - "$ref": "#/definitions/NewConversationParams" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": [ - "string", - "null" - ] - } - }, - "title": "ForkConversationParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ForkConversationResponse.json b/codex-rs/app-server-protocol/schema/json/v1/ForkConversationResponse.json deleted file mode 100644 index 70521ec72..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ForkConversationResponse.json +++ /dev/null @@ -1,5776 +0,0 @@ -{ - "$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": "StateMcpStartupStatus", - "type": "object" - }, - { - "properties": { - "state": { - "enum": [ - "ready" - ], - "type": "string" - } - }, - "required": [ - "state" - ], - "title": "StateMcpStartupStatus2", - "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": "StateMcpStartupStatus3", - "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" - } - ] - } - }, - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "initialMessages": { - "items": { - "$ref": "#/definitions/EventMsg" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": "string" - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "model", - "rolloutPath" - ], - "title": "ForkConversationResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/GetAuthStatusParams.json b/codex-rs/app-server-protocol/schema/json/v1/GetAuthStatusParams.json deleted file mode 100644 index 0b21fd765..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/GetAuthStatusParams.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "includeToken": { - "type": [ - "boolean", - "null" - ] - }, - "refreshToken": { - "type": [ - "boolean", - "null" - ] - } - }, - "title": "GetAuthStatusParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/GetAuthStatusResponse.json b/codex-rs/app-server-protocol/schema/json/v1/GetAuthStatusResponse.json deleted file mode 100644 index 7a605453d..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/GetAuthStatusResponse.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "AuthMode": { - "description": "Authentication mode for OpenAI-backed providers.", - "oneOf": [ - { - "description": "OpenAI API key provided by the caller and stored by Codex.", - "enum": [ - "apikey" - ], - "type": "string" - }, - { - "description": "ChatGPT OAuth managed by Codex (tokens persisted and refreshed by Codex).", - "enum": [ - "chatgpt" - ], - "type": "string" - }, - { - "description": "[UNSTABLE] FOR OPENAI INTERNAL USE ONLY - DO NOT USE.\n\nChatGPT auth tokens are supplied by an external host app and are only stored in memory. Token refresh must be handled by the external host app.", - "enum": [ - "chatgptAuthTokens" - ], - "type": "string" - } - ] - } - }, - "properties": { - "authMethod": { - "anyOf": [ - { - "$ref": "#/definitions/AuthMode" - }, - { - "type": "null" - } - ] - }, - "authToken": { - "type": [ - "string", - "null" - ] - }, - "requiresOpenaiAuth": { - "type": [ - "boolean", - "null" - ] - } - }, - "title": "GetAuthStatusResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/GetConversationSummaryParams.json b/codex-rs/app-server-protocol/schema/json/v1/GetConversationSummaryParams.json deleted file mode 100644 index aa6726cde..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/GetConversationSummaryParams.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "anyOf": [ - { - "properties": { - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "rolloutPath" - ], - "title": "RolloutPathv1::GetConversationSummaryParams", - "type": "object" - }, - { - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "conversationId" - ], - "title": "ConversationIdv1::GetConversationSummaryParams", - "type": "object" - } - ], - "definitions": { - "ThreadId": { - "type": "string" - } - }, - "title": "GetConversationSummaryParams" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/GetConversationSummaryResponse.json b/codex-rs/app-server-protocol/schema/json/v1/GetConversationSummaryResponse.json deleted file mode 100644 index 13cdf0b0f..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/GetConversationSummaryResponse.json +++ /dev/null @@ -1,190 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "ConversationGitInfo": { - "properties": { - "branch": { - "type": [ - "string", - "null" - ] - }, - "origin_url": { - "type": [ - "string", - "null" - ] - }, - "sha": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "ConversationSummary": { - "properties": { - "cliVersion": { - "type": "string" - }, - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "cwd": { - "type": "string" - }, - "gitInfo": { - "anyOf": [ - { - "$ref": "#/definitions/ConversationGitInfo" - }, - { - "type": "null" - } - ] - }, - "modelProvider": { - "type": "string" - }, - "path": { - "type": "string" - }, - "preview": { - "type": "string" - }, - "source": { - "$ref": "#/definitions/SessionSource" - }, - "timestamp": { - "type": [ - "string", - "null" - ] - }, - "updatedAt": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "cliVersion", - "conversationId", - "cwd", - "modelProvider", - "path", - "preview", - "source" - ], - "type": "object" - }, - "SessionSource": { - "oneOf": [ - { - "enum": [ - "cli", - "vscode", - "exec", - "mcp", - "unknown" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "subagent": { - "$ref": "#/definitions/SubAgentSource" - } - }, - "required": [ - "subagent" - ], - "title": "SubagentSessionSource", - "type": "object" - } - ] - }, - "SubAgentSource": { - "oneOf": [ - { - "enum": [ - "review", - "compact", - "memory_consolidation" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "thread_spawn": { - "properties": { - "agent_nickname": { - "default": null, - "type": [ - "string", - "null" - ] - }, - "agent_role": { - "default": null, - "type": [ - "string", - "null" - ] - }, - "depth": { - "format": "int32", - "type": "integer" - }, - "parent_thread_id": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "depth", - "parent_thread_id" - ], - "type": "object" - } - }, - "required": [ - "thread_spawn" - ], - "title": "ThreadSpawnSubAgentSource", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "other": { - "type": "string" - } - }, - "required": [ - "other" - ], - "title": "OtherSubAgentSource", - "type": "object" - } - ] - }, - "ThreadId": { - "type": "string" - } - }, - "properties": { - "summary": { - "$ref": "#/definitions/ConversationSummary" - } - }, - "required": [ - "summary" - ], - "title": "GetConversationSummaryResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/GetUserAgentResponse.json b/codex-rs/app-server-protocol/schema/json/v1/GetUserAgentResponse.json deleted file mode 100644 index c041282c8..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/GetUserAgentResponse.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "userAgent": { - "type": "string" - } - }, - "required": [ - "userAgent" - ], - "title": "GetUserAgentResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/GetUserSavedConfigResponse.json b/codex-rs/app-server-protocol/schema/json/v1/GetUserSavedConfigResponse.json deleted file mode 100644 index 2f6d8b3b5..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/GetUserSavedConfigResponse.json +++ /dev/null @@ -1,366 +0,0 @@ -{ - "$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" - }, - "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" - } - ] - }, - "ForcedLoginMethod": { - "enum": [ - "chatgpt", - "api" - ], - "type": "string" - }, - "Profile": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ] - }, - "chatgptBaseUrl": { - "type": [ - "string", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelProvider": { - "type": [ - "string", - "null" - ] - }, - "modelReasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "modelReasoningSummary": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningSummary" - }, - { - "type": "null" - } - ] - }, - "modelVerbosity": { - "anyOf": [ - { - "$ref": "#/definitions/Verbosity" - }, - { - "type": "null" - } - ] - } - }, - "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" - }, - "ReasoningSummary": { - "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries", - "oneOf": [ - { - "enum": [ - "auto", - "concise", - "detailed" - ], - "type": "string" - }, - { - "description": "Option to disable reasoning summaries.", - "enum": [ - "none" - ], - "type": "string" - } - ] - }, - "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" - }, - "SandboxMode": { - "enum": [ - "read-only", - "workspace-write", - "danger-full-access" - ], - "type": "string" - }, - "SandboxSettings": { - "properties": { - "excludeSlashTmp": { - "type": [ - "boolean", - "null" - ] - }, - "excludeTmpdirEnvVar": { - "type": [ - "boolean", - "null" - ] - }, - "networkAccess": { - "type": [ - "boolean", - "null" - ] - }, - "writableRoots": { - "default": [], - "items": { - "$ref": "#/definitions/AbsolutePathBuf" - }, - "type": "array" - } - }, - "type": "object" - }, - "Tools": { - "properties": { - "viewImage": { - "type": [ - "boolean", - "null" - ] - }, - "webSearch": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - "UserSavedConfig": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ] - }, - "forcedChatgptWorkspaceId": { - "type": [ - "string", - "null" - ] - }, - "forcedLoginMethod": { - "anyOf": [ - { - "$ref": "#/definitions/ForcedLoginMethod" - }, - { - "type": "null" - } - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelReasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "modelReasoningSummary": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningSummary" - }, - { - "type": "null" - } - ] - }, - "modelVerbosity": { - "anyOf": [ - { - "$ref": "#/definitions/Verbosity" - }, - { - "type": "null" - } - ] - }, - "profile": { - "type": [ - "string", - "null" - ] - }, - "profiles": { - "additionalProperties": { - "$ref": "#/definitions/Profile" - }, - "type": "object" - }, - "sandboxMode": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxMode" - }, - { - "type": "null" - } - ] - }, - "sandboxSettings": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxSettings" - }, - { - "type": "null" - } - ] - }, - "tools": { - "anyOf": [ - { - "$ref": "#/definitions/Tools" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "profiles" - ], - "type": "object" - }, - "Verbosity": { - "description": "Controls output length/detail on GPT-5 models via the Responses API. Serialized with lowercase values to match the OpenAI API.", - "enum": [ - "low", - "medium", - "high" - ], - "type": "string" - } - }, - "properties": { - "config": { - "$ref": "#/definitions/UserSavedConfig" - } - }, - "required": [ - "config" - ], - "title": "GetUserSavedConfigResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/GitDiffToRemoteParams.json b/codex-rs/app-server-protocol/schema/json/v1/GitDiffToRemoteParams.json deleted file mode 100644 index 51640965c..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/GitDiffToRemoteParams.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "cwd": { - "type": "string" - } - }, - "required": [ - "cwd" - ], - "title": "GitDiffToRemoteParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/GitDiffToRemoteResponse.json b/codex-rs/app-server-protocol/schema/json/v1/GitDiffToRemoteResponse.json deleted file mode 100644 index fd59b80e9..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/GitDiffToRemoteResponse.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "GitSha": { - "type": "string" - } - }, - "properties": { - "diff": { - "type": "string" - }, - "sha": { - "$ref": "#/definitions/GitSha" - } - }, - "required": [ - "diff", - "sha" - ], - "title": "GitDiffToRemoteResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/InterruptConversationParams.json b/codex-rs/app-server-protocol/schema/json/v1/InterruptConversationParams.json deleted file mode 100644 index 4fdd221fc..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/InterruptConversationParams.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "ThreadId": { - "type": "string" - } - }, - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "conversationId" - ], - "title": "InterruptConversationParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/InterruptConversationResponse.json b/codex-rs/app-server-protocol/schema/json/v1/InterruptConversationResponse.json deleted file mode 100644 index 5d2ddf3e4..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/InterruptConversationResponse.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "TurnAbortReason": { - "enum": [ - "interrupted", - "replaced", - "review_ended" - ], - "type": "string" - } - }, - "properties": { - "abortReason": { - "$ref": "#/definitions/TurnAbortReason" - } - }, - "required": [ - "abortReason" - ], - "title": "InterruptConversationResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ListConversationsParams.json b/codex-rs/app-server-protocol/schema/json/v1/ListConversationsParams.json deleted file mode 100644 index 9ac05602c..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ListConversationsParams.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "cursor": { - "type": [ - "string", - "null" - ] - }, - "modelProviders": { - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "pageSize": { - "format": "uint", - "minimum": 0.0, - "type": [ - "integer", - "null" - ] - } - }, - "title": "ListConversationsParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ListConversationsResponse.json b/codex-rs/app-server-protocol/schema/json/v1/ListConversationsResponse.json deleted file mode 100644 index 2e3ab7e0d..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ListConversationsResponse.json +++ /dev/null @@ -1,199 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "ConversationGitInfo": { - "properties": { - "branch": { - "type": [ - "string", - "null" - ] - }, - "origin_url": { - "type": [ - "string", - "null" - ] - }, - "sha": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "ConversationSummary": { - "properties": { - "cliVersion": { - "type": "string" - }, - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "cwd": { - "type": "string" - }, - "gitInfo": { - "anyOf": [ - { - "$ref": "#/definitions/ConversationGitInfo" - }, - { - "type": "null" - } - ] - }, - "modelProvider": { - "type": "string" - }, - "path": { - "type": "string" - }, - "preview": { - "type": "string" - }, - "source": { - "$ref": "#/definitions/SessionSource" - }, - "timestamp": { - "type": [ - "string", - "null" - ] - }, - "updatedAt": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "cliVersion", - "conversationId", - "cwd", - "modelProvider", - "path", - "preview", - "source" - ], - "type": "object" - }, - "SessionSource": { - "oneOf": [ - { - "enum": [ - "cli", - "vscode", - "exec", - "mcp", - "unknown" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "subagent": { - "$ref": "#/definitions/SubAgentSource" - } - }, - "required": [ - "subagent" - ], - "title": "SubagentSessionSource", - "type": "object" - } - ] - }, - "SubAgentSource": { - "oneOf": [ - { - "enum": [ - "review", - "compact", - "memory_consolidation" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "thread_spawn": { - "properties": { - "agent_nickname": { - "default": null, - "type": [ - "string", - "null" - ] - }, - "agent_role": { - "default": null, - "type": [ - "string", - "null" - ] - }, - "depth": { - "format": "int32", - "type": "integer" - }, - "parent_thread_id": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "depth", - "parent_thread_id" - ], - "type": "object" - } - }, - "required": [ - "thread_spawn" - ], - "title": "ThreadSpawnSubAgentSource", - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "other": { - "type": "string" - } - }, - "required": [ - "other" - ], - "title": "OtherSubAgentSource", - "type": "object" - } - ] - }, - "ThreadId": { - "type": "string" - } - }, - "properties": { - "items": { - "items": { - "$ref": "#/definitions/ConversationSummary" - }, - "type": "array" - }, - "nextCursor": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "items" - ], - "title": "ListConversationsResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/LoginApiKeyParams.json b/codex-rs/app-server-protocol/schema/json/v1/LoginApiKeyParams.json deleted file mode 100644 index b23ce5548..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/LoginApiKeyParams.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "apiKey": { - "type": "string" - } - }, - "required": [ - "apiKey" - ], - "title": "LoginApiKeyParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/LoginApiKeyResponse.json b/codex-rs/app-server-protocol/schema/json/v1/LoginApiKeyResponse.json deleted file mode 100644 index cba1fe3c4..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/LoginApiKeyResponse.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "LoginApiKeyResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/LoginChatGptCompleteNotification.json b/codex-rs/app-server-protocol/schema/json/v1/LoginChatGptCompleteNotification.json deleted file mode 100644 index ae34de2f4..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/LoginChatGptCompleteNotification.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Deprecated in favor of AccountLoginCompletedNotification.", - "properties": { - "error": { - "type": [ - "string", - "null" - ] - }, - "loginId": { - "type": "string" - }, - "success": { - "type": "boolean" - } - }, - "required": [ - "loginId", - "success" - ], - "title": "LoginChatGptCompleteNotification", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/LoginChatGptResponse.json b/codex-rs/app-server-protocol/schema/json/v1/LoginChatGptResponse.json deleted file mode 100644 index 9ecf3cdbb..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/LoginChatGptResponse.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "authUrl": { - "type": "string" - }, - "loginId": { - "type": "string" - } - }, - "required": [ - "authUrl", - "loginId" - ], - "title": "LoginChatGptResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/LogoutChatGptResponse.json b/codex-rs/app-server-protocol/schema/json/v1/LogoutChatGptResponse.json deleted file mode 100644 index 449cfc5fa..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/LogoutChatGptResponse.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "LogoutChatGptResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/NewConversationParams.json b/codex-rs/app-server-protocol/schema/json/v1/NewConversationParams.json deleted file mode 100644 index c9c8caaa2..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/NewConversationParams.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "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" - } - ] - }, - "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" - }, - "SandboxMode": { - "enum": [ - "read-only", - "workspace-write", - "danger-full-access" - ], - "type": "string" - } - }, - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ] - }, - "baseInstructions": { - "type": [ - "string", - "null" - ] - }, - "compactPrompt": { - "type": [ - "string", - "null" - ] - }, - "config": { - "additionalProperties": true, - "type": [ - "object", - "null" - ] - }, - "cwd": { - "type": [ - "string", - "null" - ] - }, - "developerInstructions": { - "type": [ - "string", - "null" - ] - }, - "includeApplyPatchTool": { - "type": [ - "boolean", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelProvider": { - "type": [ - "string", - "null" - ] - }, - "profile": { - "type": [ - "string", - "null" - ] - }, - "sandbox": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxMode" - }, - { - "type": "null" - } - ] - } - }, - "title": "NewConversationParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/NewConversationResponse.json b/codex-rs/app-server-protocol/schema/json/v1/NewConversationResponse.json deleted file mode 100644 index 8030d8113..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/NewConversationResponse.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "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" - }, - "ThreadId": { - "type": "string" - } - }, - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "model": { - "type": "string" - }, - "reasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "model", - "rolloutPath" - ], - "title": "NewConversationResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/RemoveConversationListenerParams.json b/codex-rs/app-server-protocol/schema/json/v1/RemoveConversationListenerParams.json deleted file mode 100644 index 990b8ff0c..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/RemoveConversationListenerParams.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "subscriptionId": { - "type": "string" - } - }, - "required": [ - "subscriptionId" - ], - "title": "RemoveConversationListenerParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/RemoveConversationSubscriptionResponse.json b/codex-rs/app-server-protocol/schema/json/v1/RemoveConversationSubscriptionResponse.json deleted file mode 100644 index 8efe40d43..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/RemoveConversationSubscriptionResponse.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RemoveConversationSubscriptionResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ResumeConversationParams.json b/codex-rs/app-server-protocol/schema/json/v1/ResumeConversationParams.json deleted file mode 100644 index a45e1e60e..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ResumeConversationParams.json +++ /dev/null @@ -1,984 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "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" - } - ] - }, - "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" - } - ] - }, - "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" - }, - "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" - }, - "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" - } - ] - }, - "NewConversationParams": { - "properties": { - "approvalPolicy": { - "anyOf": [ - { - "$ref": "#/definitions/AskForApproval" - }, - { - "type": "null" - } - ] - }, - "baseInstructions": { - "type": [ - "string", - "null" - ] - }, - "compactPrompt": { - "type": [ - "string", - "null" - ] - }, - "config": { - "additionalProperties": true, - "type": [ - "object", - "null" - ] - }, - "cwd": { - "type": [ - "string", - "null" - ] - }, - "developerInstructions": { - "type": [ - "string", - "null" - ] - }, - "includeApplyPatchTool": { - "type": [ - "boolean", - "null" - ] - }, - "model": { - "type": [ - "string", - "null" - ] - }, - "modelProvider": { - "type": [ - "string", - "null" - ] - }, - "profile": { - "type": [ - "string", - "null" - ] - }, - "sandbox": { - "anyOf": [ - { - "$ref": "#/definitions/SandboxMode" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "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" - }, - "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" - } - ] - }, - "SandboxMode": { - "enum": [ - "read-only", - "workspace-write", - "danger-full-access" - ], - "type": "string" - }, - "ThreadId": { - "type": "string" - }, - "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" - } - ] - } - }, - "properties": { - "conversationId": { - "anyOf": [ - { - "$ref": "#/definitions/ThreadId" - }, - { - "type": "null" - } - ] - }, - "history": { - "items": { - "$ref": "#/definitions/ResponseItem" - }, - "type": [ - "array", - "null" - ] - }, - "overrides": { - "anyOf": [ - { - "$ref": "#/definitions/NewConversationParams" - }, - { - "type": "null" - } - ] - }, - "path": { - "type": [ - "string", - "null" - ] - } - }, - "title": "ResumeConversationParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/ResumeConversationResponse.json b/codex-rs/app-server-protocol/schema/json/v1/ResumeConversationResponse.json deleted file mode 100644 index 3ce759346..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/ResumeConversationResponse.json +++ /dev/null @@ -1,5776 +0,0 @@ -{ - "$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": "StateMcpStartupStatus", - "type": "object" - }, - { - "properties": { - "state": { - "enum": [ - "ready" - ], - "type": "string" - } - }, - "required": [ - "state" - ], - "title": "StateMcpStartupStatus2", - "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": "StateMcpStartupStatus3", - "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" - } - ] - } - }, - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "initialMessages": { - "items": { - "$ref": "#/definitions/EventMsg" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": "string" - }, - "rolloutPath": { - "type": "string" - } - }, - "required": [ - "conversationId", - "model", - "rolloutPath" - ], - "title": "ResumeConversationResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/SendUserMessageParams.json b/codex-rs/app-server-protocol/schema/json/v1/SendUserMessageParams.json deleted file mode 100644 index 1f53acc00..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/SendUserMessageParams.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "InputItem": { - "oneOf": [ - { - "properties": { - "data": { - "properties": { - "text": { - "type": "string" - }, - "text_elements": { - "default": [], - "description": "UI-defined spans within `text` used to render or persist special elements.", - "items": { - "$ref": "#/definitions/V1TextElement" - }, - "type": "array" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "type": { - "enum": [ - "text" - ], - "title": "TextInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "TextInputItem", - "type": "object" - }, - { - "properties": { - "data": { - "properties": { - "image_url": { - "type": "string" - } - }, - "required": [ - "image_url" - ], - "type": "object" - }, - "type": { - "enum": [ - "image" - ], - "title": "ImageInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "ImageInputItem", - "type": "object" - }, - { - "properties": { - "data": { - "properties": { - "path": { - "type": "string" - } - }, - "required": [ - "path" - ], - "type": "object" - }, - "type": { - "enum": [ - "localImage" - ], - "title": "LocalImageInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "LocalImageInputItem", - "type": "object" - } - ] - }, - "ThreadId": { - "type": "string" - }, - "V1ByteRange": { - "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" - }, - "V1TextElement": { - "properties": { - "byteRange": { - "allOf": [ - { - "$ref": "#/definitions/V1ByteRange" - } - ], - "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": [ - "byteRange" - ], - "type": "object" - } - }, - "properties": { - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "items": { - "items": { - "$ref": "#/definitions/InputItem" - }, - "type": "array" - } - }, - "required": [ - "conversationId", - "items" - ], - "title": "SendUserMessageParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/SendUserMessageResponse.json b/codex-rs/app-server-protocol/schema/json/v1/SendUserMessageResponse.json deleted file mode 100644 index df3df37c8..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/SendUserMessageResponse.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "SendUserMessageResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/SendUserTurnParams.json b/codex-rs/app-server-protocol/schema/json/v1/SendUserTurnParams.json deleted file mode 100644 index a213f6077..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/SendUserTurnParams.json +++ /dev/null @@ -1,482 +0,0 @@ -{ - "$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" - }, - "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" - } - ] - }, - "InputItem": { - "oneOf": [ - { - "properties": { - "data": { - "properties": { - "text": { - "type": "string" - }, - "text_elements": { - "default": [], - "description": "UI-defined spans within `text` used to render or persist special elements.", - "items": { - "$ref": "#/definitions/V1TextElement" - }, - "type": "array" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "type": { - "enum": [ - "text" - ], - "title": "TextInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "TextInputItem", - "type": "object" - }, - { - "properties": { - "data": { - "properties": { - "image_url": { - "type": "string" - } - }, - "required": [ - "image_url" - ], - "type": "object" - }, - "type": { - "enum": [ - "image" - ], - "title": "ImageInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "ImageInputItem", - "type": "object" - }, - { - "properties": { - "data": { - "properties": { - "path": { - "type": "string" - } - }, - "required": [ - "path" - ], - "type": "object" - }, - "type": { - "enum": [ - "localImage" - ], - "title": "LocalImageInputItemType", - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "title": "LocalImageInputItem", - "type": "object" - } - ] - }, - "NetworkAccess": { - "description": "Represents whether outbound network access is available to the agent.", - "enum": [ - "restricted", - "enabled" - ], - "type": "string" - }, - "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" - } - ] - }, - "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" - }, - "ReasoningSummary": { - "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries", - "oneOf": [ - { - "enum": [ - "auto", - "concise", - "detailed" - ], - "type": "string" - }, - { - "description": "Option to disable reasoning summaries.", - "enum": [ - "none" - ], - "type": "string" - } - ] - }, - "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" - }, - "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" - } - ] - }, - "ThreadId": { - "type": "string" - }, - "V1ByteRange": { - "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" - }, - "V1TextElement": { - "properties": { - "byteRange": { - "allOf": [ - { - "$ref": "#/definitions/V1ByteRange" - } - ], - "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": [ - "byteRange" - ], - "type": "object" - } - }, - "properties": { - "approvalPolicy": { - "$ref": "#/definitions/AskForApproval" - }, - "conversationId": { - "$ref": "#/definitions/ThreadId" - }, - "cwd": { - "type": "string" - }, - "effort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "items": { - "items": { - "$ref": "#/definitions/InputItem" - }, - "type": "array" - }, - "model": { - "type": "string" - }, - "outputSchema": { - "description": "Optional JSON Schema used to constrain the final assistant message for this turn." - }, - "sandboxPolicy": { - "$ref": "#/definitions/SandboxPolicy" - }, - "summary": { - "$ref": "#/definitions/ReasoningSummary" - } - }, - "required": [ - "approvalPolicy", - "conversationId", - "cwd", - "items", - "model", - "sandboxPolicy", - "summary" - ], - "title": "SendUserTurnParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/SendUserTurnResponse.json b/codex-rs/app-server-protocol/schema/json/v1/SendUserTurnResponse.json deleted file mode 100644 index 5dc36098f..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/SendUserTurnResponse.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "SendUserTurnResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/SessionConfiguredNotification.json b/codex-rs/app-server-protocol/schema/json/v1/SessionConfiguredNotification.json deleted file mode 100644 index a3010337b..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/SessionConfiguredNotification.json +++ /dev/null @@ -1,5798 +0,0 @@ -{ - "$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": "StateMcpStartupStatus", - "type": "object" - }, - { - "properties": { - "state": { - "enum": [ - "ready" - ], - "type": "string" - } - }, - "required": [ - "state" - ], - "title": "StateMcpStartupStatus2", - "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": "StateMcpStartupStatus3", - "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" - } - ] - } - }, - "properties": { - "historyEntryCount": { - "format": "uint", - "minimum": 0.0, - "type": "integer" - }, - "historyLogId": { - "format": "uint64", - "minimum": 0.0, - "type": "integer" - }, - "initialMessages": { - "items": { - "$ref": "#/definitions/EventMsg" - }, - "type": [ - "array", - "null" - ] - }, - "model": { - "type": "string" - }, - "reasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - }, - "rolloutPath": { - "type": "string" - }, - "sessionId": { - "$ref": "#/definitions/ThreadId" - } - }, - "required": [ - "historyEntryCount", - "historyLogId", - "model", - "rolloutPath", - "sessionId" - ], - "title": "SessionConfiguredNotification", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/SetDefaultModelParams.json b/codex-rs/app-server-protocol/schema/json/v1/SetDefaultModelParams.json deleted file mode 100644 index 302742021..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/SetDefaultModelParams.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "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" - } - }, - "properties": { - "model": { - "type": [ - "string", - "null" - ] - }, - "reasoningEffort": { - "anyOf": [ - { - "$ref": "#/definitions/ReasoningEffort" - }, - { - "type": "null" - } - ] - } - }, - "title": "SetDefaultModelParams", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/SetDefaultModelResponse.json b/codex-rs/app-server-protocol/schema/json/v1/SetDefaultModelResponse.json deleted file mode 100644 index bb61dada6..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/SetDefaultModelResponse.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "SetDefaultModelResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/json/v1/UserInfoResponse.json b/codex-rs/app-server-protocol/schema/json/v1/UserInfoResponse.json deleted file mode 100644 index 617f6b670..000000000 --- a/codex-rs/app-server-protocol/schema/json/v1/UserInfoResponse.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "allegedUserEmail": { - "type": [ - "string", - "null" - ] - } - }, - "title": "UserInfoResponse", - "type": "object" -} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/src/export.rs b/codex-rs/app-server-protocol/src/export.rs index 1a4edfdf5..b6c8da90e 100644 --- a/codex-rs/app-server-protocol/src/export.rs +++ b/codex-rs/app-server-protocol/src/export.rs @@ -32,93 +32,41 @@ use std::io::Write; use std::path::Path; use std::path::PathBuf; use std::process::Command; -use std::sync::LazyLock; use ts_rs::TS; const HEADER: &str = "// GENERATED CODE! DO NOT MODIFY BY HAND!\n\n"; const IGNORED_DEFINITIONS: &[&str] = &["Option<()>"]; -static VARIANT_TITLE_COLLISION_OVERRIDES: LazyLock> = - LazyLock::new(|| { - HashMap::from([ - ( - "base=McpStartupStatus|generated=StateMcpStartupStatus|literal:state=ready|only_property=state|required_only=state", - "StateMcpStartupStatus2", - ), - ( - "base=McpStartupStatus|generated=StateMcpStartupStatus|literal:state=cancelled|only_property=state|required_only=state", - "StateMcpStartupStatus3", - ), - ]) - }); -static NUMBERED_DEFINITION_COLLISION_OVERRIDES: LazyLock> = - LazyLock::new(|| { - HashMap::from([ - ( - "schema=ClientRequest|container=definitions|generated=AskForApproval2|base=AskForApproval", - "AskForApproval2", - ), - ( - "schema=ClientRequest|container=definitions|generated=NetworkAccess2|base=NetworkAccess", - "NetworkAccess2", - ), - ( - "schema=ClientRequest|container=definitions|generated=ReadOnlyAccess2|base=ReadOnlyAccess", - "ReadOnlyAccess2", - ), - ( - "schema=ClientRequest|container=definitions|generated=SandboxMode2|base=SandboxMode", - "SandboxMode2", - ), - ( - "schema=ClientRequest|container=definitions|generated=SandboxPolicy2|base=SandboxPolicy", - "SandboxPolicy2", - ), - ( - "schema=ServerNotification|container=definitions|generated=ByteRange2|base=ByteRange", - "ByteRange2", - ), - ( - "schema=ServerNotification|container=definitions|generated=CodexErrorInfo2|base=CodexErrorInfo", - "CodexErrorInfo2", - ), - ( - "schema=ServerNotification|container=definitions|generated=CreditsSnapshot2|base=CreditsSnapshot", - "CreditsSnapshot2", - ), - ( - "schema=ServerNotification|container=definitions|generated=MessagePhase2|base=MessagePhase", - "MessagePhase2", - ), - ( - "schema=ServerNotification|container=definitions|generated=ModelRerouteReason2|base=ModelRerouteReason", - "ModelRerouteReason2", - ), - ( - "schema=ServerNotification|container=definitions|generated=PatchApplyStatus2|base=PatchApplyStatus", - "PatchApplyStatus2", - ), - ( - "schema=ServerNotification|container=definitions|generated=RateLimitSnapshot2|base=RateLimitSnapshot", - "RateLimitSnapshot2", - ), - ( - "schema=ServerNotification|container=definitions|generated=RateLimitWindow2|base=RateLimitWindow", - "RateLimitWindow2", - ), - ( - "schema=ServerNotification|container=definitions|generated=TextElement2|base=TextElement", - "TextElement2", - ), - ( - "schema=ServerNotification|container=definitions|generated=UserInput2|base=UserInput", - "UserInput2", - ), - ( - "schema=ServerNotification|container=definitions|generated=WebSearchAction2|base=WebSearchAction", - "WebSearchAction2", - ), - ]) - }); +const JSON_V1_ALLOWLIST: &[&str] = &["InitializeParams", "InitializeResponse"]; +const V1_CLIENT_REQUEST_METHODS: &[&str] = &[ + "newConversation", + "getConversationSummary", + "listConversations", + "resumeConversation", + "forkConversation", + "archiveConversation", + "sendUserMessage", + "sendUserTurn", + "interruptConversation", + "addConversationListener", + "removeConversationListener", + "gitDiffToRemote", + "loginApiKey", + "loginChatGpt", + "cancelLoginChatGpt", + "logoutChatGpt", + "getAuthStatus", + "getUserSavedConfig", + "setDefaultModel", + "getUserAgent", + "userInfo", + "execOneOffCommand", +]; +const EXCLUDED_SERVER_NOTIFICATION_METHODS_FOR_JSON: &[&str] = &[ + "authStatusChange", + "loginChatGptComplete", + "sessionConfigured", + "rawResponseItem/completed", +]; #[derive(Clone)] pub struct GeneratedSchema { @@ -264,6 +212,8 @@ pub fn generate_json_with_experimental(out_dir: &Path, experimental_api: bool) - schemas.extend(export_server_response_schemas(out_dir)?); schemas.extend(export_client_notification_schemas(out_dir)?); schemas.extend(export_server_notification_schemas(out_dir)?); + schemas + .retain(|schema| !schema.in_v1_dir || JSON_V1_ALLOWLIST.contains(&schema.logical_name())); let mut bundle = build_schema_bundle(schemas)?; if !experimental_api { @@ -1031,14 +981,23 @@ where T: JsonSchema, { let file_stem = name.trim(); + let (raw_namespace, logical_name) = split_namespace(file_stem); + let include_in_json_codegen = + raw_namespace != Some("v1") || JSON_V1_ALLOWLIST.contains(&logical_name); let schema = schema_for!(T); let mut schema_value = serde_json::to_value(schema)?; - enforce_numbered_definition_collision_overrides(file_stem, &mut schema_value); - annotate_schema(&mut schema_value, Some(file_stem)); + if include_in_json_codegen { + if file_stem == "ClientRequest" { + strip_v1_client_request_variants_from_json_schema(&mut schema_value); + } else if file_stem == "ServerNotification" { + strip_v1_server_notification_variants_from_json_schema(&mut schema_value); + } + enforce_numbered_definition_collision_overrides(file_stem, &mut schema_value); + annotate_schema(&mut schema_value, Some(file_stem)); + } // If the name looks like a namespaced path (e.g., "v2::Type"), mirror // the TypeScript layout and write to out_dir/v2/Type.json. Otherwise // write alongside the legacy files. - let (raw_namespace, logical_name) = split_namespace(file_stem); let out_path = if let Some(ns) = raw_namespace { let dir = out_dir.join(ns); ensure_dir(&dir)?; @@ -1047,7 +1006,7 @@ where out_dir.join(format!("{file_stem}.json")) }; - if !IGNORED_DEFINITIONS.contains(&logical_name) { + if include_in_json_codegen && !IGNORED_DEFINITIONS.contains(&logical_name) { write_pretty_json(out_path, &schema_value) .with_context(|| format!("Failed to write JSON schema for {file_stem}"))?; } @@ -1066,96 +1025,162 @@ where fn enforce_numbered_definition_collision_overrides(schema_name: &str, schema: &mut Value) { for defs_key in ["definitions", "$defs"] { - let renames = { - let Some(defs) = schema.get(defs_key).and_then(Value::as_object) else { - continue; - }; - collect_numbered_definition_collision_renames(schema_name, defs_key, defs) - }; - - if renames.is_empty() { + let Some(defs) = schema.get(defs_key).and_then(Value::as_object) else { continue; - } - - #[expect(clippy::expect_used)] - let defs = schema - .get_mut(defs_key) - .and_then(Value::as_object_mut) - .expect("definition map should still be present"); - for (old_name, new_name, collision_key) in &renames { - if old_name == new_name { - continue; - } - assert!( - !defs.contains_key(new_name), - "Numbered definition collision override produced duplicate definition {new_name} for {collision_key}", - ); - let schema_value = defs.remove(old_name).unwrap_or_else(|| { - panic!("Missing generated numbered definition {old_name} for {collision_key}") - }); - defs.insert(new_name.clone(), schema_value); - } - - for (old_name, new_name, _) in renames { - if old_name != new_name { - rewrite_named_local_ref(schema, defs_key, &old_name, &new_name); - } - } + }; + detect_numbered_definition_collisions(schema_name, defs_key, defs); } } -fn collect_numbered_definition_collision_renames( +fn strip_v1_client_request_variants_from_json_schema(schema: &mut Value) { + let v1_methods: HashSet<&str> = V1_CLIENT_REQUEST_METHODS.iter().copied().collect(); + strip_method_variants_from_json_schema(schema, &v1_methods); +} + +fn strip_v1_server_notification_variants_from_json_schema(schema: &mut Value) { + let methods: HashSet<&str> = EXCLUDED_SERVER_NOTIFICATION_METHODS_FOR_JSON + .iter() + .copied() + .collect(); + strip_method_variants_from_json_schema(schema, &methods); +} + +fn strip_method_variants_from_json_schema(schema: &mut Value, methods_to_remove: &HashSet<&str>) { + { + let Some(root) = schema.as_object_mut() else { + return; + }; + let Some(Value::Array(variants)) = root.get_mut("oneOf") else { + return; + }; + variants.retain(|variant| !is_method_variant_in_set(variant, methods_to_remove)); + } + + let reachable = reachable_local_definitions(schema, "definitions"); + let Some(root) = schema.as_object_mut() else { + return; + }; + if let Some(definitions) = root.get_mut("definitions").and_then(Value::as_object_mut) { + definitions.retain(|name, _| reachable.contains(name)); + } +} + +fn is_method_variant_in_set(value: &Value, methods: &HashSet<&str>) -> bool { + let Value::Object(map) = value else { + return false; + }; + let Some(properties) = map.get("properties").and_then(Value::as_object) else { + return false; + }; + let Some(method_schema) = properties.get("method") else { + return false; + }; + let Some(method) = string_literal(method_schema) else { + return false; + }; + methods.contains(method) +} + +fn reachable_local_definitions(schema: &Value, defs_key: &str) -> HashSet { + let Some(definitions) = schema.get(defs_key).and_then(Value::as_object) else { + return HashSet::new(); + }; + let mut queue: Vec = Vec::new(); + let mut reachable: HashSet = HashSet::new(); + + collect_local_definition_refs_excluding_maps(schema, defs_key, &mut queue, &mut reachable); + + while let Some(name) = queue.pop() { + if let Some(def_schema) = definitions.get(&name) { + collect_local_definition_refs(def_schema, defs_key, &mut queue, &mut reachable); + } + } + reachable +} + +fn collect_local_definition_refs_excluding_maps( + value: &Value, + defs_key: &str, + queue: &mut Vec, + reachable: &mut HashSet, +) { + match value { + Value::Object(map) => { + for (key, child) in map { + if key == defs_key || key == "$defs" || key == "definitions" { + continue; + } + collect_local_definition_refs_excluding_maps(child, defs_key, queue, reachable); + } + } + Value::Array(items) => { + for child in items { + collect_local_definition_refs_excluding_maps(child, defs_key, queue, reachable); + } + } + _ => {} + } + collect_local_definition_ref_here(value, defs_key, queue, reachable); +} + +fn collect_local_definition_refs( + value: &Value, + defs_key: &str, + queue: &mut Vec, + reachable: &mut HashSet, +) { + collect_local_definition_ref_here(value, defs_key, queue, reachable); + match value { + Value::Object(map) => { + for child in map.values() { + collect_local_definition_refs(child, defs_key, queue, reachable); + } + } + Value::Array(items) => { + for child in items { + collect_local_definition_refs(child, defs_key, queue, reachable); + } + } + _ => {} + } +} + +fn collect_local_definition_ref_here( + value: &Value, + defs_key: &str, + queue: &mut Vec, + reachable: &mut HashSet, +) { + let Some(reference) = value + .as_object() + .and_then(|obj| obj.get("$ref")) + .and_then(Value::as_str) + else { + return; + }; + let Some(name) = reference.strip_prefix(&format!("#/{defs_key}/")) else { + return; + }; + let name = name.split('/').next().unwrap_or(name); + if reachable.insert(name.to_string()) { + queue.push(name.to_string()); + } +} + +fn detect_numbered_definition_collisions( schema_name: &str, defs_key: &str, defs: &Map, -) -> Vec<(String, String, String)> { - let mut renames = Vec::new(); - +) { for generated_name in defs.keys() { let base_name = generated_name.trim_end_matches(|c: char| c.is_ascii_digit()); if base_name == generated_name || !defs.contains_key(base_name) { continue; } - let collision_key = format!( - "schema={schema_name}|container={defs_key}|generated={generated_name}|base={base_name}" + panic!( + "Numbered definition naming collision detected: schema={schema_name}|container={defs_key}|generated={generated_name}|base={base_name}" ); - let replacement = NUMBERED_DEFINITION_COLLISION_OVERRIDES - .get(collision_key.as_str()) - .map(|value| (*value).to_string()) - .unwrap_or_else(|| { - panic!("Missing numbered definition collision override for {collision_key}") - }); - renames.push((generated_name.clone(), replacement, collision_key)); - } - - renames -} - -fn rewrite_named_local_ref(value: &mut Value, defs_key: &str, old_name: &str, new_name: &str) { - let direct = format!("#/{defs_key}/{old_name}"); - let prefixed = format!("{direct}/"); - let replacement = format!("#/{defs_key}/{new_name}"); - let replacement_prefixed = format!("{replacement}/"); - match value { - Value::Object(obj) => { - if let Some(Value::String(reference)) = obj.get_mut("$ref") { - if reference == &direct { - *reference = replacement; - } else if let Some(rest) = reference.strip_prefix(&prefixed) { - *reference = format!("{replacement_prefixed}{rest}"); - } - } - for child in obj.values_mut() { - rewrite_named_local_ref(child, defs_key, old_name, new_name); - } - } - Value::Array(items) => { - for child in items { - rewrite_named_local_ref(child, defs_key, old_name, new_name); - } - } - _ => {} } } @@ -1263,7 +1288,11 @@ fn variant_definition_name(base: &str, variant: &Value) -> Option { if props.len() == 1 && let Some(key) = props.keys().next() { - let pascal = to_pascal_case(key); + let pascal = props + .get(key) + .and_then(string_literal) + .map(to_pascal_case) + .unwrap_or_else(|| to_pascal_case(key)); return Some(format!("{pascal}{base}")); } } @@ -1376,20 +1405,11 @@ fn annotate_variant_list(variants: &mut [Value], base: Option<&str>) { && let Some(base_name) = base && let Some(name) = variant_definition_name(base_name, variant) { - let mut candidate = name.clone(); + let candidate = name.clone(); if seen.contains(&candidate) { let collision_key = variant_title_collision_key(base_name, &name, variant); - candidate = VARIANT_TITLE_COLLISION_OVERRIDES - .get(collision_key.as_str()) - .map(|value| (*value).to_string()) - .unwrap_or_else(|| { - panic!( - "Missing variant title collision override for {collision_key} (generated name: {name})" - ) - }); - assert!( - !seen.contains(&candidate), - "Variant title collision override produced duplicate title {candidate} for {collision_key}", + panic!( + "Variant title naming collision detected: {collision_key} (generated name: {name})" ); } if let Some(obj) = variant.as_object_mut() {