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