{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "ContentItem": {
      "oneOf": [
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "input_text"
              ],
              "title": "InputTextContentItemType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "InputTextContentItem",
          "type": "object"
        },
        {
          "properties": {
            "detail": {
              "anyOf": [
                {
                  "$ref": "#/definitions/ImageDetail"
                },
                {
                  "type": "null"
                }
              ]
            },
            "image_url": {
              "type": "string"
            },
            "type": {
              "enum": [
                "input_image"
              ],
              "title": "InputImageContentItemType",
              "type": "string"
            }
          },
          "required": [
            "image_url",
            "type"
          ],
          "title": "InputImageContentItem",
          "type": "object"
        },
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "output_text"
              ],
              "title": "OutputTextContentItemType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "OutputTextContentItem",
          "type": "object"
        }
      ]
    },
    "FunctionCallOutputBody": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "$ref": "#/definitions/FunctionCallOutputContentItem"
          },
          "type": "array"
        }
      ]
    },
    "FunctionCallOutputContentItem": {
      "description": "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.",
      "oneOf": [
        {
          "properties": {
            "text": {
              "type": "string"
            },
            "type": {
              "enum": [
                "input_text"
              ],
              "title": "InputTextFunctionCallOutputContentItemType",
              "type": "string"
            }
          },
          "required": [
            "text",
            "type"
          ],
          "title": "InputTextFunctionCallOutputContentItem",
          "type": "object"
        },
        {
          "properties": {
            "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"
        }
      ]
    },
    "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"
    },
    "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"
        }
      ]
    },
    "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"
        }
      ]
    },
    "ResponseItem": {
      "oneOf": [
        {
          "properties": {
            "content": {
              "items": {
                "$ref": "#/definitions/ContentItem"
              },
              "type": "array"
            },
            "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"
              ]
            },
            "summary": {
              "items": {
                "$ref": "#/definitions/ReasoningItemReasoningSummary"
              },
              "type": "array"
            },
            "type": {
              "enum": [
                "reasoning"
              ],
              "title": "ReasoningResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "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"
            },
            "namespace": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "function_call"
              ],
              "title": "FunctionCallResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "arguments",
            "call_id",
            "name",
            "type"
          ],
          "title": "FunctionCallResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "arguments": true,
            "call_id": {
              "type": [
                "string",
                "null"
              ]
            },
            "execution": {
              "type": "string"
            },
            "id": {
              "type": [
                "string",
                "null"
              ],
              "writeOnly": true
            },
            "status": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "tool_search_call"
              ],
              "title": "ToolSearchCallResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "arguments",
            "execution",
            "type"
          ],
          "title": "ToolSearchCallResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "call_id": {
              "type": "string"
            },
            "output": {
              "$ref": "#/definitions/FunctionCallOutputBody"
            },
            "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"
            },
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "output": {
              "$ref": "#/definitions/FunctionCallOutputBody"
            },
            "type": {
              "enum": [
                "custom_tool_call_output"
              ],
              "title": "CustomToolCallOutputResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "call_id",
            "output",
            "type"
          ],
          "title": "CustomToolCallOutputResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "call_id": {
              "type": [
                "string",
                "null"
              ]
            },
            "execution": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "tools": {
              "items": true,
              "type": "array"
            },
            "type": {
              "enum": [
                "tool_search_output"
              ],
              "title": "ToolSearchOutputResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "execution",
            "status",
            "tools",
            "type"
          ],
          "title": "ToolSearchOutputResponseItem",
          "type": "object"
        },
        {
          "properties": {
            "action": {
              "anyOf": [
                {
                  "$ref": "#/definitions/ResponsesApiWebSearchAction"
                },
                {
                  "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": {
            "id": {
              "type": "string"
            },
            "result": {
              "type": "string"
            },
            "revised_prompt": {
              "type": [
                "string",
                "null"
              ]
            },
            "status": {
              "type": "string"
            },
            "type": {
              "enum": [
                "image_generation_call"
              ],
              "title": "ImageGenerationCallResponseItemType",
              "type": "string"
            }
          },
          "required": [
            "id",
            "result",
            "status",
            "type"
          ],
          "title": "ImageGenerationCallResponseItem",
          "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"
        }
      ]
    },
    "ResponsesApiWebSearchAction": {
      "oneOf": [
        {
          "properties": {
            "queries": {
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "query": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "search"
              ],
              "title": "SearchResponsesApiWebSearchActionType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "SearchResponsesApiWebSearchAction",
          "type": "object"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "open_page"
              ],
              "title": "OpenPageResponsesApiWebSearchActionType",
              "type": "string"
            },
            "url": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "type"
          ],
          "title": "OpenPageResponsesApiWebSearchAction",
          "type": "object"
        },
        {
          "properties": {
            "pattern": {
              "type": [
                "string",
                "null"
              ]
            },
            "type": {
              "enum": [
                "find_in_page"
              ],
              "title": "FindInPageResponsesApiWebSearchActionType",
              "type": "string"
            },
            "url": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "type"
          ],
          "title": "FindInPageResponsesApiWebSearchAction",
          "type": "object"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "other"
              ],
              "title": "OtherResponsesApiWebSearchActionType",
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "title": "OtherResponsesApiWebSearchAction",
          "type": "object"
        }
      ]
    }
  },
  "properties": {
    "item": {
      "$ref": "#/definitions/ResponseItem"
    },
    "threadId": {
      "type": "string"
    },
    "turnId": {
      "type": "string"
    }
  },
  "required": [
    "item",
    "threadId",
    "turnId"
  ],
  "title": "RawResponseItemCompletedNotification",
  "type": "object"
}