{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "AbsolutePathBuf": { "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", "type": "string" }, "AdditionalContextEntry": { "properties": { "kind": { "$ref": "#/definitions/AdditionalContextKind" }, "value": { "type": "string" } }, "required": ["kind", "value"], "type": "object" }, "AdditionalContextKind": { "enum": ["untrusted", "application"], "type": "string" }, "ApprovalsReviewer": { "description": "Configures who approval requests are routed to for review. Examples include sandbox escapes, blocked network access, MCP approval prompts, and ARC escalations. Defaults to `user`. `auto_review` uses a carefully prompted subagent to gather relevant context and apply a risk-based decision framework before approving or denying the request. The legacy value `guardian_subagent` is accepted for compatibility.", "enum": ["user", "auto_review", "guardian_subagent"], "type": "string" }, "AskForApproval": { "oneOf": [ { "enum": ["untrusted", "on-request", "never"], "type": "string" }, { "additionalProperties": false, "properties": { "granular": { "properties": { "mcp_elicitations": { "type": "boolean" }, "request_permissions": { "default": false, "type": "boolean" }, "rules": { "type": "boolean" }, "sandbox_approval": { "type": "boolean" }, "skill_approval": { "default": false, "type": "boolean" } }, "required": ["mcp_elicitations", "rules", "sandbox_approval"], "type": "object" } }, "required": ["granular"], "title": "GranularAskForApproval", "type": "object" } ] }, "ByteRange": { "properties": { "end": { "format": "uint", "minimum": 0.0, "type": "integer" }, "start": { "format": "uint", "minimum": 0.0, "type": "integer" } }, "required": ["end", "start"], "type": "object" }, "CollaborationMode": { "description": "Collaboration mode for a Codex session.", "properties": { "mode": { "$ref": "#/definitions/ModeKind" }, "settings": { "$ref": "#/definitions/Settings" } }, "required": ["mode", "settings"], "type": "object" }, "ImageDetail": { "enum": ["auto", "low", "high", "original"], "type": "string" }, "LegacyAppPathString": { "type": "string" }, "ModeKind": { "description": "Initial collaboration mode to use when the TUI starts.", "enum": ["plan", "default"], "type": "string" }, "MultiAgentMode": { "description": "Controls whether the model receives multi-agent delegation instructions and, when it does, whether it should only spawn sub-agents after an explicit user request or may delegate proactively when doing so would help. `none` leaves the multi-agent tools available without injecting delegation instructions.", "enum": ["none", "explicitRequestOnly", "proactive"], "type": "string" }, "NetworkAccess": { "enum": ["restricted", "enabled"], "type": "string" }, "Personality": { "enum": ["none", "friendly", "pragmatic"], "type": "string" }, "ReasoningEffort": { "description": "A non-empty reasoning effort value advertised by the model.", "minLength": 1, "type": "string" }, "ReasoningSummary": { "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries", "oneOf": [ { "enum": ["auto", "concise", "detailed"], "type": "string" }, { "description": "Option to disable reasoning summaries.", "enum": ["none"], "type": "string" } ] }, "SandboxPolicy": { "oneOf": [ { "properties": { "type": { "enum": ["dangerFullAccess"], "title": "DangerFullAccessSandboxPolicyType", "type": "string" } }, "required": ["type"], "title": "DangerFullAccessSandboxPolicy", "type": "object" }, { "properties": { "networkAccess": { "default": false, "type": "boolean" }, "type": { "enum": ["readOnly"], "title": "ReadOnlySandboxPolicyType", "type": "string" } }, "required": ["type"], "title": "ReadOnlySandboxPolicy", "type": "object" }, { "properties": { "networkAccess": { "allOf": [ { "$ref": "#/definitions/NetworkAccess" } ], "default": "restricted" }, "type": { "enum": ["externalSandbox"], "title": "ExternalSandboxSandboxPolicyType", "type": "string" } }, "required": ["type"], "title": "ExternalSandboxSandboxPolicy", "type": "object" }, { "properties": { "excludeSlashTmp": { "default": false, "type": "boolean" }, "excludeTmpdirEnvVar": { "default": false, "type": "boolean" }, "networkAccess": { "default": false, "type": "boolean" }, "type": { "enum": ["workspaceWrite"], "title": "WorkspaceWriteSandboxPolicyType", "type": "string" }, "writableRoots": { "default": [], "items": { "$ref": "#/definitions/AbsolutePathBuf" }, "type": "array" } }, "required": ["type"], "title": "WorkspaceWriteSandboxPolicy", "type": "object" } ] }, "Settings": { "description": "Settings for a collaboration mode.", "properties": { "developer_instructions": { "type": ["string", "null"] }, "model": { "type": "string" }, "reasoning_effort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ] } }, "required": ["model"], "type": "object" }, "TextElement": { "properties": { "byteRange": { "allOf": [ { "$ref": "#/definitions/ByteRange" } ], "description": "Byte range in the parent `text` buffer that this element occupies." }, "placeholder": { "description": "Optional human-readable placeholder for the element, displayed in the UI.", "type": ["string", "null"] } }, "required": ["byteRange"], "type": "object" }, "TurnEnvironmentParams": { "properties": { "cwd": { "$ref": "#/definitions/LegacyAppPathString" }, "environmentId": { "type": "string" } }, "required": ["cwd", "environmentId"], "type": "object" }, "UserInput": { "oneOf": [ { "properties": { "text": { "type": "string" }, "text_elements": { "default": [], "description": "UI-defined spans within `text` used to render or persist special elements.", "items": { "$ref": "#/definitions/TextElement" }, "type": "array" }, "type": { "enum": ["text"], "title": "TextUserInputType", "type": "string" } }, "required": ["text", "type"], "title": "TextUserInput", "type": "object" }, { "properties": { "detail": { "anyOf": [ { "$ref": "#/definitions/ImageDetail" }, { "type": "null" } ], "default": null }, "type": { "enum": ["image"], "title": "ImageUserInputType", "type": "string" }, "url": { "type": "string" } }, "required": ["type", "url"], "title": "ImageUserInput", "type": "object" }, { "properties": { "detail": { "anyOf": [ { "$ref": "#/definitions/ImageDetail" }, { "type": "null" } ], "default": null }, "path": { "type": "string" }, "type": { "enum": ["localImage"], "title": "LocalImageUserInputType", "type": "string" } }, "required": ["path", "type"], "title": "LocalImageUserInput", "type": "object" }, { "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "type": { "enum": ["skill"], "title": "SkillUserInputType", "type": "string" } }, "required": ["name", "path", "type"], "title": "SkillUserInput", "type": "object" }, { "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "type": { "enum": ["mention"], "title": "MentionUserInputType", "type": "string" } }, "required": ["name", "path", "type"], "title": "MentionUserInput", "type": "object" } ] } }, "properties": { "approvalPolicy": { "anyOf": [ { "$ref": "#/definitions/AskForApproval" }, { "type": "null" } ], "description": "Override the approval policy for this turn and subsequent turns." }, "approvalsReviewer": { "anyOf": [ { "$ref": "#/definitions/ApprovalsReviewer" }, { "type": "null" } ], "description": "Override where approval requests are routed for review on this turn and subsequent turns." }, "clientUserMessageId": { "type": ["string", "null"] }, "cwd": { "description": "Override the working directory for this turn and subsequent turns.", "type": ["string", "null"] }, "effort": { "anyOf": [ { "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" } ], "description": "Override the reasoning effort for this turn and subsequent turns." }, "input": { "items": { "$ref": "#/definitions/UserInput" }, "type": "array" }, "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": { "anyOf": [ { "$ref": "#/definitions/Personality" }, { "type": "null" } ], "description": "Override the personality for this turn and subsequent turns." }, "sandboxPolicy": { "anyOf": [ { "$ref": "#/definitions/SandboxPolicy" }, { "type": "null" } ], "description": "Override the sandbox policy for this turn and subsequent turns." }, "serviceTier": { "description": "Override the service tier for this turn and subsequent turns.", "type": ["string", "null"] }, "summary": { "anyOf": [ { "$ref": "#/definitions/ReasoningSummary" }, { "type": "null" } ], "description": "Override the reasoning summary for this turn and subsequent turns." }, "threadId": { "type": "string" } }, "required": ["input", "threadId"], "title": "TurnStartParams", "type": "object" }