{
  "$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"
    },
    "AppsListParams": {
      "description": "EXPERIMENTAL - list available apps/connectors.",
      "properties": {
        "cursor": {
          "description": "Opaque pagination cursor returned by a previous call.",
          "type": [
            "string",
            "null"
          ]
        },
        "forceRefetch": {
          "description": "When true, bypass app caches and fetch the latest data from sources.",
          "type": "boolean"
        },
        "limit": {
          "description": "Optional page size; defaults to a reasonable server-side value.",
          "format": "uint32",
          "minimum": 0.0,
          "type": [
            "integer",
            "null"
          ]
        },
        "threadId": {
          "description": "Optional thread id used to evaluate app feature gating from that thread's config.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "AskForApproval": {
      "oneOf": [
        {
          "enum": [
            "untrusted",
            "on-failure",
            "on-request",
            "never"
          ],
          "type": "string"
        },
        {
          "additionalProperties": false,
          "properties": {
            "reject": {
              "properties": {
                "mcp_elicitations": {
                  "type": "boolean"
                },
                "rules": {
                  "type": "boolean"
                },
                "sandbox_approval": {
                  "type": "boolean"
                }
              },
              "required": [
                "mcp_elicitations",
                "rules",
                "sandbox_approval"
              ],
              "type": "object"
            }
          },
          "required": [
            "reject"
          ],
          "title": "RejectAskForApproval",
          "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"
    },
    "CancelLoginAccountParams": {
      "properties": {
        "loginId": {
          "type": "string"
        }
      },
      "required": [
        "loginId"
      ],
      "type": "object"
    },
    "ClientInfo": {
      "properties": {
        "name": {
          "type": "string"
        },
        "title": {
          "type": [
            "string",
            "null"
          ]
        },
        "version": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "version"
      ],
      "type": "object"
    },
    "CollaborationMode": {
      "description": "Collaboration mode for a Codex session.",
      "properties": {
        "mode": {
          "$ref": "#/definitions/ModeKind"
        },
        "settings": {
          "$ref": "#/definitions/Settings"
        }
      },
      "required": [
        "mode",
        "settings"
      ],
      "type": "object"
    },
    "CommandExecParams": {
      "properties": {
        "command": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "cwd": {
          "type": [
            "string",
            "null"
          ]
        },
        "sandboxPolicy": {
          "anyOf": [
            {
              "$ref": "#/definitions/SandboxPolicy"
            },
            {
              "type": "null"
            }
          ]
        },
        "timeoutMs": {
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "command"
      ],
      "type": "object"
    },
    "ConfigBatchWriteParams": {
      "properties": {
        "edits": {
          "items": {
            "$ref": "#/definitions/ConfigEdit"
          },
          "type": "array"
        },
        "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"
          ]
        }
      },
      "required": [
        "edits"
      ],
      "type": "object"
    },
    "ConfigEdit": {
      "properties": {
        "keyPath": {
          "type": "string"
        },
        "mergeStrategy": {
          "$ref": "#/definitions/MergeStrategy"
        },
        "value": true
      },
      "required": [
        "keyPath",
        "mergeStrategy",
        "value"
      ],
      "type": "object"
    },
    "ConfigReadParams": {
      "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"
        }
      },
      "type": "object"
    },
    "ConfigValueWriteParams": {
      "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
      },
      "required": [
        "keyPath",
        "mergeStrategy",
        "value"
      ],
      "type": "object"
    },
    "ContentItem": {
      "oneOf": [
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "input_text"
              ],
              "title": "InputTextContentItemType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "InputTextContentItem",
          "type": "object"
        },
        {
          "properties": {
            "image_url": {
              "type": "string"
            },
            "type": {
              "enum": [
                "input_image"
              ],
              "title": "InputImageContentItemType",
              "type": "string"
            }
          },
          "required": [
            "image_url",
            "type"
          ],
          "title": "InputImageContentItem",
          "type": "object"
        },
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "output_text"
              ],
              "title": "OutputTextContentItemType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "OutputTextContentItem",
          "type": "object"
        }
      ]
    },
    "DynamicToolSpec": {
      "properties": {
        "description": {
          "type": "string"
        },
        "inputSchema": true,
        "name": {
          "type": "string"
        }
      },
      "required": [
        "description",
        "inputSchema",
        "name"
      ],
      "type": "object"
    },
    "ExperimentalFeatureListParams": {
      "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.",
          "format": "uint32",
          "minimum": 0.0,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ExternalAgentConfigDetectParams": {
      "properties": {
        "cwds": {
          "description": "Zero or more working directories to include for repo-scoped detection.",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "includeHome": {
          "description": "If true, include detection under the user's home (~/.claude, ~/.codex, etc.).",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ExternalAgentConfigImportParams": {
      "properties": {
        "migrationItems": {
          "items": {
            "$ref": "#/definitions/ExternalAgentConfigMigrationItem"
          },
          "type": "array"
        }
      },
      "required": [
        "migrationItems"
      ],
      "type": "object"
    },
    "ExternalAgentConfigMigrationItem": {
      "properties": {
        "cwd": {
          "description": "Null or empty means home-scoped migration; non-empty means repo-scoped migration.",
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": "string"
        },
        "itemType": {
          "$ref": "#/definitions/ExternalAgentConfigMigrationItemType"
        }
      },
      "required": [
        "description",
        "itemType"
      ],
      "type": "object"
    },
    "ExternalAgentConfigMigrationItemType": {
      "enum": [
        "AGENTS_MD",
        "CONFIG",
        "SKILLS",
        "MCP_SERVER_CONFIG"
      ],
      "type": "string"
    },
    "FeedbackUploadParams": {
      "properties": {
        "classification": {
          "type": "string"
        },
        "extraLogFiles": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "includeLogs": {
          "type": "boolean"
        },
        "reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "threadId": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "classification",
        "includeLogs"
      ],
      "type": "object"
    },
    "FunctionCallOutputBody": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "$ref": "#/definitions/FunctionCallOutputContentItem"
          },
          "type": "array"
        }
      ]
    },
    "FunctionCallOutputContentItem": {
      "description": "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.",
      "oneOf": [
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "input_text"
              ],
              "title": "InputTextFunctionCallOutputContentItemType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "InputTextFunctionCallOutputContentItem",
          "type": "object"
        },
        {
          "properties": {
            "detail": {
              "anyOf": [
                {
                  "$ref": "#/definitions/ImageDetail"
                },
                {
                  "type": "null"
                }
              ]
            },
            "image_url": {
              "type": "string"
            },
            "type": {
              "enum": [
                "input_image"
              ],
              "title": "InputImageFunctionCallOutputContentItemType",
              "type": "string"
            }
          },
          "required": [
            "image_url",
            "type"
          ],
          "title": "InputImageFunctionCallOutputContentItem",
          "type": "object"
        }
      ]
    },
    "FunctionCallOutputPayload": {
      "description": "The payload we send back to OpenAI when reporting a tool call result.\n\n`body` serializes directly as the wire value for `function_call_output.output`. `success` remains internal metadata for downstream handling.",
      "properties": {
        "body": {
          "$ref": "#/definitions/FunctionCallOutputBody"
        },
        "success": {
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "required": [
        "body"
      ],
      "type": "object"
    },
    "FuzzyFileSearchParams": {
      "properties": {
        "cancellationToken": {
          "type": [
            "string",
            "null"
          ]
        },
        "query": {
          "type": "string"
        },
        "roots": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "query",
        "roots"
      ],
      "type": "object"
    },
    "GetAccountParams": {
      "properties": {
        "refreshToken": {
          "default": false,
          "description": "When `true`, requests a proactive token refresh before returning.\n\nIn managed auth mode this triggers the normal refresh-token flow. In external auth mode this flag is ignored. Clients should refresh tokens themselves and call `account/login/start` with `chatgptAuthTokens`.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GhostCommit": {
      "description": "Details of a ghost commit created from a repository state.",
      "properties": {
        "id": {
          "type": "string"
        },
        "parent": {
          "type": [
            "string",
            "null"
          ]
        },
        "preexisting_untracked_dirs": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "preexisting_untracked_files": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "id",
        "preexisting_untracked_dirs",
        "preexisting_untracked_files"
      ],
      "type": "object"
    },
    "HazelnutScope": {
      "enum": [
        "example",
        "workspace-shared",
        "all-shared",
        "personal"
      ],
      "type": "string"
    },
    "ImageDetail": {
      "enum": [
        "auto",
        "low",
        "high",
        "original"
      ],
      "type": "string"
    },
    "InitializeCapabilities": {
      "description": "Client-declared capabilities negotiated during initialize.",
      "properties": {
        "experimentalApi": {
          "default": false,
          "description": "Opt into receiving experimental API methods and fields.",
          "type": "boolean"
        },
        "optOutNotificationMethods": {
          "description": "Exact notification method names that should be suppressed for this connection (for example `codex/event/session_configured`).",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "InitializeParams": {
      "properties": {
        "capabilities": {
          "anyOf": [
            {
              "$ref": "#/definitions/InitializeCapabilities"
            },
            {
              "type": "null"
            }
          ]
        },
        "clientInfo": {
          "$ref": "#/definitions/ClientInfo"
        }
      },
      "required": [
        "clientInfo"
      ],
      "type": "object"
    },
    "ListMcpServerStatusParams": {
      "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.",
          "format": "uint32",
          "minimum": 0.0,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "LocalShellAction": {
      "oneOf": [
        {
          "properties": {
            "command": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "env": {
              "additionalProperties": {
                "type": "string"
              },
              "type": [
                "object",
                "null"
              ]
            },
            "timeout_ms": {
              "format": "uint64",
              "minimum": 0.0,
              "type": [
                "integer",
                "null"
              ]
            },
            "type": {
              "enum": [
                "exec"
              ],
              "title": "ExecLocalShellActionType",
              "type": "string"
            },
            "user": {
              "type": [
                "string",
                "null"
              ]
            },
            "working_directory": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "command",
            "type"
          ],
          "title": "ExecLocalShellAction",
          "type": "object"
        }
      ]
    },
    "LocalShellStatus": {
      "enum": [
        "completed",
        "in_progress",
        "incomplete"
      ],
      "type": "string"
    },
    "LoginAccountParams": {
      "oneOf": [
        {
          "properties": {
            "apiKey": {
              "type": "string"
            },
            "type": {
              "enum": [
                "apiKey"
              ],
              "title": "ApiKeyLoginAccountParamsType",
              "type": "string"
            }
          },
          "required": [
            "apiKey",
            "type"
          ],
          "title": "ApiKeyLoginAccountParams",
          "type": "object"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "chatgpt"
              ],
              "title": "ChatgptLoginAccountParamsType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "ChatgptLoginAccountParams",
          "type": "object"
        },
        {
          "description": "[UNSTABLE] FOR OPENAI INTERNAL USE ONLY - DO NOT USE. The access token must contain the same scopes that Codex-managed ChatGPT auth tokens have.",
          "properties": {
            "accessToken": {
              "description": "Access token (JWT) supplied by the client. This token is used for backend API requests and email extraction.",
              "type": "string"
            },
            "chatgptAccountId": {
              "description": "Workspace/account identifier supplied by the client.",
              "type": "string"
            },
            "chatgptPlanType": {
              "description": "Optional plan type supplied by the client.\n\nWhen `null`, Codex attempts to derive the plan type from access-token claims. If unavailable, the plan defaults to `unknown`.",
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "chatgptAuthTokens"
              ],
              "title": "ChatgptAuthTokensLoginAccountParamsType",
              "type": "string"
            }
          },
          "required": [
            "accessToken",
            "chatgptAccountId",
            "type"
          ],
          "title": "ChatgptAuthTokensLoginAccountParams",
          "type": "object"
        }
      ]
    },
    "McpServerOauthLoginParams": {
      "properties": {
        "name": {
          "type": "string"
        },
        "scopes": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "timeoutSecs": {
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "MergeStrategy": {
      "enum": [
        "replace",
        "upsert"
      ],
      "type": "string"
    },
    "MessagePhase": {
      "description": "Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as \"phase unknown\" and keep compatibility behavior for legacy models.",
      "oneOf": [
        {
          "description": "Mid-turn assistant text (for example preamble/progress narration).\n\nAdditional tool calls or assistant output may follow before turn completion.",
          "enum": [
            "commentary"
          ],
          "type": "string"
        },
        {
          "description": "The assistant's terminal answer text for the current turn.",
          "enum": [
            "final_answer"
          ],
          "type": "string"
        }
      ]
    },
    "ModeKind": {
      "description": "Initial collaboration mode to use when the TUI starts.",
      "enum": [
        "plan",
        "default"
      ],
      "type": "string"
    },
    "ModelListParams": {
      "properties": {
        "cursor": {
          "description": "Opaque pagination cursor returned by a previous call.",
          "type": [
            "string",
            "null"
          ]
        },
        "includeHidden": {
          "description": "When true, include models that are hidden from the default picker list.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "limit": {
          "description": "Optional page size; defaults to a reasonable server-side value.",
          "format": "uint32",
          "minimum": 0.0,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "NetworkAccess": {
      "enum": [
        "restricted",
        "enabled"
      ],
      "type": "string"
    },
    "Personality": {
      "enum": [
        "none",
        "friendly",
        "pragmatic"
      ],
      "type": "string"
    },
    "ProductSurface": {
      "enum": [
        "chatgpt",
        "codex",
        "api",
        "atlas"
      ],
      "type": "string"
    },
    "ReadOnlyAccess": {
      "oneOf": [
        {
          "properties": {
            "includePlatformDefaults": {
              "default": true,
              "type": "boolean"
            },
            "readableRoots": {
              "default": [],
              "items": {
                "$ref": "#/definitions/AbsolutePathBuf"
              },
              "type": "array"
            },
            "type": {
              "enum": [
                "restricted"
              ],
              "title": "RestrictedReadOnlyAccessType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "RestrictedReadOnlyAccess",
          "type": "object"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "fullAccess"
              ],
              "title": "FullAccessReadOnlyAccessType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "FullAccessReadOnlyAccess",
          "type": "object"
        }
      ]
    },
    "ReasoningEffort": {
      "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning",
      "enum": [
        "none",
        "minimal",
        "low",
        "medium",
        "high",
        "xhigh"
      ],
      "type": "string"
    },
    "ReasoningItemContent": {
      "oneOf": [
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "reasoning_text"
              ],
              "title": "ReasoningTextReasoningItemContentType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "ReasoningTextReasoningItemContent",
          "type": "object"
        },
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "text"
              ],
              "title": "TextReasoningItemContentType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "TextReasoningItemContent",
          "type": "object"
        }
      ]
    },
    "ReasoningItemReasoningSummary": {
      "oneOf": [
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "summary_text"
              ],
              "title": "SummaryTextReasoningItemReasoningSummaryType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "SummaryTextReasoningItemReasoningSummary",
          "type": "object"
        }
      ]
    },
    "ReasoningSummary": {
      "description": "A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries",
      "oneOf": [
        {
          "enum": [
            "auto",
            "concise",
            "detailed"
          ],
          "type": "string"
        },
        {
          "description": "Option to disable reasoning summaries.",
          "enum": [
            "none"
          ],
          "type": "string"
        }
      ]
    },
    "RequestId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "format": "int64",
          "type": "integer"
        }
      ]
    },
    "ResponseItem": {
      "oneOf": [
        {
          "properties": {
            "content": {
              "items": {
                "$ref": "#/definitions/ContentItem"
              },
              "type": "array"
            },
            "end_turn": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "id": {
              "type": [
                "string",
                "null"
              ],
              "writeOnly": true
            },
            "phase": {
              "anyOf": [
                {
                  "$ref": "#/definitions/MessagePhase"
                },
                {
                  "type": "null"
                }
              ]
            },
            "role": {
              "type": "string"
            },
            "type": {
              "enum": [
                "message"
              ],
              "title": "MessageResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "content",
            "role",
            "type"
          ],
          "title": "MessageResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "content": {
              "default": null,
              "items": {
                "$ref": "#/definitions/ReasoningItemContent"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "encrypted_content": {
              "type": [
                "string",
                "null"
              ]
            },
            "id": {
              "type": "string",
              "writeOnly": true
            },
            "summary": {
              "items": {
                "$ref": "#/definitions/ReasoningItemReasoningSummary"
              },
              "type": "array"
            },
            "type": {
              "enum": [
                "reasoning"
              ],
              "title": "ReasoningResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "id",
            "summary",
            "type"
          ],
          "title": "ReasoningResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "action": {
              "$ref": "#/definitions/LocalShellAction"
            },
            "call_id": {
              "description": "Set when using the Responses API.",
              "type": [
                "string",
                "null"
              ]
            },
            "id": {
              "description": "Legacy id field retained for compatibility with older payloads.",
              "type": [
                "string",
                "null"
              ],
              "writeOnly": true
            },
            "status": {
              "$ref": "#/definitions/LocalShellStatus"
            },
            "type": {
              "enum": [
                "local_shell_call"
              ],
              "title": "LocalShellCallResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "action",
            "status",
            "type"
          ],
          "title": "LocalShellCallResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "arguments": {
              "type": "string"
            },
            "call_id": {
              "type": "string"
            },
            "id": {
              "type": [
                "string",
                "null"
              ],
              "writeOnly": true
            },
            "name": {
              "type": "string"
            },
            "type": {
              "enum": [
                "function_call"
              ],
              "title": "FunctionCallResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "arguments",
            "call_id",
            "name",
            "type"
          ],
          "title": "FunctionCallResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "call_id": {
              "type": "string"
            },
            "output": {
              "$ref": "#/definitions/FunctionCallOutputPayload"
            },
            "type": {
              "enum": [
                "function_call_output"
              ],
              "title": "FunctionCallOutputResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "call_id",
            "output",
            "type"
          ],
          "title": "FunctionCallOutputResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "call_id": {
              "type": "string"
            },
            "id": {
              "type": [
                "string",
                "null"
              ],
              "writeOnly": true
            },
            "input": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "status": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "custom_tool_call"
              ],
              "title": "CustomToolCallResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "call_id",
            "input",
            "name",
            "type"
          ],
          "title": "CustomToolCallResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "call_id": {
              "type": "string"
            },
            "output": {
              "$ref": "#/definitions/FunctionCallOutputPayload"
            },
            "type": {
              "enum": [
                "custom_tool_call_output"
              ],
              "title": "CustomToolCallOutputResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "call_id",
            "output",
            "type"
          ],
          "title": "CustomToolCallOutputResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "action": {
              "anyOf": [
                {
                  "$ref": "#/definitions/WebSearchAction"
                },
                {
                  "type": "null"
                }
              ]
            },
            "id": {
              "type": [
                "string",
                "null"
              ],
              "writeOnly": true
            },
            "status": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "web_search_call"
              ],
              "title": "WebSearchCallResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "WebSearchCallResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "ghost_commit": {
              "$ref": "#/definitions/GhostCommit"
            },
            "type": {
              "enum": [
                "ghost_snapshot"
              ],
              "title": "GhostSnapshotResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "ghost_commit",
            "type"
          ],
          "title": "GhostSnapshotResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "encrypted_content": {
              "type": "string"
            },
            "type": {
              "enum": [
                "compaction"
              ],
              "title": "CompactionResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "encrypted_content",
            "type"
          ],
          "title": "CompactionResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "other"
              ],
              "title": "OtherResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "OtherResponseItem",
          "type": "object"
        }
      ]
    },
    "ReviewDelivery": {
      "enum": [
        "inline",
        "detached"
      ],
      "type": "string"
    },
    "ReviewStartParams": {
      "properties": {
        "delivery": {
          "anyOf": [
            {
              "$ref": "#/definitions/ReviewDelivery"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Where to run the review: inline (default) on the current thread or detached on a new thread (returned in `reviewThreadId`)."
        },
        "target": {
          "$ref": "#/definitions/ReviewTarget"
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "target",
        "threadId"
      ],
      "type": "object"
    },
    "ReviewTarget": {
      "oneOf": [
        {
          "description": "Review the working tree: staged, unstaged, and untracked files.",
          "properties": {
            "type": {
              "enum": [
                "uncommittedChanges"
              ],
              "title": "UncommittedChangesReviewTargetType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "UncommittedChangesReviewTarget",
          "type": "object"
        },
        {
          "description": "Review changes between the current branch and the given base branch.",
          "properties": {
            "branch": {
              "type": "string"
            },
            "type": {
              "enum": [
                "baseBranch"
              ],
              "title": "BaseBranchReviewTargetType",
              "type": "string"
            }
          },
          "required": [
            "branch",
            "type"
          ],
          "title": "BaseBranchReviewTarget",
          "type": "object"
        },
        {
          "description": "Review the changes introduced by a specific commit.",
          "properties": {
            "sha": {
              "type": "string"
            },
            "title": {
              "description": "Optional human-readable label (e.g., commit subject) for UIs.",
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "commit"
              ],
              "title": "CommitReviewTargetType",
              "type": "string"
            }
          },
          "required": [
            "sha",
            "type"
          ],
          "title": "CommitReviewTarget",
          "type": "object"
        },
        {
          "description": "Arbitrary instructions, equivalent to the old free-form prompt.",
          "properties": {
            "instructions": {
              "type": "string"
            },
            "type": {
              "enum": [
                "custom"
              ],
              "title": "CustomReviewTargetType",
              "type": "string"
            }
          },
          "required": [
            "instructions",
            "type"
          ],
          "title": "CustomReviewTarget",
          "type": "object"
        }
      ]
    },
    "SandboxMode": {
      "enum": [
        "read-only",
        "workspace-write",
        "danger-full-access"
      ],
      "type": "string"
    },
    "SandboxPolicy": {
      "oneOf": [
        {
          "properties": {
            "type": {
              "enum": [
                "dangerFullAccess"
              ],
              "title": "DangerFullAccessSandboxPolicyType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "DangerFullAccessSandboxPolicy",
          "type": "object"
        },
        {
          "properties": {
            "access": {
              "allOf": [
                {
                  "$ref": "#/definitions/ReadOnlyAccess"
                }
              ],
              "default": {
                "type": "fullAccess"
              }
            },
            "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"
            },
            "readOnlyAccess": {
              "allOf": [
                {
                  "$ref": "#/definitions/ReadOnlyAccess"
                }
              ],
              "default": {
                "type": "fullAccess"
              }
            },
            "type": {
              "enum": [
                "workspaceWrite"
              ],
              "title": "WorkspaceWriteSandboxPolicyType",
              "type": "string"
            },
            "writableRoots": {
              "default": [],
              "items": {
                "$ref": "#/definitions/AbsolutePathBuf"
              },
              "type": "array"
            }
          },
          "required": [
            "type"
          ],
          "title": "WorkspaceWriteSandboxPolicy",
          "type": "object"
        }
      ]
    },
    "ServiceTier": {
      "enum": [
        "fast"
      ],
      "type": "string"
    },
    "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"
    },
    "SkillsConfigWriteParams": {
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "path": {
          "type": "string"
        }
      },
      "required": [
        "enabled",
        "path"
      ],
      "type": "object"
    },
    "SkillsListExtraRootsForCwd": {
      "properties": {
        "cwd": {
          "type": "string"
        },
        "extraUserRoots": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "cwd",
        "extraUserRoots"
      ],
      "type": "object"
    },
    "SkillsListParams": {
      "properties": {
        "cwds": {
          "description": "When empty, defaults to the current session working directory.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "forceReload": {
          "description": "When true, bypass the skills cache and re-scan skills from disk.",
          "type": "boolean"
        },
        "perCwdExtraUserRoots": {
          "default": null,
          "description": "Optional per-cwd extra roots to scan as user-scoped skills.",
          "items": {
            "$ref": "#/definitions/SkillsListExtraRootsForCwd"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "SkillsRemoteReadParams": {
      "properties": {
        "enabled": {
          "default": false,
          "type": "boolean"
        },
        "hazelnutScope": {
          "allOf": [
            {
              "$ref": "#/definitions/HazelnutScope"
            }
          ],
          "default": "example"
        },
        "productSurface": {
          "allOf": [
            {
              "$ref": "#/definitions/ProductSurface"
            }
          ],
          "default": "codex"
        }
      },
      "type": "object"
    },
    "SkillsRemoteWriteParams": {
      "properties": {
        "hazelnutId": {
          "type": "string"
        }
      },
      "required": [
        "hazelnutId"
      ],
      "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"
    },
    "ThreadArchiveParams": {
      "properties": {
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "threadId"
      ],
      "type": "object"
    },
    "ThreadCompactStartParams": {
      "properties": {
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "threadId"
      ],
      "type": "object"
    },
    "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.",
      "properties": {
        "approvalPolicy": {
          "anyOf": [
            {
              "$ref": "#/definitions/AskForApproval"
            },
            {
              "type": "null"
            }
          ]
        },
        "baseInstructions": {
          "type": [
            "string",
            "null"
          ]
        },
        "config": {
          "additionalProperties": true,
          "type": [
            "object",
            "null"
          ]
        },
        "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"
          ]
        },
        "sandbox": {
          "anyOf": [
            {
              "$ref": "#/definitions/SandboxMode"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceTier": {
          "anyOf": [
            {
              "anyOf": [
                {
                  "$ref": "#/definitions/ServiceTier"
                },
                {
                  "type": "null"
                }
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "threadId"
      ],
      "type": "object"
    },
    "ThreadListParams": {
      "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"
          ]
        },
        "cwd": {
          "description": "Optional cwd filter; when set, only threads whose session cwd exactly matches this path are returned.",
          "type": [
            "string",
            "null"
          ]
        },
        "limit": {
          "description": "Optional page size; defaults to a reasonable server-side value.",
          "format": "uint32",
          "minimum": 0.0,
          "type": [
            "integer",
            "null"
          ]
        },
        "modelProviders": {
          "description": "Optional provider filter; when set, only sessions recorded under these providers are returned. When present but empty, includes all providers.",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "searchTerm": {
          "description": "Optional substring filter for the extracted thread title.",
          "type": [
            "string",
            "null"
          ]
        },
        "sortKey": {
          "anyOf": [
            {
              "$ref": "#/definitions/ThreadSortKey"
            },
            {
              "type": "null"
            }
          ],
          "description": "Optional sort key; defaults to created_at."
        },
        "sourceKinds": {
          "description": "Optional source filter; when set, only sessions from these source kinds are returned. When omitted or empty, defaults to interactive sources.",
          "items": {
            "$ref": "#/definitions/ThreadSourceKind"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ThreadLoadedListParams": {
      "properties": {
        "cursor": {
          "description": "Opaque pagination cursor returned by a previous call.",
          "type": [
            "string",
            "null"
          ]
        },
        "limit": {
          "description": "Optional page size; defaults to no limit.",
          "format": "uint32",
          "minimum": 0.0,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ThreadMetadataGitInfoUpdateParams": {
      "properties": {
        "branch": {
          "description": "Omit to leave the stored branch unchanged, set to `null` to clear it, or provide a non-empty string to replace it.",
          "type": [
            "string",
            "null"
          ]
        },
        "originUrl": {
          "description": "Omit to leave the stored origin URL unchanged, set to `null` to clear it, or provide a non-empty string to replace it.",
          "type": [
            "string",
            "null"
          ]
        },
        "sha": {
          "description": "Omit to leave the stored commit unchanged, set to `null` to clear it, or provide a non-empty string to replace it.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ThreadMetadataUpdateParams": {
      "properties": {
        "gitInfo": {
          "anyOf": [
            {
              "$ref": "#/definitions/ThreadMetadataGitInfoUpdateParams"
            },
            {
              "type": "null"
            }
          ],
          "description": "Patch the stored Git metadata for this thread. Omit a field to leave it unchanged, set it to `null` to clear it, or provide a string to replace the stored value."
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "threadId"
      ],
      "type": "object"
    },
    "ThreadReadParams": {
      "properties": {
        "includeTurns": {
          "default": false,
          "description": "When true, include turns and their items from rollout history.",
          "type": "boolean"
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "threadId"
      ],
      "type": "object"
    },
    "ThreadRealtimeAudioChunk": {
      "description": "EXPERIMENTAL - thread realtime audio chunk.",
      "properties": {
        "data": {
          "type": "string"
        },
        "numChannels": {
          "format": "uint16",
          "minimum": 0.0,
          "type": "integer"
        },
        "sampleRate": {
          "format": "uint32",
          "minimum": 0.0,
          "type": "integer"
        },
        "samplesPerChannel": {
          "format": "uint32",
          "minimum": 0.0,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "data",
        "numChannels",
        "sampleRate"
      ],
      "type": "object"
    },
    "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.",
      "properties": {
        "approvalPolicy": {
          "anyOf": [
            {
              "$ref": "#/definitions/AskForApproval"
            },
            {
              "type": "null"
            }
          ]
        },
        "baseInstructions": {
          "type": [
            "string",
            "null"
          ]
        },
        "config": {
          "additionalProperties": true,
          "type": [
            "object",
            "null"
          ]
        },
        "cwd": {
          "type": [
            "string",
            "null"
          ]
        },
        "developerInstructions": {
          "type": [
            "string",
            "null"
          ]
        },
        "model": {
          "description": "Configuration overrides for the resumed thread, if any.",
          "type": [
            "string",
            "null"
          ]
        },
        "modelProvider": {
          "type": [
            "string",
            "null"
          ]
        },
        "personality": {
          "anyOf": [
            {
              "$ref": "#/definitions/Personality"
            },
            {
              "type": "null"
            }
          ]
        },
        "sandbox": {
          "anyOf": [
            {
              "$ref": "#/definitions/SandboxMode"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceTier": {
          "anyOf": [
            {
              "anyOf": [
                {
                  "$ref": "#/definitions/ServiceTier"
                },
                {
                  "type": "null"
                }
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "threadId"
      ],
      "type": "object"
    },
    "ThreadRollbackParams": {
      "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.",
          "format": "uint32",
          "minimum": 0.0,
          "type": "integer"
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "numTurns",
        "threadId"
      ],
      "type": "object"
    },
    "ThreadSetNameParams": {
      "properties": {
        "name": {
          "type": "string"
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "threadId"
      ],
      "type": "object"
    },
    "ThreadSortKey": {
      "enum": [
        "created_at",
        "updated_at"
      ],
      "type": "string"
    },
    "ThreadSourceKind": {
      "enum": [
        "cli",
        "vscode",
        "exec",
        "appServer",
        "subAgent",
        "subAgentReview",
        "subAgentCompact",
        "subAgentThreadSpawn",
        "subAgentOther",
        "unknown"
      ],
      "type": "string"
    },
    "ThreadStartParams": {
      "properties": {
        "approvalPolicy": {
          "anyOf": [
            {
              "$ref": "#/definitions/AskForApproval"
            },
            {
              "type": "null"
            }
          ]
        },
        "baseInstructions": {
          "type": [
            "string",
            "null"
          ]
        },
        "config": {
          "additionalProperties": true,
          "type": [
            "object",
            "null"
          ]
        },
        "cwd": {
          "type": [
            "string",
            "null"
          ]
        },
        "developerInstructions": {
          "type": [
            "string",
            "null"
          ]
        },
        "ephemeral": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "model": {
          "type": [
            "string",
            "null"
          ]
        },
        "modelProvider": {
          "type": [
            "string",
            "null"
          ]
        },
        "personality": {
          "anyOf": [
            {
              "$ref": "#/definitions/Personality"
            },
            {
              "type": "null"
            }
          ]
        },
        "sandbox": {
          "anyOf": [
            {
              "$ref": "#/definitions/SandboxMode"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceName": {
          "type": [
            "string",
            "null"
          ]
        },
        "serviceTier": {
          "anyOf": [
            {
              "anyOf": [
                {
                  "$ref": "#/definitions/ServiceTier"
                },
                {
                  "type": "null"
                }
              ]
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "type": "object"
    },
    "ThreadUnarchiveParams": {
      "properties": {
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "threadId"
      ],
      "type": "object"
    },
    "ThreadUnsubscribeParams": {
      "properties": {
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "threadId"
      ],
      "type": "object"
    },
    "TurnInterruptParams": {
      "properties": {
        "threadId": {
          "type": "string"
        },
        "turnId": {
          "type": "string"
        }
      },
      "required": [
        "threadId",
        "turnId"
      ],
      "type": "object"
    },
    "TurnStartParams": {
      "properties": {
        "approvalPolicy": {
          "anyOf": [
            {
              "$ref": "#/definitions/AskForApproval"
            },
            {
              "type": "null"
            }
          ],
          "description": "Override the approval policy for this turn and subsequent turns."
        },
        "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": {
          "anyOf": [
            {
              "anyOf": [
                {
                  "$ref": "#/definitions/ServiceTier"
                },
                {
                  "type": "null"
                }
              ]
            },
            {
              "type": "null"
            }
          ],
          "description": "Override the service tier for this turn and subsequent turns."
        },
        "summary": {
          "anyOf": [
            {
              "$ref": "#/definitions/ReasoningSummary"
            },
            {
              "type": "null"
            }
          ],
          "description": "Override the reasoning summary for this turn and subsequent turns."
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "input",
        "threadId"
      ],
      "type": "object"
    },
    "TurnSteerParams": {
      "properties": {
        "expectedTurnId": {
          "description": "Required active turn id precondition. The request fails when it does not match the currently active turn.",
          "type": "string"
        },
        "input": {
          "items": {
            "$ref": "#/definitions/UserInput"
          },
          "type": "array"
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "expectedTurnId",
        "input",
        "threadId"
      ],
      "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": {
            "type": {
              "enum": [
                "image"
              ],
              "title": "ImageUserInputType",
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "type",
            "url"
          ],
          "title": "ImageUserInput",
          "type": "object"
        },
        {
          "properties": {
            "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"
        }
      ]
    },
    "WebSearchAction": {
      "oneOf": [
        {
          "properties": {
            "queries": {
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "query": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "search"
              ],
              "title": "SearchWebSearchActionType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "SearchWebSearchAction",
          "type": "object"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "open_page"
              ],
              "title": "OpenPageWebSearchActionType",
              "type": "string"
            },
            "url": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "type"
          ],
          "title": "OpenPageWebSearchAction",
          "type": "object"
        },
        {
          "properties": {
            "pattern": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "find_in_page"
              ],
              "title": "FindInPageWebSearchActionType",
              "type": "string"
            },
            "url": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "type"
          ],
          "title": "FindInPageWebSearchAction",
          "type": "object"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "other"
              ],
              "title": "OtherWebSearchActionType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "OtherWebSearchAction",
          "type": "object"
        }
      ]
    },
    "WindowsSandboxSetupMode": {
      "enum": [
        "elevated",
        "unelevated"
      ],
      "type": "string"
    },
    "WindowsSandboxSetupStartParams": {
      "properties": {
        "mode": {
          "$ref": "#/definitions/WindowsSandboxSetupMode"
        }
      },
      "required": [
        "mode"
      ],
      "type": "object"
    }
  },
  "description": "Request from the client to the server.",
  "oneOf": [
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "initialize"
          ],
          "title": "InitializeRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/InitializeParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "InitializeRequest",
      "type": "object"
    },
    {
      "description": "NEW APIs",
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/start"
          ],
          "title": "Thread/startRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadStartParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/startRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/resume"
          ],
          "title": "Thread/resumeRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadResumeParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/resumeRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/fork"
          ],
          "title": "Thread/forkRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadForkParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/forkRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/archive"
          ],
          "title": "Thread/archiveRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadArchiveParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/archiveRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/unsubscribe"
          ],
          "title": "Thread/unsubscribeRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadUnsubscribeParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/unsubscribeRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/name/set"
          ],
          "title": "Thread/name/setRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadSetNameParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/name/setRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/metadata/update"
          ],
          "title": "Thread/metadata/updateRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadMetadataUpdateParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/metadata/updateRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/unarchive"
          ],
          "title": "Thread/unarchiveRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadUnarchiveParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/unarchiveRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/compact/start"
          ],
          "title": "Thread/compact/startRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadCompactStartParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/compact/startRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/rollback"
          ],
          "title": "Thread/rollbackRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadRollbackParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/rollbackRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/list"
          ],
          "title": "Thread/listRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadListParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/listRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/loaded/list"
          ],
          "title": "Thread/loaded/listRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadLoadedListParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/loaded/listRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "thread/read"
          ],
          "title": "Thread/readRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ThreadReadParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Thread/readRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "skills/list"
          ],
          "title": "Skills/listRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/SkillsListParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Skills/listRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "skills/remote/list"
          ],
          "title": "Skills/remote/listRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/SkillsRemoteReadParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Skills/remote/listRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "skills/remote/export"
          ],
          "title": "Skills/remote/exportRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/SkillsRemoteWriteParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Skills/remote/exportRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "app/list"
          ],
          "title": "App/listRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/AppsListParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "App/listRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "skills/config/write"
          ],
          "title": "Skills/config/writeRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/SkillsConfigWriteParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Skills/config/writeRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "turn/start"
          ],
          "title": "Turn/startRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/TurnStartParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Turn/startRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "turn/steer"
          ],
          "title": "Turn/steerRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/TurnSteerParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Turn/steerRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "turn/interrupt"
          ],
          "title": "Turn/interruptRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/TurnInterruptParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Turn/interruptRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "review/start"
          ],
          "title": "Review/startRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ReviewStartParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Review/startRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "model/list"
          ],
          "title": "Model/listRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ModelListParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Model/listRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "experimentalFeature/list"
          ],
          "title": "ExperimentalFeature/listRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ExperimentalFeatureListParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "ExperimentalFeature/listRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "mcpServer/oauth/login"
          ],
          "title": "McpServer/oauth/loginRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/McpServerOauthLoginParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "McpServer/oauth/loginRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "config/mcpServer/reload"
          ],
          "title": "Config/mcpServer/reloadRequestMethod",
          "type": "string"
        },
        "params": {
          "type": "null"
        }
      },
      "required": [
        "id",
        "method"
      ],
      "title": "Config/mcpServer/reloadRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "mcpServerStatus/list"
          ],
          "title": "McpServerStatus/listRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ListMcpServerStatusParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "McpServerStatus/listRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "windowsSandbox/setupStart"
          ],
          "title": "WindowsSandbox/setupStartRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/WindowsSandboxSetupStartParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "WindowsSandbox/setupStartRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "account/login/start"
          ],
          "title": "Account/login/startRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/LoginAccountParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Account/login/startRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "account/login/cancel"
          ],
          "title": "Account/login/cancelRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/CancelLoginAccountParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Account/login/cancelRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "account/logout"
          ],
          "title": "Account/logoutRequestMethod",
          "type": "string"
        },
        "params": {
          "type": "null"
        }
      },
      "required": [
        "id",
        "method"
      ],
      "title": "Account/logoutRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "account/rateLimits/read"
          ],
          "title": "Account/rateLimits/readRequestMethod",
          "type": "string"
        },
        "params": {
          "type": "null"
        }
      },
      "required": [
        "id",
        "method"
      ],
      "title": "Account/rateLimits/readRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "feedback/upload"
          ],
          "title": "Feedback/uploadRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/FeedbackUploadParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Feedback/uploadRequest",
      "type": "object"
    },
    {
      "description": "Execute a command (argv vector) under the server's sandbox.",
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "command/exec"
          ],
          "title": "Command/execRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/CommandExecParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Command/execRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "config/read"
          ],
          "title": "Config/readRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ConfigReadParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Config/readRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "externalAgentConfig/detect"
          ],
          "title": "ExternalAgentConfig/detectRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ExternalAgentConfigDetectParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "ExternalAgentConfig/detectRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "externalAgentConfig/import"
          ],
          "title": "ExternalAgentConfig/importRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ExternalAgentConfigImportParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "ExternalAgentConfig/importRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "config/value/write"
          ],
          "title": "Config/value/writeRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ConfigValueWriteParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Config/value/writeRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "config/batchWrite"
          ],
          "title": "Config/batchWriteRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/ConfigBatchWriteParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Config/batchWriteRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "configRequirements/read"
          ],
          "title": "ConfigRequirements/readRequestMethod",
          "type": "string"
        },
        "params": {
          "type": "null"
        }
      },
      "required": [
        "id",
        "method"
      ],
      "title": "ConfigRequirements/readRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "account/read"
          ],
          "title": "Account/readRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/GetAccountParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "Account/readRequest",
      "type": "object"
    },
    {
      "properties": {
        "id": {
          "$ref": "#/definitions/RequestId"
        },
        "method": {
          "enum": [
            "fuzzyFileSearch"
          ],
          "title": "FuzzyFileSearchRequestMethod",
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/FuzzyFileSearchParams"
        }
      },
      "required": [
        "id",
        "method",
        "params"
      ],
      "title": "FuzzyFileSearchRequest",
      "type": "object"
    }
  ],
  "title": "ClientRequest"
}