{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://sandbox-agent/schemas/codex.json", "title": "Codex SDK Schema", "definitions": { "FileChange": { "oneOf": [ { "type": "object", "required": [ "content", "type" ], "properties": { "content": { "type": "string" }, "type": { "type": "string", "enum": [ "add" ], "title": "AddFileChangeType" } }, "title": "AddFileChange" }, { "type": "object", "required": [ "content", "type" ], "properties": { "content": { "type": "string" }, "type": { "type": "string", "enum": [ "delete" ], "title": "DeleteFileChangeType" } }, "title": "DeleteFileChange" }, { "type": "object", "required": [ "type", "unified_diff" ], "properties": { "move_path": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "update" ], "title": "UpdateFileChangeType" }, "unified_diff": { "type": "string" } }, "title": "UpdateFileChange" } ] }, "ThreadId": { "type": "string" }, "ReviewDecision": { "description": "User's decision in response to an ExecApprovalRequest.", "oneOf": [ { "description": "User has approved this command and the agent should execute it.", "type": "string", "enum": [ "approved" ] }, { "description": "User has approved this command and wants to apply the proposed execpolicy amendment so future matching commands are permitted.", "type": "object", "required": [ "approved_execpolicy_amendment" ], "properties": { "approved_execpolicy_amendment": { "type": "object", "required": [ "proposed_execpolicy_amendment" ], "properties": { "proposed_execpolicy_amendment": { "type": "array", "items": { "type": "string" } } } } }, "additionalProperties": false, "title": "ApprovedExecpolicyAmendmentReviewDecision" }, { "description": "User has approved this command and wants to automatically approve any future identical instances (`command` and `cwd` match exactly) for the remainder of the session.", "type": "string", "enum": [ "approved_for_session" ] }, { "description": "User has denied this command and the agent should not execute it, but it should continue the session and try something else.", "type": "string", "enum": [ "denied" ] }, { "description": "User has denied this command and the agent should not do anything until the user's next command.", "type": "string", "enum": [ "abort" ] } ] }, "ClientNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ClientNotification", "oneOf": [ { "type": "object", "required": [ "method" ], "properties": { "method": { "type": "string", "enum": [ "initialized" ], "title": "InitializedNotificationMethod" } }, "title": "InitializedNotification" } ] }, "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#", "title": "AddConversationListenerParams", "type": "object", "required": [ "conversationId" ], "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" }, "experimentalRawEvents": { "default": false, "type": "boolean" } } }, "AppsListParams": { "type": "object", "properties": { "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to a reasonable server-side value.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 } } }, "ArchiveConversationParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ArchiveConversationParams", "type": "object", "required": [ "conversationId", "rolloutPath" ], "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" }, "rolloutPath": { "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.", "type": "string", "enum": [ "untrusted" ] }, { "description": "*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.", "type": "string", "enum": [ "on-failure" ] }, { "description": "The model decides when to ask the user for approval.", "type": "string", "enum": [ "on-request" ] }, { "description": "Never ask the user to approve commands. Failures are immediately returned to the model, and never escalated to the user for approval.", "type": "string", "enum": [ "never" ] } ] }, "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.", "type": "string", "enum": [ "untrusted" ] }, { "description": "*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.", "type": "string", "enum": [ "on-failure" ] }, { "description": "The model decides when to ask the user for approval.", "type": "string", "enum": [ "on-request" ] }, { "description": "Never ask the user to approve commands. Failures are immediately returned to the model, and never escalated to the user for approval.", "type": "string", "enum": [ "never" ] } ] }, "ByteRange": { "type": "object", "required": [ "end", "start" ], "properties": { "end": { "description": "End byte offset (exclusive) within the UTF-8 text buffer.", "type": "integer", "format": "uint", "minimum": 0 }, "start": { "description": "Start byte offset (inclusive) within the UTF-8 text buffer.", "type": "integer", "format": "uint", "minimum": 0 } } }, "CancelLoginAccountParams": { "type": "object", "required": [ "loginId" ], "properties": { "loginId": { "type": "string" } } }, "CancelLoginChatGptParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CancelLoginChatGptParams", "type": "object", "required": [ "loginId" ], "properties": { "loginId": { "type": "string" } } }, "ClientInfo": { "type": "object", "required": [ "name", "version" ], "properties": { "name": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "version": { "type": "string" } } }, "CollaborationMode": { "description": "Collaboration mode for a Codex session.", "type": "object", "required": [ "mode", "settings" ], "properties": { "mode": { "$ref": "#/definitions/ModeKind" }, "settings": { "$ref": "#/definitions/Settings" } } }, "CollaborationModeListParams": { "description": "EXPERIMENTAL - list collaboration mode presets.", "type": "object" }, "CommandExecParams": { "type": "object", "required": [ "command" ], "properties": { "command": { "type": "array", "items": { "type": "string" } }, "cwd": { "type": [ "string", "null" ] }, "sandboxPolicy": { "anyOf": [ { "$ref": "#/definitions/SandboxPolicy" }, { "type": "null" } ] }, "timeoutMs": { "type": [ "integer", "null" ], "format": "int64" } } }, "ConfigBatchWriteParams": { "type": "object", "required": [ "edits" ], "properties": { "edits": { "type": "array", "items": { "$ref": "#/definitions/ConfigEdit" } }, "expectedVersion": { "type": [ "string", "null" ] }, "filePath": { "description": "Path to the config file to write; defaults to the user's `config.toml` when omitted.", "type": [ "string", "null" ] } } }, "ConfigEdit": { "type": "object", "required": [ "keyPath", "mergeStrategy", "value" ], "properties": { "keyPath": { "type": "string" }, "mergeStrategy": { "$ref": "#/definitions/MergeStrategy" }, "value": true } }, "ConfigReadParams": { "type": "object", "properties": { "cwd": { "description": "Optional working directory to resolve project config layers. If specified, return the effective config as seen from that directory (i.e., including any project layers between `cwd` and the project/repo root).", "type": [ "string", "null" ] }, "includeLayers": { "default": false, "type": "boolean" } } }, "ConfigValueWriteParams": { "type": "object", "required": [ "keyPath", "mergeStrategy", "value" ], "properties": { "expectedVersion": { "type": [ "string", "null" ] }, "filePath": { "description": "Path to the config file to write; defaults to the user's `config.toml` when omitted.", "type": [ "string", "null" ] }, "keyPath": { "type": "string" }, "mergeStrategy": { "$ref": "#/definitions/MergeStrategy" }, "value": true } }, "ContentItem": { "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "input_text" ], "title": "InputTextContentItemType" } }, "title": "InputTextContentItem" }, { "type": "object", "required": [ "image_url", "type" ], "properties": { "image_url": { "type": "string" }, "type": { "type": "string", "enum": [ "input_image" ], "title": "InputImageContentItemType" } }, "title": "InputImageContentItem" }, { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "output_text" ], "title": "OutputTextContentItemType" } }, "title": "OutputTextContentItem" } ] }, "ExecOneOffCommandParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecOneOffCommandParams", "type": "object", "required": [ "command" ], "properties": { "command": { "type": "array", "items": { "type": "string" } }, "cwd": { "type": [ "string", "null" ] }, "sandboxPolicy": { "anyOf": [ { "$ref": "#/definitions/SandboxPolicy" }, { "type": "null" } ] }, "timeoutMs": { "type": [ "integer", "null" ], "format": "uint64", "minimum": 0 } } }, "FeedbackUploadParams": { "type": "object", "required": [ "classification", "includeLogs" ], "properties": { "classification": { "type": "string" }, "includeLogs": { "type": "boolean" }, "reason": { "type": [ "string", "null" ] }, "threadId": { "type": [ "string", "null" ] } } }, "ForkConversationParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ForkConversationParams", "type": "object", "properties": { "conversationId": { "anyOf": [ { "$ref": "#/definitions/ThreadId" }, { "type": "null" } ] }, "overrides": { "anyOf": [ { "$ref": "#/definitions/NewConversationParams" }, { "type": "null" } ] }, "path": { "type": [ "string", "null" ] } } }, "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": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "input_text" ], "title": "InputTextFunctionCallOutputContentItemType" } }, "title": "InputTextFunctionCallOutputContentItem" }, { "type": "object", "required": [ "image_url", "type" ], "properties": { "image_url": { "type": "string" }, "type": { "type": "string", "enum": [ "input_image" ], "title": "InputImageFunctionCallOutputContentItemType" } }, "title": "InputImageFunctionCallOutputContentItem" } ] }, "FunctionCallOutputPayload": { "description": "The payload we send back to OpenAI when reporting a tool call result.\n\n`content` preserves the historical plain-string payload so downstream integrations (tests, logging, etc.) can keep treating tool output as `String`. When an MCP server returns richer data we additionally populate `content_items` with the structured form that the Responses/Chat Completions APIs understand.", "type": "object", "required": [ "content" ], "properties": { "content": { "type": "string" }, "content_items": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/FunctionCallOutputContentItem" } }, "success": { "type": [ "boolean", "null" ] } } }, "FuzzyFileSearchParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "FuzzyFileSearchParams", "type": "object", "required": [ "query", "roots" ], "properties": { "cancellationToken": { "type": [ "string", "null" ] }, "query": { "type": "string" }, "roots": { "type": "array", "items": { "type": "string" } } } }, "GetAccountParams": { "type": "object", "properties": { "refreshToken": { "default": false, "type": "boolean" } } }, "GetAuthStatusParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetAuthStatusParams", "type": "object", "properties": { "includeToken": { "type": [ "boolean", "null" ] }, "refreshToken": { "type": [ "boolean", "null" ] } } }, "GetConversationSummaryParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetConversationSummaryParams", "anyOf": [ { "type": "object", "required": [ "rolloutPath" ], "properties": { "rolloutPath": { "type": "string" } }, "title": "RolloutPathv1::GetConversationSummaryParams" }, { "type": "object", "required": [ "conversationId" ], "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" } }, "title": "ConversationIdv1::GetConversationSummaryParams" } ] }, "GhostCommit": { "description": "Details of a ghost commit created from a repository state.", "type": "object", "required": [ "id", "preexisting_untracked_dirs", "preexisting_untracked_files" ], "properties": { "id": { "type": "string" }, "parent": { "type": [ "string", "null" ] }, "preexisting_untracked_dirs": { "type": "array", "items": { "type": "string" } }, "preexisting_untracked_files": { "type": "array", "items": { "type": "string" } } } }, "GitDiffToRemoteParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GitDiffToRemoteParams", "type": "object", "required": [ "cwd" ], "properties": { "cwd": { "type": "string" } } }, "InitializeParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "InitializeParams", "type": "object", "required": [ "clientInfo" ], "properties": { "clientInfo": { "$ref": "#/definitions/ClientInfo" } } }, "InputItem": { "oneOf": [ { "type": "object", "required": [ "data", "type" ], "properties": { "data": { "type": "object", "required": [ "text" ], "properties": { "text": { "type": "string" }, "text_elements": { "description": "UI-defined spans within `text` used to render or persist special elements.", "default": [], "type": "array", "items": { "$ref": "#/definitions/V1TextElement" } } } }, "type": { "type": "string", "enum": [ "text" ], "title": "TextInputItemType" } }, "title": "TextInputItem" }, { "type": "object", "required": [ "data", "type" ], "properties": { "data": { "type": "object", "required": [ "image_url" ], "properties": { "image_url": { "type": "string" } } }, "type": { "type": "string", "enum": [ "image" ], "title": "ImageInputItemType" } }, "title": "ImageInputItem" }, { "type": "object", "required": [ "data", "type" ], "properties": { "data": { "type": "object", "required": [ "path" ], "properties": { "path": { "type": "string" } } }, "type": { "type": "string", "enum": [ "localImage" ], "title": "LocalImageInputItemType" } }, "title": "LocalImageInputItem" } ] }, "InterruptConversationParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "InterruptConversationParams", "type": "object", "required": [ "conversationId" ], "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" } } }, "ListConversationsParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ListConversationsParams", "type": "object", "properties": { "cursor": { "type": [ "string", "null" ] }, "modelProviders": { "type": [ "array", "null" ], "items": { "type": "string" } }, "pageSize": { "type": [ "integer", "null" ], "format": "uint", "minimum": 0 } } }, "ListMcpServerStatusParams": { "type": "object", "properties": { "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to a server-defined value.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 } } }, "LocalShellAction": { "oneOf": [ { "type": "object", "required": [ "command", "type" ], "properties": { "command": { "type": "array", "items": { "type": "string" } }, "env": { "type": [ "object", "null" ], "additionalProperties": { "type": "string" } }, "timeout_ms": { "type": [ "integer", "null" ], "format": "uint64", "minimum": 0 }, "type": { "type": "string", "enum": [ "exec" ], "title": "ExecLocalShellActionType" }, "user": { "type": [ "string", "null" ] }, "working_directory": { "type": [ "string", "null" ] } }, "title": "ExecLocalShellAction" } ] }, "LocalShellStatus": { "type": "string", "enum": [ "completed", "in_progress", "incomplete" ] }, "LoginAccountParams": { "oneOf": [ { "type": "object", "required": [ "apiKey", "type" ], "properties": { "apiKey": { "type": "string" }, "type": { "type": "string", "enum": [ "apiKey" ], "title": "ApiKeyLoginAccountParamsType" } }, "title": "ApiKeyLoginAccountParams" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "chatgpt" ], "title": "ChatgptLoginAccountParamsType" } }, "title": "ChatgptLoginAccountParams" } ] }, "LoginApiKeyParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "LoginApiKeyParams", "type": "object", "required": [ "apiKey" ], "properties": { "apiKey": { "type": "string" } } }, "McpServerOauthLoginParams": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "scopes": { "type": [ "array", "null" ], "items": { "type": "string" } }, "timeoutSecs": { "type": [ "integer", "null" ], "format": "int64" } } }, "MergeStrategy": { "type": "string", "enum": [ "replace", "upsert" ] }, "ModeKind": { "description": "Initial collaboration mode to use when the TUI starts.", "type": "string", "enum": [ "plan", "code", "pair_programming", "execute", "custom" ] }, "ModelListParams": { "type": "object", "properties": { "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to a reasonable server-side value.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 } } }, "NetworkAccess": { "description": "Represents whether outbound network access is available to the agent.", "type": "string", "enum": [ "restricted", "enabled" ] }, "NetworkAccess2": { "description": "Represents whether outbound network access is available to the agent.", "type": "string", "enum": [ "restricted", "enabled" ] }, "NewConversationParams": { "type": "object", "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/AskForApproval" }, { "type": "null" } ] }, "baseInstructions": { "type": [ "string", "null" ] }, "compactPrompt": { "type": [ "string", "null" ] }, "config": { "type": [ "object", "null" ], "additionalProperties": true }, "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" } ] } } }, "Personality": { "type": "string", "enum": [ "friendly", "pragmatic" ] }, "ReasoningEffort": { "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", "type": "string", "enum": [ "none", "minimal", "low", "medium", "high", "xhigh" ] }, "ReasoningItemContent": { "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "reasoning_text" ], "title": "ReasoningTextReasoningItemContentType" } }, "title": "ReasoningTextReasoningItemContent" }, { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "text" ], "title": "TextReasoningItemContentType" } }, "title": "TextReasoningItemContent" } ] }, "ReasoningItemReasoningSummary": { "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "summary_text" ], "title": "SummaryTextReasoningItemReasoningSummaryType" } }, "title": "SummaryTextReasoningItemReasoningSummary" } ] }, "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": [ { "type": "string", "enum": [ "auto", "concise", "detailed" ] }, { "description": "Option to disable reasoning summaries.", "type": "string", "enum": [ "none" ] } ] }, "RemoveConversationListenerParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "RemoveConversationListenerParams", "type": "object", "required": [ "subscriptionId" ], "properties": { "subscriptionId": { "type": "string" } } }, "RequestId": { "anyOf": [ { "type": "string" }, { "type": "integer", "format": "int64" } ] }, "ResponseItem": { "oneOf": [ { "type": "object", "required": [ "content", "role", "type" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/ContentItem" } }, "end_turn": { "type": [ "boolean", "null" ] }, "id": { "writeOnly": true, "type": [ "string", "null" ] }, "role": { "type": "string" }, "type": { "type": "string", "enum": [ "message" ], "title": "MessageResponseItemType" } }, "title": "MessageResponseItem" }, { "type": "object", "required": [ "id", "summary", "type" ], "properties": { "content": { "default": null, "type": [ "array", "null" ], "items": { "$ref": "#/definitions/ReasoningItemContent" } }, "encrypted_content": { "type": [ "string", "null" ] }, "id": { "writeOnly": true, "type": "string" }, "summary": { "type": "array", "items": { "$ref": "#/definitions/ReasoningItemReasoningSummary" } }, "type": { "type": "string", "enum": [ "reasoning" ], "title": "ReasoningResponseItemType" } }, "title": "ReasoningResponseItem" }, { "type": "object", "required": [ "action", "status", "type" ], "properties": { "action": { "$ref": "#/definitions/LocalShellAction" }, "call_id": { "description": "Set when using the Responses API.", "type": [ "string", "null" ] }, "id": { "description": "Set when using the chat completions API.", "writeOnly": true, "type": [ "string", "null" ] }, "status": { "$ref": "#/definitions/LocalShellStatus" }, "type": { "type": "string", "enum": [ "local_shell_call" ], "title": "LocalShellCallResponseItemType" } }, "title": "LocalShellCallResponseItem" }, { "type": "object", "required": [ "arguments", "call_id", "name", "type" ], "properties": { "arguments": { "type": "string" }, "call_id": { "type": "string" }, "id": { "writeOnly": true, "type": [ "string", "null" ] }, "name": { "type": "string" }, "type": { "type": "string", "enum": [ "function_call" ], "title": "FunctionCallResponseItemType" } }, "title": "FunctionCallResponseItem" }, { "type": "object", "required": [ "call_id", "output", "type" ], "properties": { "call_id": { "type": "string" }, "output": { "$ref": "#/definitions/FunctionCallOutputPayload" }, "type": { "type": "string", "enum": [ "function_call_output" ], "title": "FunctionCallOutputResponseItemType" } }, "title": "FunctionCallOutputResponseItem" }, { "type": "object", "required": [ "call_id", "input", "name", "type" ], "properties": { "call_id": { "type": "string" }, "id": { "writeOnly": true, "type": [ "string", "null" ] }, "input": { "type": "string" }, "name": { "type": "string" }, "status": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "custom_tool_call" ], "title": "CustomToolCallResponseItemType" } }, "title": "CustomToolCallResponseItem" }, { "type": "object", "required": [ "call_id", "output", "type" ], "properties": { "call_id": { "type": "string" }, "output": { "type": "string" }, "type": { "type": "string", "enum": [ "custom_tool_call_output" ], "title": "CustomToolCallOutputResponseItemType" } }, "title": "CustomToolCallOutputResponseItem" }, { "type": "object", "required": [ "action", "type" ], "properties": { "action": { "$ref": "#/definitions/WebSearchAction" }, "id": { "writeOnly": true, "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "web_search_call" ], "title": "WebSearchCallResponseItemType" } }, "title": "WebSearchCallResponseItem" }, { "type": "object", "required": [ "ghost_commit", "type" ], "properties": { "ghost_commit": { "$ref": "#/definitions/GhostCommit" }, "type": { "type": "string", "enum": [ "ghost_snapshot" ], "title": "GhostSnapshotResponseItemType" } }, "title": "GhostSnapshotResponseItem" }, { "type": "object", "required": [ "encrypted_content", "type" ], "properties": { "encrypted_content": { "type": "string" }, "type": { "type": "string", "enum": [ "compaction" ], "title": "CompactionResponseItemType" } }, "title": "CompactionResponseItem" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "other" ], "title": "OtherResponseItemType" } }, "title": "OtherResponseItem" } ] }, "ResumeConversationParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ResumeConversationParams", "type": "object", "properties": { "conversationId": { "anyOf": [ { "$ref": "#/definitions/ThreadId" }, { "type": "null" } ] }, "history": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/ResponseItem" } }, "overrides": { "anyOf": [ { "$ref": "#/definitions/NewConversationParams" }, { "type": "null" } ] }, "path": { "type": [ "string", "null" ] } } }, "ReviewDelivery": { "type": "string", "enum": [ "inline", "detached" ] }, "ReviewStartParams": { "type": "object", "required": [ "target", "threadId" ], "properties": { "delivery": { "description": "Where to run the review: inline (default) on the current thread or detached on a new thread (returned in `reviewThreadId`).", "default": null, "anyOf": [ { "$ref": "#/definitions/ReviewDelivery" }, { "type": "null" } ] }, "target": { "$ref": "#/definitions/ReviewTarget" }, "threadId": { "type": "string" } } }, "ReviewTarget": { "oneOf": [ { "description": "Review the working tree: staged, unstaged, and untracked files.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "uncommittedChanges" ], "title": "UncommittedChangesReviewTargetType" } }, "title": "UncommittedChangesReviewTarget" }, { "description": "Review changes between the current branch and the given base branch.", "type": "object", "required": [ "branch", "type" ], "properties": { "branch": { "type": "string" }, "type": { "type": "string", "enum": [ "baseBranch" ], "title": "BaseBranchReviewTargetType" } }, "title": "BaseBranchReviewTarget" }, { "description": "Review the changes introduced by a specific commit.", "type": "object", "required": [ "sha", "type" ], "properties": { "sha": { "type": "string" }, "title": { "description": "Optional human-readable label (e.g., commit subject) for UIs.", "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "commit" ], "title": "CommitReviewTargetType" } }, "title": "CommitReviewTarget" }, { "description": "Arbitrary instructions provided by the user.", "type": "object", "required": [ "instructions", "type" ], "properties": { "instructions": { "type": "string" }, "type": { "type": "string", "enum": [ "custom" ], "title": "CustomReviewTargetType" } }, "title": "CustomReviewTarget" } ] }, "SandboxMode": { "type": "string", "enum": [ "read-only", "workspace-write", "danger-full-access" ] }, "SandboxMode2": { "type": "string", "enum": [ "read-only", "workspace-write", "danger-full-access" ] }, "SandboxPolicy": { "description": "Determines execution restrictions for model shell commands.", "oneOf": [ { "description": "No restrictions whatsoever. Use with caution.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "danger-full-access" ], "title": "DangerFullAccessSandboxPolicyType" } }, "title": "DangerFullAccessSandboxPolicy" }, { "description": "Read-only access to the entire file-system.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "read-only" ], "title": "ReadOnlySandboxPolicyType" } }, "title": "ReadOnlySandboxPolicy" }, { "description": "Indicates the process is already in an external sandbox. Allows full disk access while honoring the provided network setting.", "type": "object", "required": [ "type" ], "properties": { "network_access": { "description": "Whether the external sandbox permits outbound network traffic.", "default": "restricted", "allOf": [ { "$ref": "#/definitions/NetworkAccess" } ] }, "type": { "type": "string", "enum": [ "external-sandbox" ], "title": "ExternalSandboxSandboxPolicyType" } }, "title": "ExternalSandboxSandboxPolicy" }, { "description": "Same as `ReadOnly` but additionally grants write access to the current working directory (\"workspace\").", "type": "object", "required": [ "type" ], "properties": { "exclude_slash_tmp": { "description": "When set to `true`, will NOT include the `/tmp` among the default writable roots on UNIX. Defaults to `false`.", "default": false, "type": "boolean" }, "exclude_tmpdir_env_var": { "description": "When set to `true`, will NOT include the per-user `TMPDIR` environment variable among the default writable roots. Defaults to `false`.", "default": false, "type": "boolean" }, "network_access": { "description": "When set to `true`, outbound network access is allowed. `false` by default.", "default": false, "type": "boolean" }, "type": { "type": "string", "enum": [ "workspace-write" ], "title": "WorkspaceWriteSandboxPolicyType" }, "writable_roots": { "description": "Additional folders (beyond cwd and possibly TMPDIR) that should be writable from within the sandbox.", "type": "array", "items": { "$ref": "#/definitions/AbsolutePathBuf" } } }, "title": "WorkspaceWriteSandboxPolicy" } ] }, "SandboxPolicy2": { "description": "Determines execution restrictions for model shell commands.", "oneOf": [ { "description": "No restrictions whatsoever. Use with caution.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "danger-full-access" ], "title": "DangerFullAccessSandboxPolicy2Type" } }, "title": "DangerFullAccessSandboxPolicy2" }, { "description": "Read-only access to the entire file-system.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "read-only" ], "title": "ReadOnlySandboxPolicy2Type" } }, "title": "ReadOnlySandboxPolicy2" }, { "description": "Indicates the process is already in an external sandbox. Allows full disk access while honoring the provided network setting.", "type": "object", "required": [ "type" ], "properties": { "network_access": { "description": "Whether the external sandbox permits outbound network traffic.", "default": "restricted", "allOf": [ { "$ref": "#/definitions/NetworkAccess2" } ] }, "type": { "type": "string", "enum": [ "external-sandbox" ], "title": "ExternalSandboxSandboxPolicy2Type" } }, "title": "ExternalSandboxSandboxPolicy2" }, { "description": "Same as `ReadOnly` but additionally grants write access to the current working directory (\"workspace\").", "type": "object", "required": [ "type" ], "properties": { "exclude_slash_tmp": { "description": "When set to `true`, will NOT include the `/tmp` among the default writable roots on UNIX. Defaults to `false`.", "default": false, "type": "boolean" }, "exclude_tmpdir_env_var": { "description": "When set to `true`, will NOT include the per-user `TMPDIR` environment variable among the default writable roots. Defaults to `false`.", "default": false, "type": "boolean" }, "network_access": { "description": "When set to `true`, outbound network access is allowed. `false` by default.", "default": false, "type": "boolean" }, "type": { "type": "string", "enum": [ "workspace-write" ], "title": "WorkspaceWriteSandboxPolicy2Type" }, "writable_roots": { "description": "Additional folders (beyond cwd and possibly TMPDIR) that should be writable from within the sandbox.", "type": "array", "items": { "$ref": "#/definitions/AbsolutePathBuf" } } }, "title": "WorkspaceWriteSandboxPolicy2" } ] }, "SendUserMessageParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SendUserMessageParams", "type": "object", "required": [ "conversationId", "items" ], "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" }, "items": { "type": "array", "items": { "$ref": "#/definitions/InputItem" } } } }, "SendUserTurnParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SendUserTurnParams", "type": "object", "required": [ "approvalPolicy", "conversationId", "cwd", "items", "model", "sandboxPolicy", "summary" ], "properties": { "approvalPolicy": { "$ref": "#/definitions/AskForApproval" }, "conversationId": { "$ref": "#/definitions/ThreadId" }, "cwd": { "type": "string" }, "effort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] }, "items": { "type": "array", "items": { "$ref": "#/definitions/InputItem" } }, "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" } } }, "SetDefaultModelParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SetDefaultModelParams", "type": "object", "properties": { "model": { "type": [ "string", "null" ] }, "reasoningEffort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] } } }, "Settings": { "description": "Settings for a collaboration mode.", "type": "object", "required": [ "model" ], "properties": { "developer_instructions": { "type": [ "string", "null" ] }, "model": { "type": "string" }, "reasoning_effort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] } } }, "SkillsConfigWriteParams": { "type": "object", "required": [ "enabled", "path" ], "properties": { "enabled": { "type": "boolean" }, "path": { "type": "string" } } }, "SkillsListParams": { "type": "object", "properties": { "cwds": { "description": "When empty, defaults to the current session working directory.", "type": "array", "items": { "type": "string" } }, "forceReload": { "description": "When true, bypass the skills cache and re-scan skills from disk.", "type": "boolean" } } }, "TextElement": { "type": "object", "required": [ "byte_range" ], "properties": { "byte_range": { "description": "Byte range in the parent `text` buffer that this element occupies.", "allOf": [ { "$ref": "#/definitions/ByteRange" } ] }, "placeholder": { "description": "Optional human-readable placeholder for the element, displayed in the UI.", "type": [ "string", "null" ] } } }, "ThreadArchiveParams": { "type": "object", "required": [ "threadId" ], "properties": { "threadId": { "type": "string" } } }, "ThreadForkParams": { "description": "There are two ways to fork a thread: 1. By thread_id: load the thread from disk by thread_id and fork it into a new thread. 2. By path: load the thread from disk by path and fork it into a new thread.\n\nIf using path, the thread_id param will be ignored.\n\nPrefer using thread_id whenever possible.", "type": "object", "required": [ "threadId" ], "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/AskForApproval" }, { "type": "null" } ] }, "baseInstructions": { "type": [ "string", "null" ] }, "config": { "type": [ "object", "null" ], "additionalProperties": true }, "cwd": { "type": [ "string", "null" ] }, "developerInstructions": { "type": [ "string", "null" ] }, "model": { "description": "Configuration overrides for the forked thread, if any.", "type": [ "string", "null" ] }, "modelProvider": { "type": [ "string", "null" ] }, "path": { "description": "[UNSTABLE] Specify the rollout path to fork from. If specified, the thread_id param will be ignored.", "type": [ "string", "null" ] }, "sandbox": { "anyOf": [ { "$ref": "#/definitions/SandboxMode" }, { "type": "null" } ] }, "threadId": { "type": "string" } } }, "ThreadListParams": { "type": "object", "properties": { "archived": { "description": "Optional archived filter; when set to true, only archived threads are returned. If false or null, only non-archived threads are returned.", "type": [ "boolean", "null" ] }, "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to a reasonable server-side value.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 }, "modelProviders": { "description": "Optional provider filter; when set, only sessions recorded under these providers are returned. When present but empty, includes all providers.", "type": [ "array", "null" ], "items": { "type": "string" } }, "sortKey": { "description": "Optional sort key; defaults to created_at.", "anyOf": [ { "$ref": "#/definitions/ThreadSortKey" }, { "type": "null" } ] } } }, "ThreadLoadedListParams": { "type": "object", "properties": { "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to no limit.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 } } }, "ThreadReadParams": { "type": "object", "required": [ "threadId" ], "properties": { "includeTurns": { "description": "When true, include turns and their items from rollout history.", "default": false, "type": "boolean" }, "threadId": { "type": "string" } } }, "ThreadResumeParams": { "description": "There are three ways to resume a thread: 1. By thread_id: load the thread from disk by thread_id and resume it. 2. By history: instantiate the thread from memory and resume it. 3. By path: load the thread from disk by path and resume it.\n\nThe precedence is: history > path > thread_id. If using history or path, the thread_id param will be ignored.\n\nPrefer using thread_id whenever possible.", "type": "object", "required": [ "threadId" ], "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/AskForApproval" }, { "type": "null" } ] }, "baseInstructions": { "type": [ "string", "null" ] }, "config": { "type": [ "object", "null" ], "additionalProperties": true }, "cwd": { "type": [ "string", "null" ] }, "developerInstructions": { "type": [ "string", "null" ] }, "history": { "description": "[UNSTABLE] FOR CODEX CLOUD - DO NOT USE. If specified, the thread will be resumed with the provided history instead of loaded from disk.", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/ResponseItem" } }, "model": { "description": "Configuration overrides for the resumed thread, if any.", "type": [ "string", "null" ] }, "modelProvider": { "type": [ "string", "null" ] }, "path": { "description": "[UNSTABLE] Specify the rollout path to resume from. If specified, the thread_id param will be ignored.", "type": [ "string", "null" ] }, "personality": { "anyOf": [ { "$ref": "#/definitions/Personality" }, { "type": "null" } ] }, "sandbox": { "anyOf": [ { "$ref": "#/definitions/SandboxMode" }, { "type": "null" } ] }, "threadId": { "type": "string" } } }, "ThreadRollbackParams": { "type": "object", "required": [ "numTurns", "threadId" ], "properties": { "numTurns": { "description": "The number of turns to drop from the end of the thread. Must be >= 1.\n\nThis only modifies the thread's history and does not revert local file changes that have been made by the agent. Clients are responsible for reverting these changes.", "type": "integer", "format": "uint32", "minimum": 0 }, "threadId": { "type": "string" } } }, "ThreadSortKey": { "type": "string", "enum": [ "created_at", "updated_at" ] }, "ThreadStartParams": { "type": "object", "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/AskForApproval" }, { "type": "null" } ] }, "baseInstructions": { "type": [ "string", "null" ] }, "config": { "type": [ "object", "null" ], "additionalProperties": true }, "cwd": { "type": [ "string", "null" ] }, "developerInstructions": { "type": [ "string", "null" ] }, "ephemeral": { "type": [ "boolean", "null" ] }, "experimentalRawEvents": { "description": "If true, opt into emitting raw response items on the event stream.\n\nThis is for internal use only (e.g. Codex Cloud). (TODO): Figure out a better way to categorize internal / experimental events & protocols.", "default": false, "type": "boolean" }, "model": { "type": [ "string", "null" ] }, "modelProvider": { "type": [ "string", "null" ] }, "personality": { "anyOf": [ { "$ref": "#/definitions/Personality" }, { "type": "null" } ] }, "sandbox": { "anyOf": [ { "$ref": "#/definitions/SandboxMode" }, { "type": "null" } ] } } }, "TurnInterruptParams": { "type": "object", "required": [ "threadId", "turnId" ], "properties": { "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "TurnStartParams": { "type": "object", "required": [ "input", "threadId" ], "properties": { "approvalPolicy": { "description": "Override the approval policy for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/AskForApproval" }, { "type": "null" } ] }, "collaborationMode": { "description": "EXPERIMENTAL - set a pre-set collaboration mode. Takes precedence over model, reasoning_effort, and developer instructions if set.", "anyOf": [ { "$ref": "#/definitions/CollaborationMode" }, { "type": "null" } ] }, "cwd": { "description": "Override the working directory for this turn and subsequent turns.", "type": [ "string", "null" ] }, "effort": { "description": "Override the reasoning effort for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] }, "input": { "type": "array", "items": { "$ref": "#/definitions/UserInput" } }, "model": { "description": "Override the model for this turn and subsequent turns.", "type": [ "string", "null" ] }, "outputSchema": { "description": "Optional JSON Schema used to constrain the final assistant message for this turn." }, "personality": { "description": "Override the personality for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/Personality" }, { "type": "null" } ] }, "sandboxPolicy": { "description": "Override the sandbox policy for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/SandboxPolicy" }, { "type": "null" } ] }, "summary": { "description": "Override the reasoning summary for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/ReasoningSummary" }, { "type": "null" } ] }, "threadId": { "type": "string" } } }, "UserInput": { "description": "User input", "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "text_elements": { "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.", "default": [], "type": "array", "items": { "$ref": "#/definitions/TextElement" } }, "type": { "type": "string", "enum": [ "text" ], "title": "TextUserInputType" } }, "title": "TextUserInput" }, { "description": "Pre‑encoded data: URI image.", "type": "object", "required": [ "image_url", "type" ], "properties": { "image_url": { "type": "string" }, "type": { "type": "string", "enum": [ "image" ], "title": "ImageUserInputType" } }, "title": "ImageUserInput" }, { "description": "Local image path provided by the user. This will be converted to an `Image` variant (base64 data URL) during request serialization.", "type": "object", "required": [ "path", "type" ], "properties": { "path": { "type": "string" }, "type": { "type": "string", "enum": [ "local_image" ], "title": "LocalImageUserInputType" } }, "title": "LocalImageUserInput" }, { "description": "Skill selected by the user (name + path to SKILL.md).", "type": "object", "required": [ "name", "path", "type" ], "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "type": { "type": "string", "enum": [ "skill" ], "title": "SkillUserInputType" } }, "title": "SkillUserInput" } ] }, "V1ByteRange": { "type": "object", "required": [ "end", "start" ], "properties": { "end": { "description": "End byte offset (exclusive) within the UTF-8 text buffer.", "type": "integer", "format": "uint", "minimum": 0 }, "start": { "description": "Start byte offset (inclusive) within the UTF-8 text buffer.", "type": "integer", "format": "uint", "minimum": 0 } } }, "V1TextElement": { "type": "object", "required": [ "byteRange" ], "properties": { "byteRange": { "description": "Byte range in the parent `text` buffer that this element occupies.", "allOf": [ { "$ref": "#/definitions/V1ByteRange" } ] }, "placeholder": { "description": "Optional human-readable placeholder for the element, displayed in the UI.", "type": [ "string", "null" ] } } }, "WebSearchAction": { "oneOf": [ { "type": "object", "required": [ "type" ], "properties": { "query": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "search" ], "title": "SearchWebSearchActionType" } }, "title": "SearchWebSearchAction" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "open_page" ], "title": "OpenPageWebSearchActionType" }, "url": { "type": [ "string", "null" ] } }, "title": "OpenPageWebSearchAction" }, { "type": "object", "required": [ "type" ], "properties": { "pattern": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "find_in_page" ], "title": "FindInPageWebSearchActionType" }, "url": { "type": [ "string", "null" ] } }, "title": "FindInPageWebSearchAction" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "other" ], "title": "OtherWebSearchActionType" } }, "title": "OtherWebSearchAction" } ] }, "CommandAction": { "oneOf": [ { "type": "object", "required": [ "command", "name", "path", "type" ], "properties": { "command": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "type": { "type": "string", "enum": [ "read" ], "title": "ReadCommandActionType" } }, "title": "ReadCommandAction" }, { "type": "object", "required": [ "command", "type" ], "properties": { "command": { "type": "string" }, "path": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "listFiles" ], "title": "ListFilesCommandActionType" } }, "title": "ListFilesCommandAction" }, { "type": "object", "required": [ "command", "type" ], "properties": { "command": { "type": "string" }, "path": { "type": [ "string", "null" ] }, "query": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "search" ], "title": "SearchCommandActionType" } }, "title": "SearchCommandAction" }, { "type": "object", "required": [ "command", "type" ], "properties": { "command": { "type": "string" }, "type": { "type": "string", "enum": [ "unknown" ], "title": "UnknownCommandActionType" } }, "title": "UnknownCommandAction" } ] }, "CommandExecutionApprovalDecision": { "oneOf": [ { "description": "User approved the command.", "type": "string", "enum": [ "accept" ] }, { "description": "User approved the command and future identical commands should run without prompting.", "type": "string", "enum": [ "acceptForSession" ] }, { "description": "User approved the command, and wants to apply the proposed execpolicy amendment so future matching commands can run without prompting.", "type": "object", "required": [ "acceptWithExecpolicyAmendment" ], "properties": { "acceptWithExecpolicyAmendment": { "type": "object", "required": [ "execpolicy_amendment" ], "properties": { "execpolicy_amendment": { "type": "array", "items": { "type": "string" } } } } }, "additionalProperties": false, "title": "AcceptWithExecpolicyAmendmentCommandExecutionApprovalDecision" }, { "description": "User denied the command. The agent will continue the turn.", "type": "string", "enum": [ "decline" ] }, { "description": "User denied the command. The turn will also be immediately interrupted.", "type": "string", "enum": [ "cancel" ] } ] }, "AgentMessageContent": { "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "Text" ], "title": "TextAgentMessageContentType" } }, "title": "TextAgentMessageContent" } ] }, "AgentStatus": { "description": "Agent lifecycle status, derived from emitted events.", "oneOf": [ { "description": "Agent is waiting for initialization.", "type": "string", "enum": [ "pending_init" ] }, { "description": "Agent is currently running.", "type": "string", "enum": [ "running" ] }, { "description": "Agent is done. Contains the final assistant message.", "type": "object", "required": [ "completed" ], "properties": { "completed": { "type": [ "string", "null" ] } }, "additionalProperties": false, "title": "CompletedAgentStatus" }, { "description": "Agent encountered an error.", "type": "object", "required": [ "errored" ], "properties": { "errored": { "type": "string" } }, "additionalProperties": false, "title": "ErroredAgentStatus" }, { "description": "Agent has been shutdown.", "type": "string", "enum": [ "shutdown" ] }, { "description": "Agent is not found.", "type": "string", "enum": [ "not_found" ] } ] }, "Annotations": { "description": "Optional annotations for the client. The client can use annotations to inform how objects are used or displayed", "type": "object", "properties": { "audience": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/Role" } }, "lastModified": { "type": [ "string", "null" ] }, "priority": { "type": [ "number", "null" ], "format": "double" } } }, "AudioContent": { "description": "Audio provided to or from an LLM.", "type": "object", "required": [ "data", "mimeType", "type" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/Annotations" }, { "type": "null" } ] }, "data": { "type": "string" }, "mimeType": { "type": "string" }, "type": { "type": "string" } } }, "BlobResourceContents": { "type": "object", "required": [ "blob", "uri" ], "properties": { "blob": { "type": "string" }, "mimeType": { "type": [ "string", "null" ] }, "uri": { "type": "string" } } }, "CallToolResult": { "description": "The server's response to a tool call.", "type": "object", "required": [ "content" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/ContentBlock" } }, "isError": { "type": [ "boolean", "null" ] }, "structuredContent": true } }, "CodexErrorInfo": { "description": "Codex errors that we expose to clients.", "oneOf": [ { "type": "string", "enum": [ "context_window_exceeded", "usage_limit_exceeded", "internal_server_error", "unauthorized", "bad_request", "sandbox_error", "thread_rollback_failed", "other" ] }, { "type": "object", "required": [ "http_connection_failed" ], "properties": { "http_connection_failed": { "type": "object", "properties": { "http_status_code": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "HttpConnectionFailedCodexErrorInfo" }, { "description": "Failed to connect to the response SSE stream.", "type": "object", "required": [ "response_stream_connection_failed" ], "properties": { "response_stream_connection_failed": { "type": "object", "properties": { "http_status_code": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseStreamConnectionFailedCodexErrorInfo" }, { "description": "The response SSE stream disconnected in the middle of a turnbefore completion.", "type": "object", "required": [ "response_stream_disconnected" ], "properties": { "response_stream_disconnected": { "type": "object", "properties": { "http_status_code": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseStreamDisconnectedCodexErrorInfo" }, { "description": "Reached the retry limit for responses.", "type": "object", "required": [ "response_too_many_failed_attempts" ], "properties": { "response_too_many_failed_attempts": { "type": "object", "properties": { "http_status_code": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseTooManyFailedAttemptsCodexErrorInfo" } ] }, "ContentBlock": { "anyOf": [ { "$ref": "#/definitions/TextContent" }, { "$ref": "#/definitions/ImageContent" }, { "$ref": "#/definitions/AudioContent" }, { "$ref": "#/definitions/ResourceLink" }, { "$ref": "#/definitions/EmbeddedResource" } ] }, "CreditsSnapshot": { "type": "object", "required": [ "has_credits", "unlimited" ], "properties": { "balance": { "type": [ "string", "null" ] }, "has_credits": { "type": "boolean" }, "unlimited": { "type": "boolean" } } }, "CustomPrompt": { "type": "object", "required": [ "content", "name", "path" ], "properties": { "argument_hint": { "type": [ "string", "null" ] }, "content": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "path": { "type": "string" } } }, "Duration": { "type": "object", "required": [ "nanos", "secs" ], "properties": { "nanos": { "type": "integer", "format": "uint32", "minimum": 0 }, "secs": { "type": "integer", "format": "uint64", "minimum": 0 } } }, "EmbeddedResource": { "description": "The contents of a resource, embedded into a prompt or tool call result.\n\nIt is up to the client how best to render embedded resources for the benefit of the LLM and/or the user.", "type": "object", "required": [ "resource", "type" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/Annotations" }, { "type": "null" } ] }, "resource": { "$ref": "#/definitions/EmbeddedResourceResource" }, "type": { "type": "string" } } }, "EmbeddedResourceResource": { "anyOf": [ { "$ref": "#/definitions/TextResourceContents" }, { "$ref": "#/definitions/BlobResourceContents" } ] }, "EventMsg": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "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", "type": "object", "required": [ "message", "type" ], "properties": { "codex_error_info": { "default": null, "anyOf": [ { "$ref": "#/definitions/v2/CodexErrorInfo" }, { "type": "null" } ] }, "message": { "type": "string" }, "type": { "type": "string", "enum": [ "error" ], "title": "ErrorEventMsgType" } }, "title": "ErrorEventMsg" }, { "description": "Warning issued while processing a submission. Unlike `Error`, this indicates the turn continued but the user should still be notified.", "type": "object", "required": [ "message", "type" ], "properties": { "message": { "type": "string" }, "type": { "type": "string", "enum": [ "warning" ], "title": "WarningEventMsgType" } }, "title": "WarningEventMsg" }, { "description": "Conversation history was compacted (either automatically or manually).", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "context_compacted" ], "title": "ContextCompactedEventMsgType" } }, "title": "ContextCompactedEventMsg" }, { "description": "Conversation history was rolled back by dropping the last N user turns.", "type": "object", "required": [ "num_turns", "type" ], "properties": { "num_turns": { "description": "Number of user turns that were removed from context.", "type": "integer", "format": "uint32", "minimum": 0 }, "type": { "type": "string", "enum": [ "thread_rolled_back" ], "title": "ThreadRolledBackEventMsgType" } }, "title": "ThreadRolledBackEventMsg" }, { "description": "Agent has started a turn. v1 wire format uses `task_started`; accept `turn_started` for v2 interop.", "type": "object", "required": [ "type" ], "properties": { "model_context_window": { "type": [ "integer", "null" ], "format": "int64" }, "type": { "type": "string", "enum": [ "task_started" ], "title": "TaskStartedEventMsgType" } }, "title": "TaskStartedEventMsg" }, { "description": "Agent has completed all actions. v1 wire format uses `task_complete`; accept `turn_complete` for v2 interop.", "type": "object", "required": [ "type" ], "properties": { "last_agent_message": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "task_complete" ], "title": "TaskCompleteEventMsgType" } }, "title": "TaskCompleteEventMsg" }, { "description": "Usage update for the current session, including totals and last turn. Optional means unknown — UIs should not display when `None`.", "type": "object", "required": [ "type" ], "properties": { "info": { "anyOf": [ { "$ref": "#/definitions/TokenUsageInfo" }, { "type": "null" } ] }, "rate_limits": { "anyOf": [ { "$ref": "#/definitions/v2/RateLimitSnapshot" }, { "type": "null" } ] }, "type": { "type": "string", "enum": [ "token_count" ], "title": "TokenCountEventMsgType" } }, "title": "TokenCountEventMsg" }, { "description": "Agent text output message", "type": "object", "required": [ "message", "type" ], "properties": { "message": { "type": "string" }, "type": { "type": "string", "enum": [ "agent_message" ], "title": "AgentMessageEventMsgType" } }, "title": "AgentMessageEventMsg" }, { "description": "User/system input message (what was sent to the model)", "type": "object", "required": [ "message", "type" ], "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.", "type": [ "array", "null" ], "items": { "type": "string" } }, "local_images": { "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.", "default": [], "type": "array", "items": { "type": "string" } }, "message": { "type": "string" }, "text_elements": { "description": "UI-defined spans within `message` used to render or persist special elements.", "default": [], "type": "array", "items": { "$ref": "#/definitions/v2/TextElement" } }, "type": { "type": "string", "enum": [ "user_message" ], "title": "UserMessageEventMsgType" } }, "title": "UserMessageEventMsg" }, { "description": "Agent text output delta message", "type": "object", "required": [ "delta", "type" ], "properties": { "delta": { "type": "string" }, "type": { "type": "string", "enum": [ "agent_message_delta" ], "title": "AgentMessageDeltaEventMsgType" } }, "title": "AgentMessageDeltaEventMsg" }, { "description": "Reasoning event from agent.", "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "agent_reasoning" ], "title": "AgentReasoningEventMsgType" } }, "title": "AgentReasoningEventMsg" }, { "description": "Agent reasoning delta event from agent.", "type": "object", "required": [ "delta", "type" ], "properties": { "delta": { "type": "string" }, "type": { "type": "string", "enum": [ "agent_reasoning_delta" ], "title": "AgentReasoningDeltaEventMsgType" } }, "title": "AgentReasoningDeltaEventMsg" }, { "description": "Raw chain-of-thought from agent.", "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "agent_reasoning_raw_content" ], "title": "AgentReasoningRawContentEventMsgType" } }, "title": "AgentReasoningRawContentEventMsg" }, { "description": "Agent reasoning content delta event from agent.", "type": "object", "required": [ "delta", "type" ], "properties": { "delta": { "type": "string" }, "type": { "type": "string", "enum": [ "agent_reasoning_raw_content_delta" ], "title": "AgentReasoningRawContentDeltaEventMsgType" } }, "title": "AgentReasoningRawContentDeltaEventMsg" }, { "description": "Signaled when the model begins a new reasoning summary section (e.g., a new titled block).", "type": "object", "required": [ "type" ], "properties": { "item_id": { "default": "", "type": "string" }, "summary_index": { "default": 0, "type": "integer", "format": "int64" }, "type": { "type": "string", "enum": [ "agent_reasoning_section_break" ], "title": "AgentReasoningSectionBreakEventMsgType" } }, "title": "AgentReasoningSectionBreakEventMsg" }, { "description": "Ack the client's configure message.", "type": "object", "required": [ "approval_policy", "cwd", "history_entry_count", "history_log_id", "model", "model_provider_id", "sandbox_policy", "session_id", "type" ], "properties": { "approval_policy": { "description": "When to escalate for approval for execution", "allOf": [ { "$ref": "#/definitions/v2/AskForApproval" } ] }, "cwd": { "description": "Working directory that should be treated as the *root* of the session.", "type": "string" }, "forked_from_id": { "anyOf": [ { "$ref": "#/definitions/v2/ThreadId" }, { "type": "null" } ] }, "history_entry_count": { "description": "Current number of entries in the history log.", "type": "integer", "format": "uint", "minimum": 0 }, "history_log_id": { "description": "Identifier of the history log file (inode on Unix, 0 otherwise).", "type": "integer", "format": "uint64", "minimum": 0 }, "initial_messages": { "description": "Optional initial messages (as events) for resumed sessions. When present, UIs can use these to seed the history.", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/EventMsg" } }, "model": { "description": "Tell the client what model is being queried.", "type": "string" }, "model_provider_id": { "type": "string" }, "reasoning_effort": { "description": "The effort the model is putting into reasoning about the user's request.", "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] }, "rollout_path": { "description": "Path in which the rollout is stored. Can be `None` for ephemeral threads", "type": [ "string", "null" ] }, "sandbox_policy": { "description": "How to sandbox commands executed in the system", "allOf": [ { "$ref": "#/definitions/v2/SandboxPolicy" } ] }, "session_id": { "description": "Name left as session_id instead of thread_id for backwards compatibility.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "type": { "type": "string", "enum": [ "session_configured" ], "title": "SessionConfiguredEventMsgType" } }, "title": "SessionConfiguredEventMsg" }, { "description": "Incremental MCP startup progress updates.", "type": "object", "required": [ "server", "status", "type" ], "properties": { "server": { "description": "Server name being started.", "type": "string" }, "status": { "description": "Current startup status.", "allOf": [ { "$ref": "#/definitions/McpStartupStatus" } ] }, "type": { "type": "string", "enum": [ "mcp_startup_update" ], "title": "McpStartupUpdateEventMsgType" } }, "title": "McpStartupUpdateEventMsg" }, { "description": "Aggregate MCP startup completion summary.", "type": "object", "required": [ "cancelled", "failed", "ready", "type" ], "properties": { "cancelled": { "type": "array", "items": { "type": "string" } }, "failed": { "type": "array", "items": { "$ref": "#/definitions/McpStartupFailure" } }, "ready": { "type": "array", "items": { "type": "string" } }, "type": { "type": "string", "enum": [ "mcp_startup_complete" ], "title": "McpStartupCompleteEventMsgType" } }, "title": "McpStartupCompleteEventMsg" }, { "type": "object", "required": [ "call_id", "invocation", "type" ], "properties": { "call_id": { "description": "Identifier so this can be paired with the McpToolCallEnd event.", "type": "string" }, "invocation": { "$ref": "#/definitions/McpInvocation" }, "type": { "type": "string", "enum": [ "mcp_tool_call_begin" ], "title": "McpToolCallBeginEventMsgType" } }, "title": "McpToolCallBeginEventMsg" }, { "type": "object", "required": [ "call_id", "duration", "invocation", "result", "type" ], "properties": { "call_id": { "description": "Identifier for the corresponding McpToolCallBegin that finished.", "type": "string" }, "duration": { "$ref": "#/definitions/Duration" }, "invocation": { "$ref": "#/definitions/McpInvocation" }, "result": { "description": "Result of the tool call. Note this could be an error.", "allOf": [ { "$ref": "#/definitions/Result_of_CallToolResult_or_String" } ] }, "type": { "type": "string", "enum": [ "mcp_tool_call_end" ], "title": "McpToolCallEndEventMsgType" } }, "title": "McpToolCallEndEventMsg" }, { "type": "object", "required": [ "call_id", "type" ], "properties": { "call_id": { "type": "string" }, "type": { "type": "string", "enum": [ "web_search_begin" ], "title": "WebSearchBeginEventMsgType" } }, "title": "WebSearchBeginEventMsg" }, { "type": "object", "required": [ "call_id", "query", "type" ], "properties": { "call_id": { "type": "string" }, "query": { "type": "string" }, "type": { "type": "string", "enum": [ "web_search_end" ], "title": "WebSearchEndEventMsgType" } }, "title": "WebSearchEndEventMsg" }, { "description": "Notification that the server is about to execute a command.", "type": "object", "required": [ "call_id", "command", "cwd", "parsed_cmd", "turn_id", "type" ], "properties": { "call_id": { "description": "Identifier so this can be paired with the ExecCommandEnd event.", "type": "string" }, "command": { "description": "The command to be executed.", "type": "array", "items": { "type": "string" } }, "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": { "type": "array", "items": { "$ref": "#/definitions/ParsedCommand" } }, "process_id": { "description": "Identifier for the underlying PTY process (when available).", "type": [ "string", "null" ] }, "source": { "description": "Where the command originated. Defaults to Agent for backward compatibility.", "default": "agent", "allOf": [ { "$ref": "#/definitions/ExecCommandSource" } ] }, "turn_id": { "description": "Turn ID that this command belongs to.", "type": "string" }, "type": { "type": "string", "enum": [ "exec_command_begin" ], "title": "ExecCommandBeginEventMsgType" } }, "title": "ExecCommandBeginEventMsg" }, { "description": "Incremental chunk of output from a running command.", "type": "object", "required": [ "call_id", "chunk", "stream", "type" ], "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": { "description": "Which stream produced this chunk.", "allOf": [ { "$ref": "#/definitions/ExecOutputStream" } ] }, "type": { "type": "string", "enum": [ "exec_command_output_delta" ], "title": "ExecCommandOutputDeltaEventMsgType" } }, "title": "ExecCommandOutputDeltaEventMsg" }, { "description": "Terminal interaction for an in-progress command (stdin sent and stdout observed).", "type": "object", "required": [ "call_id", "process_id", "stdin", "type" ], "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": { "type": "string", "enum": [ "terminal_interaction" ], "title": "TerminalInteractionEventMsgType" } }, "title": "TerminalInteractionEventMsg" }, { "type": "object", "required": [ "call_id", "command", "cwd", "duration", "exit_code", "formatted_output", "parsed_cmd", "stderr", "stdout", "turn_id", "type" ], "properties": { "aggregated_output": { "description": "Captured aggregated output", "default": "", "type": "string" }, "call_id": { "description": "Identifier for the ExecCommandBegin that finished.", "type": "string" }, "command": { "description": "The command that was executed.", "type": "array", "items": { "type": "string" } }, "cwd": { "description": "The command's working directory if not the default cwd for the agent.", "type": "string" }, "duration": { "description": "The duration of the command execution.", "allOf": [ { "$ref": "#/definitions/Duration" } ] }, "exit_code": { "description": "The command's exit code.", "type": "integer", "format": "int32" }, "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": { "type": "array", "items": { "$ref": "#/definitions/ParsedCommand" } }, "process_id": { "description": "Identifier for the underlying PTY process (when available).", "type": [ "string", "null" ] }, "source": { "description": "Where the command originated. Defaults to Agent for backward compatibility.", "default": "agent", "allOf": [ { "$ref": "#/definitions/ExecCommandSource" } ] }, "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": { "type": "string", "enum": [ "exec_command_end" ], "title": "ExecCommandEndEventMsgType" } }, "title": "ExecCommandEndEventMsg" }, { "description": "Notification that the agent attached a local image via the view_image tool.", "type": "object", "required": [ "call_id", "path", "type" ], "properties": { "call_id": { "description": "Identifier for the originating tool call.", "type": "string" }, "path": { "description": "Local filesystem path provided to the tool.", "type": "string" }, "type": { "type": "string", "enum": [ "view_image_tool_call" ], "title": "ViewImageToolCallEventMsgType" } }, "title": "ViewImageToolCallEventMsg" }, { "type": "object", "required": [ "call_id", "command", "cwd", "parsed_cmd", "type" ], "properties": { "call_id": { "description": "Identifier for the associated exec call, if available.", "type": "string" }, "command": { "description": "The command to be executed.", "type": "array", "items": { "type": "string" } }, "cwd": { "description": "The command's working directory.", "type": "string" }, "parsed_cmd": { "type": "array", "items": { "$ref": "#/definitions/ParsedCommand" } }, "proposed_execpolicy_amendment": { "description": "Proposed execpolicy amendment that can be applied to allow future runs.", "type": [ "array", "null" ], "items": { "type": "string" } }, "reason": { "description": "Optional human-readable reason for the approval (e.g. retry without sandbox).", "type": [ "string", "null" ] }, "turn_id": { "description": "Turn ID that this command belongs to. Uses `#[serde(default)]` for backwards compatibility.", "default": "", "type": "string" }, "type": { "type": "string", "enum": [ "exec_approval_request" ], "title": "ExecApprovalRequestEventMsgType" } }, "title": "ExecApprovalRequestEventMsg" }, { "type": "object", "required": [ "call_id", "questions", "type" ], "properties": { "call_id": { "description": "Responses API call id for the associated tool call, if available.", "type": "string" }, "questions": { "type": "array", "items": { "$ref": "#/definitions/RequestUserInputQuestion" } }, "turn_id": { "description": "Turn ID that this request belongs to. Uses `#[serde(default)]` for backwards compatibility.", "default": "", "type": "string" }, "type": { "type": "string", "enum": [ "request_user_input" ], "title": "RequestUserInputEventMsgType" } }, "title": "RequestUserInputEventMsg" }, { "type": "object", "required": [ "id", "message", "server_name", "type" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "message": { "type": "string" }, "server_name": { "type": "string" }, "type": { "type": "string", "enum": [ "elicitation_request" ], "title": "ElicitationRequestEventMsgType" } }, "title": "ElicitationRequestEventMsg" }, { "type": "object", "required": [ "call_id", "changes", "type" ], "properties": { "call_id": { "description": "Responses API call id for the associated patch apply call, if available.", "type": "string" }, "changes": { "type": "object", "additionalProperties": { "$ref": "#/definitions/FileChange" } }, "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": { "description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility with older senders.", "default": "", "type": "string" }, "type": { "type": "string", "enum": [ "apply_patch_approval_request" ], "title": "ApplyPatchApprovalRequestEventMsgType" } }, "title": "ApplyPatchApprovalRequestEventMsg" }, { "description": "Notification advising the user that something they are using has been deprecated and should be phased out.", "type": "object", "required": [ "summary", "type" ], "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": { "type": "string", "enum": [ "deprecation_notice" ], "title": "DeprecationNoticeEventMsgType" } }, "title": "DeprecationNoticeEventMsg" }, { "type": "object", "required": [ "message", "type" ], "properties": { "message": { "type": "string" }, "type": { "type": "string", "enum": [ "background_event" ], "title": "BackgroundEventEventMsgType" } }, "title": "BackgroundEventEventMsg" }, { "type": "object", "required": [ "type" ], "properties": { "message": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "undo_started" ], "title": "UndoStartedEventMsgType" } }, "title": "UndoStartedEventMsg" }, { "type": "object", "required": [ "success", "type" ], "properties": { "message": { "type": [ "string", "null" ] }, "success": { "type": "boolean" }, "type": { "type": "string", "enum": [ "undo_completed" ], "title": "UndoCompletedEventMsgType" } }, "title": "UndoCompletedEventMsg" }, { "description": "Notification that a model stream experienced an error or disconnect and the system is handling it (e.g., retrying with backoff).", "type": "object", "required": [ "message", "type" ], "properties": { "additional_details": { "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).", "default": null, "type": [ "string", "null" ] }, "codex_error_info": { "default": null, "anyOf": [ { "$ref": "#/definitions/v2/CodexErrorInfo" }, { "type": "null" } ] }, "message": { "type": "string" }, "type": { "type": "string", "enum": [ "stream_error" ], "title": "StreamErrorEventMsgType" } }, "title": "StreamErrorEventMsg" }, { "description": "Notification that the agent is about to apply a code patch. Mirrors `ExecCommandBegin` so front‑ends can show progress indicators.", "type": "object", "required": [ "auto_approved", "call_id", "changes", "type" ], "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": { "description": "The changes to be applied.", "type": "object", "additionalProperties": { "$ref": "#/definitions/FileChange" } }, "turn_id": { "description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility.", "default": "", "type": "string" }, "type": { "type": "string", "enum": [ "patch_apply_begin" ], "title": "PatchApplyBeginEventMsgType" } }, "title": "PatchApplyBeginEventMsg" }, { "description": "Notification that a patch application has finished.", "type": "object", "required": [ "call_id", "stderr", "stdout", "success", "type" ], "properties": { "call_id": { "description": "Identifier for the PatchApplyBegin that finished.", "type": "string" }, "changes": { "description": "The changes that were applied (mirrors PatchApplyBeginEvent::changes).", "default": {}, "type": "object", "additionalProperties": { "$ref": "#/definitions/FileChange" } }, "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": { "description": "Turn ID that this patch belongs to. Uses `#[serde(default)]` for backwards compatibility.", "default": "", "type": "string" }, "type": { "type": "string", "enum": [ "patch_apply_end" ], "title": "PatchApplyEndEventMsgType" } }, "title": "PatchApplyEndEventMsg" }, { "type": "object", "required": [ "type", "unified_diff" ], "properties": { "type": { "type": "string", "enum": [ "turn_diff" ], "title": "TurnDiffEventMsgType" }, "unified_diff": { "type": "string" } }, "title": "TurnDiffEventMsg" }, { "description": "Response to GetHistoryEntryRequest.", "type": "object", "required": [ "log_id", "offset", "type" ], "properties": { "entry": { "description": "The entry at the requested offset, if available and parseable.", "anyOf": [ { "$ref": "#/definitions/HistoryEntry" }, { "type": "null" } ] }, "log_id": { "type": "integer", "format": "uint64", "minimum": 0 }, "offset": { "type": "integer", "format": "uint", "minimum": 0 }, "type": { "type": "string", "enum": [ "get_history_entry_response" ], "title": "GetHistoryEntryResponseEventMsgType" } }, "title": "GetHistoryEntryResponseEventMsg" }, { "description": "List of MCP tools available to the agent.", "type": "object", "required": [ "auth_statuses", "resource_templates", "resources", "tools", "type" ], "properties": { "auth_statuses": { "description": "Authentication status for each configured MCP server.", "type": "object", "additionalProperties": { "$ref": "#/definitions/v2/McpAuthStatus" } }, "resource_templates": { "description": "Known resource templates grouped by server name.", "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/definitions/v2/ResourceTemplate" } } }, "resources": { "description": "Known resources grouped by server name.", "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/definitions/v2/Resource" } } }, "tools": { "description": "Fully qualified tool name -> tool definition.", "type": "object", "additionalProperties": { "$ref": "#/definitions/v2/Tool" } }, "type": { "type": "string", "enum": [ "mcp_list_tools_response" ], "title": "McpListToolsResponseEventMsgType" } }, "title": "McpListToolsResponseEventMsg" }, { "description": "List of custom prompts available to the agent.", "type": "object", "required": [ "custom_prompts", "type" ], "properties": { "custom_prompts": { "type": "array", "items": { "$ref": "#/definitions/CustomPrompt" } }, "type": { "type": "string", "enum": [ "list_custom_prompts_response" ], "title": "ListCustomPromptsResponseEventMsgType" } }, "title": "ListCustomPromptsResponseEventMsg" }, { "description": "List of skills available to the agent.", "type": "object", "required": [ "skills", "type" ], "properties": { "skills": { "type": "array", "items": { "$ref": "#/definitions/v2/SkillsListEntry" } }, "type": { "type": "string", "enum": [ "list_skills_response" ], "title": "ListSkillsResponseEventMsgType" } }, "title": "ListSkillsResponseEventMsg" }, { "description": "Notification that skill data may have been updated and clients may want to reload.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "skills_update_available" ], "title": "SkillsUpdateAvailableEventMsgType" } }, "title": "SkillsUpdateAvailableEventMsg" }, { "type": "object", "required": [ "plan", "type" ], "properties": { "explanation": { "default": null, "type": [ "string", "null" ] }, "plan": { "type": "array", "items": { "$ref": "#/definitions/PlanItemArg" } }, "type": { "type": "string", "enum": [ "plan_update" ], "title": "PlanUpdateEventMsgType" } }, "title": "PlanUpdateEventMsg" }, { "type": "object", "required": [ "reason", "type" ], "properties": { "reason": { "$ref": "#/definitions/TurnAbortReason" }, "type": { "type": "string", "enum": [ "turn_aborted" ], "title": "TurnAbortedEventMsgType" } }, "title": "TurnAbortedEventMsg" }, { "description": "Notification that the agent is shutting down.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "shutdown_complete" ], "title": "ShutdownCompleteEventMsgType" } }, "title": "ShutdownCompleteEventMsg" }, { "description": "Entered review mode.", "type": "object", "required": [ "target", "type" ], "properties": { "target": { "$ref": "#/definitions/v2/ReviewTarget" }, "type": { "type": "string", "enum": [ "entered_review_mode" ], "title": "EnteredReviewModeEventMsgType" }, "user_facing_hint": { "type": [ "string", "null" ] } }, "title": "EnteredReviewModeEventMsg" }, { "description": "Exited review mode with an optional final result to apply.", "type": "object", "required": [ "type" ], "properties": { "review_output": { "anyOf": [ { "$ref": "#/definitions/ReviewOutputEvent" }, { "type": "null" } ] }, "type": { "type": "string", "enum": [ "exited_review_mode" ], "title": "ExitedReviewModeEventMsgType" } }, "title": "ExitedReviewModeEventMsg" }, { "type": "object", "required": [ "item", "type" ], "properties": { "item": { "$ref": "#/definitions/v2/ResponseItem" }, "type": { "type": "string", "enum": [ "raw_response_item" ], "title": "RawResponseItemEventMsgType" } }, "title": "RawResponseItemEventMsg" }, { "type": "object", "required": [ "item", "thread_id", "turn_id", "type" ], "properties": { "item": { "$ref": "#/definitions/TurnItem" }, "thread_id": { "$ref": "#/definitions/v2/ThreadId" }, "turn_id": { "type": "string" }, "type": { "type": "string", "enum": [ "item_started" ], "title": "ItemStartedEventMsgType" } }, "title": "ItemStartedEventMsg" }, { "type": "object", "required": [ "item", "thread_id", "turn_id", "type" ], "properties": { "item": { "$ref": "#/definitions/TurnItem" }, "thread_id": { "$ref": "#/definitions/v2/ThreadId" }, "turn_id": { "type": "string" }, "type": { "type": "string", "enum": [ "item_completed" ], "title": "ItemCompletedEventMsgType" } }, "title": "ItemCompletedEventMsg" }, { "type": "object", "required": [ "delta", "item_id", "thread_id", "turn_id", "type" ], "properties": { "delta": { "type": "string" }, "item_id": { "type": "string" }, "thread_id": { "type": "string" }, "turn_id": { "type": "string" }, "type": { "type": "string", "enum": [ "agent_message_content_delta" ], "title": "AgentMessageContentDeltaEventMsgType" } }, "title": "AgentMessageContentDeltaEventMsg" }, { "type": "object", "required": [ "delta", "item_id", "thread_id", "turn_id", "type" ], "properties": { "delta": { "type": "string" }, "item_id": { "type": "string" }, "summary_index": { "default": 0, "type": "integer", "format": "int64" }, "thread_id": { "type": "string" }, "turn_id": { "type": "string" }, "type": { "type": "string", "enum": [ "reasoning_content_delta" ], "title": "ReasoningContentDeltaEventMsgType" } }, "title": "ReasoningContentDeltaEventMsg" }, { "type": "object", "required": [ "delta", "item_id", "thread_id", "turn_id", "type" ], "properties": { "content_index": { "default": 0, "type": "integer", "format": "int64" }, "delta": { "type": "string" }, "item_id": { "type": "string" }, "thread_id": { "type": "string" }, "turn_id": { "type": "string" }, "type": { "type": "string", "enum": [ "reasoning_raw_content_delta" ], "title": "ReasoningRawContentDeltaEventMsgType" } }, "title": "ReasoningRawContentDeltaEventMsg" }, { "description": "Collab interaction: agent spawn begin.", "type": "object", "required": [ "call_id", "prompt", "sender_thread_id", "type" ], "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": { "description": "Thread ID of the sender.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "type": { "type": "string", "enum": [ "collab_agent_spawn_begin" ], "title": "CollabAgentSpawnBeginEventMsgType" } }, "title": "CollabAgentSpawnBeginEventMsg" }, { "description": "Collab interaction: agent spawn end.", "type": "object", "required": [ "call_id", "prompt", "sender_thread_id", "status", "type" ], "properties": { "call_id": { "description": "Identifier for the collab tool call.", "type": "string" }, "new_thread_id": { "description": "Thread ID of the newly spawned agent, if it was created.", "anyOf": [ { "$ref": "#/definitions/v2/ThreadId" }, { "type": "null" } ] }, "prompt": { "description": "Initial prompt sent to the agent. Can be empty to prevent CoT leaking at the beginning.", "type": "string" }, "sender_thread_id": { "description": "Thread ID of the sender.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "status": { "description": "Last known status of the new agent reported to the sender agent.", "allOf": [ { "$ref": "#/definitions/AgentStatus" } ] }, "type": { "type": "string", "enum": [ "collab_agent_spawn_end" ], "title": "CollabAgentSpawnEndEventMsgType" } }, "title": "CollabAgentSpawnEndEventMsg" }, { "description": "Collab interaction: agent interaction begin.", "type": "object", "required": [ "call_id", "prompt", "receiver_thread_id", "sender_thread_id", "type" ], "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": { "description": "Thread ID of the receiver.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "sender_thread_id": { "description": "Thread ID of the sender.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "type": { "type": "string", "enum": [ "collab_agent_interaction_begin" ], "title": "CollabAgentInteractionBeginEventMsgType" } }, "title": "CollabAgentInteractionBeginEventMsg" }, { "description": "Collab interaction: agent interaction end.", "type": "object", "required": [ "call_id", "prompt", "receiver_thread_id", "sender_thread_id", "status", "type" ], "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": { "description": "Thread ID of the receiver.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "sender_thread_id": { "description": "Thread ID of the sender.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "status": { "description": "Last known status of the receiver agent reported to the sender agent.", "allOf": [ { "$ref": "#/definitions/AgentStatus" } ] }, "type": { "type": "string", "enum": [ "collab_agent_interaction_end" ], "title": "CollabAgentInteractionEndEventMsgType" } }, "title": "CollabAgentInteractionEndEventMsg" }, { "description": "Collab interaction: waiting begin.", "type": "object", "required": [ "call_id", "receiver_thread_ids", "sender_thread_id", "type" ], "properties": { "call_id": { "description": "ID of the waiting call.", "type": "string" }, "receiver_thread_ids": { "description": "Thread ID of the receivers.", "type": "array", "items": { "$ref": "#/definitions/v2/ThreadId" } }, "sender_thread_id": { "description": "Thread ID of the sender.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "type": { "type": "string", "enum": [ "collab_waiting_begin" ], "title": "CollabWaitingBeginEventMsgType" } }, "title": "CollabWaitingBeginEventMsg" }, { "description": "Collab interaction: waiting end.", "type": "object", "required": [ "call_id", "sender_thread_id", "statuses", "type" ], "properties": { "call_id": { "description": "ID of the waiting call.", "type": "string" }, "sender_thread_id": { "description": "Thread ID of the sender.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "statuses": { "description": "Last known status of the receiver agents reported to the sender agent.", "type": "object", "additionalProperties": { "$ref": "#/definitions/AgentStatus" } }, "type": { "type": "string", "enum": [ "collab_waiting_end" ], "title": "CollabWaitingEndEventMsgType" } }, "title": "CollabWaitingEndEventMsg" }, { "description": "Collab interaction: close begin.", "type": "object", "required": [ "call_id", "receiver_thread_id", "sender_thread_id", "type" ], "properties": { "call_id": { "description": "Identifier for the collab tool call.", "type": "string" }, "receiver_thread_id": { "description": "Thread ID of the receiver.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "sender_thread_id": { "description": "Thread ID of the sender.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "type": { "type": "string", "enum": [ "collab_close_begin" ], "title": "CollabCloseBeginEventMsgType" } }, "title": "CollabCloseBeginEventMsg" }, { "description": "Collab interaction: close end.", "type": "object", "required": [ "call_id", "receiver_thread_id", "sender_thread_id", "status", "type" ], "properties": { "call_id": { "description": "Identifier for the collab tool call.", "type": "string" }, "receiver_thread_id": { "description": "Thread ID of the receiver.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "sender_thread_id": { "description": "Thread ID of the sender.", "allOf": [ { "$ref": "#/definitions/v2/ThreadId" } ] }, "status": { "description": "Last known status of the receiver agent reported to the sender agent before the close.", "allOf": [ { "$ref": "#/definitions/AgentStatus" } ] }, "type": { "type": "string", "enum": [ "collab_close_end" ], "title": "CollabCloseEndEventMsgType" } }, "title": "CollabCloseEndEventMsg" } ] }, "ExecCommandSource": { "type": "string", "enum": [ "agent", "user_shell", "unified_exec_startup", "unified_exec_interaction" ] }, "ExecOutputStream": { "type": "string", "enum": [ "stdout", "stderr" ] }, "HistoryEntry": { "type": "object", "required": [ "conversation_id", "text", "ts" ], "properties": { "conversation_id": { "type": "string" }, "text": { "type": "string" }, "ts": { "type": "integer", "format": "uint64", "minimum": 0 } } }, "ImageContent": { "description": "An image provided to or from an LLM.", "type": "object", "required": [ "data", "mimeType", "type" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/Annotations" }, { "type": "null" } ] }, "data": { "type": "string" }, "mimeType": { "type": "string" }, "type": { "type": "string" } } }, "McpAuthStatus": { "type": "string", "enum": [ "unsupported", "not_logged_in", "bearer_token", "o_auth" ] }, "McpInvocation": { "type": "object", "required": [ "server", "tool" ], "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" } } }, "McpStartupFailure": { "type": "object", "required": [ "error", "server" ], "properties": { "error": { "type": "string" }, "server": { "type": "string" } } }, "McpStartupStatus": { "oneOf": [ { "type": "object", "required": [ "state" ], "properties": { "state": { "type": "string", "enum": [ "starting" ] } }, "title": "StateMcpStartupStatus" }, { "type": "object", "required": [ "state" ], "properties": { "state": { "type": "string", "enum": [ "ready" ] } }, "title": "StateMcpStartupStatus2" }, { "type": "object", "required": [ "error", "state" ], "properties": { "error": { "type": "string" }, "state": { "type": "string", "enum": [ "failed" ] } } }, { "type": "object", "required": [ "state" ], "properties": { "state": { "type": "string", "enum": [ "cancelled" ] } }, "title": "StateMcpStartupStatus3" } ] }, "ParsedCommand": { "oneOf": [ { "type": "object", "required": [ "cmd", "name", "path", "type" ], "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": { "type": "string", "enum": [ "read" ], "title": "ReadParsedCommandType" } }, "title": "ReadParsedCommand" }, { "type": "object", "required": [ "cmd", "type" ], "properties": { "cmd": { "type": "string" }, "path": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "list_files" ], "title": "ListFilesParsedCommandType" } }, "title": "ListFilesParsedCommand" }, { "type": "object", "required": [ "cmd", "type" ], "properties": { "cmd": { "type": "string" }, "path": { "type": [ "string", "null" ] }, "query": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "search" ], "title": "SearchParsedCommandType" } }, "title": "SearchParsedCommand" }, { "type": "object", "required": [ "cmd", "type" ], "properties": { "cmd": { "type": "string" }, "type": { "type": "string", "enum": [ "unknown" ], "title": "UnknownParsedCommandType" } }, "title": "UnknownParsedCommand" } ] }, "PlanItemArg": { "type": "object", "required": [ "status", "step" ], "properties": { "status": { "$ref": "#/definitions/StepStatus" }, "step": { "type": "string" } }, "additionalProperties": false }, "PlanType": { "type": "string", "enum": [ "free", "plus", "pro", "team", "business", "enterprise", "edu", "unknown" ] }, "RateLimitSnapshot": { "type": "object", "properties": { "credits": { "anyOf": [ { "$ref": "#/definitions/CreditsSnapshot" }, { "type": "null" } ] }, "plan_type": { "anyOf": [ { "$ref": "#/definitions/PlanType" }, { "type": "null" } ] }, "primary": { "anyOf": [ { "$ref": "#/definitions/RateLimitWindow" }, { "type": "null" } ] }, "secondary": { "anyOf": [ { "$ref": "#/definitions/RateLimitWindow" }, { "type": "null" } ] } } }, "RateLimitWindow": { "type": "object", "required": [ "used_percent" ], "properties": { "resets_at": { "description": "Unix timestamp (seconds since epoch) when the window resets.", "type": [ "integer", "null" ], "format": "int64" }, "used_percent": { "description": "Percentage (0-100) of the window that has been consumed.", "type": "number", "format": "double" }, "window_minutes": { "description": "Rolling window duration, in minutes.", "type": [ "integer", "null" ], "format": "int64" } } }, "RequestUserInputQuestion": { "type": "object", "required": [ "header", "id", "question" ], "properties": { "header": { "type": "string" }, "id": { "type": "string" }, "options": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/RequestUserInputQuestionOption" } }, "question": { "type": "string" } } }, "RequestUserInputQuestionOption": { "type": "object", "required": [ "description", "label" ], "properties": { "description": { "type": "string" }, "label": { "type": "string" } } }, "Resource": { "description": "A known resource that the server is capable of reading.", "type": "object", "required": [ "name", "uri" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/Annotations" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "mimeType": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "size": { "type": [ "integer", "null" ], "format": "int64" }, "title": { "type": [ "string", "null" ] }, "uri": { "type": "string" } } }, "ResourceLink": { "description": "A resource that the server is capable of reading, included in a prompt or tool call result.\n\nNote: resource links returned by tools are not guaranteed to appear in the results of `resources/list` requests.", "type": "object", "required": [ "name", "type", "uri" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/Annotations" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "mimeType": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "size": { "type": [ "integer", "null" ], "format": "int64" }, "title": { "type": [ "string", "null" ] }, "type": { "type": "string" }, "uri": { "type": "string" } } }, "ResourceTemplate": { "description": "A template description for resources available on the server.", "type": "object", "required": [ "name", "uriTemplate" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/Annotations" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "mimeType": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "uriTemplate": { "type": "string" } } }, "Result_of_CallToolResult_or_String": { "oneOf": [ { "type": "object", "required": [ "Ok" ], "properties": { "Ok": { "$ref": "#/definitions/CallToolResult" } }, "title": "OkResult_of_CallToolResult_or_String" }, { "type": "object", "required": [ "Err" ], "properties": { "Err": { "type": "string" } }, "title": "ErrResult_of_CallToolResult_or_String" } ] }, "ReviewCodeLocation": { "description": "Location of the code related to a review finding.", "type": "object", "required": [ "absolute_file_path", "line_range" ], "properties": { "absolute_file_path": { "type": "string" }, "line_range": { "$ref": "#/definitions/ReviewLineRange" } } }, "ReviewFinding": { "description": "A single review finding describing an observed issue or recommendation.", "type": "object", "required": [ "body", "code_location", "confidence_score", "priority", "title" ], "properties": { "body": { "type": "string" }, "code_location": { "$ref": "#/definitions/ReviewCodeLocation" }, "confidence_score": { "type": "number", "format": "float" }, "priority": { "type": "integer", "format": "int32" }, "title": { "type": "string" } } }, "ReviewLineRange": { "description": "Inclusive line range in a file associated with the finding.", "type": "object", "required": [ "end", "start" ], "properties": { "end": { "type": "integer", "format": "uint32", "minimum": 0 }, "start": { "type": "integer", "format": "uint32", "minimum": 0 } } }, "ReviewOutputEvent": { "description": "Structured review result produced by a child review session.", "type": "object", "required": [ "findings", "overall_confidence_score", "overall_correctness", "overall_explanation" ], "properties": { "findings": { "type": "array", "items": { "$ref": "#/definitions/ReviewFinding" } }, "overall_confidence_score": { "type": "number", "format": "float" }, "overall_correctness": { "type": "string" }, "overall_explanation": { "type": "string" } } }, "Role": { "description": "The sender or recipient of messages and data in a conversation.", "type": "string", "enum": [ "assistant", "user" ] }, "SkillErrorInfo": { "type": "object", "required": [ "message", "path" ], "properties": { "message": { "type": "string" }, "path": { "type": "string" } } }, "SkillInterface": { "type": "object", "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" ] } } }, "SkillMetadata": { "type": "object", "required": [ "description", "enabled", "name", "path", "scope" ], "properties": { "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.toml interface.short_description.", "type": [ "string", "null" ] } } }, "SkillScope": { "type": "string", "enum": [ "user", "repo", "system", "admin" ] }, "SkillsListEntry": { "type": "object", "required": [ "cwd", "errors", "skills" ], "properties": { "cwd": { "type": "string" }, "errors": { "type": "array", "items": { "$ref": "#/definitions/SkillErrorInfo" } }, "skills": { "type": "array", "items": { "$ref": "#/definitions/SkillMetadata" } } } }, "StepStatus": { "type": "string", "enum": [ "pending", "in_progress", "completed" ] }, "TextContent": { "description": "Text provided to or from an LLM.", "type": "object", "required": [ "text", "type" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/Annotations" }, { "type": "null" } ] }, "text": { "type": "string" }, "type": { "type": "string" } } }, "TextResourceContents": { "type": "object", "required": [ "text", "uri" ], "properties": { "mimeType": { "type": [ "string", "null" ] }, "text": { "type": "string" }, "uri": { "type": "string" } } }, "TokenUsage": { "type": "object", "required": [ "cached_input_tokens", "input_tokens", "output_tokens", "reasoning_output_tokens", "total_tokens" ], "properties": { "cached_input_tokens": { "type": "integer", "format": "int64" }, "input_tokens": { "type": "integer", "format": "int64" }, "output_tokens": { "type": "integer", "format": "int64" }, "reasoning_output_tokens": { "type": "integer", "format": "int64" }, "total_tokens": { "type": "integer", "format": "int64" } } }, "TokenUsageInfo": { "type": "object", "required": [ "last_token_usage", "total_token_usage" ], "properties": { "last_token_usage": { "$ref": "#/definitions/TokenUsage" }, "model_context_window": { "type": [ "integer", "null" ], "format": "int64" }, "total_token_usage": { "$ref": "#/definitions/TokenUsage" } } }, "Tool": { "description": "Definition for a tool the client can call.", "type": "object", "required": [ "inputSchema", "name" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/ToolAnnotations" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "inputSchema": { "$ref": "#/definitions/ToolInputSchema" }, "name": { "type": "string" }, "outputSchema": { "anyOf": [ { "$ref": "#/definitions/ToolOutputSchema" }, { "type": "null" } ] }, "title": { "type": [ "string", "null" ] } } }, "ToolAnnotations": { "description": "Additional properties describing a Tool to clients.\n\nNOTE: all properties in ToolAnnotations are **hints**. They are not guaranteed to provide a faithful description of tool behavior (including descriptive properties like `title`).\n\nClients should never make tool use decisions based on ToolAnnotations received from untrusted servers.", "type": "object", "properties": { "destructiveHint": { "type": [ "boolean", "null" ] }, "idempotentHint": { "type": [ "boolean", "null" ] }, "openWorldHint": { "type": [ "boolean", "null" ] }, "readOnlyHint": { "type": [ "boolean", "null" ] }, "title": { "type": [ "string", "null" ] } } }, "ToolInputSchema": { "description": "A JSON Schema object defining the expected parameters for the tool.", "type": "object", "properties": { "properties": true, "required": { "type": [ "array", "null" ], "items": { "type": "string" } }, "type": { "default": "object", "type": "string" } } }, "ToolOutputSchema": { "description": "An optional JSON Schema object defining the structure of the tool's output returned in the structuredContent field of a CallToolResult.", "type": "object", "properties": { "properties": true, "required": { "type": [ "array", "null" ], "items": { "type": "string" } }, "type": { "default": "object", "type": "string" } } }, "TurnAbortReason": { "type": "string", "enum": [ "interrupted", "replaced", "review_ended" ] }, "TurnItem": { "oneOf": [ { "type": "object", "required": [ "content", "id", "type" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/UserInput" } }, "id": { "type": "string" }, "type": { "type": "string", "enum": [ "UserMessage" ], "title": "UserMessageTurnItemType" } }, "title": "UserMessageTurnItem" }, { "type": "object", "required": [ "content", "id", "type" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/AgentMessageContent" } }, "id": { "type": "string" }, "type": { "type": "string", "enum": [ "AgentMessage" ], "title": "AgentMessageTurnItemType" } }, "title": "AgentMessageTurnItem" }, { "type": "object", "required": [ "id", "summary_text", "type" ], "properties": { "id": { "type": "string" }, "raw_content": { "default": [], "type": "array", "items": { "type": "string" } }, "summary_text": { "type": "array", "items": { "type": "string" } }, "type": { "type": "string", "enum": [ "Reasoning" ], "title": "ReasoningTurnItemType" } }, "title": "ReasoningTurnItem" }, { "type": "object", "required": [ "id", "query", "type" ], "properties": { "id": { "type": "string" }, "query": { "type": "string" }, "type": { "type": "string", "enum": [ "WebSearch" ], "title": "WebSearchTurnItemType" } }, "title": "WebSearchTurnItem" } ] }, "FileChangeRequestApprovalParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "FileChangeRequestApprovalParams", "type": "object", "required": [ "itemId", "threadId", "turnId" ], "properties": { "grantRoot": { "description": "[UNSTABLE] When set, the agent is asking the user to allow writes under this root for the remainder of the session (unclear if this is honored today).", "type": [ "string", "null" ] }, "itemId": { "type": "string" }, "reason": { "description": "Optional explanatory reason (e.g. request for extra write access).", "type": [ "string", "null" ] }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "FileChangeApprovalDecision": { "oneOf": [ { "description": "User approved the file changes.", "type": "string", "enum": [ "accept" ] }, { "description": "User approved the file changes and future changes to the same files should run without prompting.", "type": "string", "enum": [ "acceptForSession" ] }, { "description": "User denied the file changes. The agent will continue the turn.", "type": "string", "enum": [ "decline" ] }, { "description": "User denied the file changes. The turn will also be immediately interrupted.", "type": "string", "enum": [ "cancel" ] } ] }, "FuzzyFileSearchResult": { "description": "Superset of [`codex_file_search::FileMatch`]", "type": "object", "required": [ "file_name", "path", "root", "score" ], "properties": { "file_name": { "type": "string" }, "indices": { "type": [ "array", "null" ], "items": { "type": "integer", "format": "uint32", "minimum": 0 } }, "path": { "type": "string" }, "root": { "type": "string" }, "score": { "type": "integer", "format": "uint32", "minimum": 0 } } }, "JSONRPCErrorError": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "JSONRPCErrorError", "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "integer", "format": "int64" }, "data": true, "message": { "type": "string" } } }, "JSONRPCError": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "JSONRPCError", "description": "A response to a request that indicates an error occurred.", "type": "object", "required": [ "error", "id" ], "properties": { "error": { "$ref": "#/definitions/JSONRPCErrorError" }, "id": { "$ref": "#/definitions/RequestId" } } }, "JSONRPCNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "JSONRPCNotification", "description": "A notification which does not expect a response.", "type": "object", "required": [ "method" ], "properties": { "method": { "type": "string" }, "params": true } }, "JSONRPCRequest": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "JSONRPCRequest", "description": "A request that expects a response.", "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string" }, "params": true } }, "JSONRPCResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "JSONRPCResponse", "description": "A successful (non-error) response to a request.", "type": "object", "required": [ "id", "result" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "result": true } }, "AccountLoginCompletedNotification": { "type": "object", "required": [ "success" ], "properties": { "error": { "type": [ "string", "null" ] }, "loginId": { "type": [ "string", "null" ] }, "success": { "type": "boolean" } } }, "AccountRateLimitsUpdatedNotification": { "type": "object", "required": [ "rateLimits" ], "properties": { "rateLimits": { "$ref": "#/definitions/RateLimitSnapshot" } } }, "AccountUpdatedNotification": { "type": "object", "properties": { "authMode": { "anyOf": [ { "$ref": "#/definitions/AuthMode" }, { "type": "null" } ] } } }, "AgentMessageDeltaNotification": { "type": "object", "required": [ "delta", "itemId", "threadId", "turnId" ], "properties": { "delta": { "type": "string" }, "itemId": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "AuthMode": { "type": "string", "enum": [ "apikey", "chatgpt" ] }, "AuthStatusChangeNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "AuthStatusChangeNotification", "description": "Deprecated notification. Use AccountUpdatedNotification instead.", "type": "object", "properties": { "authMethod": { "anyOf": [ { "$ref": "#/definitions/AuthMode" }, { "type": "null" } ] } } }, "ByteRange2": { "type": "object", "required": [ "end", "start" ], "properties": { "end": { "description": "End byte offset (exclusive) within the UTF-8 text buffer.", "type": "integer", "format": "uint", "minimum": 0 }, "start": { "description": "Start byte offset (inclusive) within the UTF-8 text buffer.", "type": "integer", "format": "uint", "minimum": 0 } } }, "CodexErrorInfo2": { "description": "Codex errors that we expose to clients.", "oneOf": [ { "type": "string", "enum": [ "context_window_exceeded", "usage_limit_exceeded", "internal_server_error", "unauthorized", "bad_request", "sandbox_error", "thread_rollback_failed", "other" ] }, { "type": "object", "required": [ "http_connection_failed" ], "properties": { "http_connection_failed": { "type": "object", "properties": { "http_status_code": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "HttpConnectionFailedCodexErrorInfo2" }, { "description": "Failed to connect to the response SSE stream.", "type": "object", "required": [ "response_stream_connection_failed" ], "properties": { "response_stream_connection_failed": { "type": "object", "properties": { "http_status_code": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseStreamConnectionFailedCodexErrorInfo2" }, { "description": "The response SSE stream disconnected in the middle of a turnbefore completion.", "type": "object", "required": [ "response_stream_disconnected" ], "properties": { "response_stream_disconnected": { "type": "object", "properties": { "http_status_code": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseStreamDisconnectedCodexErrorInfo2" }, { "description": "Reached the retry limit for responses.", "type": "object", "required": [ "response_too_many_failed_attempts" ], "properties": { "response_too_many_failed_attempts": { "type": "object", "properties": { "http_status_code": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseTooManyFailedAttemptsCodexErrorInfo2" } ] }, "CollabAgentState": { "type": "object", "required": [ "status" ], "properties": { "message": { "type": [ "string", "null" ] }, "status": { "$ref": "#/definitions/CollabAgentStatus" } } }, "CollabAgentStatus": { "type": "string", "enum": [ "pendingInit", "running", "completed", "errored", "shutdown", "notFound" ] }, "CollabAgentTool": { "type": "string", "enum": [ "spawnAgent", "sendInput", "wait", "closeAgent" ] }, "CollabAgentToolCallStatus": { "type": "string", "enum": [ "inProgress", "completed", "failed" ] }, "CommandExecutionOutputDeltaNotification": { "type": "object", "required": [ "delta", "itemId", "threadId", "turnId" ], "properties": { "delta": { "type": "string" }, "itemId": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "CommandExecutionStatus": { "type": "string", "enum": [ "inProgress", "completed", "failed", "declined" ] }, "ConfigWarningNotification": { "type": "object", "required": [ "summary" ], "properties": { "details": { "description": "Optional extra guidance or error details.", "type": [ "string", "null" ] }, "path": { "description": "Optional path to the config file that triggered the warning.", "type": [ "string", "null" ] }, "range": { "description": "Optional range for the error location inside the config file.", "anyOf": [ { "$ref": "#/definitions/TextRange" }, { "type": "null" } ] }, "summary": { "description": "Concise summary of the warning.", "type": "string" } } }, "ContextCompactedNotification": { "type": "object", "required": [ "threadId", "turnId" ], "properties": { "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "CreditsSnapshot2": { "type": "object", "required": [ "has_credits", "unlimited" ], "properties": { "balance": { "type": [ "string", "null" ] }, "has_credits": { "type": "boolean" }, "unlimited": { "type": "boolean" } } }, "DeprecationNoticeNotification": { "type": "object", "required": [ "summary" ], "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" } } }, "ErrorNotification": { "type": "object", "required": [ "error", "threadId", "turnId", "willRetry" ], "properties": { "error": { "$ref": "#/definitions/TurnError" }, "threadId": { "type": "string" }, "turnId": { "type": "string" }, "willRetry": { "type": "boolean" } } }, "FileChangeOutputDeltaNotification": { "type": "object", "required": [ "delta", "itemId", "threadId", "turnId" ], "properties": { "delta": { "type": "string" }, "itemId": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "FileUpdateChange": { "type": "object", "required": [ "diff", "kind", "path" ], "properties": { "diff": { "type": "string" }, "kind": { "$ref": "#/definitions/PatchChangeKind" }, "path": { "type": "string" } } }, "GitInfo": { "type": "object", "properties": { "branch": { "type": [ "string", "null" ] }, "originUrl": { "type": [ "string", "null" ] }, "sha": { "type": [ "string", "null" ] } } }, "ItemCompletedNotification": { "type": "object", "required": [ "item", "threadId", "turnId" ], "properties": { "item": { "$ref": "#/definitions/ThreadItem" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ItemStartedNotification": { "type": "object", "required": [ "item", "threadId", "turnId" ], "properties": { "item": { "$ref": "#/definitions/ThreadItem" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "LoginChatGptCompleteNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "LoginChatGptCompleteNotification", "description": "Deprecated in favor of AccountLoginCompletedNotification.", "type": "object", "required": [ "loginId", "success" ], "properties": { "error": { "type": [ "string", "null" ] }, "loginId": { "type": "string" }, "success": { "type": "boolean" } } }, "McpServerOauthLoginCompletedNotification": { "type": "object", "required": [ "name", "success" ], "properties": { "error": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "success": { "type": "boolean" } } }, "McpToolCallError": { "type": "object", "required": [ "message" ], "properties": { "message": { "type": "string" } } }, "McpToolCallProgressNotification": { "type": "object", "required": [ "itemId", "message", "threadId", "turnId" ], "properties": { "itemId": { "type": "string" }, "message": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "McpToolCallResult": { "type": "object", "required": [ "content" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/ContentBlock" } }, "structuredContent": true } }, "McpToolCallStatus": { "type": "string", "enum": [ "inProgress", "completed", "failed" ] }, "PatchApplyStatus": { "type": "string", "enum": [ "inProgress", "completed", "failed", "declined" ] }, "PatchChangeKind": { "oneOf": [ { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "add" ], "title": "AddPatchChangeKindType" } }, "title": "AddPatchChangeKind" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "delete" ], "title": "DeletePatchChangeKindType" } }, "title": "DeletePatchChangeKind" }, { "type": "object", "required": [ "type" ], "properties": { "move_path": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "update" ], "title": "UpdatePatchChangeKindType" } }, "title": "UpdatePatchChangeKind" } ] }, "RateLimitSnapshot2": { "type": "object", "properties": { "credits": { "anyOf": [ { "$ref": "#/definitions/CreditsSnapshot2" }, { "type": "null" } ] }, "plan_type": { "anyOf": [ { "$ref": "#/definitions/PlanType" }, { "type": "null" } ] }, "primary": { "anyOf": [ { "$ref": "#/definitions/RateLimitWindow2" }, { "type": "null" } ] }, "secondary": { "anyOf": [ { "$ref": "#/definitions/RateLimitWindow2" }, { "type": "null" } ] } } }, "RateLimitWindow2": { "type": "object", "required": [ "used_percent" ], "properties": { "resets_at": { "description": "Unix timestamp (seconds since epoch) when the window resets.", "type": [ "integer", "null" ], "format": "int64" }, "used_percent": { "description": "Percentage (0-100) of the window that has been consumed.", "type": "number", "format": "double" }, "window_minutes": { "description": "Rolling window duration, in minutes.", "type": [ "integer", "null" ], "format": "int64" } } }, "RawResponseItemCompletedNotification": { "type": "object", "required": [ "item", "threadId", "turnId" ], "properties": { "item": { "$ref": "#/definitions/ResponseItem" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ReasoningSummaryPartAddedNotification": { "type": "object", "required": [ "itemId", "summaryIndex", "threadId", "turnId" ], "properties": { "itemId": { "type": "string" }, "summaryIndex": { "type": "integer", "format": "int64" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ReasoningSummaryTextDeltaNotification": { "type": "object", "required": [ "delta", "itemId", "summaryIndex", "threadId", "turnId" ], "properties": { "delta": { "type": "string" }, "itemId": { "type": "string" }, "summaryIndex": { "type": "integer", "format": "int64" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ReasoningTextDeltaNotification": { "type": "object", "required": [ "contentIndex", "delta", "itemId", "threadId", "turnId" ], "properties": { "contentIndex": { "type": "integer", "format": "int64" }, "delta": { "type": "string" }, "itemId": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "SessionConfiguredNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SessionConfiguredNotification", "type": "object", "required": [ "historyEntryCount", "historyLogId", "model", "rolloutPath", "sessionId" ], "properties": { "historyEntryCount": { "type": "integer", "format": "uint", "minimum": 0 }, "historyLogId": { "type": "integer", "format": "uint64", "minimum": 0 }, "initialMessages": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/EventMsg" } }, "model": { "type": "string" }, "reasoningEffort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] }, "rolloutPath": { "type": "string" }, "sessionId": { "$ref": "#/definitions/ThreadId" } } }, "SessionSource": { "oneOf": [ { "type": "string", "enum": [ "cli", "vscode", "exec", "mcp", "unknown" ] }, { "type": "object", "required": [ "subagent" ], "properties": { "subagent": { "$ref": "#/definitions/SubAgentSource" } }, "additionalProperties": false, "title": "SubagentSessionSource" } ] }, "SubAgentSource": { "oneOf": [ { "type": "string", "enum": [ "review", "compact" ] }, { "type": "object", "required": [ "thread_spawn" ], "properties": { "thread_spawn": { "type": "object", "required": [ "depth", "parent_thread_id" ], "properties": { "depth": { "type": "integer", "format": "int32" }, "parent_thread_id": { "$ref": "#/definitions/ThreadId" } } } }, "additionalProperties": false, "title": "ThreadSpawnSubAgentSource" }, { "type": "object", "required": [ "other" ], "properties": { "other": { "type": "string" } }, "additionalProperties": false, "title": "OtherSubAgentSource" } ] }, "TerminalInteractionNotification": { "type": "object", "required": [ "itemId", "processId", "stdin", "threadId", "turnId" ], "properties": { "itemId": { "type": "string" }, "processId": { "type": "string" }, "stdin": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "TextElement2": { "type": "object", "required": [ "byte_range" ], "properties": { "byte_range": { "description": "Byte range in the parent `text` buffer that this element occupies.", "allOf": [ { "$ref": "#/definitions/ByteRange2" } ] }, "placeholder": { "description": "Optional human-readable placeholder for the element, displayed in the UI.", "type": [ "string", "null" ] } } }, "TextPosition": { "type": "object", "required": [ "column", "line" ], "properties": { "column": { "description": "1-based column number (in Unicode scalar values).", "type": "integer", "format": "uint", "minimum": 0 }, "line": { "description": "1-based line number.", "type": "integer", "format": "uint", "minimum": 0 } } }, "TextRange": { "type": "object", "required": [ "end", "start" ], "properties": { "end": { "$ref": "#/definitions/TextPosition" }, "start": { "$ref": "#/definitions/TextPosition" } } }, "Thread": { "type": "object", "required": [ "cliVersion", "createdAt", "cwd", "id", "modelProvider", "preview", "source", "turns", "updatedAt" ], "properties": { "cliVersion": { "description": "Version of the CLI that created the thread.", "type": "string" }, "createdAt": { "description": "Unix timestamp (in seconds) when the thread was created.", "type": "integer", "format": "int64" }, "cwd": { "description": "Working directory captured for the thread.", "type": "string" }, "gitInfo": { "description": "Optional Git metadata captured when the thread was created.", "anyOf": [ { "$ref": "#/definitions/GitInfo" }, { "type": "null" } ] }, "id": { "type": "string" }, "modelProvider": { "description": "Model provider used for this thread (for example, 'openai').", "type": "string" }, "path": { "description": "[UNSTABLE] Path to the thread on disk.", "type": [ "string", "null" ] }, "preview": { "description": "Usually the first user message in the thread, if available.", "type": "string" }, "source": { "description": "Origin of the thread (CLI, VSCode, codex exec, codex app-server, etc.).", "allOf": [ { "$ref": "#/definitions/SessionSource" } ] }, "turns": { "description": "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", "type": "array", "items": { "$ref": "#/definitions/Turn" } }, "updatedAt": { "description": "Unix timestamp (in seconds) when the thread was last updated.", "type": "integer", "format": "int64" } } }, "ThreadItem": { "oneOf": [ { "type": "object", "required": [ "content", "id", "type" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/UserInput" } }, "id": { "type": "string" }, "type": { "type": "string", "enum": [ "userMessage" ], "title": "UserMessageThreadItemType" } }, "title": "UserMessageThreadItem" }, { "type": "object", "required": [ "id", "text", "type" ], "properties": { "id": { "type": "string" }, "text": { "type": "string" }, "type": { "type": "string", "enum": [ "agentMessage" ], "title": "AgentMessageThreadItemType" } }, "title": "AgentMessageThreadItem" }, { "type": "object", "required": [ "id", "type" ], "properties": { "content": { "default": [], "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "summary": { "default": [], "type": "array", "items": { "type": "string" } }, "type": { "type": "string", "enum": [ "reasoning" ], "title": "ReasoningThreadItemType" } }, "title": "ReasoningThreadItem" }, { "type": "object", "required": [ "command", "commandActions", "cwd", "id", "status", "type" ], "properties": { "aggregatedOutput": { "description": "The command's output, aggregated from stdout and stderr.", "type": [ "string", "null" ] }, "command": { "description": "The command to be executed.", "type": "string" }, "commandActions": { "description": "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", "type": "array", "items": { "$ref": "#/definitions/CommandAction" } }, "cwd": { "description": "The command's working directory.", "type": "string" }, "durationMs": { "description": "The duration of the command execution in milliseconds.", "type": [ "integer", "null" ], "format": "int64" }, "exitCode": { "description": "The command's exit code.", "type": [ "integer", "null" ], "format": "int32" }, "id": { "type": "string" }, "processId": { "description": "Identifier for the underlying PTY process (when available).", "type": [ "string", "null" ] }, "status": { "$ref": "#/definitions/CommandExecutionStatus" }, "type": { "type": "string", "enum": [ "commandExecution" ], "title": "CommandExecutionThreadItemType" } }, "title": "CommandExecutionThreadItem" }, { "type": "object", "required": [ "changes", "id", "status", "type" ], "properties": { "changes": { "type": "array", "items": { "$ref": "#/definitions/FileUpdateChange" } }, "id": { "type": "string" }, "status": { "$ref": "#/definitions/PatchApplyStatus" }, "type": { "type": "string", "enum": [ "fileChange" ], "title": "FileChangeThreadItemType" } }, "title": "FileChangeThreadItem" }, { "type": "object", "required": [ "arguments", "id", "server", "status", "tool", "type" ], "properties": { "arguments": true, "durationMs": { "description": "The duration of the MCP tool call in milliseconds.", "type": [ "integer", "null" ], "format": "int64" }, "error": { "anyOf": [ { "$ref": "#/definitions/McpToolCallError" }, { "type": "null" } ] }, "id": { "type": "string" }, "result": { "anyOf": [ { "$ref": "#/definitions/McpToolCallResult" }, { "type": "null" } ] }, "server": { "type": "string" }, "status": { "$ref": "#/definitions/McpToolCallStatus" }, "tool": { "type": "string" }, "type": { "type": "string", "enum": [ "mcpToolCall" ], "title": "McpToolCallThreadItemType" } }, "title": "McpToolCallThreadItem" }, { "type": "object", "required": [ "agentsStates", "id", "receiverThreadIds", "senderThreadId", "status", "tool", "type" ], "properties": { "agentsStates": { "description": "Last known status of the target agents, when available.", "type": "object", "additionalProperties": { "$ref": "#/definitions/CollabAgentState" } }, "id": { "description": "Unique identifier for this collab tool call.", "type": "string" }, "prompt": { "description": "Prompt text sent as part of the collab tool call, when available.", "type": [ "string", "null" ] }, "receiverThreadIds": { "description": "Thread ID of the receiving agent, when applicable. In case of spawn operation, this corresponds to the newly spawned agent.", "type": "array", "items": { "type": "string" } }, "senderThreadId": { "description": "Thread ID of the agent issuing the collab request.", "type": "string" }, "status": { "description": "Current status of the collab tool call.", "allOf": [ { "$ref": "#/definitions/CollabAgentToolCallStatus" } ] }, "tool": { "description": "Name of the collab tool that was invoked.", "allOf": [ { "$ref": "#/definitions/CollabAgentTool" } ] }, "type": { "type": "string", "enum": [ "collabAgentToolCall" ], "title": "CollabAgentToolCallThreadItemType" } }, "title": "CollabAgentToolCallThreadItem" }, { "type": "object", "required": [ "id", "query", "type" ], "properties": { "id": { "type": "string" }, "query": { "type": "string" }, "type": { "type": "string", "enum": [ "webSearch" ], "title": "WebSearchThreadItemType" } }, "title": "WebSearchThreadItem" }, { "type": "object", "required": [ "id", "path", "type" ], "properties": { "id": { "type": "string" }, "path": { "type": "string" }, "type": { "type": "string", "enum": [ "imageView" ], "title": "ImageViewThreadItemType" } }, "title": "ImageViewThreadItem" }, { "type": "object", "required": [ "id", "review", "type" ], "properties": { "id": { "type": "string" }, "review": { "type": "string" }, "type": { "type": "string", "enum": [ "enteredReviewMode" ], "title": "EnteredReviewModeThreadItemType" } }, "title": "EnteredReviewModeThreadItem" }, { "type": "object", "required": [ "id", "review", "type" ], "properties": { "id": { "type": "string" }, "review": { "type": "string" }, "type": { "type": "string", "enum": [ "exitedReviewMode" ], "title": "ExitedReviewModeThreadItemType" } }, "title": "ExitedReviewModeThreadItem" } ] }, "ThreadStartedNotification": { "type": "object", "required": [ "thread" ], "properties": { "thread": { "$ref": "#/definitions/Thread" } } }, "ThreadTokenUsage": { "type": "object", "required": [ "last", "total" ], "properties": { "last": { "$ref": "#/definitions/TokenUsageBreakdown" }, "modelContextWindow": { "type": [ "integer", "null" ], "format": "int64" }, "total": { "$ref": "#/definitions/TokenUsageBreakdown" } } }, "ThreadTokenUsageUpdatedNotification": { "type": "object", "required": [ "threadId", "tokenUsage", "turnId" ], "properties": { "threadId": { "type": "string" }, "tokenUsage": { "$ref": "#/definitions/ThreadTokenUsage" }, "turnId": { "type": "string" } } }, "TokenUsageBreakdown": { "type": "object", "required": [ "cachedInputTokens", "inputTokens", "outputTokens", "reasoningOutputTokens", "totalTokens" ], "properties": { "cachedInputTokens": { "type": "integer", "format": "int64" }, "inputTokens": { "type": "integer", "format": "int64" }, "outputTokens": { "type": "integer", "format": "int64" }, "reasoningOutputTokens": { "type": "integer", "format": "int64" }, "totalTokens": { "type": "integer", "format": "int64" } } }, "Turn": { "type": "object", "required": [ "id", "items", "status" ], "properties": { "error": { "description": "Only populated when the Turn's status is failed.", "anyOf": [ { "$ref": "#/definitions/TurnError" }, { "type": "null" } ] }, "id": { "type": "string" }, "items": { "description": "Only populated on a `thread/resume` or `thread/fork` response. For all other responses and notifications returning a Turn, the items field will be an empty list.", "type": "array", "items": { "$ref": "#/definitions/ThreadItem" } }, "status": { "$ref": "#/definitions/TurnStatus" } } }, "TurnCompletedNotification": { "type": "object", "required": [ "threadId", "turn" ], "properties": { "threadId": { "type": "string" }, "turn": { "$ref": "#/definitions/Turn" } } }, "TurnDiffUpdatedNotification": { "description": "Notification that the turn-level unified diff has changed. Contains the latest aggregated diff across all file changes in the turn.", "type": "object", "required": [ "diff", "threadId", "turnId" ], "properties": { "diff": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "TurnError": { "type": "object", "required": [ "message" ], "properties": { "additionalDetails": { "default": null, "type": [ "string", "null" ] }, "codexErrorInfo": { "anyOf": [ { "$ref": "#/definitions/CodexErrorInfo" }, { "type": "null" } ] }, "message": { "type": "string" } } }, "TurnPlanStep": { "type": "object", "required": [ "status", "step" ], "properties": { "status": { "$ref": "#/definitions/TurnPlanStepStatus" }, "step": { "type": "string" } } }, "TurnPlanStepStatus": { "type": "string", "enum": [ "pending", "inProgress", "completed" ] }, "TurnPlanUpdatedNotification": { "type": "object", "required": [ "plan", "threadId", "turnId" ], "properties": { "explanation": { "type": [ "string", "null" ] }, "plan": { "type": "array", "items": { "$ref": "#/definitions/TurnPlanStep" } }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "TurnStartedNotification": { "type": "object", "required": [ "threadId", "turn" ], "properties": { "threadId": { "type": "string" }, "turn": { "$ref": "#/definitions/Turn" } } }, "TurnStatus": { "type": "string", "enum": [ "completed", "interrupted", "failed", "inProgress" ] }, "UserInput2": { "description": "User input", "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "text_elements": { "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.", "default": [], "type": "array", "items": { "$ref": "#/definitions/TextElement2" } }, "type": { "type": "string", "enum": [ "text" ], "title": "TextUserInput2Type" } }, "title": "TextUserInput2" }, { "description": "Pre‑encoded data: URI image.", "type": "object", "required": [ "image_url", "type" ], "properties": { "image_url": { "type": "string" }, "type": { "type": "string", "enum": [ "image" ], "title": "ImageUserInput2Type" } }, "title": "ImageUserInput2" }, { "description": "Local image path provided by the user. This will be converted to an `Image` variant (base64 data URL) during request serialization.", "type": "object", "required": [ "path", "type" ], "properties": { "path": { "type": "string" }, "type": { "type": "string", "enum": [ "local_image" ], "title": "LocalImageUserInput2Type" } }, "title": "LocalImageUserInput2" }, { "description": "Skill selected by the user (name + path to SKILL.md).", "type": "object", "required": [ "name", "path", "type" ], "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "type": { "type": "string", "enum": [ "skill" ], "title": "SkillUserInput2Type" } }, "title": "SkillUserInput2" } ] }, "WindowsWorldWritableWarningNotification": { "type": "object", "required": [ "extraCount", "failedScan", "samplePaths" ], "properties": { "extraCount": { "type": "integer", "format": "uint", "minimum": 0 }, "failedScan": { "type": "boolean" }, "samplePaths": { "type": "array", "items": { "type": "string" } } } }, "ApplyPatchApprovalParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ApplyPatchApprovalParams", "type": "object", "required": [ "callId", "conversationId", "fileChanges" ], "properties": { "callId": { "description": "Use to correlate this with [codex_core::protocol::PatchApplyBeginEvent] and [codex_core::protocol::PatchApplyEndEvent].", "type": "string" }, "conversationId": { "$ref": "#/definitions/v2/ThreadId" }, "fileChanges": { "type": "object", "additionalProperties": { "$ref": "#/definitions/FileChange" } }, "grantRoot": { "description": "When set, the agent is asking the user to allow writes under this root for the remainder of the session (unclear if this is honored today).", "type": [ "string", "null" ] }, "reason": { "description": "Optional explanatory reason (e.g. request for extra write access).", "type": [ "string", "null" ] } } }, "CommandExecutionRequestApprovalParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CommandExecutionRequestApprovalParams", "type": "object", "required": [ "itemId", "threadId", "turnId" ], "properties": { "command": { "description": "The command to be executed.", "type": [ "string", "null" ] }, "commandActions": { "description": "Best-effort parsed command actions for friendly display.", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/v2/CommandAction" } }, "cwd": { "description": "The command's working directory.", "type": [ "string", "null" ] }, "itemId": { "type": "string" }, "proposedExecpolicyAmendment": { "description": "Optional proposed execpolicy amendment to allow similar commands without prompting.", "type": [ "array", "null" ], "items": { "type": "string" } }, "reason": { "description": "Optional explanatory reason (e.g. request for network access).", "type": [ "string", "null" ] }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ExecCommandApprovalParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecCommandApprovalParams", "type": "object", "required": [ "callId", "command", "conversationId", "cwd", "parsedCmd" ], "properties": { "callId": { "description": "Use to correlate this with [codex_core::protocol::ExecCommandBeginEvent] and [codex_core::protocol::ExecCommandEndEvent].", "type": "string" }, "command": { "type": "array", "items": { "type": "string" } }, "conversationId": { "$ref": "#/definitions/v2/ThreadId" }, "cwd": { "type": "string" }, "parsedCmd": { "type": "array", "items": { "$ref": "#/definitions/ParsedCommand" } }, "reason": { "type": [ "string", "null" ] } } }, "ToolRequestUserInputOption": { "description": "EXPERIMENTAL. Defines a single selectable option for request_user_input.", "type": "object", "required": [ "description", "label" ], "properties": { "description": { "type": "string" }, "label": { "type": "string" } } }, "ToolRequestUserInputParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ToolRequestUserInputParams", "description": "EXPERIMENTAL. Params sent with a request_user_input event.", "type": "object", "required": [ "itemId", "questions", "threadId", "turnId" ], "properties": { "itemId": { "type": "string" }, "questions": { "type": "array", "items": { "$ref": "#/definitions/ToolRequestUserInputQuestion" } }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ToolRequestUserInputQuestion": { "description": "EXPERIMENTAL. Represents one request_user_input question and its optional options.", "type": "object", "required": [ "header", "id", "question" ], "properties": { "header": { "type": "string" }, "id": { "type": "string" }, "options": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/ToolRequestUserInputOption" } }, "question": { "type": "string" } } }, "ToolRequestUserInputAnswer": { "description": "EXPERIMENTAL. Captures a user's answer to a request_user_input question.", "type": "object", "required": [ "answers" ], "properties": { "answers": { "type": "array", "items": { "type": "string" } } } }, "JSONRPCMessage": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "JSONRPCMessage", "description": "Refers to any valid JSON-RPC object that can be decoded off the wire, or encoded to be sent.", "anyOf": [ { "$ref": "#/definitions/JSONRPCRequest" }, { "$ref": "#/definitions/JSONRPCNotification" }, { "$ref": "#/definitions/JSONRPCResponse" }, { "$ref": "#/definitions/JSONRPCError" } ] }, "ClientRequest": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ClientRequest", "description": "Request from the client to the server.", "oneOf": [ { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "initialize" ], "title": "InitializeRequestMethod" }, "params": { "$ref": "#/definitions/InitializeParams" } }, "title": "InitializeRequest" }, { "description": "NEW APIs", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "thread/start" ], "title": "Thread/startRequestMethod" }, "params": { "$ref": "#/definitions/v2/ThreadStartParams" } }, "title": "Thread/startRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "thread/resume" ], "title": "Thread/resumeRequestMethod" }, "params": { "$ref": "#/definitions/v2/ThreadResumeParams" } }, "title": "Thread/resumeRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "thread/fork" ], "title": "Thread/forkRequestMethod" }, "params": { "$ref": "#/definitions/v2/ThreadForkParams" } }, "title": "Thread/forkRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "thread/archive" ], "title": "Thread/archiveRequestMethod" }, "params": { "$ref": "#/definitions/v2/ThreadArchiveParams" } }, "title": "Thread/archiveRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "thread/rollback" ], "title": "Thread/rollbackRequestMethod" }, "params": { "$ref": "#/definitions/v2/ThreadRollbackParams" } }, "title": "Thread/rollbackRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "thread/list" ], "title": "Thread/listRequestMethod" }, "params": { "$ref": "#/definitions/v2/ThreadListParams" } }, "title": "Thread/listRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "thread/loaded/list" ], "title": "Thread/loaded/listRequestMethod" }, "params": { "$ref": "#/definitions/v2/ThreadLoadedListParams" } }, "title": "Thread/loaded/listRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "thread/read" ], "title": "Thread/readRequestMethod" }, "params": { "$ref": "#/definitions/v2/ThreadReadParams" } }, "title": "Thread/readRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "skills/list" ], "title": "Skills/listRequestMethod" }, "params": { "$ref": "#/definitions/v2/SkillsListParams" } }, "title": "Skills/listRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "app/list" ], "title": "App/listRequestMethod" }, "params": { "$ref": "#/definitions/v2/AppsListParams" } }, "title": "App/listRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "skills/config/write" ], "title": "Skills/config/writeRequestMethod" }, "params": { "$ref": "#/definitions/v2/SkillsConfigWriteParams" } }, "title": "Skills/config/writeRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "turn/start" ], "title": "Turn/startRequestMethod" }, "params": { "$ref": "#/definitions/v2/TurnStartParams" } }, "title": "Turn/startRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "turn/interrupt" ], "title": "Turn/interruptRequestMethod" }, "params": { "$ref": "#/definitions/v2/TurnInterruptParams" } }, "title": "Turn/interruptRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "review/start" ], "title": "Review/startRequestMethod" }, "params": { "$ref": "#/definitions/v2/ReviewStartParams" } }, "title": "Review/startRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "model/list" ], "title": "Model/listRequestMethod" }, "params": { "$ref": "#/definitions/v2/ModelListParams" } }, "title": "Model/listRequest" }, { "description": "EXPERIMENTAL - list collaboration mode presets.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "collaborationMode/list" ], "title": "CollaborationMode/listRequestMethod" }, "params": { "$ref": "#/definitions/v2/CollaborationModeListParams" } }, "title": "CollaborationMode/listRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "mcpServer/oauth/login" ], "title": "McpServer/oauth/loginRequestMethod" }, "params": { "$ref": "#/definitions/v2/McpServerOauthLoginParams" } }, "title": "McpServer/oauth/loginRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "config/mcpServer/reload" ], "title": "Config/mcpServer/reloadRequestMethod" }, "params": { "type": "null" } }, "title": "Config/mcpServer/reloadRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "mcpServerStatus/list" ], "title": "McpServerStatus/listRequestMethod" }, "params": { "$ref": "#/definitions/v2/ListMcpServerStatusParams" } }, "title": "McpServerStatus/listRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "account/login/start" ], "title": "Account/login/startRequestMethod" }, "params": { "$ref": "#/definitions/v2/LoginAccountParams" } }, "title": "Account/login/startRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "account/login/cancel" ], "title": "Account/login/cancelRequestMethod" }, "params": { "$ref": "#/definitions/v2/CancelLoginAccountParams" } }, "title": "Account/login/cancelRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "account/logout" ], "title": "Account/logoutRequestMethod" }, "params": { "type": "null" } }, "title": "Account/logoutRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "account/rateLimits/read" ], "title": "Account/rateLimits/readRequestMethod" }, "params": { "type": "null" } }, "title": "Account/rateLimits/readRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "feedback/upload" ], "title": "Feedback/uploadRequestMethod" }, "params": { "$ref": "#/definitions/v2/FeedbackUploadParams" } }, "title": "Feedback/uploadRequest" }, { "description": "Execute a command (argv vector) under the server's sandbox.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "command/exec" ], "title": "Command/execRequestMethod" }, "params": { "$ref": "#/definitions/v2/CommandExecParams" } }, "title": "Command/execRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "config/read" ], "title": "Config/readRequestMethod" }, "params": { "$ref": "#/definitions/v2/ConfigReadParams" } }, "title": "Config/readRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "config/value/write" ], "title": "Config/value/writeRequestMethod" }, "params": { "$ref": "#/definitions/v2/ConfigValueWriteParams" } }, "title": "Config/value/writeRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "config/batchWrite" ], "title": "Config/batchWriteRequestMethod" }, "params": { "$ref": "#/definitions/v2/ConfigBatchWriteParams" } }, "title": "Config/batchWriteRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "configRequirements/read" ], "title": "ConfigRequirements/readRequestMethod" }, "params": { "type": "null" } }, "title": "ConfigRequirements/readRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "account/read" ], "title": "Account/readRequestMethod" }, "params": { "$ref": "#/definitions/v2/GetAccountParams" } }, "title": "Account/readRequest" }, { "description": "DEPRECATED APIs below", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "newConversation" ], "title": "NewConversationRequestMethod" }, "params": { "$ref": "#/definitions/NewConversationParams" } }, "title": "NewConversationRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "getConversationSummary" ], "title": "GetConversationSummaryRequestMethod" }, "params": { "$ref": "#/definitions/GetConversationSummaryParams" } }, "title": "GetConversationSummaryRequest" }, { "description": "List recorded Codex conversations (rollouts) with optional pagination and search.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "listConversations" ], "title": "ListConversationsRequestMethod" }, "params": { "$ref": "#/definitions/ListConversationsParams" } }, "title": "ListConversationsRequest" }, { "description": "Resume a recorded Codex conversation from a rollout file.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "resumeConversation" ], "title": "ResumeConversationRequestMethod" }, "params": { "$ref": "#/definitions/ResumeConversationParams" } }, "title": "ResumeConversationRequest" }, { "description": "Fork a recorded Codex conversation into a new session.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "forkConversation" ], "title": "ForkConversationRequestMethod" }, "params": { "$ref": "#/definitions/ForkConversationParams" } }, "title": "ForkConversationRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "archiveConversation" ], "title": "ArchiveConversationRequestMethod" }, "params": { "$ref": "#/definitions/ArchiveConversationParams" } }, "title": "ArchiveConversationRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "sendUserMessage" ], "title": "SendUserMessageRequestMethod" }, "params": { "$ref": "#/definitions/SendUserMessageParams" } }, "title": "SendUserMessageRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "sendUserTurn" ], "title": "SendUserTurnRequestMethod" }, "params": { "$ref": "#/definitions/SendUserTurnParams" } }, "title": "SendUserTurnRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "interruptConversation" ], "title": "InterruptConversationRequestMethod" }, "params": { "$ref": "#/definitions/InterruptConversationParams" } }, "title": "InterruptConversationRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "addConversationListener" ], "title": "AddConversationListenerRequestMethod" }, "params": { "$ref": "#/definitions/AddConversationListenerParams" } }, "title": "AddConversationListenerRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "removeConversationListener" ], "title": "RemoveConversationListenerRequestMethod" }, "params": { "$ref": "#/definitions/RemoveConversationListenerParams" } }, "title": "RemoveConversationListenerRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "gitDiffToRemote" ], "title": "GitDiffToRemoteRequestMethod" }, "params": { "$ref": "#/definitions/GitDiffToRemoteParams" } }, "title": "GitDiffToRemoteRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "loginApiKey" ], "title": "LoginApiKeyRequestMethod" }, "params": { "$ref": "#/definitions/LoginApiKeyParams" } }, "title": "LoginApiKeyRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "loginChatGpt" ], "title": "LoginChatGptRequestMethod" }, "params": { "type": "null" } }, "title": "LoginChatGptRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "cancelLoginChatGpt" ], "title": "CancelLoginChatGptRequestMethod" }, "params": { "$ref": "#/definitions/CancelLoginChatGptParams" } }, "title": "CancelLoginChatGptRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "logoutChatGpt" ], "title": "LogoutChatGptRequestMethod" }, "params": { "type": "null" } }, "title": "LogoutChatGptRequest" }, { "description": "DEPRECATED in favor of GetAccount", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "getAuthStatus" ], "title": "GetAuthStatusRequestMethod" }, "params": { "$ref": "#/definitions/GetAuthStatusParams" } }, "title": "GetAuthStatusRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "getUserSavedConfig" ], "title": "GetUserSavedConfigRequestMethod" }, "params": { "type": "null" } }, "title": "GetUserSavedConfigRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "setDefaultModel" ], "title": "SetDefaultModelRequestMethod" }, "params": { "$ref": "#/definitions/SetDefaultModelParams" } }, "title": "SetDefaultModelRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "getUserAgent" ], "title": "GetUserAgentRequestMethod" }, "params": { "type": "null" } }, "title": "GetUserAgentRequest" }, { "type": "object", "required": [ "id", "method" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "userInfo" ], "title": "UserInfoRequestMethod" }, "params": { "type": "null" } }, "title": "UserInfoRequest" }, { "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "fuzzyFileSearch" ], "title": "FuzzyFileSearchRequestMethod" }, "params": { "$ref": "#/definitions/FuzzyFileSearchParams" } }, "title": "FuzzyFileSearchRequest" }, { "description": "Execute a command (argv vector) under the server's sandbox.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "execOneOffCommand" ], "title": "ExecOneOffCommandRequestMethod" }, "params": { "$ref": "#/definitions/ExecOneOffCommandParams" } }, "title": "ExecOneOffCommandRequest" } ] }, "ServerRequest": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ServerRequest", "description": "Request initiated from the server and sent to the client.", "oneOf": [ { "description": "NEW APIs Sent when approval is requested for a specific command execution. This request is used for Turns started via turn/start.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "item/commandExecution/requestApproval" ], "title": "Item/commandExecution/requestApprovalRequestMethod" }, "params": { "$ref": "#/definitions/CommandExecutionRequestApprovalParams" } }, "title": "Item/commandExecution/requestApprovalRequest" }, { "description": "Sent when approval is requested for a specific file change. This request is used for Turns started via turn/start.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "item/fileChange/requestApproval" ], "title": "Item/fileChange/requestApprovalRequestMethod" }, "params": { "$ref": "#/definitions/FileChangeRequestApprovalParams" } }, "title": "Item/fileChange/requestApprovalRequest" }, { "description": "EXPERIMENTAL - Request input from the user for a tool call.", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "item/tool/requestUserInput" ], "title": "Item/tool/requestUserInputRequestMethod" }, "params": { "$ref": "#/definitions/ToolRequestUserInputParams" } }, "title": "Item/tool/requestUserInputRequest" }, { "description": "DEPRECATED APIs below Request to approve a patch. This request is used for Turns started via the legacy APIs (i.e. SendUserTurn, SendUserMessage).", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "applyPatchApproval" ], "title": "ApplyPatchApprovalRequestMethod" }, "params": { "$ref": "#/definitions/ApplyPatchApprovalParams" } }, "title": "ApplyPatchApprovalRequest" }, { "description": "Request to exec a command. This request is used for Turns started via the legacy APIs (i.e. SendUserTurn, SendUserMessage).", "type": "object", "required": [ "id", "method", "params" ], "properties": { "id": { "$ref": "#/definitions/RequestId" }, "method": { "type": "string", "enum": [ "execCommandApproval" ], "title": "ExecCommandApprovalRequestMethod" }, "params": { "$ref": "#/definitions/ExecCommandApprovalParams" } }, "title": "ExecCommandApprovalRequest" } ] }, "ServerNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ServerNotification", "description": "Notification sent from the server to the client.", "oneOf": [ { "description": "NEW NOTIFICATIONS", "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "error" ], "title": "ErrorNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ErrorNotification" } }, "title": "ErrorNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "thread/started" ], "title": "Thread/startedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ThreadStartedNotification" } }, "title": "Thread/startedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "thread/tokenUsage/updated" ], "title": "Thread/tokenUsage/updatedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ThreadTokenUsageUpdatedNotification" } }, "title": "Thread/tokenUsage/updatedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "turn/started" ], "title": "Turn/startedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/TurnStartedNotification" } }, "title": "Turn/startedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "turn/completed" ], "title": "Turn/completedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/TurnCompletedNotification" } }, "title": "Turn/completedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "turn/diff/updated" ], "title": "Turn/diff/updatedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/TurnDiffUpdatedNotification" } }, "title": "Turn/diff/updatedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "turn/plan/updated" ], "title": "Turn/plan/updatedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/TurnPlanUpdatedNotification" } }, "title": "Turn/plan/updatedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/started" ], "title": "Item/startedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ItemStartedNotification" } }, "title": "Item/startedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/completed" ], "title": "Item/completedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ItemCompletedNotification" } }, "title": "Item/completedNotification" }, { "description": "This event is internal-only. Used by Codex Cloud.", "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "rawResponseItem/completed" ], "title": "RawResponseItem/completedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/RawResponseItemCompletedNotification" } }, "title": "RawResponseItem/completedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/agentMessage/delta" ], "title": "Item/agentMessage/deltaNotificationMethod" }, "params": { "$ref": "#/definitions/v2/AgentMessageDeltaNotification" } }, "title": "Item/agentMessage/deltaNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/commandExecution/outputDelta" ], "title": "Item/commandExecution/outputDeltaNotificationMethod" }, "params": { "$ref": "#/definitions/v2/CommandExecutionOutputDeltaNotification" } }, "title": "Item/commandExecution/outputDeltaNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/commandExecution/terminalInteraction" ], "title": "Item/commandExecution/terminalInteractionNotificationMethod" }, "params": { "$ref": "#/definitions/v2/TerminalInteractionNotification" } }, "title": "Item/commandExecution/terminalInteractionNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/fileChange/outputDelta" ], "title": "Item/fileChange/outputDeltaNotificationMethod" }, "params": { "$ref": "#/definitions/v2/FileChangeOutputDeltaNotification" } }, "title": "Item/fileChange/outputDeltaNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/mcpToolCall/progress" ], "title": "Item/mcpToolCall/progressNotificationMethod" }, "params": { "$ref": "#/definitions/v2/McpToolCallProgressNotification" } }, "title": "Item/mcpToolCall/progressNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "mcpServer/oauthLogin/completed" ], "title": "McpServer/oauthLogin/completedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/McpServerOauthLoginCompletedNotification" } }, "title": "McpServer/oauthLogin/completedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "account/updated" ], "title": "Account/updatedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/AccountUpdatedNotification" } }, "title": "Account/updatedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "account/rateLimits/updated" ], "title": "Account/rateLimits/updatedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/AccountRateLimitsUpdatedNotification" } }, "title": "Account/rateLimits/updatedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/reasoning/summaryTextDelta" ], "title": "Item/reasoning/summaryTextDeltaNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ReasoningSummaryTextDeltaNotification" } }, "title": "Item/reasoning/summaryTextDeltaNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/reasoning/summaryPartAdded" ], "title": "Item/reasoning/summaryPartAddedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ReasoningSummaryPartAddedNotification" } }, "title": "Item/reasoning/summaryPartAddedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "item/reasoning/textDelta" ], "title": "Item/reasoning/textDeltaNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ReasoningTextDeltaNotification" } }, "title": "Item/reasoning/textDeltaNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "thread/compacted" ], "title": "Thread/compactedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ContextCompactedNotification" } }, "title": "Thread/compactedNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "deprecationNotice" ], "title": "DeprecationNoticeNotificationMethod" }, "params": { "$ref": "#/definitions/v2/DeprecationNoticeNotification" } }, "title": "DeprecationNoticeNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "configWarning" ], "title": "ConfigWarningNotificationMethod" }, "params": { "$ref": "#/definitions/v2/ConfigWarningNotification" } }, "title": "ConfigWarningNotification" }, { "description": "Notifies the user of world-writable directories on Windows, which cannot be protected by the sandbox.", "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "windows/worldWritableWarning" ], "title": "Windows/worldWritableWarningNotificationMethod" }, "params": { "$ref": "#/definitions/v2/WindowsWorldWritableWarningNotification" } }, "title": "Windows/worldWritableWarningNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "account/login/completed" ], "title": "Account/login/completedNotificationMethod" }, "params": { "$ref": "#/definitions/v2/AccountLoginCompletedNotification" } }, "title": "Account/login/completedNotification" }, { "description": "DEPRECATED NOTIFICATIONS below", "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "authStatusChange" ], "title": "AuthStatusChangeNotificationMethod" }, "params": { "$ref": "#/definitions/AuthStatusChangeNotification" } }, "title": "AuthStatusChangeNotification" }, { "description": "Deprecated: use `account/login/completed` instead.", "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "loginChatGptComplete" ], "title": "LoginChatGptCompleteNotificationMethod" }, "params": { "$ref": "#/definitions/LoginChatGptCompleteNotification" } }, "title": "LoginChatGptCompleteNotification" }, { "type": "object", "required": [ "method", "params" ], "properties": { "method": { "type": "string", "enum": [ "sessionConfigured" ], "title": "SessionConfiguredNotificationMethod" }, "params": { "$ref": "#/definitions/SessionConfiguredNotification" } }, "title": "SessionConfiguredNotification" } ] }, "v2": { "AskForApproval": { "type": "string", "enum": [ "untrusted", "on-failure", "on-request", "never" ] }, "Personality": { "type": "string", "enum": [ "friendly", "pragmatic" ] }, "SandboxMode": { "type": "string", "enum": [ "read-only", "workspace-write", "danger-full-access" ] }, "ThreadStartParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadStartParams", "type": "object", "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/v2/AskForApproval" }, { "type": "null" } ] }, "baseInstructions": { "type": [ "string", "null" ] }, "config": { "type": [ "object", "null" ], "additionalProperties": true }, "cwd": { "type": [ "string", "null" ] }, "developerInstructions": { "type": [ "string", "null" ] }, "ephemeral": { "type": [ "boolean", "null" ] }, "experimentalRawEvents": { "description": "If true, opt into emitting raw response items on the event stream.\n\nThis is for internal use only (e.g. Codex Cloud). (TODO): Figure out a better way to categorize internal / experimental events & protocols.", "default": false, "type": "boolean" }, "model": { "type": [ "string", "null" ] }, "modelProvider": { "type": [ "string", "null" ] }, "personality": { "anyOf": [ { "$ref": "#/definitions/v2/Personality" }, { "type": "null" } ] }, "sandbox": { "anyOf": [ { "$ref": "#/definitions/v2/SandboxMode" }, { "type": "null" } ] } } }, "ContentItem": { "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "input_text" ], "title": "InputTextContentItemType" } }, "title": "InputTextContentItem" }, { "type": "object", "required": [ "image_url", "type" ], "properties": { "image_url": { "type": "string" }, "type": { "type": "string", "enum": [ "input_image" ], "title": "InputImageContentItemType" } }, "title": "InputImageContentItem" }, { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "output_text" ], "title": "OutputTextContentItemType" } }, "title": "OutputTextContentItem" } ] }, "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": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "input_text" ], "title": "InputTextFunctionCallOutputContentItemType" } }, "title": "InputTextFunctionCallOutputContentItem" }, { "type": "object", "required": [ "image_url", "type" ], "properties": { "image_url": { "type": "string" }, "type": { "type": "string", "enum": [ "input_image" ], "title": "InputImageFunctionCallOutputContentItemType" } }, "title": "InputImageFunctionCallOutputContentItem" } ] }, "FunctionCallOutputPayload": { "description": "The payload we send back to OpenAI when reporting a tool call result.\n\n`content` preserves the historical plain-string payload so downstream integrations (tests, logging, etc.) can keep treating tool output as `String`. When an MCP server returns richer data we additionally populate `content_items` with the structured form that the Responses/Chat Completions APIs understand.", "type": "object", "required": [ "content" ], "properties": { "content": { "type": "string" }, "content_items": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/v2/FunctionCallOutputContentItem" } }, "success": { "type": [ "boolean", "null" ] } } }, "GhostCommit": { "description": "Details of a ghost commit created from a repository state.", "type": "object", "required": [ "id", "preexisting_untracked_dirs", "preexisting_untracked_files" ], "properties": { "id": { "type": "string" }, "parent": { "type": [ "string", "null" ] }, "preexisting_untracked_dirs": { "type": "array", "items": { "type": "string" } }, "preexisting_untracked_files": { "type": "array", "items": { "type": "string" } } } }, "LocalShellAction": { "oneOf": [ { "type": "object", "required": [ "command", "type" ], "properties": { "command": { "type": "array", "items": { "type": "string" } }, "env": { "type": [ "object", "null" ], "additionalProperties": { "type": "string" } }, "timeout_ms": { "type": [ "integer", "null" ], "format": "uint64", "minimum": 0 }, "type": { "type": "string", "enum": [ "exec" ], "title": "ExecLocalShellActionType" }, "user": { "type": [ "string", "null" ] }, "working_directory": { "type": [ "string", "null" ] } }, "title": "ExecLocalShellAction" } ] }, "LocalShellStatus": { "type": "string", "enum": [ "completed", "in_progress", "incomplete" ] }, "ReasoningItemContent": { "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "reasoning_text" ], "title": "ReasoningTextReasoningItemContentType" } }, "title": "ReasoningTextReasoningItemContent" }, { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "text" ], "title": "TextReasoningItemContentType" } }, "title": "TextReasoningItemContent" } ] }, "ReasoningItemReasoningSummary": { "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "type": { "type": "string", "enum": [ "summary_text" ], "title": "SummaryTextReasoningItemReasoningSummaryType" } }, "title": "SummaryTextReasoningItemReasoningSummary" } ] }, "ResponseItem": { "oneOf": [ { "type": "object", "required": [ "content", "role", "type" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/v2/ContentItem" } }, "end_turn": { "type": [ "boolean", "null" ] }, "id": { "writeOnly": true, "type": [ "string", "null" ] }, "role": { "type": "string" }, "type": { "type": "string", "enum": [ "message" ], "title": "MessageResponseItemType" } }, "title": "MessageResponseItem" }, { "type": "object", "required": [ "id", "summary", "type" ], "properties": { "content": { "default": null, "type": [ "array", "null" ], "items": { "$ref": "#/definitions/v2/ReasoningItemContent" } }, "encrypted_content": { "type": [ "string", "null" ] }, "id": { "writeOnly": true, "type": "string" }, "summary": { "type": "array", "items": { "$ref": "#/definitions/v2/ReasoningItemReasoningSummary" } }, "type": { "type": "string", "enum": [ "reasoning" ], "title": "ReasoningResponseItemType" } }, "title": "ReasoningResponseItem" }, { "type": "object", "required": [ "action", "status", "type" ], "properties": { "action": { "$ref": "#/definitions/v2/LocalShellAction" }, "call_id": { "description": "Set when using the Responses API.", "type": [ "string", "null" ] }, "id": { "description": "Set when using the chat completions API.", "writeOnly": true, "type": [ "string", "null" ] }, "status": { "$ref": "#/definitions/v2/LocalShellStatus" }, "type": { "type": "string", "enum": [ "local_shell_call" ], "title": "LocalShellCallResponseItemType" } }, "title": "LocalShellCallResponseItem" }, { "type": "object", "required": [ "arguments", "call_id", "name", "type" ], "properties": { "arguments": { "type": "string" }, "call_id": { "type": "string" }, "id": { "writeOnly": true, "type": [ "string", "null" ] }, "name": { "type": "string" }, "type": { "type": "string", "enum": [ "function_call" ], "title": "FunctionCallResponseItemType" } }, "title": "FunctionCallResponseItem" }, { "type": "object", "required": [ "call_id", "output", "type" ], "properties": { "call_id": { "type": "string" }, "output": { "$ref": "#/definitions/v2/FunctionCallOutputPayload" }, "type": { "type": "string", "enum": [ "function_call_output" ], "title": "FunctionCallOutputResponseItemType" } }, "title": "FunctionCallOutputResponseItem" }, { "type": "object", "required": [ "call_id", "input", "name", "type" ], "properties": { "call_id": { "type": "string" }, "id": { "writeOnly": true, "type": [ "string", "null" ] }, "input": { "type": "string" }, "name": { "type": "string" }, "status": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "custom_tool_call" ], "title": "CustomToolCallResponseItemType" } }, "title": "CustomToolCallResponseItem" }, { "type": "object", "required": [ "call_id", "output", "type" ], "properties": { "call_id": { "type": "string" }, "output": { "type": "string" }, "type": { "type": "string", "enum": [ "custom_tool_call_output" ], "title": "CustomToolCallOutputResponseItemType" } }, "title": "CustomToolCallOutputResponseItem" }, { "type": "object", "required": [ "action", "type" ], "properties": { "action": { "$ref": "#/definitions/v2/WebSearchAction" }, "id": { "writeOnly": true, "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "web_search_call" ], "title": "WebSearchCallResponseItemType" } }, "title": "WebSearchCallResponseItem" }, { "type": "object", "required": [ "ghost_commit", "type" ], "properties": { "ghost_commit": { "$ref": "#/definitions/v2/GhostCommit" }, "type": { "type": "string", "enum": [ "ghost_snapshot" ], "title": "GhostSnapshotResponseItemType" } }, "title": "GhostSnapshotResponseItem" }, { "type": "object", "required": [ "encrypted_content", "type" ], "properties": { "encrypted_content": { "type": "string" }, "type": { "type": "string", "enum": [ "compaction" ], "title": "CompactionResponseItemType" } }, "title": "CompactionResponseItem" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "other" ], "title": "OtherResponseItemType" } }, "title": "OtherResponseItem" } ] }, "WebSearchAction": { "oneOf": [ { "type": "object", "required": [ "type" ], "properties": { "query": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "search" ], "title": "SearchWebSearchActionType" } }, "title": "SearchWebSearchAction" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "open_page" ], "title": "OpenPageWebSearchActionType" }, "url": { "type": [ "string", "null" ] } }, "title": "OpenPageWebSearchAction" }, { "type": "object", "required": [ "type" ], "properties": { "pattern": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "find_in_page" ], "title": "FindInPageWebSearchActionType" }, "url": { "type": [ "string", "null" ] } }, "title": "FindInPageWebSearchAction" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "other" ], "title": "OtherWebSearchActionType" } }, "title": "OtherWebSearchAction" } ] }, "ThreadResumeParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadResumeParams", "description": "There are three ways to resume a thread: 1. By thread_id: load the thread from disk by thread_id and resume it. 2. By history: instantiate the thread from memory and resume it. 3. By path: load the thread from disk by path and resume it.\n\nThe precedence is: history > path > thread_id. If using history or path, the thread_id param will be ignored.\n\nPrefer using thread_id whenever possible.", "type": "object", "required": [ "threadId" ], "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/v2/AskForApproval" }, { "type": "null" } ] }, "baseInstructions": { "type": [ "string", "null" ] }, "config": { "type": [ "object", "null" ], "additionalProperties": true }, "cwd": { "type": [ "string", "null" ] }, "developerInstructions": { "type": [ "string", "null" ] }, "history": { "description": "[UNSTABLE] FOR CODEX CLOUD - DO NOT USE. If specified, the thread will be resumed with the provided history instead of loaded from disk.", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/v2/ResponseItem" } }, "model": { "description": "Configuration overrides for the resumed thread, if any.", "type": [ "string", "null" ] }, "modelProvider": { "type": [ "string", "null" ] }, "path": { "description": "[UNSTABLE] Specify the rollout path to resume from. If specified, the thread_id param will be ignored.", "type": [ "string", "null" ] }, "personality": { "anyOf": [ { "$ref": "#/definitions/v2/Personality" }, { "type": "null" } ] }, "sandbox": { "anyOf": [ { "$ref": "#/definitions/v2/SandboxMode" }, { "type": "null" } ] }, "threadId": { "type": "string" } } }, "ThreadForkParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadForkParams", "description": "There are two ways to fork a thread: 1. By thread_id: load the thread from disk by thread_id and fork it into a new thread. 2. By path: load the thread from disk by path and fork it into a new thread.\n\nIf using path, the thread_id param will be ignored.\n\nPrefer using thread_id whenever possible.", "type": "object", "required": [ "threadId" ], "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/v2/AskForApproval" }, { "type": "null" } ] }, "baseInstructions": { "type": [ "string", "null" ] }, "config": { "type": [ "object", "null" ], "additionalProperties": true }, "cwd": { "type": [ "string", "null" ] }, "developerInstructions": { "type": [ "string", "null" ] }, "model": { "description": "Configuration overrides for the forked thread, if any.", "type": [ "string", "null" ] }, "modelProvider": { "type": [ "string", "null" ] }, "path": { "description": "[UNSTABLE] Specify the rollout path to fork from. If specified, the thread_id param will be ignored.", "type": [ "string", "null" ] }, "sandbox": { "anyOf": [ { "$ref": "#/definitions/v2/SandboxMode" }, { "type": "null" } ] }, "threadId": { "type": "string" } } }, "ThreadArchiveParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadArchiveParams", "type": "object", "required": [ "threadId" ], "properties": { "threadId": { "type": "string" } } }, "ThreadRollbackParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadRollbackParams", "type": "object", "required": [ "numTurns", "threadId" ], "properties": { "numTurns": { "description": "The number of turns to drop from the end of the thread. Must be >= 1.\n\nThis only modifies the thread's history and does not revert local file changes that have been made by the agent. Clients are responsible for reverting these changes.", "type": "integer", "format": "uint32", "minimum": 0 }, "threadId": { "type": "string" } } }, "ThreadSortKey": { "type": "string", "enum": [ "created_at", "updated_at" ] }, "ThreadListParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadListParams", "type": "object", "properties": { "archived": { "description": "Optional archived filter; when set to true, only archived threads are returned. If false or null, only non-archived threads are returned.", "type": [ "boolean", "null" ] }, "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to a reasonable server-side value.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 }, "modelProviders": { "description": "Optional provider filter; when set, only sessions recorded under these providers are returned. When present but empty, includes all providers.", "type": [ "array", "null" ], "items": { "type": "string" } }, "sortKey": { "description": "Optional sort key; defaults to created_at.", "anyOf": [ { "$ref": "#/definitions/v2/ThreadSortKey" }, { "type": "null" } ] } } }, "ThreadLoadedListParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadLoadedListParams", "type": "object", "properties": { "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to no limit.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 } } }, "ThreadReadParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadReadParams", "type": "object", "required": [ "threadId" ], "properties": { "includeTurns": { "description": "When true, include turns and their items from rollout history.", "default": false, "type": "boolean" }, "threadId": { "type": "string" } } }, "SkillsListParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SkillsListParams", "type": "object", "properties": { "cwds": { "description": "When empty, defaults to the current session working directory.", "type": "array", "items": { "type": "string" } }, "forceReload": { "description": "When true, bypass the skills cache and re-scan skills from disk.", "type": "boolean" } } }, "AppsListParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "AppsListParams", "type": "object", "properties": { "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to a reasonable server-side value.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 } } }, "SkillsConfigWriteParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SkillsConfigWriteParams", "type": "object", "required": [ "enabled", "path" ], "properties": { "enabled": { "type": "boolean" }, "path": { "type": "string" } } }, "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" }, "ByteRange": { "type": "object", "required": [ "end", "start" ], "properties": { "end": { "type": "integer", "format": "uint", "minimum": 0 }, "start": { "type": "integer", "format": "uint", "minimum": 0 } } }, "CollaborationMode": { "description": "Collaboration mode for a Codex session.", "type": "object", "required": [ "mode", "settings" ], "properties": { "mode": { "$ref": "#/definitions/v2/ModeKind" }, "settings": { "$ref": "#/definitions/v2/Settings" } } }, "ModeKind": { "description": "Initial collaboration mode to use when the TUI starts.", "type": "string", "enum": [ "plan", "code", "pair_programming", "execute", "custom" ] }, "NetworkAccess": { "type": "string", "enum": [ "restricted", "enabled" ] }, "ReasoningEffort": { "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", "type": "string", "enum": [ "none", "minimal", "low", "medium", "high", "xhigh" ] }, "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": [ { "type": "string", "enum": [ "auto", "concise", "detailed" ] }, { "description": "Option to disable reasoning summaries.", "type": "string", "enum": [ "none" ] } ] }, "SandboxPolicy": { "oneOf": [ { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "dangerFullAccess" ], "title": "DangerFullAccessSandboxPolicyType" } }, "title": "DangerFullAccessSandboxPolicy" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "readOnly" ], "title": "ReadOnlySandboxPolicyType" } }, "title": "ReadOnlySandboxPolicy" }, { "type": "object", "required": [ "type" ], "properties": { "networkAccess": { "default": "restricted", "allOf": [ { "$ref": "#/definitions/v2/NetworkAccess" } ] }, "type": { "type": "string", "enum": [ "externalSandbox" ], "title": "ExternalSandboxSandboxPolicyType" } }, "title": "ExternalSandboxSandboxPolicy" }, { "type": "object", "required": [ "type" ], "properties": { "excludeSlashTmp": { "default": false, "type": "boolean" }, "excludeTmpdirEnvVar": { "default": false, "type": "boolean" }, "networkAccess": { "default": false, "type": "boolean" }, "type": { "type": "string", "enum": [ "workspaceWrite" ], "title": "WorkspaceWriteSandboxPolicyType" }, "writableRoots": { "default": [], "type": "array", "items": { "$ref": "#/definitions/v2/AbsolutePathBuf" } } }, "title": "WorkspaceWriteSandboxPolicy" } ] }, "Settings": { "description": "Settings for a collaboration mode.", "type": "object", "required": [ "model" ], "properties": { "developer_instructions": { "type": [ "string", "null" ] }, "model": { "type": "string" }, "reasoning_effort": { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] } } }, "TextElement": { "type": "object", "required": [ "byteRange" ], "properties": { "byteRange": { "description": "Byte range in the parent `text` buffer that this element occupies.", "allOf": [ { "$ref": "#/definitions/v2/ByteRange" } ] }, "placeholder": { "description": "Optional human-readable placeholder for the element, displayed in the UI.", "type": [ "string", "null" ] } } }, "UserInput": { "oneOf": [ { "type": "object", "required": [ "text", "type" ], "properties": { "text": { "type": "string" }, "text_elements": { "description": "UI-defined spans within `text` used to render or persist special elements.", "default": [], "type": "array", "items": { "$ref": "#/definitions/v2/TextElement" } }, "type": { "type": "string", "enum": [ "text" ], "title": "TextUserInputType" } }, "title": "TextUserInput" }, { "type": "object", "required": [ "type", "url" ], "properties": { "type": { "type": "string", "enum": [ "image" ], "title": "ImageUserInputType" }, "url": { "type": "string" } }, "title": "ImageUserInput" }, { "type": "object", "required": [ "path", "type" ], "properties": { "path": { "type": "string" }, "type": { "type": "string", "enum": [ "localImage" ], "title": "LocalImageUserInputType" } }, "title": "LocalImageUserInput" }, { "type": "object", "required": [ "name", "path", "type" ], "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "type": { "type": "string", "enum": [ "skill" ], "title": "SkillUserInputType" } }, "title": "SkillUserInput" } ] }, "TurnStartParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TurnStartParams", "type": "object", "required": [ "input", "threadId" ], "properties": { "approvalPolicy": { "description": "Override the approval policy for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/v2/AskForApproval" }, { "type": "null" } ] }, "collaborationMode": { "description": "EXPERIMENTAL - set a pre-set collaboration mode. Takes precedence over model, reasoning_effort, and developer instructions if set.", "anyOf": [ { "$ref": "#/definitions/v2/CollaborationMode" }, { "type": "null" } ] }, "cwd": { "description": "Override the working directory for this turn and subsequent turns.", "type": [ "string", "null" ] }, "effort": { "description": "Override the reasoning effort for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] }, "input": { "type": "array", "items": { "$ref": "#/definitions/v2/UserInput" } }, "model": { "description": "Override the model for this turn and subsequent turns.", "type": [ "string", "null" ] }, "outputSchema": { "description": "Optional JSON Schema used to constrain the final assistant message for this turn." }, "personality": { "description": "Override the personality for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/v2/Personality" }, { "type": "null" } ] }, "sandboxPolicy": { "description": "Override the sandbox policy for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/v2/SandboxPolicy" }, { "type": "null" } ] }, "summary": { "description": "Override the reasoning summary for this turn and subsequent turns.", "anyOf": [ { "$ref": "#/definitions/v2/ReasoningSummary" }, { "type": "null" } ] }, "threadId": { "type": "string" } } }, "TurnInterruptParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TurnInterruptParams", "type": "object", "required": [ "threadId", "turnId" ], "properties": { "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ReviewDelivery": { "type": "string", "enum": [ "inline", "detached" ] }, "ReviewTarget": { "oneOf": [ { "description": "Review the working tree: staged, unstaged, and untracked files.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "uncommittedChanges" ], "title": "UncommittedChangesReviewTargetType" } }, "title": "UncommittedChangesReviewTarget" }, { "description": "Review changes between the current branch and the given base branch.", "type": "object", "required": [ "branch", "type" ], "properties": { "branch": { "type": "string" }, "type": { "type": "string", "enum": [ "baseBranch" ], "title": "BaseBranchReviewTargetType" } }, "title": "BaseBranchReviewTarget" }, { "description": "Review the changes introduced by a specific commit.", "type": "object", "required": [ "sha", "type" ], "properties": { "sha": { "type": "string" }, "title": { "description": "Optional human-readable label (e.g., commit subject) for UIs.", "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "commit" ], "title": "CommitReviewTargetType" } }, "title": "CommitReviewTarget" }, { "description": "Arbitrary instructions, equivalent to the old free-form prompt.", "type": "object", "required": [ "instructions", "type" ], "properties": { "instructions": { "type": "string" }, "type": { "type": "string", "enum": [ "custom" ], "title": "CustomReviewTargetType" } }, "title": "CustomReviewTarget" } ] }, "ReviewStartParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ReviewStartParams", "type": "object", "required": [ "target", "threadId" ], "properties": { "delivery": { "description": "Where to run the review: inline (default) on the current thread or detached on a new thread (returned in `reviewThreadId`).", "default": null, "anyOf": [ { "$ref": "#/definitions/v2/ReviewDelivery" }, { "type": "null" } ] }, "target": { "$ref": "#/definitions/v2/ReviewTarget" }, "threadId": { "type": "string" } } }, "ModelListParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ModelListParams", "type": "object", "properties": { "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to a reasonable server-side value.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 } } }, "CollaborationModeListParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CollaborationModeListParams", "description": "EXPERIMENTAL - list collaboration mode presets.", "type": "object" }, "McpServerOauthLoginParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "McpServerOauthLoginParams", "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "scopes": { "type": [ "array", "null" ], "items": { "type": "string" } }, "timeoutSecs": { "type": [ "integer", "null" ], "format": "int64" } } }, "ListMcpServerStatusParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ListMcpServerStatusParams", "type": "object", "properties": { "cursor": { "description": "Opaque pagination cursor returned by a previous call.", "type": [ "string", "null" ] }, "limit": { "description": "Optional page size; defaults to a server-defined value.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0 } } }, "LoginAccountParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "LoginAccountParams", "oneOf": [ { "type": "object", "required": [ "apiKey", "type" ], "properties": { "apiKey": { "type": "string" }, "type": { "type": "string", "enum": [ "apiKey" ], "title": "ApiKeyv2::LoginAccountParamsType" } }, "title": "ApiKeyv2::LoginAccountParams" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "chatgpt" ], "title": "Chatgptv2::LoginAccountParamsType" } }, "title": "Chatgptv2::LoginAccountParams" } ] }, "CancelLoginAccountParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CancelLoginAccountParams", "type": "object", "required": [ "loginId" ], "properties": { "loginId": { "type": "string" } } }, "FeedbackUploadParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "FeedbackUploadParams", "type": "object", "required": [ "classification", "includeLogs" ], "properties": { "classification": { "type": "string" }, "includeLogs": { "type": "boolean" }, "reason": { "type": [ "string", "null" ] }, "threadId": { "type": [ "string", "null" ] } } }, "CommandExecParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CommandExecParams", "type": "object", "required": [ "command" ], "properties": { "command": { "type": "array", "items": { "type": "string" } }, "cwd": { "type": [ "string", "null" ] }, "sandboxPolicy": { "anyOf": [ { "$ref": "#/definitions/v2/SandboxPolicy" }, { "type": "null" } ] }, "timeoutMs": { "type": [ "integer", "null" ], "format": "int64" } } }, "ConfigReadParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ConfigReadParams", "type": "object", "properties": { "cwd": { "description": "Optional working directory to resolve project config layers. If specified, return the effective config as seen from that directory (i.e., including any project layers between `cwd` and the project/repo root).", "type": [ "string", "null" ] }, "includeLayers": { "default": false, "type": "boolean" } } }, "MergeStrategy": { "type": "string", "enum": [ "replace", "upsert" ] }, "ConfigValueWriteParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ConfigValueWriteParams", "type": "object", "required": [ "keyPath", "mergeStrategy", "value" ], "properties": { "expectedVersion": { "type": [ "string", "null" ] }, "filePath": { "description": "Path to the config file to write; defaults to the user's `config.toml` when omitted.", "type": [ "string", "null" ] }, "keyPath": { "type": "string" }, "mergeStrategy": { "$ref": "#/definitions/v2/MergeStrategy" }, "value": true } }, "ConfigEdit": { "type": "object", "required": [ "keyPath", "mergeStrategy", "value" ], "properties": { "keyPath": { "type": "string" }, "mergeStrategy": { "$ref": "#/definitions/v2/MergeStrategy" }, "value": true } }, "ConfigBatchWriteParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ConfigBatchWriteParams", "type": "object", "required": [ "edits" ], "properties": { "edits": { "type": "array", "items": { "$ref": "#/definitions/v2/ConfigEdit" } }, "expectedVersion": { "type": [ "string", "null" ] }, "filePath": { "description": "Path to the config file to write; defaults to the user's `config.toml` when omitted.", "type": [ "string", "null" ] } } }, "GetAccountParams": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetAccountParams", "type": "object", "properties": { "refreshToken": { "default": false, "type": "boolean" } } }, "Annotations": { "description": "Optional annotations for the client. The client can use annotations to inform how objects are used or displayed", "type": "object", "properties": { "audience": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/v2/Role" } }, "lastModified": { "type": [ "string", "null" ] }, "priority": { "type": [ "number", "null" ], "format": "double" } } }, "AudioContent": { "description": "Audio provided to or from an LLM.", "type": "object", "required": [ "data", "mimeType", "type" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/v2/Annotations" }, { "type": "null" } ] }, "data": { "type": "string" }, "mimeType": { "type": "string" }, "type": { "type": "string" } } }, "BlobResourceContents": { "type": "object", "required": [ "blob", "uri" ], "properties": { "blob": { "type": "string" }, "mimeType": { "type": [ "string", "null" ] }, "uri": { "type": "string" } } }, "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": [ { "type": "string", "enum": [ "contextWindowExceeded", "usageLimitExceeded", "internalServerError", "unauthorized", "badRequest", "threadRollbackFailed", "sandboxError", "other" ] }, { "type": "object", "required": [ "httpConnectionFailed" ], "properties": { "httpConnectionFailed": { "type": "object", "properties": { "httpStatusCode": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "HttpConnectionFailedCodexErrorInfo" }, { "description": "Failed to connect to the response SSE stream.", "type": "object", "required": [ "responseStreamConnectionFailed" ], "properties": { "responseStreamConnectionFailed": { "type": "object", "properties": { "httpStatusCode": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseStreamConnectionFailedCodexErrorInfo" }, { "description": "The response SSE stream disconnected in the middle of a turn before completion.", "type": "object", "required": [ "responseStreamDisconnected" ], "properties": { "responseStreamDisconnected": { "type": "object", "properties": { "httpStatusCode": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseStreamDisconnectedCodexErrorInfo" }, { "description": "Reached the retry limit for responses.", "type": "object", "required": [ "responseTooManyFailedAttempts" ], "properties": { "responseTooManyFailedAttempts": { "type": "object", "properties": { "httpStatusCode": { "type": [ "integer", "null" ], "format": "uint16", "minimum": 0 } } } }, "additionalProperties": false, "title": "ResponseTooManyFailedAttemptsCodexErrorInfo" } ] }, "CollabAgentState": { "type": "object", "required": [ "status" ], "properties": { "message": { "type": [ "string", "null" ] }, "status": { "$ref": "#/definitions/v2/CollabAgentStatus" } } }, "CollabAgentStatus": { "type": "string", "enum": [ "pendingInit", "running", "completed", "errored", "shutdown", "notFound" ] }, "CollabAgentTool": { "type": "string", "enum": [ "spawnAgent", "sendInput", "wait", "closeAgent" ] }, "CollabAgentToolCallStatus": { "type": "string", "enum": [ "inProgress", "completed", "failed" ] }, "CommandAction": { "oneOf": [ { "type": "object", "required": [ "command", "name", "path", "type" ], "properties": { "command": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "type": { "type": "string", "enum": [ "read" ], "title": "ReadCommandActionType" } }, "title": "ReadCommandAction" }, { "type": "object", "required": [ "command", "type" ], "properties": { "command": { "type": "string" }, "path": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "listFiles" ], "title": "ListFilesCommandActionType" } }, "title": "ListFilesCommandAction" }, { "type": "object", "required": [ "command", "type" ], "properties": { "command": { "type": "string" }, "path": { "type": [ "string", "null" ] }, "query": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "search" ], "title": "SearchCommandActionType" } }, "title": "SearchCommandAction" }, { "type": "object", "required": [ "command", "type" ], "properties": { "command": { "type": "string" }, "type": { "type": "string", "enum": [ "unknown" ], "title": "UnknownCommandActionType" } }, "title": "UnknownCommandAction" } ] }, "CommandExecutionStatus": { "type": "string", "enum": [ "inProgress", "completed", "failed", "declined" ] }, "ContentBlock": { "anyOf": [ { "$ref": "#/definitions/v2/TextContent" }, { "$ref": "#/definitions/v2/ImageContent" }, { "$ref": "#/definitions/v2/AudioContent" }, { "$ref": "#/definitions/v2/ResourceLink" }, { "$ref": "#/definitions/v2/EmbeddedResource" } ] }, "EmbeddedResource": { "description": "The contents of a resource, embedded into a prompt or tool call result.\n\nIt is up to the client how best to render embedded resources for the benefit of the LLM and/or the user.", "type": "object", "required": [ "resource", "type" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/v2/Annotations" }, { "type": "null" } ] }, "resource": { "$ref": "#/definitions/v2/EmbeddedResourceResource" }, "type": { "type": "string" } } }, "EmbeddedResourceResource": { "anyOf": [ { "$ref": "#/definitions/v2/TextResourceContents" }, { "$ref": "#/definitions/v2/BlobResourceContents" } ] }, "FileUpdateChange": { "type": "object", "required": [ "diff", "kind", "path" ], "properties": { "diff": { "type": "string" }, "kind": { "$ref": "#/definitions/v2/PatchChangeKind" }, "path": { "type": "string" } } }, "GitInfo": { "type": "object", "properties": { "branch": { "type": [ "string", "null" ] }, "originUrl": { "type": [ "string", "null" ] }, "sha": { "type": [ "string", "null" ] } } }, "ImageContent": { "description": "An image provided to or from an LLM.", "type": "object", "required": [ "data", "mimeType", "type" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/v2/Annotations" }, { "type": "null" } ] }, "data": { "type": "string" }, "mimeType": { "type": "string" }, "type": { "type": "string" } } }, "McpToolCallError": { "type": "object", "required": [ "message" ], "properties": { "message": { "type": "string" } } }, "McpToolCallResult": { "type": "object", "required": [ "content" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/v2/ContentBlock" } }, "structuredContent": true } }, "McpToolCallStatus": { "type": "string", "enum": [ "inProgress", "completed", "failed" ] }, "PatchApplyStatus": { "type": "string", "enum": [ "inProgress", "completed", "failed", "declined" ] }, "PatchChangeKind": { "oneOf": [ { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "add" ], "title": "AddPatchChangeKindType" } }, "title": "AddPatchChangeKind" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "delete" ], "title": "DeletePatchChangeKindType" } }, "title": "DeletePatchChangeKind" }, { "type": "object", "required": [ "type" ], "properties": { "move_path": { "type": [ "string", "null" ] }, "type": { "type": "string", "enum": [ "update" ], "title": "UpdatePatchChangeKindType" } }, "title": "UpdatePatchChangeKind" } ] }, "ResourceLink": { "description": "A resource that the server is capable of reading, included in a prompt or tool call result.\n\nNote: resource links returned by tools are not guaranteed to appear in the results of `resources/list` requests.", "type": "object", "required": [ "name", "type", "uri" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/v2/Annotations" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "mimeType": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "size": { "type": [ "integer", "null" ], "format": "int64" }, "title": { "type": [ "string", "null" ] }, "type": { "type": "string" }, "uri": { "type": "string" } } }, "Role": { "description": "The sender or recipient of messages and data in a conversation.", "type": "string", "enum": [ "assistant", "user" ] }, "SessionSource": { "oneOf": [ { "type": "string", "enum": [ "cli", "vscode", "exec", "appServer", "unknown" ] }, { "type": "object", "required": [ "subAgent" ], "properties": { "subAgent": { "$ref": "#/definitions/v2/SubAgentSource" } }, "additionalProperties": false, "title": "SubAgentSessionSource" } ] }, "SubAgentSource": { "oneOf": [ { "type": "string", "enum": [ "review", "compact" ] }, { "type": "object", "required": [ "thread_spawn" ], "properties": { "thread_spawn": { "type": "object", "required": [ "depth", "parent_thread_id" ], "properties": { "depth": { "type": "integer", "format": "int32" }, "parent_thread_id": { "$ref": "#/definitions/v2/ThreadId" } } } }, "additionalProperties": false, "title": "ThreadSpawnSubAgentSource" }, { "type": "object", "required": [ "other" ], "properties": { "other": { "type": "string" } }, "additionalProperties": false, "title": "OtherSubAgentSource" } ] }, "TextContent": { "description": "Text provided to or from an LLM.", "type": "object", "required": [ "text", "type" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/v2/Annotations" }, { "type": "null" } ] }, "text": { "type": "string" }, "type": { "type": "string" } } }, "TextResourceContents": { "type": "object", "required": [ "text", "uri" ], "properties": { "mimeType": { "type": [ "string", "null" ] }, "text": { "type": "string" }, "uri": { "type": "string" } } }, "Thread": { "type": "object", "required": [ "cliVersion", "createdAt", "cwd", "id", "modelProvider", "preview", "source", "turns", "updatedAt" ], "properties": { "cliVersion": { "description": "Version of the CLI that created the thread.", "type": "string" }, "createdAt": { "description": "Unix timestamp (in seconds) when the thread was created.", "type": "integer", "format": "int64" }, "cwd": { "description": "Working directory captured for the thread.", "type": "string" }, "gitInfo": { "description": "Optional Git metadata captured when the thread was created.", "anyOf": [ { "$ref": "#/definitions/v2/GitInfo" }, { "type": "null" } ] }, "id": { "type": "string" }, "modelProvider": { "description": "Model provider used for this thread (for example, 'openai').", "type": "string" }, "path": { "description": "[UNSTABLE] Path to the thread on disk.", "type": [ "string", "null" ] }, "preview": { "description": "Usually the first user message in the thread, if available.", "type": "string" }, "source": { "description": "Origin of the thread (CLI, VSCode, codex exec, codex app-server, etc.).", "allOf": [ { "$ref": "#/definitions/v2/SessionSource" } ] }, "turns": { "description": "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", "type": "array", "items": { "$ref": "#/definitions/v2/Turn" } }, "updatedAt": { "description": "Unix timestamp (in seconds) when the thread was last updated.", "type": "integer", "format": "int64" } } }, "ThreadId": { "type": "string" }, "ThreadItem": { "oneOf": [ { "type": "object", "required": [ "content", "id", "type" ], "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/v2/UserInput" } }, "id": { "type": "string" }, "type": { "type": "string", "enum": [ "userMessage" ], "title": "UserMessageThreadItemType" } }, "title": "UserMessageThreadItem" }, { "type": "object", "required": [ "id", "text", "type" ], "properties": { "id": { "type": "string" }, "text": { "type": "string" }, "type": { "type": "string", "enum": [ "agentMessage" ], "title": "AgentMessageThreadItemType" } }, "title": "AgentMessageThreadItem" }, { "type": "object", "required": [ "id", "type" ], "properties": { "content": { "default": [], "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "summary": { "default": [], "type": "array", "items": { "type": "string" } }, "type": { "type": "string", "enum": [ "reasoning" ], "title": "ReasoningThreadItemType" } }, "title": "ReasoningThreadItem" }, { "type": "object", "required": [ "command", "commandActions", "cwd", "id", "status", "type" ], "properties": { "aggregatedOutput": { "description": "The command's output, aggregated from stdout and stderr.", "type": [ "string", "null" ] }, "command": { "description": "The command to be executed.", "type": "string" }, "commandActions": { "description": "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", "type": "array", "items": { "$ref": "#/definitions/v2/CommandAction" } }, "cwd": { "description": "The command's working directory.", "type": "string" }, "durationMs": { "description": "The duration of the command execution in milliseconds.", "type": [ "integer", "null" ], "format": "int64" }, "exitCode": { "description": "The command's exit code.", "type": [ "integer", "null" ], "format": "int32" }, "id": { "type": "string" }, "processId": { "description": "Identifier for the underlying PTY process (when available).", "type": [ "string", "null" ] }, "status": { "$ref": "#/definitions/v2/CommandExecutionStatus" }, "type": { "type": "string", "enum": [ "commandExecution" ], "title": "CommandExecutionThreadItemType" } }, "title": "CommandExecutionThreadItem" }, { "type": "object", "required": [ "changes", "id", "status", "type" ], "properties": { "changes": { "type": "array", "items": { "$ref": "#/definitions/v2/FileUpdateChange" } }, "id": { "type": "string" }, "status": { "$ref": "#/definitions/v2/PatchApplyStatus" }, "type": { "type": "string", "enum": [ "fileChange" ], "title": "FileChangeThreadItemType" } }, "title": "FileChangeThreadItem" }, { "type": "object", "required": [ "arguments", "id", "server", "status", "tool", "type" ], "properties": { "arguments": true, "durationMs": { "description": "The duration of the MCP tool call in milliseconds.", "type": [ "integer", "null" ], "format": "int64" }, "error": { "anyOf": [ { "$ref": "#/definitions/v2/McpToolCallError" }, { "type": "null" } ] }, "id": { "type": "string" }, "result": { "anyOf": [ { "$ref": "#/definitions/v2/McpToolCallResult" }, { "type": "null" } ] }, "server": { "type": "string" }, "status": { "$ref": "#/definitions/v2/McpToolCallStatus" }, "tool": { "type": "string" }, "type": { "type": "string", "enum": [ "mcpToolCall" ], "title": "McpToolCallThreadItemType" } }, "title": "McpToolCallThreadItem" }, { "type": "object", "required": [ "agentsStates", "id", "receiverThreadIds", "senderThreadId", "status", "tool", "type" ], "properties": { "agentsStates": { "description": "Last known status of the target agents, when available.", "type": "object", "additionalProperties": { "$ref": "#/definitions/v2/CollabAgentState" } }, "id": { "description": "Unique identifier for this collab tool call.", "type": "string" }, "prompt": { "description": "Prompt text sent as part of the collab tool call, when available.", "type": [ "string", "null" ] }, "receiverThreadIds": { "description": "Thread ID of the receiving agent, when applicable. In case of spawn operation, this corresponds to the newly spawned agent.", "type": "array", "items": { "type": "string" } }, "senderThreadId": { "description": "Thread ID of the agent issuing the collab request.", "type": "string" }, "status": { "description": "Current status of the collab tool call.", "allOf": [ { "$ref": "#/definitions/v2/CollabAgentToolCallStatus" } ] }, "tool": { "description": "Name of the collab tool that was invoked.", "allOf": [ { "$ref": "#/definitions/v2/CollabAgentTool" } ] }, "type": { "type": "string", "enum": [ "collabAgentToolCall" ], "title": "CollabAgentToolCallThreadItemType" } }, "title": "CollabAgentToolCallThreadItem" }, { "type": "object", "required": [ "id", "query", "type" ], "properties": { "id": { "type": "string" }, "query": { "type": "string" }, "type": { "type": "string", "enum": [ "webSearch" ], "title": "WebSearchThreadItemType" } }, "title": "WebSearchThreadItem" }, { "type": "object", "required": [ "id", "path", "type" ], "properties": { "id": { "type": "string" }, "path": { "type": "string" }, "type": { "type": "string", "enum": [ "imageView" ], "title": "ImageViewThreadItemType" } }, "title": "ImageViewThreadItem" }, { "type": "object", "required": [ "id", "review", "type" ], "properties": { "id": { "type": "string" }, "review": { "type": "string" }, "type": { "type": "string", "enum": [ "enteredReviewMode" ], "title": "EnteredReviewModeThreadItemType" } }, "title": "EnteredReviewModeThreadItem" }, { "type": "object", "required": [ "id", "review", "type" ], "properties": { "id": { "type": "string" }, "review": { "type": "string" }, "type": { "type": "string", "enum": [ "exitedReviewMode" ], "title": "ExitedReviewModeThreadItemType" } }, "title": "ExitedReviewModeThreadItem" } ] }, "Turn": { "type": "object", "required": [ "id", "items", "status" ], "properties": { "error": { "description": "Only populated when the Turn's status is failed.", "anyOf": [ { "$ref": "#/definitions/v2/TurnError" }, { "type": "null" } ] }, "id": { "type": "string" }, "items": { "description": "Only populated on a `thread/resume` or `thread/fork` response. For all other responses and notifications returning a Turn, the items field will be an empty list.", "type": "array", "items": { "$ref": "#/definitions/v2/ThreadItem" } }, "status": { "$ref": "#/definitions/v2/TurnStatus" } } }, "TurnError": { "type": "object", "required": [ "message" ], "properties": { "additionalDetails": { "default": null, "type": [ "string", "null" ] }, "codexErrorInfo": { "anyOf": [ { "$ref": "#/definitions/v2/CodexErrorInfo" }, { "type": "null" } ] }, "message": { "type": "string" } } }, "TurnStatus": { "type": "string", "enum": [ "completed", "interrupted", "failed", "inProgress" ] }, "ThreadStartResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadStartResponse", "type": "object", "required": [ "approvalPolicy", "cwd", "model", "modelProvider", "sandbox", "thread" ], "properties": { "approvalPolicy": { "$ref": "#/definitions/v2/AskForApproval" }, "cwd": { "type": "string" }, "model": { "type": "string" }, "modelProvider": { "type": "string" }, "reasoningEffort": { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] }, "sandbox": { "$ref": "#/definitions/v2/SandboxPolicy" }, "thread": { "$ref": "#/definitions/v2/Thread" } } }, "ThreadResumeResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadResumeResponse", "type": "object", "required": [ "approvalPolicy", "cwd", "model", "modelProvider", "sandbox", "thread" ], "properties": { "approvalPolicy": { "$ref": "#/definitions/v2/AskForApproval" }, "cwd": { "type": "string" }, "model": { "type": "string" }, "modelProvider": { "type": "string" }, "reasoningEffort": { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] }, "sandbox": { "$ref": "#/definitions/v2/SandboxPolicy" }, "thread": { "$ref": "#/definitions/v2/Thread" } } }, "ThreadForkResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadForkResponse", "type": "object", "required": [ "approvalPolicy", "cwd", "model", "modelProvider", "sandbox", "thread" ], "properties": { "approvalPolicy": { "$ref": "#/definitions/v2/AskForApproval" }, "cwd": { "type": "string" }, "model": { "type": "string" }, "modelProvider": { "type": "string" }, "reasoningEffort": { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] }, "sandbox": { "$ref": "#/definitions/v2/SandboxPolicy" }, "thread": { "$ref": "#/definitions/v2/Thread" } } }, "ThreadArchiveResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadArchiveResponse", "type": "object" }, "ThreadRollbackResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadRollbackResponse", "type": "object", "required": [ "thread" ], "properties": { "thread": { "description": "The updated thread after applying the rollback, with `turns` populated.\n\nThe ThreadItems stored in each Turn are lossy since we explicitly do not persist all agent interactions, such as command executions. This is the same behavior as `thread/resume`.", "allOf": [ { "$ref": "#/definitions/v2/Thread" } ] } } }, "ThreadListResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadListResponse", "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/v2/Thread" } }, "nextCursor": { "description": "Opaque cursor to pass to the next call to continue after the last item. if None, there are no more items to return.", "type": [ "string", "null" ] } } }, "ThreadLoadedListResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadLoadedListResponse", "type": "object", "required": [ "data" ], "properties": { "data": { "description": "Thread ids for sessions currently loaded in memory.", "type": "array", "items": { "type": "string" } }, "nextCursor": { "description": "Opaque cursor to pass to the next call to continue after the last item. if None, there are no more items to return.", "type": [ "string", "null" ] } } }, "ThreadReadResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadReadResponse", "type": "object", "required": [ "thread" ], "properties": { "thread": { "$ref": "#/definitions/v2/Thread" } } }, "SkillErrorInfo": { "type": "object", "required": [ "message", "path" ], "properties": { "message": { "type": "string" }, "path": { "type": "string" } } }, "SkillInterface": { "type": "object", "properties": { "brandColor": { "type": [ "string", "null" ] }, "defaultPrompt": { "type": [ "string", "null" ] }, "displayName": { "type": [ "string", "null" ] }, "iconLarge": { "type": [ "string", "null" ] }, "iconSmall": { "type": [ "string", "null" ] }, "shortDescription": { "type": [ "string", "null" ] } } }, "SkillMetadata": { "type": "object", "required": [ "description", "enabled", "name", "path", "scope" ], "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "interface": { "anyOf": [ { "$ref": "#/definitions/v2/SkillInterface" }, { "type": "null" } ] }, "name": { "type": "string" }, "path": { "type": "string" }, "scope": { "$ref": "#/definitions/v2/SkillScope" }, "shortDescription": { "description": "Legacy short_description from SKILL.md. Prefer SKILL.toml interface.short_description.", "type": [ "string", "null" ] } } }, "SkillScope": { "type": "string", "enum": [ "user", "repo", "system", "admin" ] }, "SkillsListEntry": { "type": "object", "required": [ "cwd", "errors", "skills" ], "properties": { "cwd": { "type": "string" }, "errors": { "type": "array", "items": { "$ref": "#/definitions/v2/SkillErrorInfo" } }, "skills": { "type": "array", "items": { "$ref": "#/definitions/v2/SkillMetadata" } } } }, "SkillsListResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SkillsListResponse", "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/v2/SkillsListEntry" } } } }, "AppInfo": { "type": "object", "required": [ "id", "name" ], "properties": { "description": { "type": [ "string", "null" ] }, "id": { "type": "string" }, "installUrl": { "type": [ "string", "null" ] }, "isAccessible": { "default": false, "type": "boolean" }, "logoUrl": { "type": [ "string", "null" ] }, "name": { "type": "string" } } }, "AppsListResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "AppsListResponse", "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/v2/AppInfo" } }, "nextCursor": { "description": "Opaque cursor to pass to the next call to continue after the last item. If None, there are no more items to return.", "type": [ "string", "null" ] } } }, "SkillsConfigWriteResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SkillsConfigWriteResponse", "type": "object", "required": [ "effectiveEnabled" ], "properties": { "effectiveEnabled": { "type": "boolean" } } }, "TurnStartResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TurnStartResponse", "type": "object", "required": [ "turn" ], "properties": { "turn": { "$ref": "#/definitions/v2/Turn" } } }, "TurnInterruptResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TurnInterruptResponse", "type": "object" }, "ReviewStartResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ReviewStartResponse", "type": "object", "required": [ "reviewThreadId", "turn" ], "properties": { "reviewThreadId": { "description": "Identifies the thread where the review runs.\n\nFor inline reviews, this is the original thread id. For detached reviews, this is the id of the new review thread.", "type": "string" }, "turn": { "$ref": "#/definitions/v2/Turn" } } }, "Model": { "type": "object", "required": [ "defaultReasoningEffort", "description", "displayName", "id", "isDefault", "model", "supportedReasoningEfforts" ], "properties": { "defaultReasoningEffort": { "$ref": "#/definitions/v2/ReasoningEffort" }, "description": { "type": "string" }, "displayName": { "type": "string" }, "id": { "type": "string" }, "isDefault": { "type": "boolean" }, "model": { "type": "string" }, "supportedReasoningEfforts": { "type": "array", "items": { "$ref": "#/definitions/v2/ReasoningEffortOption" } } } }, "ReasoningEffortOption": { "type": "object", "required": [ "description", "reasoningEffort" ], "properties": { "description": { "type": "string" }, "reasoningEffort": { "$ref": "#/definitions/v2/ReasoningEffort" } } }, "ModelListResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ModelListResponse", "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/v2/Model" } }, "nextCursor": { "description": "Opaque cursor to pass to the next call to continue after the last item. If None, there are no more items to return.", "type": [ "string", "null" ] } } }, "CollaborationModeMask": { "description": "A mask for collaboration mode settings, allowing partial updates. All fields except `name` are optional, enabling selective updates.", "type": "object", "required": [ "name" ], "properties": { "developer_instructions": { "type": [ "string", "null" ] }, "mode": { "anyOf": [ { "$ref": "#/definitions/v2/ModeKind" }, { "type": "null" } ] }, "model": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "reasoning_effort": { "anyOf": [ { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] }, { "type": "null" } ] } } }, "CollaborationModeListResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CollaborationModeListResponse", "description": "EXPERIMENTAL - collaboration mode presets response.", "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/v2/CollaborationModeMask" } } } }, "McpServerOauthLoginResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "McpServerOauthLoginResponse", "type": "object", "required": [ "authorizationUrl" ], "properties": { "authorizationUrl": { "type": "string" } } }, "McpServerRefreshResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "McpServerRefreshResponse", "type": "object" }, "McpAuthStatus": { "type": "string", "enum": [ "unsupported", "notLoggedIn", "bearerToken", "oAuth" ] }, "McpServerStatus": { "type": "object", "required": [ "authStatus", "name", "resourceTemplates", "resources", "tools" ], "properties": { "authStatus": { "$ref": "#/definitions/v2/McpAuthStatus" }, "name": { "type": "string" }, "resourceTemplates": { "type": "array", "items": { "$ref": "#/definitions/v2/ResourceTemplate" } }, "resources": { "type": "array", "items": { "$ref": "#/definitions/v2/Resource" } }, "tools": { "type": "object", "additionalProperties": { "$ref": "#/definitions/v2/Tool" } } } }, "Resource": { "description": "A known resource that the server is capable of reading.", "type": "object", "required": [ "name", "uri" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/v2/Annotations" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "mimeType": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "size": { "type": [ "integer", "null" ], "format": "int64" }, "title": { "type": [ "string", "null" ] }, "uri": { "type": "string" } } }, "ResourceTemplate": { "description": "A template description for resources available on the server.", "type": "object", "required": [ "name", "uriTemplate" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/v2/Annotations" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "mimeType": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "title": { "type": [ "string", "null" ] }, "uriTemplate": { "type": "string" } } }, "Tool": { "description": "Definition for a tool the client can call.", "type": "object", "required": [ "inputSchema", "name" ], "properties": { "annotations": { "anyOf": [ { "$ref": "#/definitions/v2/ToolAnnotations" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "inputSchema": { "$ref": "#/definitions/v2/ToolInputSchema" }, "name": { "type": "string" }, "outputSchema": { "anyOf": [ { "$ref": "#/definitions/v2/ToolOutputSchema" }, { "type": "null" } ] }, "title": { "type": [ "string", "null" ] } } }, "ToolAnnotations": { "description": "Additional properties describing a Tool to clients.\n\nNOTE: all properties in ToolAnnotations are **hints**. They are not guaranteed to provide a faithful description of tool behavior (including descriptive properties like `title`).\n\nClients should never make tool use decisions based on ToolAnnotations received from untrusted servers.", "type": "object", "properties": { "destructiveHint": { "type": [ "boolean", "null" ] }, "idempotentHint": { "type": [ "boolean", "null" ] }, "openWorldHint": { "type": [ "boolean", "null" ] }, "readOnlyHint": { "type": [ "boolean", "null" ] }, "title": { "type": [ "string", "null" ] } } }, "ToolInputSchema": { "description": "A JSON Schema object defining the expected parameters for the tool.", "type": "object", "properties": { "properties": true, "required": { "type": [ "array", "null" ], "items": { "type": "string" } }, "type": { "default": "object", "type": "string" } } }, "ToolOutputSchema": { "description": "An optional JSON Schema object defining the structure of the tool's output returned in the structuredContent field of a CallToolResult.", "type": "object", "properties": { "properties": true, "required": { "type": [ "array", "null" ], "items": { "type": "string" } }, "type": { "default": "object", "type": "string" } } }, "ListMcpServerStatusResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ListMcpServerStatusResponse", "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/v2/McpServerStatus" } }, "nextCursor": { "description": "Opaque cursor to pass to the next call to continue after the last item. If None, there are no more items to return.", "type": [ "string", "null" ] } } }, "LoginAccountResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "LoginAccountResponse", "oneOf": [ { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "apiKey" ], "title": "ApiKeyv2::LoginAccountResponseType" } }, "title": "ApiKeyv2::LoginAccountResponse" }, { "type": "object", "required": [ "authUrl", "loginId", "type" ], "properties": { "authUrl": { "description": "URL the client should open in a browser to initiate the OAuth flow.", "type": "string" }, "loginId": { "type": "string" }, "type": { "type": "string", "enum": [ "chatgpt" ], "title": "Chatgptv2::LoginAccountResponseType" } }, "title": "Chatgptv2::LoginAccountResponse" } ] }, "CancelLoginAccountStatus": { "type": "string", "enum": [ "canceled", "notFound" ] }, "CancelLoginAccountResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CancelLoginAccountResponse", "type": "object", "required": [ "status" ], "properties": { "status": { "$ref": "#/definitions/v2/CancelLoginAccountStatus" } } }, "LogoutAccountResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "LogoutAccountResponse", "type": "object" }, "CreditsSnapshot": { "type": "object", "required": [ "hasCredits", "unlimited" ], "properties": { "balance": { "type": [ "string", "null" ] }, "hasCredits": { "type": "boolean" }, "unlimited": { "type": "boolean" } } }, "PlanType": { "type": "string", "enum": [ "free", "plus", "pro", "team", "business", "enterprise", "edu", "unknown" ] }, "RateLimitSnapshot": { "type": "object", "properties": { "credits": { "anyOf": [ { "$ref": "#/definitions/v2/CreditsSnapshot" }, { "type": "null" } ] }, "planType": { "anyOf": [ { "$ref": "#/definitions/v2/PlanType" }, { "type": "null" } ] }, "primary": { "anyOf": [ { "$ref": "#/definitions/v2/RateLimitWindow" }, { "type": "null" } ] }, "secondary": { "anyOf": [ { "$ref": "#/definitions/v2/RateLimitWindow" }, { "type": "null" } ] } } }, "RateLimitWindow": { "type": "object", "required": [ "usedPercent" ], "properties": { "resetsAt": { "type": [ "integer", "null" ], "format": "int64" }, "usedPercent": { "type": "integer", "format": "int32" }, "windowDurationMins": { "type": [ "integer", "null" ], "format": "int64" } } }, "GetAccountRateLimitsResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetAccountRateLimitsResponse", "type": "object", "required": [ "rateLimits" ], "properties": { "rateLimits": { "$ref": "#/definitions/v2/RateLimitSnapshot" } } }, "FeedbackUploadResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "FeedbackUploadResponse", "type": "object", "required": [ "threadId" ], "properties": { "threadId": { "type": "string" } } }, "CommandExecResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CommandExecResponse", "type": "object", "required": [ "exitCode", "stderr", "stdout" ], "properties": { "exitCode": { "type": "integer", "format": "int32" }, "stderr": { "type": "string" }, "stdout": { "type": "string" } } }, "AnalyticsConfig": { "type": "object", "properties": { "enabled": { "type": [ "boolean", "null" ] } }, "additionalProperties": true }, "Config": { "type": "object", "properties": { "analytics": { "anyOf": [ { "$ref": "#/definitions/v2/AnalyticsConfig" }, { "type": "null" } ] }, "approval_policy": { "anyOf": [ { "$ref": "#/definitions/v2/AskForApproval" }, { "type": "null" } ] }, "compact_prompt": { "type": [ "string", "null" ] }, "developer_instructions": { "type": [ "string", "null" ] }, "forced_chatgpt_workspace_id": { "type": [ "string", "null" ] }, "forced_login_method": { "anyOf": [ { "$ref": "#/definitions/v2/ForcedLoginMethod" }, { "type": "null" } ] }, "instructions": { "type": [ "string", "null" ] }, "model": { "type": [ "string", "null" ] }, "model_auto_compact_token_limit": { "type": [ "integer", "null" ], "format": "int64" }, "model_context_window": { "type": [ "integer", "null" ], "format": "int64" }, "model_provider": { "type": [ "string", "null" ] }, "model_reasoning_effort": { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] }, "model_reasoning_summary": { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningSummary" }, { "type": "null" } ] }, "model_verbosity": { "anyOf": [ { "$ref": "#/definitions/v2/Verbosity" }, { "type": "null" } ] }, "profile": { "type": [ "string", "null" ] }, "profiles": { "default": {}, "type": "object", "additionalProperties": { "$ref": "#/definitions/v2/ProfileV2" } }, "review_model": { "type": [ "string", "null" ] }, "sandbox_mode": { "anyOf": [ { "$ref": "#/definitions/v2/SandboxMode" }, { "type": "null" } ] }, "sandbox_workspace_write": { "anyOf": [ { "$ref": "#/definitions/v2/SandboxWorkspaceWrite" }, { "type": "null" } ] }, "tools": { "anyOf": [ { "$ref": "#/definitions/v2/ToolsV2" }, { "type": "null" } ] }, "web_search": { "anyOf": [ { "$ref": "#/definitions/v2/WebSearchMode" }, { "type": "null" } ] } }, "additionalProperties": true }, "ConfigLayer": { "type": "object", "required": [ "config", "name", "version" ], "properties": { "config": true, "disabledReason": { "type": [ "string", "null" ] }, "name": { "$ref": "#/definitions/v2/ConfigLayerSource" }, "version": { "type": "string" } } }, "ConfigLayerMetadata": { "type": "object", "required": [ "name", "version" ], "properties": { "name": { "$ref": "#/definitions/v2/ConfigLayerSource" }, "version": { "type": "string" } } }, "ConfigLayerSource": { "oneOf": [ { "description": "Managed preferences layer delivered by MDM (macOS only).", "type": "object", "required": [ "domain", "key", "type" ], "properties": { "domain": { "type": "string" }, "key": { "type": "string" }, "type": { "type": "string", "enum": [ "mdm" ], "title": "MdmConfigLayerSourceType" } }, "title": "MdmConfigLayerSource" }, { "description": "Managed config layer from a file (usually `managed_config.toml`).", "type": "object", "required": [ "file", "type" ], "properties": { "file": { "description": "This is the path to the system config.toml file, though it is not guaranteed to exist.", "allOf": [ { "$ref": "#/definitions/v2/AbsolutePathBuf" } ] }, "type": { "type": "string", "enum": [ "system" ], "title": "SystemConfigLayerSourceType" } }, "title": "SystemConfigLayerSource" }, { "description": "User config layer from $CODEX_HOME/config.toml. This layer is special in that it is expected to be: - writable by the user - generally outside the workspace directory", "type": "object", "required": [ "file", "type" ], "properties": { "file": { "description": "This is the path to the user's config.toml file, though it is not guaranteed to exist.", "allOf": [ { "$ref": "#/definitions/v2/AbsolutePathBuf" } ] }, "type": { "type": "string", "enum": [ "user" ], "title": "UserConfigLayerSourceType" } }, "title": "UserConfigLayerSource" }, { "description": "Path to a .codex/ folder within a project. There could be multiple of these between `cwd` and the project/repo root.", "type": "object", "required": [ "dotCodexFolder", "type" ], "properties": { "dotCodexFolder": { "$ref": "#/definitions/v2/AbsolutePathBuf" }, "type": { "type": "string", "enum": [ "project" ], "title": "ProjectConfigLayerSourceType" } }, "title": "ProjectConfigLayerSource" }, { "description": "Session-layer overrides supplied via `-c`/`--config`.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "sessionFlags" ], "title": "SessionFlagsConfigLayerSourceType" } }, "title": "SessionFlagsConfigLayerSource" }, { "description": "`managed_config.toml` was designed to be a config that was loaded as the last layer on top of everything else. This scheme did not quite work out as intended, but we keep this variant as a \"best effort\" while we phase out `managed_config.toml` in favor of `requirements.toml`.", "type": "object", "required": [ "file", "type" ], "properties": { "file": { "$ref": "#/definitions/v2/AbsolutePathBuf" }, "type": { "type": "string", "enum": [ "legacyManagedConfigTomlFromFile" ], "title": "LegacyManagedConfigTomlFromFileConfigLayerSourceType" } }, "title": "LegacyManagedConfigTomlFromFileConfigLayerSource" }, { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "legacyManagedConfigTomlFromMdm" ], "title": "LegacyManagedConfigTomlFromMdmConfigLayerSourceType" } }, "title": "LegacyManagedConfigTomlFromMdmConfigLayerSource" } ] }, "ForcedLoginMethod": { "type": "string", "enum": [ "chatgpt", "api" ] }, "ProfileV2": { "type": "object", "properties": { "approval_policy": { "anyOf": [ { "$ref": "#/definitions/v2/AskForApproval" }, { "type": "null" } ] }, "chatgpt_base_url": { "type": [ "string", "null" ] }, "model": { "type": [ "string", "null" ] }, "model_provider": { "type": [ "string", "null" ] }, "model_reasoning_effort": { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningEffort" }, { "type": "null" } ] }, "model_reasoning_summary": { "anyOf": [ { "$ref": "#/definitions/v2/ReasoningSummary" }, { "type": "null" } ] }, "model_verbosity": { "anyOf": [ { "$ref": "#/definitions/v2/Verbosity" }, { "type": "null" } ] }, "web_search": { "anyOf": [ { "$ref": "#/definitions/v2/WebSearchMode" }, { "type": "null" } ] } }, "additionalProperties": true }, "SandboxWorkspaceWrite": { "type": "object", "properties": { "exclude_slash_tmp": { "default": false, "type": "boolean" }, "exclude_tmpdir_env_var": { "default": false, "type": "boolean" }, "network_access": { "default": false, "type": "boolean" }, "writable_roots": { "default": [], "type": "array", "items": { "type": "string" } } } }, "ToolsV2": { "type": "object", "properties": { "view_image": { "type": [ "boolean", "null" ] }, "web_search": { "type": [ "boolean", "null" ] } } }, "Verbosity": { "description": "Controls output length/detail on GPT-5 models via the Responses API. Serialized with lowercase values to match the OpenAI API.", "type": "string", "enum": [ "low", "medium", "high" ] }, "WebSearchMode": { "type": "string", "enum": [ "disabled", "cached", "live" ] }, "ConfigReadResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ConfigReadResponse", "type": "object", "required": [ "config", "origins" ], "properties": { "config": { "$ref": "#/definitions/v2/Config" }, "layers": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/v2/ConfigLayer" } }, "origins": { "type": "object", "additionalProperties": { "$ref": "#/definitions/v2/ConfigLayerMetadata" } } } }, "OverriddenMetadata": { "type": "object", "required": [ "effectiveValue", "message", "overridingLayer" ], "properties": { "effectiveValue": true, "message": { "type": "string" }, "overridingLayer": { "$ref": "#/definitions/v2/ConfigLayerMetadata" } } }, "WriteStatus": { "type": "string", "enum": [ "ok", "okOverridden" ] }, "ConfigWriteResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ConfigWriteResponse", "type": "object", "required": [ "filePath", "status", "version" ], "properties": { "filePath": { "description": "Canonical path to the config file that was written.", "allOf": [ { "$ref": "#/definitions/v2/AbsolutePathBuf" } ] }, "overriddenMetadata": { "anyOf": [ { "$ref": "#/definitions/v2/OverriddenMetadata" }, { "type": "null" } ] }, "status": { "$ref": "#/definitions/v2/WriteStatus" }, "version": { "type": "string" } } }, "ConfigRequirements": { "type": "object", "properties": { "allowedApprovalPolicies": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/v2/AskForApproval" } }, "allowedSandboxModes": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/v2/SandboxMode" } } } }, "ConfigRequirementsReadResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ConfigRequirementsReadResponse", "type": "object", "properties": { "requirements": { "description": "Null if no requirements are configured (e.g. no requirements.toml/MDM entries).", "anyOf": [ { "$ref": "#/definitions/v2/ConfigRequirements" }, { "type": "null" } ] } } }, "Account": { "oneOf": [ { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "apiKey" ], "title": "ApiKeyAccountType" } }, "title": "ApiKeyAccount" }, { "type": "object", "required": [ "email", "planType", "type" ], "properties": { "email": { "type": "string" }, "planType": { "$ref": "#/definitions/v2/PlanType" }, "type": { "type": "string", "enum": [ "chatgpt" ], "title": "ChatgptAccountType" } }, "title": "ChatgptAccount" } ] }, "GetAccountResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetAccountResponse", "type": "object", "required": [ "requiresOpenaiAuth" ], "properties": { "account": { "anyOf": [ { "$ref": "#/definitions/v2/Account" }, { "type": "null" } ] }, "requiresOpenaiAuth": { "type": "boolean" } } }, "ErrorNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ErrorNotification", "type": "object", "required": [ "error", "threadId", "turnId", "willRetry" ], "properties": { "error": { "$ref": "#/definitions/v2/TurnError" }, "threadId": { "type": "string" }, "turnId": { "type": "string" }, "willRetry": { "type": "boolean" } } }, "ThreadStartedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadStartedNotification", "type": "object", "required": [ "thread" ], "properties": { "thread": { "$ref": "#/definitions/v2/Thread" } } }, "ThreadTokenUsage": { "type": "object", "required": [ "last", "total" ], "properties": { "last": { "$ref": "#/definitions/v2/TokenUsageBreakdown" }, "modelContextWindow": { "type": [ "integer", "null" ], "format": "int64" }, "total": { "$ref": "#/definitions/v2/TokenUsageBreakdown" } } }, "TokenUsageBreakdown": { "type": "object", "required": [ "cachedInputTokens", "inputTokens", "outputTokens", "reasoningOutputTokens", "totalTokens" ], "properties": { "cachedInputTokens": { "type": "integer", "format": "int64" }, "inputTokens": { "type": "integer", "format": "int64" }, "outputTokens": { "type": "integer", "format": "int64" }, "reasoningOutputTokens": { "type": "integer", "format": "int64" }, "totalTokens": { "type": "integer", "format": "int64" } } }, "ThreadTokenUsageUpdatedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ThreadTokenUsageUpdatedNotification", "type": "object", "required": [ "threadId", "tokenUsage", "turnId" ], "properties": { "threadId": { "type": "string" }, "tokenUsage": { "$ref": "#/definitions/v2/ThreadTokenUsage" }, "turnId": { "type": "string" } } }, "TurnStartedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TurnStartedNotification", "type": "object", "required": [ "threadId", "turn" ], "properties": { "threadId": { "type": "string" }, "turn": { "$ref": "#/definitions/v2/Turn" } } }, "TurnCompletedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TurnCompletedNotification", "type": "object", "required": [ "threadId", "turn" ], "properties": { "threadId": { "type": "string" }, "turn": { "$ref": "#/definitions/v2/Turn" } } }, "TurnDiffUpdatedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TurnDiffUpdatedNotification", "description": "Notification that the turn-level unified diff has changed. Contains the latest aggregated diff across all file changes in the turn.", "type": "object", "required": [ "diff", "threadId", "turnId" ], "properties": { "diff": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "TurnPlanStep": { "type": "object", "required": [ "status", "step" ], "properties": { "status": { "$ref": "#/definitions/v2/TurnPlanStepStatus" }, "step": { "type": "string" } } }, "TurnPlanStepStatus": { "type": "string", "enum": [ "pending", "inProgress", "completed" ] }, "TurnPlanUpdatedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TurnPlanUpdatedNotification", "type": "object", "required": [ "plan", "threadId", "turnId" ], "properties": { "explanation": { "type": [ "string", "null" ] }, "plan": { "type": "array", "items": { "$ref": "#/definitions/v2/TurnPlanStep" } }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ItemStartedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ItemStartedNotification", "type": "object", "required": [ "item", "threadId", "turnId" ], "properties": { "item": { "$ref": "#/definitions/v2/ThreadItem" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ItemCompletedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ItemCompletedNotification", "type": "object", "required": [ "item", "threadId", "turnId" ], "properties": { "item": { "$ref": "#/definitions/v2/ThreadItem" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "RawResponseItemCompletedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "RawResponseItemCompletedNotification", "type": "object", "required": [ "item", "threadId", "turnId" ], "properties": { "item": { "$ref": "#/definitions/v2/ResponseItem" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "AgentMessageDeltaNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "AgentMessageDeltaNotification", "type": "object", "required": [ "delta", "itemId", "threadId", "turnId" ], "properties": { "delta": { "type": "string" }, "itemId": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "CommandExecutionOutputDeltaNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CommandExecutionOutputDeltaNotification", "type": "object", "required": [ "delta", "itemId", "threadId", "turnId" ], "properties": { "delta": { "type": "string" }, "itemId": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "TerminalInteractionNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TerminalInteractionNotification", "type": "object", "required": [ "itemId", "processId", "stdin", "threadId", "turnId" ], "properties": { "itemId": { "type": "string" }, "processId": { "type": "string" }, "stdin": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "FileChangeOutputDeltaNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "FileChangeOutputDeltaNotification", "type": "object", "required": [ "delta", "itemId", "threadId", "turnId" ], "properties": { "delta": { "type": "string" }, "itemId": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "McpToolCallProgressNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "McpToolCallProgressNotification", "type": "object", "required": [ "itemId", "message", "threadId", "turnId" ], "properties": { "itemId": { "type": "string" }, "message": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "McpServerOauthLoginCompletedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "McpServerOauthLoginCompletedNotification", "type": "object", "required": [ "name", "success" ], "properties": { "error": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "success": { "type": "boolean" } } }, "AuthMode": { "type": "string", "enum": [ "apikey", "chatgpt" ] }, "AccountUpdatedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "AccountUpdatedNotification", "type": "object", "properties": { "authMode": { "anyOf": [ { "$ref": "#/definitions/v2/AuthMode" }, { "type": "null" } ] } } }, "AccountRateLimitsUpdatedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "AccountRateLimitsUpdatedNotification", "type": "object", "required": [ "rateLimits" ], "properties": { "rateLimits": { "$ref": "#/definitions/v2/RateLimitSnapshot" } } }, "ReasoningSummaryTextDeltaNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ReasoningSummaryTextDeltaNotification", "type": "object", "required": [ "delta", "itemId", "summaryIndex", "threadId", "turnId" ], "properties": { "delta": { "type": "string" }, "itemId": { "type": "string" }, "summaryIndex": { "type": "integer", "format": "int64" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ReasoningSummaryPartAddedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ReasoningSummaryPartAddedNotification", "type": "object", "required": [ "itemId", "summaryIndex", "threadId", "turnId" ], "properties": { "itemId": { "type": "string" }, "summaryIndex": { "type": "integer", "format": "int64" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ReasoningTextDeltaNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ReasoningTextDeltaNotification", "type": "object", "required": [ "contentIndex", "delta", "itemId", "threadId", "turnId" ], "properties": { "contentIndex": { "type": "integer", "format": "int64" }, "delta": { "type": "string" }, "itemId": { "type": "string" }, "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "ContextCompactedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ContextCompactedNotification", "type": "object", "required": [ "threadId", "turnId" ], "properties": { "threadId": { "type": "string" }, "turnId": { "type": "string" } } }, "DeprecationNoticeNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "DeprecationNoticeNotification", "type": "object", "required": [ "summary" ], "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" } } }, "TextPosition": { "type": "object", "required": [ "column", "line" ], "properties": { "column": { "description": "1-based column number (in Unicode scalar values).", "type": "integer", "format": "uint", "minimum": 0 }, "line": { "description": "1-based line number.", "type": "integer", "format": "uint", "minimum": 0 } } }, "TextRange": { "type": "object", "required": [ "end", "start" ], "properties": { "end": { "$ref": "#/definitions/v2/TextPosition" }, "start": { "$ref": "#/definitions/v2/TextPosition" } } }, "ConfigWarningNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ConfigWarningNotification", "type": "object", "required": [ "summary" ], "properties": { "details": { "description": "Optional extra guidance or error details.", "type": [ "string", "null" ] }, "path": { "description": "Optional path to the config file that triggered the warning.", "type": [ "string", "null" ] }, "range": { "description": "Optional range for the error location inside the config file.", "anyOf": [ { "$ref": "#/definitions/v2/TextRange" }, { "type": "null" } ] }, "summary": { "description": "Concise summary of the warning.", "type": "string" } } }, "WindowsWorldWritableWarningNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "WindowsWorldWritableWarningNotification", "type": "object", "required": [ "extraCount", "failedScan", "samplePaths" ], "properties": { "extraCount": { "type": "integer", "format": "uint", "minimum": 0 }, "failedScan": { "type": "boolean" }, "samplePaths": { "type": "array", "items": { "type": "string" } } } }, "AccountLoginCompletedNotification": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "AccountLoginCompletedNotification", "type": "object", "required": [ "success" ], "properties": { "error": { "type": [ "string", "null" ] }, "loginId": { "type": [ "string", "null" ] }, "success": { "type": "boolean" } } } }, "InitializeResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "InitializeResponse", "type": "object", "required": [ "userAgent" ], "properties": { "userAgent": { "type": "string" } } }, "NewConversationResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "NewConversationResponse", "type": "object", "required": [ "conversationId", "model", "rolloutPath" ], "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" }, "model": { "type": "string" }, "reasoningEffort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] }, "rolloutPath": { "type": "string" } } }, "ConversationGitInfo": { "type": "object", "properties": { "branch": { "type": [ "string", "null" ] }, "origin_url": { "type": [ "string", "null" ] }, "sha": { "type": [ "string", "null" ] } } }, "ConversationSummary": { "type": "object", "required": [ "cliVersion", "conversationId", "cwd", "modelProvider", "path", "preview", "source" ], "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" ] } } }, "GetConversationSummaryResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetConversationSummaryResponse", "type": "object", "required": [ "summary" ], "properties": { "summary": { "$ref": "#/definitions/ConversationSummary" } } }, "ListConversationsResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ListConversationsResponse", "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/ConversationSummary" } }, "nextCursor": { "type": [ "string", "null" ] } } }, "ResumeConversationResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ResumeConversationResponse", "type": "object", "required": [ "conversationId", "model", "rolloutPath" ], "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" }, "initialMessages": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/EventMsg" } }, "model": { "type": "string" }, "rolloutPath": { "type": "string" } } }, "ForkConversationResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ForkConversationResponse", "type": "object", "required": [ "conversationId", "model", "rolloutPath" ], "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" }, "initialMessages": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/EventMsg" } }, "model": { "type": "string" }, "rolloutPath": { "type": "string" } } }, "ArchiveConversationResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ArchiveConversationResponse", "type": "object" }, "SendUserMessageResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SendUserMessageResponse", "type": "object" }, "SendUserTurnResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SendUserTurnResponse", "type": "object" }, "InterruptConversationResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "InterruptConversationResponse", "type": "object", "required": [ "abortReason" ], "properties": { "abortReason": { "$ref": "#/definitions/TurnAbortReason" } } }, "AddConversationSubscriptionResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "AddConversationSubscriptionResponse", "type": "object", "required": [ "subscriptionId" ], "properties": { "subscriptionId": { "type": "string" } } }, "RemoveConversationSubscriptionResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "RemoveConversationSubscriptionResponse", "type": "object" }, "GitSha": { "type": "string" }, "GitDiffToRemoteResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GitDiffToRemoteResponse", "type": "object", "required": [ "diff", "sha" ], "properties": { "diff": { "type": "string" }, "sha": { "$ref": "#/definitions/GitSha" } } }, "LoginApiKeyResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "LoginApiKeyResponse", "type": "object" }, "LoginChatGptResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "LoginChatGptResponse", "type": "object", "required": [ "authUrl", "loginId" ], "properties": { "authUrl": { "type": "string" }, "loginId": { "type": "string" } } }, "CancelLoginChatGptResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CancelLoginChatGptResponse", "type": "object" }, "LogoutChatGptResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "LogoutChatGptResponse", "type": "object" }, "GetAuthStatusResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetAuthStatusResponse", "type": "object", "properties": { "authMethod": { "anyOf": [ { "$ref": "#/definitions/AuthMode" }, { "type": "null" } ] }, "authToken": { "type": [ "string", "null" ] }, "requiresOpenaiAuth": { "type": [ "boolean", "null" ] } } }, "ForcedLoginMethod": { "type": "string", "enum": [ "chatgpt", "api" ] }, "Profile": { "type": "object", "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" } ] } } }, "SandboxSettings": { "type": "object", "properties": { "excludeSlashTmp": { "type": [ "boolean", "null" ] }, "excludeTmpdirEnvVar": { "type": [ "boolean", "null" ] }, "networkAccess": { "type": [ "boolean", "null" ] }, "writableRoots": { "default": [], "type": "array", "items": { "$ref": "#/definitions/AbsolutePathBuf" } } } }, "Tools": { "type": "object", "properties": { "viewImage": { "type": [ "boolean", "null" ] }, "webSearch": { "type": [ "boolean", "null" ] } } }, "UserSavedConfig": { "type": "object", "required": [ "profiles" ], "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": { "type": "object", "additionalProperties": { "$ref": "#/definitions/Profile" } }, "sandboxMode": { "anyOf": [ { "$ref": "#/definitions/SandboxMode" }, { "type": "null" } ] }, "sandboxSettings": { "anyOf": [ { "$ref": "#/definitions/SandboxSettings" }, { "type": "null" } ] }, "tools": { "anyOf": [ { "$ref": "#/definitions/Tools" }, { "type": "null" } ] } } }, "Verbosity": { "description": "Controls output length/detail on GPT-5 models via the Responses API. Serialized with lowercase values to match the OpenAI API.", "type": "string", "enum": [ "low", "medium", "high" ] }, "GetUserSavedConfigResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetUserSavedConfigResponse", "type": "object", "required": [ "config" ], "properties": { "config": { "$ref": "#/definitions/UserSavedConfig" } } }, "SetDefaultModelResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SetDefaultModelResponse", "type": "object" }, "GetUserAgentResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "GetUserAgentResponse", "type": "object", "required": [ "userAgent" ], "properties": { "userAgent": { "type": "string" } } }, "UserInfoResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "UserInfoResponse", "type": "object", "properties": { "allegedUserEmail": { "type": [ "string", "null" ] } } }, "FuzzyFileSearchResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "FuzzyFileSearchResponse", "type": "object", "required": [ "files" ], "properties": { "files": { "type": "array", "items": { "$ref": "#/definitions/FuzzyFileSearchResult" } } } }, "ExecOneOffCommandResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecOneOffCommandResponse", "type": "object", "required": [ "exitCode", "stderr", "stdout" ], "properties": { "exitCode": { "type": "integer", "format": "int32" }, "stderr": { "type": "string" }, "stdout": { "type": "string" } } }, "CommandExecutionRequestApprovalResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "CommandExecutionRequestApprovalResponse", "type": "object", "required": [ "decision" ], "properties": { "decision": { "$ref": "#/definitions/CommandExecutionApprovalDecision" } } }, "FileChangeRequestApprovalResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "FileChangeRequestApprovalResponse", "type": "object", "required": [ "decision" ], "properties": { "decision": { "$ref": "#/definitions/FileChangeApprovalDecision" } } }, "ToolRequestUserInputResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ToolRequestUserInputResponse", "description": "EXPERIMENTAL. Response payload mapping question ids to answers.", "type": "object", "required": [ "answers" ], "properties": { "answers": { "type": "object", "additionalProperties": { "$ref": "#/definitions/ToolRequestUserInputAnswer" } } } }, "ApplyPatchApprovalResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ApplyPatchApprovalResponse", "type": "object", "required": [ "decision" ], "properties": { "decision": { "$ref": "#/definitions/ReviewDecision" } } }, "ExecCommandApprovalResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecCommandApprovalResponse", "type": "object", "required": [ "decision" ], "properties": { "decision": { "$ref": "#/definitions/ReviewDecision" } } } } }