{"openapi":"3.0.0","info":{"title":"Archestra — MCP Gateway","version":"v1.5.0-rc.22"},"components":{"schemas":{"LogContentNotStoredInput":{"type":"object","properties":{"__redacted":{"type":"string","enum":["log_content_policy"]},"isError":{"type":"boolean"},"errorType":{"type":"string","enum":["auth_required","auth_expired","assigned_credential_unavailable","tool_state","cancelled","generic"]},"archestraExecutedAs":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["personal"]},"ownerUserId":{"nullable":true,"type":"string"},"ownerName":{"nullable":true,"type":"string"}},"required":["kind","ownerUserId","ownerName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["team"]},"teamId":{"type":"string"},"teamName":{"nullable":true,"type":"string"}},"required":["kind","teamId","teamName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["org"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["idp_exchange"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["idp_passthrough"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["caller_headers"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["platform"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false}]}},"required":["__redacted"]},"TextSearchLanguageInput":{"type":"string","enum":["simple","arabic","armenian","basque","catalan","danish","dutch","english","finnish","french","german","greek","hindi","hungarian","indonesian","irish","italian","lithuanian","nepali","norwegian","portuguese","romanian","russian","serbian","spanish","swedish","tamil","turkish","yiddish"]},"ContextualRetrievalModeInput":{"type":"string","enum":["disabled","document","chunk"]},"EmbeddingDimensionsInput":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"enum":[3072,1536,1408,1024,768,384]},"LocalConfigEnvironmentDefaultInput":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"OpenAiChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"OpenAiChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"]},"GeminiGenerateContentRequestInput":{"type":"object","properties":{"contents":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","description":"The role of the author of this content."},"parts":{"type":"array","items":{"anyOf":[{"anyOf":[{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"text":{"type":"string"},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["text"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"inlineData":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string"}},"required":["data"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["inlineData"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionCall":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"args":{"type":"object","additionalProperties":{}}},"required":["name"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionCall"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"response":{"type":"object","additionalProperties":{}},"willContinue":{"type":"boolean"},"scheduling":{"type":"string","enum":["SCHEDULING_UNSPECIFIED","SILENT","WHEN_IDLE","INTERRUPT"]}},"required":["name","response"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionResponse"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"fileData":{"type":"object","properties":{"mimeType":{"type":"string"},"fileUri":{"type":"string"}},"required":["fileUri"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["fileData"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"language":{"type":"string","enum":["LANGUAGE_UNSPECIFIED","PYTHON"]},"executableCode":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["language","executableCode"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"codeExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["OUTCOME_UNSPECIFIED","OUTCOME_OK","OUTCOME_FAILED","OUTCOME_DEADLINE_EXCEEDED"],"description":"Outcome of the code execution."},"output":{"type":"string"}},"required":["outcome"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["codeExecutionResult"]}]}],"description":"https://ai.google.dev/api/caching#Part"}}},"required":["role","parts"],"description":"\nThe base structured datatype containing multi-part content of a message.\n\nA Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.\n\nhttps://ai.google.dev/api/caching#Content\n"},"description":"The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries like chat, this is a repeated field that contains the conversation history and the latest request"},"tools":{"description":"A list of Tools the Model may use to generate the next response. A Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the Model. Supported Tools are Function and codeExecution. Refer to the Function calling and the Code execution guides to learn more.","anyOf":[{"type":"array","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}},{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}]},"toolConfig":{"description":"Tool configuration for any Tool specified in the request.","type":"object","properties":{"functionCallingConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["AUTO","ANY","NONE"]},"allowedFunctionNames":{"type":"array","items":{"type":"string"}}},"required":["mode"]}},"required":["functionCallingConfig"]},"safetySettings":{"description":"A list of unique SafetySetting instances for blocking unsafe content.","type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"threshold":{"type":"string","enum":["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"],"description":"\n      Controls the probability threshold at which harm is blocked.\n\n      https://ai.google.dev/api/generate-content#HarmBlockThreshold\n      "}},"required":["category","threshold"],"description":"https://ai.google.dev/api/generate-content#v1beta.SafetySetting"}},"systemInstruction":{"type":"object","properties":{"parts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}}},"required":["parts"],"description":"Developer set system instruction(s). Currently, text only."},"generationConfig":{"type":"object","properties":{"stopSequences":{"type":"array","items":{"type":"string"}},"responseMimeType":{"type":"string"},"responseSchema":{},"_responseJsonSchema":{},"responseJsonSchema":{},"responseModalities":{"type":"array","items":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"}},"candidateCount":{"type":"number"},"maxOutputTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"topK":{"type":"number"},"seed":{"type":"number"},"presencePenalty":{"type":"number"},"frequencyPenalty":{"type":"number"},"responseLogprobs":{"type":"boolean"},"logProbs":{"type":"number"},"enableEnhancedCivicAnswers":{"type":"boolean"},"speechConfig":{},"thinkingConfig":{},"imageConfig":{},"mediaResolution":{"description":"https://ai.google.dev/api/generate-content#MediaResolution","type":"string","enum":["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]}},"description":"https://ai.google.dev/api/generate-content#v1beta.GenerationConfig"},"cachedContent":{"description":"The name of the content cached to use as context to serve the prediction. Format: cachedContents/{cachedContent}","type":"string"},"config":{"type":"object","properties":{"tools":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}},{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}]},"toolConfig":{"description":"Tool configuration for any Tool specified in the request.","type":"object","properties":{"functionCallingConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["AUTO","ANY","NONE"]},"allowedFunctionNames":{"type":"array","items":{"type":"string"}}},"required":["mode"]}},"required":["functionCallingConfig"]}}}},"required":["contents"]},"GeminiGenerateContentResponseInput":{"type":"object","properties":{"candidates":{"description":"Candidate responses from the model","type":"array","items":{"type":"object","properties":{"content":{"type":"object","properties":{"role":{"type":"string","description":"The role of the author of this content."},"parts":{"type":"array","items":{"anyOf":[{"anyOf":[{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"text":{"type":"string"},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["text"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"inlineData":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string"}},"required":["data"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["inlineData"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionCall":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"args":{"type":"object","additionalProperties":{}}},"required":["name"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionCall"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"response":{"type":"object","additionalProperties":{}},"willContinue":{"type":"boolean"},"scheduling":{"type":"string","enum":["SCHEDULING_UNSPECIFIED","SILENT","WHEN_IDLE","INTERRUPT"]}},"required":["name","response"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionResponse"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"fileData":{"type":"object","properties":{"mimeType":{"type":"string"},"fileUri":{"type":"string"}},"required":["fileUri"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["fileData"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"language":{"type":"string","enum":["LANGUAGE_UNSPECIFIED","PYTHON"]},"executableCode":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["language","executableCode"]},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"codeExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["OUTCOME_UNSPECIFIED","OUTCOME_OK","OUTCOME_FAILED","OUTCOME_DEADLINE_EXCEEDED"],"description":"Outcome of the code execution."},"output":{"type":"string"}},"required":["outcome"]},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["codeExecutionResult"]}]}],"description":"https://ai.google.dev/api/caching#Part"}}},"required":["role","parts"],"description":"\nThe base structured datatype containing multi-part content of a message.\n\nA Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.\n\nhttps://ai.google.dev/api/caching#Content\n"},"finishReason":{"description":"\n  The reason why the model stopped generating tokens.\n\n  If empty, the model has not stopped generating tokens.\n\n  https://ai.google.dev/api/generate-content#FinishReason\n","anyOf":[{"type":"string","enum":["FINISH_REASON_UNSPECIFIED","STOP","MAX_TOKENS","SAFETY","RECITATION","LANGUAGE","OTHER","BLOCKLIST","PROHIBITED_CONTENT","SPII","MALFORMED_FUNCTION_CALL","IMAGE_SAFETY","IMAGE_PROHIBITED_CONTENT","IMAGE_OTHER","NO_IMAGE","IMAGE_RECITATION","UNEXPECTED_TOOL_CALL","TOO_MANY_TOOL_CALLS"]},{"type":"string"}]},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"probability":{"type":"string","enum":["HARM_PROBABILITY_UNSPECIFIED","NEGLIGIBLE","LOW","MEDIUM","HIGH"],"description":"https://ai.google.dev/api/generate-content#HarmProbability"},"blocked":{"description":"Was this content blocked because of this rating?","type":"boolean"}},"required":["category","probability"],"description":"https://ai.google.dev/api/generate-content#v1beta.SafetyRating"}},"citationMetadata":{"description":"https://ai.google.dev/api/generate-content#citationmetadata","type":"object","properties":{"citationSources":{"type":"array","items":{"description":"https://ai.google.dev/api/generate-content#CitationSource","type":"object","properties":{"startIndex":{"type":"number"},"endIndex":{"type":"number"},"uri":{"type":"string"},"license":{"type":"string"}}}}},"required":["citationSources"]},"tokenCount":{"type":"number"},"groundingAttributions":{"type":"array","items":{}},"groundingMetadata":{},"avgLogprobs":{"type":"number"},"logprobsResult":{},"urlContextMetadata":{},"index":{"description":"Index of the candidate in the list of response candidates.","type":"number"},"finishMessage":{"description":"Details the reason why the model stopped generating tokens. This is populated only when finishReason is set.","type":"string"}},"description":"https://ai.google.dev/api/generate-content#candidate"}},"promptFeedback":{"description":"Returns the prompt's feedback related to the content filters","type":"object","properties":{"blockReason":{"description":"Specifies the reason why the prompt was blocked. https://ai.google.dev/api/generate-content#BlockReason","anyOf":[{"type":"string","enum":["BLOCK_REASON_UNSPECIFIED","SAFETY","OTHER","BLOCKLIST","PROHIBITED_CONTENT","IMAGE_SAFETY"]},{"type":"string"}]},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"probability":{"type":"string","enum":["HARM_PROBABILITY_UNSPECIFIED","NEGLIGIBLE","LOW","MEDIUM","HIGH"],"description":"https://ai.google.dev/api/generate-content#HarmProbability"},"blocked":{"description":"Was this content blocked because of this rating?","type":"boolean"}},"required":["category","probability"],"description":"https://ai.google.dev/api/generate-content#v1beta.SafetyRating"}}}},"usageMetadata":{"description":"Metadata on the generation requests' token usage","type":"object","properties":{"trafficType":{"description":"Traffic tier that served the request.","type":"string"},"promptTokenCount":{"type":"number"},"cachedContentTokenCount":{"type":"number"},"candidatesTokenCount":{"type":"number"},"toolUsePromptTokenCount":{"type":"number"},"thoughtsTokenCount":{"type":"number"},"totalTokenCount":{"type":"number"},"promptTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"cacheTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"candidatesTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"toolUsePromptTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}}}},"modelVersion":{"description":"The model version used to generate the response.","type":"string"},"responseId":{"description":"The unique response ID.","type":"string"}}},"AnthropicMessagesRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"},"signature":{"type":"string"}},"required":["type","thinking","signature"]},{"type":"object","properties":{"type":{"type":"string","enum":["redacted_thinking"]},"data":{"type":"string"}},"required":["type","data"]},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]},"cache_control":{"nullable":true}},"required":["id","input","name","type"]},{"type":"object","properties":{"tool_use_id":{"type":"string"},"type":{"type":"string","enum":["tool_result"]},"cache_control":{"nullable":true},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"]},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"]}]},"cache_control":{"nullable":true}},"required":["type","source"]}]}}]}},"required":["type","content"]}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"cache_control":{"nullable":true}},"required":["type","source"],"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"}]}}]},"is_error":{"type":"boolean"}},"required":["tool_use_id","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["search_result","server_tool_use","web_search_tool_result","web_fetch_tool_result","code_execution_tool_result","bash_code_execution_tool_result","text_editor_code_execution_tool_result","tool_search_tool_result","container_upload"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"role":{"type":"string","enum":["user","assistant","system"]}},"required":["content","role"]}},"max_tokens":{"type":"number"},"container":{"nullable":true,"type":"string"},"context_management":{"nullable":true,"type":"object","properties":{},"additionalProperties":{}},"mcp_servers":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"user_id":{"nullable":true,"type":"string"}},"additionalProperties":{}},"output_config":{"type":"object","properties":{"effort":{"nullable":true,"type":"string"},"format":{"nullable":true,"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"schema":{"type":"object","additionalProperties":{}}},"required":["type","schema"]}},"additionalProperties":{}},"service_tier":{},"speed":{"type":"string","enum":["fast","standard"]},"stop_sequences":{"type":"array","items":{"type":"string"}},"stream":{"type":"boolean"},"system":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}}}]},"temperature":{"type":"number"},"thinking":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["enabled"]},"budget_tokens":{"type":"number"},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type","budget_tokens"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["disabled"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["between_tools"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["adaptive"]},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]},"tool_choice":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["auto"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["any"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"name":{"type":"string"},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["none"]}},"required":["type"]}]},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["custom"]},"cache_control":{"nullable":true},"input_schema":{"type":"object","additionalProperties":{}},"description":{"type":"string"}},"required":["name","input_schema"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["bash"]},"type":{"type":"string","enum":["bash_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_editor"]},"type":{"type":"string","enum":["text_editor_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250429"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250728"]},"cache_control":{"nullable":true},"max_characters":{"nullable":true,"type":"number"}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["web_search"]},"type":{"type":"string","enum":["web_search_20250305"]},"allowed_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"blocked_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"cache_control":{"nullable":true},"max_uses":{"nullable":true,"type":"number"},"user_location":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"top_k":{"type":"number"},"top_p":{"type":"number"}},"required":["model","messages","max_tokens"],"additionalProperties":{}},"AnthropicMessagesResponseInput":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"citations":{"nullable":true,"type":"array","items":{}},"text":{"type":"string"},"type":{"type":"string","enum":["text"]}},"required":["citations","text","type"],"additionalProperties":{}},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]}},"required":["id","input","name","type"],"additionalProperties":{}}]}},"model":{"type":"string"},"role":{"type":"string","enum":["assistant"]},"stop_reason":{"nullable":true},"stop_sequence":{"nullable":true,"type":"string"},"type":{"type":"string","enum":["message"]},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"cache_read_input_tokens":{"nullable":true,"type":"number"},"cache_creation_input_tokens":{"nullable":true,"type":"number"},"cache_creation":{"nullable":true,"type":"object","properties":{"ephemeral_1h_input_tokens":{"nullable":true,"type":"number"},"ephemeral_5m_input_tokens":{"nullable":true,"type":"number"}}}},"required":["input_tokens","output_tokens"],"additionalProperties":{}}},"required":["id","content","model","role","type","usage"],"additionalProperties":{}},"CerebrasChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"CerebrasChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/Cerebras/cerebras-cloud-sdk-node/blob/main/src/resources/chat/completions.ts"}},"required":["finish_reason","message"],"description":"https://github.com/Cerebras/cerebras-cloud-sdk-node/blob/main/src/resources/chat/completions.ts"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"]},"CohereChatRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"]}},"required":["type","image_url"]}]}}]}},"required":["role","content"]},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["type","tool_call_id","content"]},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"}},"required":["type","thinking"]},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"]}},"required":["id","type","function"]}}},"required":["role"]},{"type":"object","properties":{"role":{"type":"string","enum":["system"]},"content":{"type":"string"}},"required":["role","content"]},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["role","tool_call_id","content"]}]}},"stream":{"type":"boolean"},"temperature":{"type":"number"},"max_tokens":{"type":"number"},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"required":{"type":"array","items":{"type":"string"}},"properties":{"type":"object","additionalProperties":{}}},"required":["type"]}},"required":["name"]}},"required":["type","function"]}},"tool_choice":{"type":"string","enum":["REQUIRED","NONE"]},"safety_mode":{"type":"string","enum":["CONTEXTUAL","STRICT","OFF"]},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["json_object","text"]},"json_schema":{"type":"object","additionalProperties":{}}},"required":["type"]},"frequency_penalty":{"type":"number"},"presence_penalty":{"type":"number"},"k":{"type":"number"},"p":{"type":"number"},"seed":{"type":"number"},"stop_sequences":{"type":"array","items":{"type":"string"}},"logprobs":{"type":"boolean"}},"required":["model","messages"]},"CohereChatResponseInput":{"type":"object","properties":{"id":{"type":"string"},"message":{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["type","tool_call_id","content"]},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"}},"required":["type","thinking"]},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"]}},"required":["id","type","function"]}}},"required":["role"]},"finish_reason":{"anyOf":[{"type":"string","enum":["COMPLETE","MAX_TOKENS","STOP_SEQUENCE","TOOL_CALL","ERROR"]},{"type":"string"}]},"usage":{"type":"object","properties":{"billed_units":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}}},"tokens":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}}}}}},"required":["id","message","finish_reason"]},"MistralChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"MistralChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"PerplexityChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"},"stream_mode":{"type":"string","enum":["full","concise"]}},"required":["model","messages"]},"PerplexityChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"GroqChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"GroqChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"OpenrouterChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}]}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"]},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}]}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object","json_schema"]}},"required":["type"],"additionalProperties":{}},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"},"reasoning":{"type":"object","properties":{"enabled":{"type":"boolean"},"effort":{"type":"string"},"max_tokens":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"exclude":{"type":"boolean"}}}},"required":["model","messages"]},"OpenrouterChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"JevDecisionsRequestInput":{"type":"object","properties":{"model":{"type":"string"},"state":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}],"description":"The content the questions are about"},"questions":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","description":"Question kind: noul, choice, or score"},"instructions":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"criteria":{}},"required":["type","instructions","criteria"],"additionalProperties":{}},"description":"Decision questions keyed by name"}},"required":["model","state","questions"],"additionalProperties":{}},"JevDecisionsResponseInput":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"answers":{"type":"object","additionalProperties":{}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"cost":{"type":"number"}},"additionalProperties":{}}},"required":["answers"],"additionalProperties":{}},"VllmChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"A developer message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"A system message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"Image URL details"}},"required":["type","image_url"],"description":"An image content part"},{"type":"object","properties":{"type":{"type":"string","enum":["input_audio"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"Audio input details"}},"required":["type","input_audio"],"description":"An audio content part"},{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"File details"}},"required":["type","file"],"description":"A file content part"}],"description":"A content part in a message"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"A user message"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"A refusal content part"}}]},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"Function call details"}},"required":["id","type","function"],"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"Custom tool call details"}},"required":["id","type","custom"],"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}},"reasoning":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"}},"required":["role"],"description":"An assistant message"},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"Image URL details"}},"required":["type","image_url"],"description":"An image content part"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"A tool result message"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"A function result message (deprecated)"}],"description":"A message in the conversation"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"A function definition for tool calling"}},"required":["type","function"],"description":"A function tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["definition","syntax"]}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"A custom tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"A custom tool in the flat Responses-API shape (see the OpenAI provider's ResponsesStyleCustomToolSchema)"}],"description":"A tool definition"}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model.\n    auto: allows the model to pick from allowed tools or generate a message.\n    required: requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"A function definition for tool calling"}},"required":["type","function"],"description":"A function tool definition"}}}},"required":["mode","tools"],"description":"Allowed tools configuration"}},"required":["type","allowed_tools"],"description":"Allowed tool choice configuration"},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"Named function tool choice"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["definition","syntax"]}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"A custom tool definition"}],"description":"Tool choice option"},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"stream":{"nullable":true,"type":"boolean"},"top_p":{"nullable":true,"type":"number"},"top_k":{"nullable":true,"type":"number"},"frequency_penalty":{"nullable":true,"type":"number"},"presence_penalty":{"nullable":true,"type":"number"},"repetition_penalty":{"nullable":true,"type":"number"},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"seed":{"nullable":true,"type":"number"},"n":{"nullable":true,"type":"number"},"best_of":{"nullable":true,"type":"number"},"logprobs":{"nullable":true,"type":"boolean"},"top_logprobs":{"nullable":true,"type":"number"},"chat_template_kwargs":{"type":"object","additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string"}},"required":["model","messages"]},"VllmChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"Function call details"}},"required":["id","type","function"],"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"Custom tool call details"}},"required":["id","type","custom"],"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}},"reasoning":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"}},"required":["role"],"description":"The assistant message in the response"}},"required":["finish_reason","message"],"description":"A choice in the chat completion response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{},"prompt_tokens_details":{}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"Token usage statistics for the completion"}},"required":["id","choices","created","model","object"]},"OllamaChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"A developer message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"A system message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"Image URL details"}},"required":["type","image_url"],"description":"An image content part"},{"type":"object","properties":{"type":{"type":"string","enum":["input_audio"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"Audio input details"}},"required":["type","input_audio"],"description":"An audio content part"},{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"File details"}},"required":["type","file"],"description":"A file content part"}],"description":"A content part in a message"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"A user message"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"A refusal content part"}}]},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"Function call details"}},"required":["id","type","function"],"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"Custom tool call details"}},"required":["id","type","custom"],"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}}},"required":["role"],"description":"An assistant message"},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"A text content part"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"Image URL details"}},"required":["type","image_url"],"description":"An image content part"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"A tool result message"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"A function result message (deprecated)"}],"description":"A message in the conversation"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"A function definition for tool calling"}},"required":["type","function"],"description":"A function tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["definition","syntax"]}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"A custom tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"A custom tool in the flat Responses-API shape (see the OpenAI provider's ResponsesStyleCustomToolSchema)"}],"description":"A tool definition"}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model.\n    auto: allows the model to pick from allowed tools or generate a message.\n    required: requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"A function definition for tool calling"}},"required":["type","function"],"description":"A function tool definition"}}}},"required":["mode","tools"],"description":"Allowed tools configuration"}},"required":["type","allowed_tools"],"description":"Allowed tool choice configuration"},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"Named function tool choice"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["definition","syntax"]}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"A custom tool definition"}],"description":"Tool choice option"},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"stream":{"nullable":true,"type":"boolean"},"top_p":{"nullable":true,"type":"number"},"frequency_penalty":{"nullable":true,"type":"number"},"presence_penalty":{"nullable":true,"type":"number"},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"seed":{"nullable":true,"type":"number"},"n":{"nullable":true,"type":"number"},"reasoning_effort":{"nullable":true,"type":"string"}},"required":["model","messages"]},"OllamaChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"Function call details"}},"required":["id","type","function"],"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"Custom tool call details"}},"required":["id","type","custom"],"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}}},"required":["role"],"description":"The assistant message in the response"}},"required":["finish_reason","message"],"description":"A choice in the chat completion response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{},"prompt_tokens_details":{}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"Token usage statistics for the completion"}},"required":["id","choices","created","model","object"]},"OllamaNativeChatRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{}}]},"thinking":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"tool_calls":{"nullable":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"function":{"type":"object","properties":{"index":{"type":"number"},"name":{"type":"string"},"arguments":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]}},"required":["name","arguments"],"additionalProperties":{}}},"required":["function"],"additionalProperties":{}}},"tool_name":{"type":"string"},"tool_call_id":{"type":"string"}},"required":["role"],"additionalProperties":{}}},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","additionalProperties":{}}},"required":["name"],"additionalProperties":{}}},"required":["type","function"],"additionalProperties":{}}},"format":{},"options":{"type":"object","properties":{"temperature":{"type":"number"},"top_k":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top_p":{"type":"number"},"min_p":{"type":"number"},"typical_p":{"type":"number"},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"repeat_penalty":{"type":"number"},"repeat_last_n":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presence_penalty":{"type":"number"},"frequency_penalty":{"type":"number"},"stop":{"maxItems":16,"type":"array","items":{"type":"string","maxLength":256}},"num_keep":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"num_ctx":{"type":"integer","minimum":1,"maximum":10000000},"num_predict":{"type":"integer","minimum":-2,"maximum":9007199254740991}}},"stream":{"nullable":true,"type":"boolean"},"keep_alive":{"anyOf":[{"type":"string"},{"type":"number"}]},"think":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"temperature":{"nullable":true,"type":"number"},"top_p":{"nullable":true,"type":"number"},"max_output_tokens":{"nullable":true,"type":"number"},"truncate":{"type":"boolean"},"shift":{"type":"boolean"}},"required":["model","messages"],"additionalProperties":{}},"OllamaNativeChatResponseInput":{"type":"object","properties":{"model":{"type":"string"},"created_at":{"type":"string"},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"},"thinking":{"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"function":{"type":"object","properties":{"index":{"type":"number"},"name":{"type":"string"},"arguments":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]}},"required":["name","arguments"],"additionalProperties":{}}},"required":["function"],"additionalProperties":{}}}},"required":["role"],"additionalProperties":{}},"done":{"type":"boolean"},"done_reason":{"type":"string"},"total_duration":{"type":"number"},"load_duration":{"type":"number"},"prompt_eval_count":{"type":"number"},"prompt_eval_duration":{"type":"number"},"eval_count":{"type":"number"},"eval_duration":{"type":"number"}},"required":["model","message","done"],"additionalProperties":{}},"ZhipuaiChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["system"]},"content":{"type":"string"},"name":{"type":"string"}},"required":["role","content"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"required":["type","image_url"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}}]},"name":{"type":"string"}},"required":["role","content"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"name":{"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["id","type","function"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"function_call":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]}},"required":["role"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"content":{"type":"string"},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://docs.z.ai/api-reference/llm/chat-completion#body\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"required":["type","function"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://docs.z.ai/api-reference/llm/chat-completion#body\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://docs.z.ai/api-reference/llm/chat-completion#body\n  "}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},"request_id":{"type":"string"},"do_sample":{"type":"boolean"},"stream":{"type":"boolean"},"thinking":{"type":"object","properties":{"type":{"type":"string","enum":["enabled","disabled"]},"clear_thinking":{"type":"boolean"}},"required":["type"]},"temperature":{"nullable":true,"type":"number"},"top_p":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"tool_stream":{"type":"boolean"},"stop":{"type":"array","items":{"type":"string"}},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object"]}},"required":["type"]},"user_id":{"type":"string"}},"required":["model","messages"]},"ZhipuaiChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"request_id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","sensitive","network_error"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"reasoning_content":{"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["id","type","function"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]}},"required":["role"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["finish_reason","message"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"prompt_tokens_details":{"description":"https://docs.z.ai/api-reference/llm/chat-completion#response","type":"object","properties":{"cached_tokens":{"type":"number"}},"required":["cached_tokens"]}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"},"web_search":{"description":"https://docs.z.ai/api-reference/llm/chat-completion#response","type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"content":{"type":"string"},"link":{"type":"string"},"media":{"type":"string"},"icon":{"type":"string"},"refer":{"type":"string"},"publish_date":{"type":"string"}},"required":["title","content","link","media","icon","refer","publish_date"]}}},"required":["id","choices","created","model","object"]},"DeepSeekChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}},"DeepSeekChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"ArchestraChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}},"ArchestraChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"MinimaxChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}},"reasoning_details":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}}},"required":["role"]},{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}]}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"stream":{"type":"boolean"},"temperature":{"nullable":true,"type":"number","minimum":0,"maximum":1},"top_p":{"nullable":true,"type":"number","minimum":0,"maximum":1},"max_tokens":{"nullable":true,"type":"number"},"n":{"type":"number","enum":[1]},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object"]}},"required":["type"]},"user":{"type":"string"},"reasoning_split":{"type":"boolean"},"thinking":{"type":"object","properties":{"type":{"type":"string","enum":["enabled","disabled"]}},"required":["type"]},"extra_body":{"type":"object","properties":{"reasoning_split":{"type":"boolean"}}}},"required":["model","messages"]},"MinimaxChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"reasoning_details":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#response"}},"required":["finish_reason","message"],"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"type":"object","properties":{"reasoning_tokens":{"type":"number"}}}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#usage"}},"required":["id","choices","created","model","object"]},"XaiChatCompletionRequestInput":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]}},"required":["type","text"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"]}]}},"required":["type","name"],"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}},"required":["type","function"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"]},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"description":"Your chosen grammar"}},"required":["type","grammar"]}]}},"required":["name"]}},"required":["type","custom"],"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"]}},"required":["type","json_schema"]}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"]},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}}},"user":{"type":"string"}},"required":["model","messages"]},"XaiChatCompletionResponseInput":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"]},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"UserConfigFieldDefaultInput":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]},"UserConfigFieldInput":{"type":"object","properties":{"type":{"type":"string","enum":["string","number","boolean","directory","file"]},"title":{"type":"string"},"description":{"type":"string"},"promptOnInstallation":{"type":"boolean"},"required":{"type":"boolean"},"default":{"allOf":[{"$ref":"#/components/schemas/UserConfigFieldDefaultInput"}]},"multiple":{"type":"boolean"},"sensitive":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"headerName":{"type":"string"},"valuePrefix":{"type":"string"}},"required":["type","title","description"]},"InteractionVirtualKeyInput":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"keyType":{"type":"string","enum":["standard","passthrough"]},"tokenStart":{"type":"string"},"ownerUserId":{"nullable":true,"type":"string"},"ownerUserName":{"nullable":true,"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}},"createdByUserName":{"nullable":true,"type":"string"}},"required":["id","name","scope","keyType","tokenStart","ownerUserId","ownerUserName","teams","createdByUserName"]},"LogContentNotStored":{"type":"object","properties":{"__redacted":{"type":"string","enum":["log_content_policy"]},"isError":{"type":"boolean"},"errorType":{"type":"string","enum":["auth_required","auth_expired","assigned_credential_unavailable","tool_state","cancelled","generic"]},"archestraExecutedAs":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["personal"]},"ownerUserId":{"nullable":true,"type":"string"},"ownerName":{"nullable":true,"type":"string"}},"required":["kind","ownerUserId","ownerName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["team"]},"teamId":{"type":"string"},"teamName":{"nullable":true,"type":"string"}},"required":["kind","teamId","teamName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["org"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["idp_exchange"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["idp_passthrough"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["caller_headers"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["platform"]},"callerUserId":{"nullable":true,"type":"string"}},"required":["kind","callerUserId"],"additionalProperties":false}]}},"required":["__redacted"],"additionalProperties":false},"TextSearchLanguage":{"type":"string","enum":["simple","arabic","armenian","basque","catalan","danish","dutch","english","finnish","french","german","greek","hindi","hungarian","indonesian","irish","italian","lithuanian","nepali","norwegian","portuguese","romanian","russian","serbian","spanish","swedish","tamil","turkish","yiddish"]},"ContextualRetrievalMode":{"type":"string","enum":["disabled","document","chunk"]},"EmbeddingDimensions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"enum":[3072,1536,1408,1024,768,384]},"LocalConfigEnvironmentDefault":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"OpenAiChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"OpenAiChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"GeminiGenerateContentRequest":{"type":"object","properties":{"contents":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","description":"The role of the author of this content."},"parts":{"type":"array","items":{"anyOf":[{"anyOf":[{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"text":{"type":"string"},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["text"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"inlineData":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string"}},"required":["data"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["inlineData"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionCall":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"args":{"type":"object","additionalProperties":{}}},"required":["name"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionCall"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"response":{"type":"object","additionalProperties":{}},"willContinue":{"type":"boolean"},"scheduling":{"type":"string","enum":["SCHEDULING_UNSPECIFIED","SILENT","WHEN_IDLE","INTERRUPT"]}},"required":["name","response"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionResponse"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"fileData":{"type":"object","properties":{"mimeType":{"type":"string"},"fileUri":{"type":"string"}},"required":["fileUri"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["fileData"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"language":{"type":"string","enum":["LANGUAGE_UNSPECIFIED","PYTHON"]},"executableCode":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["language","executableCode"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"codeExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["OUTCOME_UNSPECIFIED","OUTCOME_OK","OUTCOME_FAILED","OUTCOME_DEADLINE_EXCEEDED"],"description":"Outcome of the code execution."},"output":{"type":"string"}},"required":["outcome"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["codeExecutionResult"],"additionalProperties":false}]}],"description":"https://ai.google.dev/api/caching#Part"}}},"required":["role","parts"],"additionalProperties":false,"description":"\nThe base structured datatype containing multi-part content of a message.\n\nA Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.\n\nhttps://ai.google.dev/api/caching#Content\n"},"description":"The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries like chat, this is a repeated field that contains the conversation history and the latest request"},"tools":{"description":"A list of Tools the Model may use to generate the next response. A Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the Model. Supported Tools are Function and codeExecution. Refer to the Function calling and the Code execution guides to learn more.","anyOf":[{"type":"array","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"additionalProperties":false,"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"additionalProperties":false,"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}},{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"additionalProperties":false,"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"additionalProperties":false,"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}]},"toolConfig":{"description":"Tool configuration for any Tool specified in the request.","type":"object","properties":{"functionCallingConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["AUTO","ANY","NONE"]},"allowedFunctionNames":{"type":"array","items":{"type":"string"}}},"required":["mode"],"additionalProperties":false}},"required":["functionCallingConfig"],"additionalProperties":false},"safetySettings":{"description":"A list of unique SafetySetting instances for blocking unsafe content.","type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"threshold":{"type":"string","enum":["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"],"description":"\n      Controls the probability threshold at which harm is blocked.\n\n      https://ai.google.dev/api/generate-content#HarmBlockThreshold\n      "}},"required":["category","threshold"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.SafetySetting"}},"systemInstruction":{"type":"object","properties":{"parts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false}}},"required":["parts"],"additionalProperties":false,"description":"Developer set system instruction(s). Currently, text only."},"generationConfig":{"type":"object","properties":{"stopSequences":{"type":"array","items":{"type":"string"}},"responseMimeType":{"type":"string"},"responseSchema":{},"_responseJsonSchema":{},"responseJsonSchema":{},"responseModalities":{"type":"array","items":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"}},"candidateCount":{"type":"number"},"maxOutputTokens":{"type":"number"},"temperature":{"type":"number"},"topP":{"type":"number"},"topK":{"type":"number"},"seed":{"type":"number"},"presencePenalty":{"type":"number"},"frequencyPenalty":{"type":"number"},"responseLogprobs":{"type":"boolean"},"logProbs":{"type":"number"},"enableEnhancedCivicAnswers":{"type":"boolean"},"speechConfig":{},"thinkingConfig":{},"imageConfig":{},"mediaResolution":{"description":"https://ai.google.dev/api/generate-content#MediaResolution","type":"string","enum":["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]}},"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.GenerationConfig"},"cachedContent":{"description":"The name of the content cached to use as context to serve the prediction. Format: cachedContents/{cachedContent}","type":"string"},"config":{"type":"object","properties":{"tools":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"additionalProperties":false,"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"additionalProperties":false,"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}},{"type":"object","properties":{"functionDeclarations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the function. Must start with a letter or underscore and contain only a-z, A-Z, 0-9, underscores, dots, colons, or dashes, with a maximum length of 128."},"description":{"type":"string","description":"A brief description of the function."},"behavior":{"description":"https://ai.google.dev/api/caching#Behavior","type":"string","enum":["UNSPECIFIED","BLOCKING","NON_BLOCKING"]},"parameters":{"description":"Describes the parameters to this function. Reflects the Open API 3.03 Parameter Object string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter.","type":"object","additionalProperties":{}},"parametersJsonSchema":{},"response":{},"responseJsonSchema":{}},"required":["name","description"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#FunctionDeclaration"}},"googleSearchRetrieval":{"type":"object","properties":{"dynamicRetrievalConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["MODE_UNSPECIFIED","MODE_DYNAMIC"],"description":"https://ai.google.dev/api/caching#Mode"},"dynamicThreshold":{"type":"number"}},"required":["mode","dynamicThreshold"],"additionalProperties":false,"description":"\n        Specifies the dynamic retrieval configuration for the given source.\n\n        https://ai.google.dev/api/caching#DynamicRetrievalConfig\n      "}},"required":["dynamicRetrievalConfig"],"additionalProperties":false,"description":"https://ai.google.dev/api/caching#GoogleSearchRetrieval"},"codeExecution":{},"googleSearch":{},"urlContext":{},"googleMaps":{},"enterpriseWebSearch":{},"fileSearch":{}},"additionalProperties":false,"description":"\nTool details that the model may use to generate response.\n\nA Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.\n\nhttps://ai.google.dev/api/caching#Tool\n"}]},"toolConfig":{"description":"Tool configuration for any Tool specified in the request.","type":"object","properties":{"functionCallingConfig":{"type":"object","properties":{"mode":{"type":"string","enum":["AUTO","ANY","NONE"]},"allowedFunctionNames":{"type":"array","items":{"type":"string"}}},"required":["mode"],"additionalProperties":false}},"required":["functionCallingConfig"],"additionalProperties":false}},"additionalProperties":false}},"required":["contents"],"additionalProperties":false},"GeminiGenerateContentResponse":{"type":"object","properties":{"candidates":{"description":"Candidate responses from the model","type":"array","items":{"type":"object","properties":{"content":{"type":"object","properties":{"role":{"type":"string","description":"The role of the author of this content."},"parts":{"type":"array","items":{"anyOf":[{"anyOf":[{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"text":{"type":"string"},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["text"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"inlineData":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string"}},"required":["data"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["inlineData"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionCall":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"args":{"type":"object","additionalProperties":{}}},"required":["name"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionCall"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"functionResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"response":{"type":"object","additionalProperties":{}},"willContinue":{"type":"boolean"},"scheduling":{"type":"string","enum":["SCHEDULING_UNSPECIFIED","SILENT","WHEN_IDLE","INTERRUPT"]}},"required":["name","response"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["functionResponse"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"fileData":{"type":"object","properties":{"mimeType":{"type":"string"},"fileUri":{"type":"string"}},"required":["fileUri"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["fileData"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"language":{"type":"string","enum":["LANGUAGE_UNSPECIFIED","PYTHON"]},"executableCode":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["language","executableCode"],"additionalProperties":false},{"type":"object","properties":{"thought":{"description":"Indicates if the part is thought from the model","type":"boolean"},"thoughtSignature":{"description":"An opaque signature for the thought so it can be reused in subsequent requests. A base64-encoded string","type":"string"},"codeExecutionResult":{"type":"object","properties":{"outcome":{"type":"string","enum":["OUTCOME_UNSPECIFIED","OUTCOME_OK","OUTCOME_FAILED","OUTCOME_DEADLINE_EXCEEDED"],"description":"Outcome of the code execution."},"output":{"type":"string"}},"required":["outcome"],"additionalProperties":false},"metadata":{"description":"https://ai.google.dev/api/caching#PartMetadata","anyOf":[{"type":"object","properties":{"startOffset":{"description":"The start offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"endOffset":{"description":"The end offset of the video. A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'","type":"string"},"fps":{"description":"The frame rate of the video sent to the model. If not specified, the default value will be 1.0. The fps range is (0.0, 24.0]","type":"number"}},"additionalProperties":false,"description":"https://ai.google.dev/api/caching#VideoMetadata"}]}},"required":["codeExecutionResult"],"additionalProperties":false}]}],"description":"https://ai.google.dev/api/caching#Part"}}},"required":["role","parts"],"additionalProperties":false,"description":"\nThe base structured datatype containing multi-part content of a message.\n\nA Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.\n\nhttps://ai.google.dev/api/caching#Content\n"},"finishReason":{"description":"\n  The reason why the model stopped generating tokens.\n\n  If empty, the model has not stopped generating tokens.\n\n  https://ai.google.dev/api/generate-content#FinishReason\n","anyOf":[{"type":"string","enum":["FINISH_REASON_UNSPECIFIED","STOP","MAX_TOKENS","SAFETY","RECITATION","LANGUAGE","OTHER","BLOCKLIST","PROHIBITED_CONTENT","SPII","MALFORMED_FUNCTION_CALL","IMAGE_SAFETY","IMAGE_PROHIBITED_CONTENT","IMAGE_OTHER","NO_IMAGE","IMAGE_RECITATION","UNEXPECTED_TOOL_CALL","TOO_MANY_TOOL_CALLS"]},{"type":"string"}]},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"probability":{"type":"string","enum":["HARM_PROBABILITY_UNSPECIFIED","NEGLIGIBLE","LOW","MEDIUM","HIGH"],"description":"https://ai.google.dev/api/generate-content#HarmProbability"},"blocked":{"description":"Was this content blocked because of this rating?","type":"boolean"}},"required":["category","probability"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.SafetyRating"}},"citationMetadata":{"description":"https://ai.google.dev/api/generate-content#citationmetadata","type":"object","properties":{"citationSources":{"type":"array","items":{"description":"https://ai.google.dev/api/generate-content#CitationSource","type":"object","properties":{"startIndex":{"type":"number"},"endIndex":{"type":"number"},"uri":{"type":"string"},"license":{"type":"string"}},"additionalProperties":false}}},"required":["citationSources"],"additionalProperties":false},"tokenCount":{"type":"number"},"groundingAttributions":{"type":"array","items":{}},"groundingMetadata":{},"avgLogprobs":{"type":"number"},"logprobsResult":{},"urlContextMetadata":{},"index":{"description":"Index of the candidate in the list of response candidates.","type":"number"},"finishMessage":{"description":"Details the reason why the model stopped generating tokens. This is populated only when finishReason is set.","type":"string"}},"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#candidate"}},"promptFeedback":{"description":"Returns the prompt's feedback related to the content filters","type":"object","properties":{"blockReason":{"description":"Specifies the reason why the prompt was blocked. https://ai.google.dev/api/generate-content#BlockReason","anyOf":[{"type":"string","enum":["BLOCK_REASON_UNSPECIFIED","SAFETY","OTHER","BLOCKLIST","PROHIBITED_CONTENT","IMAGE_SAFETY"]},{"type":"string"}]},"safetyRatings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_DEROGATORY","HARM_CATEGORY_TOXICITY","HARM_CATEGORY_VIOLENCE","HARM_CATEGORY_SEXUAL","HARM_CATEGORY_MEDICAL","HARM_CATEGORY_DANGEROUS","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_CIVIC_INTEGRITY"],"description":"\n  The category for this setting\n\n  https://ai.google.dev/api/generate-content#v1beta.HarmCategory\n"},"probability":{"type":"string","enum":["HARM_PROBABILITY_UNSPECIFIED","NEGLIGIBLE","LOW","MEDIUM","HIGH"],"description":"https://ai.google.dev/api/generate-content#HarmProbability"},"blocked":{"description":"Was this content blocked because of this rating?","type":"boolean"}},"required":["category","probability"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.SafetyRating"}}},"additionalProperties":false},"usageMetadata":{"description":"Metadata on the generation requests' token usage","type":"object","properties":{"trafficType":{"description":"Traffic tier that served the request.","type":"string"},"promptTokenCount":{"type":"number"},"cachedContentTokenCount":{"type":"number"},"candidatesTokenCount":{"type":"number"},"toolUsePromptTokenCount":{"type":"number"},"thoughtsTokenCount":{"type":"number"},"totalTokenCount":{"type":"number"},"promptTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"cacheTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"candidatesTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}},"toolUsePromptTokensDetails":{"type":"array","items":{"type":"object","properties":{"modality":{"type":"string","enum":["MODALITY_UNSPECIFIED","TEXT","IMAGE","AUDIO"],"description":"https://ai.google.dev/api/generate-content#Modality"},"tokenCount":{"type":"number","description":"Number of tokens"}},"required":["modality","tokenCount"],"additionalProperties":false,"description":"https://ai.google.dev/api/generate-content#v1beta.ModalityTokenCount"}}},"additionalProperties":false},"modelVersion":{"description":"The model version used to generate the response.","type":"string"},"responseId":{"description":"The unique response ID.","type":"string"}},"additionalProperties":false},"AnthropicMessagesRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false}]}}]}},"required":["type","content"],"additionalProperties":false}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false,"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"},"signature":{"type":"string"}},"required":["type","thinking","signature"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redacted_thinking"]},"data":{"type":"string"}},"required":["type","data"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]},"cache_control":{"nullable":true}},"required":["id","input","name","type"],"additionalProperties":false},{"type":"object","properties":{"tool_use_id":{"type":"string"},"type":{"type":"string","enum":["tool_result"]},"cache_control":{"nullable":true},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["document"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string","enum":["application/pdf"]},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"media_type":{"type":"string","enum":["text/plain"]},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"uri"}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string","enum":["text"]},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["text","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"source":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["base64"]},"media_type":{"type":"string"},"data":{"type":"string"}},"required":["type","media_type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string"}},"required":["type","url"],"additionalProperties":false}]},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false}]}}]}},"required":["type","content"],"additionalProperties":false}]},"title":{"nullable":true,"type":"string"},"context":{"nullable":true,"type":"string"},"citations":{"nullable":true,"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"cache_control":{"nullable":true}},"required":["type","source"],"additionalProperties":false,"description":"Anthropic Messages API request `DocumentBlockParam`. This models a user `content` item with `type: \"document\"` and supports the source union exposed by Anthropic: `Base64PDFSource | PlainTextSource | ContentBlockSource | URLPDFSource`. API reference: https://platform.claude.com/docs/en/api/messages#document_block_param"}]}}]},"is_error":{"type":"boolean"}},"required":["tool_use_id","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["search_result","server_tool_use","web_search_tool_result","web_fetch_tool_result","code_execution_tool_result","bash_code_execution_tool_result","text_editor_code_execution_tool_result","tool_search_tool_result","container_upload"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"role":{"type":"string","enum":["user","assistant","system"]}},"required":["content","role"],"additionalProperties":false}},"max_tokens":{"type":"number"},"container":{"nullable":true,"type":"string"},"context_management":{"nullable":true,"type":"object","properties":{},"additionalProperties":{}},"mcp_servers":{"type":"array","items":{}},"metadata":{"type":"object","properties":{"user_id":{"nullable":true,"type":"string"}},"additionalProperties":{}},"output_config":{"type":"object","properties":{"effort":{"nullable":true,"type":"string"},"format":{"nullable":true,"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"schema":{"type":"object","additionalProperties":{}}},"required":["type","schema"],"additionalProperties":false}},"additionalProperties":{}},"service_tier":{},"speed":{"type":"string","enum":["fast","standard"]},"stop_sequences":{"type":"array","items":{"type":"string"}},"stream":{"type":"boolean"},"system":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"cache_control":{"nullable":true},"citations":{"nullable":true,"type":"array","items":{}}},"required":["type","text"],"additionalProperties":{}}}]},"temperature":{"type":"number"},"thinking":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["enabled"]},"budget_tokens":{"type":"number"},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type","budget_tokens"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["disabled"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["between_tools"]}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["adaptive"]},"display":{"nullable":true,"type":"string","enum":["summarized","omitted","updates"]},"block_binding":{"nullable":true,"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]},"tool_choice":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["auto"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["any"]},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"name":{"type":"string"},"disable_parallel_tool_use":{"type":"boolean"}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["none"]}},"required":["type"],"additionalProperties":false}]},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["custom"]},"cache_control":{"nullable":true},"input_schema":{"type":"object","additionalProperties":{}},"description":{"type":"string"}},"required":["name","input_schema"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["bash"]},"type":{"type":"string","enum":["bash_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_editor"]},"type":{"type":"string","enum":["text_editor_20250124"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250429"]},"cache_control":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["str_replace_based_edit_tool"]},"type":{"type":"string","enum":["text_editor_20250728"]},"cache_control":{"nullable":true},"max_characters":{"nullable":true,"type":"number"}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"name":{"type":"string","enum":["web_search"]},"type":{"type":"string","enum":["web_search_20250305"]},"allowed_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"blocked_domains":{"nullable":true,"type":"array","items":{"type":"string"}},"cache_control":{"nullable":true},"max_uses":{"nullable":true,"type":"number"},"user_location":{"nullable":true}},"required":["name","type"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"top_k":{"type":"number"},"top_p":{"type":"number"}},"required":["model","messages","max_tokens"],"additionalProperties":{}},"AnthropicMessagesResponse":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"citations":{"nullable":true,"type":"array","items":{}},"text":{"type":"string"},"type":{"type":"string","enum":["text"]}},"required":["citations","text","type"],"additionalProperties":{}},{"type":"object","properties":{"id":{"type":"string"},"input":{},"name":{"type":"string"},"type":{"type":"string","enum":["tool_use"]}},"required":["id","input","name","type"],"additionalProperties":{}}]}},"model":{"type":"string"},"role":{"type":"string","enum":["assistant"]},"stop_reason":{"nullable":true},"stop_sequence":{"nullable":true,"type":"string"},"type":{"type":"string","enum":["message"]},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"cache_read_input_tokens":{"nullable":true,"type":"number"},"cache_creation_input_tokens":{"nullable":true,"type":"number"},"cache_creation":{"nullable":true,"type":"object","properties":{"ephemeral_1h_input_tokens":{"nullable":true,"type":"number"},"ephemeral_5m_input_tokens":{"nullable":true,"type":"number"}},"additionalProperties":false}},"required":["input_tokens","output_tokens"],"additionalProperties":{}}},"required":["id","content","model","role","type","usage"],"additionalProperties":{}},"CerebrasChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"CerebrasChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/Cerebras/cerebras-cloud-sdk-node/blob/main/src/resources/chat/completions.ts"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/Cerebras/cerebras-cloud-sdk-node/blob/main/src/resources/chat/completions.ts"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"CohereChatRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false}},"required":["type","image_url"],"additionalProperties":false}]}}]}},"required":["role","content"],"additionalProperties":false},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["type","tool_call_id","content"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"}},"required":["type","thinking"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}}},"required":["role"],"additionalProperties":false},{"type":"object","properties":{"role":{"type":"string","enum":["system"]},"content":{"type":"string"}},"required":["role","content"],"additionalProperties":false},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["role","tool_call_id","content"],"additionalProperties":false}]}},"stream":{"type":"boolean"},"temperature":{"type":"number"},"max_tokens":{"type":"number"},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"required":{"type":"array","items":{"type":"string"}},"properties":{"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":false}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false}},"tool_choice":{"type":"string","enum":["REQUIRED","NONE"]},"safety_mode":{"type":"string","enum":["CONTEXTUAL","STRICT","OFF"]},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["json_object","text"]},"json_schema":{"type":"object","additionalProperties":{}}},"required":["type"],"additionalProperties":false},"frequency_penalty":{"type":"number"},"presence_penalty":{"type":"number"},"k":{"type":"number"},"p":{"type":"number"},"seed":{"type":"number"},"stop_sequences":{"type":"array","items":{"type":"string"}},"logprobs":{"type":"boolean"}},"required":["model","messages"],"additionalProperties":false},"CohereChatResponse":{"type":"object","properties":{"id":{"type":"string"},"message":{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["tool_result"]},"tool_call_id":{"type":"string"},"content":{"type":"string"}},"required":["type","tool_call_id","content"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["thinking"]},"thinking":{"type":"string"}},"required":["type","thinking"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}}},"required":["role"],"additionalProperties":false},"finish_reason":{"anyOf":[{"type":"string","enum":["COMPLETE","MAX_TOKENS","STOP_SEQUENCE","TOOL_CALL","ERROR"]},{"type":"string"}]},"usage":{"type":"object","properties":{"billed_units":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"additionalProperties":false},"tokens":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"additionalProperties":false}},"additionalProperties":false}},"required":["id","message","finish_reason"],"additionalProperties":false},"MistralChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"MistralChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"PerplexityChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"},"stream_mode":{"type":"string","enum":["full","concise"]}},"required":["model","messages"],"additionalProperties":false},"PerplexityChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"GroqChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"GroqChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"OpenrouterChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}]}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}]}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object","json_schema"]}},"required":["type"],"additionalProperties":{}},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"},"reasoning":{"type":"object","properties":{"enabled":{"type":"boolean"},"effort":{"type":"string"},"max_tokens":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"exclude":{"type":"boolean"}},"additionalProperties":false}},"required":["model","messages"],"additionalProperties":false},"OpenrouterChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"JevDecisionsRequest":{"type":"object","properties":{"model":{"type":"string"},"state":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}],"description":"The content the questions are about"},"questions":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","description":"Question kind: noul, choice, or score"},"instructions":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}},{"type":"array","items":{}}]},"criteria":{}},"required":["type","instructions","criteria"],"additionalProperties":{}},"description":"Decision questions keyed by name"}},"required":["model","state","questions"],"additionalProperties":{}},"JevDecisionsResponse":{"type":"object","properties":{"id":{"type":"string"},"model":{"type":"string"},"answers":{"type":"object","additionalProperties":{}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"},"cost":{"type":"number"}},"additionalProperties":{}}},"required":["answers"],"additionalProperties":{}},"VllmChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A developer message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A system message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"Image URL details"}},"required":["type","image_url"],"additionalProperties":false,"description":"An image content part"},{"type":"object","properties":{"type":{"type":"string","enum":["input_audio"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"Audio input details"}},"required":["type","input_audio"],"additionalProperties":false,"description":"An audio content part"},{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"File details"}},"required":["type","file"],"additionalProperties":false,"description":"A file content part"}],"description":"A content part in a message"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A user message"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"A refusal content part"}}]},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"Function call details"}},"required":["id","type","function"],"additionalProperties":false,"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"Custom tool call details"}},"required":["id","type","custom"],"additionalProperties":false,"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}},"reasoning":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"}},"required":["role"],"additionalProperties":false,"description":"An assistant message"},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"Image URL details"}},"required":["type","image_url"],"additionalProperties":false,"description":"An image content part"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"A tool result message"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"A function result message (deprecated)"}],"description":"A message in the conversation"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"A function definition for tool calling"}},"required":["type","function"],"additionalProperties":false,"description":"A function tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["definition","syntax"],"additionalProperties":false}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"A custom tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"A custom tool in the flat Responses-API shape (see the OpenAI provider's ResponsesStyleCustomToolSchema)"}],"description":"A tool definition"}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model.\n    auto: allows the model to pick from allowed tools or generate a message.\n    required: requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"A function definition for tool calling"}},"required":["type","function"],"additionalProperties":false,"description":"A function tool definition"}}}},"required":["mode","tools"],"additionalProperties":false,"description":"Allowed tools configuration"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"Allowed tool choice configuration"},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"Named function tool choice"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["definition","syntax"],"additionalProperties":false}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"A custom tool definition"}],"description":"Tool choice option"},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"stream":{"nullable":true,"type":"boolean"},"top_p":{"nullable":true,"type":"number"},"top_k":{"nullable":true,"type":"number"},"frequency_penalty":{"nullable":true,"type":"number"},"presence_penalty":{"nullable":true,"type":"number"},"repetition_penalty":{"nullable":true,"type":"number"},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"seed":{"nullable":true,"type":"number"},"n":{"nullable":true,"type":"number"},"best_of":{"nullable":true,"type":"number"},"logprobs":{"nullable":true,"type":"boolean"},"top_logprobs":{"nullable":true,"type":"number"},"chat_template_kwargs":{"type":"object","additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string"}},"required":["model","messages"],"additionalProperties":false},"VllmChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"Function call details"}},"required":["id","type","function"],"additionalProperties":false,"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"Custom tool call details"}},"required":["id","type","custom"],"additionalProperties":false,"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}},"reasoning":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"}},"required":["role"],"additionalProperties":false,"description":"The assistant message in the response"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"A choice in the chat completion response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{},"prompt_tokens_details":{}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"Token usage statistics for the completion"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"OllamaChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A developer message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A system message"},{"type":"object","properties":{"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"Image URL details"}},"required":["type","image_url"],"additionalProperties":false,"description":"An image content part"},{"type":"object","properties":{"type":{"type":"string","enum":["input_audio"]},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"Audio input details"}},"required":["type","input_audio"],"additionalProperties":false,"description":"An audio content part"},{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"File details"}},"required":["type","file"],"additionalProperties":false,"description":"A file content part"}],"description":"A content part in a message"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"A user message"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"}},{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"A refusal content part"}}]},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"Function call details"}},"required":["id","type","function"],"additionalProperties":false,"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"Custom tool call details"}},"required":["id","type","custom"],"additionalProperties":false,"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}}},"required":["role"],"additionalProperties":false,"description":"An assistant message"},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"A text content part"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"Image URL details"}},"required":["type","image_url"],"additionalProperties":false,"description":"An image content part"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"A tool result message"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"A function result message (deprecated)"}],"description":"A message in the conversation"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"A function definition for tool calling"}},"required":["type","function"],"additionalProperties":false,"description":"A function tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["definition","syntax"],"additionalProperties":false}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"A custom tool definition"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"A custom tool in the flat Responses-API shape (see the OpenAI provider's ResponsesStyleCustomToolSchema)"}],"description":"A tool definition"}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model.\n    auto: allows the model to pick from allowed tools or generate a message.\n    required: requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    The parameters the functions accepts, described as a JSON Schema object.\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"A function definition for tool calling"}},"required":["type","function"],"additionalProperties":false,"description":"A function tool definition"}}}},"required":["mode","tools"],"additionalProperties":false,"description":"Allowed tools configuration"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"Allowed tool choice configuration"},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"Named function tool choice"},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool"},"description":{"description":"Description of the tool","type":"string"},"format":{"description":"The input format for the custom tool","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar"}},"required":["definition","syntax"],"additionalProperties":false}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"A custom tool definition"}],"description":"Tool choice option"},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"stream":{"nullable":true,"type":"boolean"},"top_p":{"nullable":true,"type":"number"},"frequency_penalty":{"nullable":true,"type":"number"},"presence_penalty":{"nullable":true,"type":"number"},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"seed":{"nullable":true,"type":"number"},"n":{"nullable":true,"type":"number"},"reasoning_effort":{"nullable":true,"type":"string"}},"required":["model","messages"],"additionalProperties":false},"OllamaChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"Function call details"}},"required":["id","type","function"],"additionalProperties":false,"description":"A function tool call in the message"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"Custom tool call details"}},"required":["id","type","custom"],"additionalProperties":false,"description":"A custom tool call in the message"}],"description":"A tool call in the assistant message"}}},"required":["role"],"additionalProperties":false,"description":"The assistant message in the response"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"A choice in the chat completion response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{},"prompt_tokens_details":{}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"Token usage statistics for the completion"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"OllamaNativeChatRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{}}]},"thinking":{"type":"string"},"images":{"type":"array","items":{"type":"string"}},"tool_calls":{"nullable":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"function":{"type":"object","properties":{"index":{"type":"number"},"name":{"type":"string"},"arguments":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]}},"required":["name","arguments"],"additionalProperties":{}}},"required":["function"],"additionalProperties":{}}},"tool_name":{"type":"string"},"tool_call_id":{"type":"string"}},"required":["role"],"additionalProperties":{}}},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","additionalProperties":{}}},"required":["name"],"additionalProperties":{}}},"required":["type","function"],"additionalProperties":{}}},"format":{},"options":{"type":"object","properties":{"temperature":{"type":"number"},"top_k":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"top_p":{"type":"number"},"min_p":{"type":"number"},"typical_p":{"type":"number"},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"repeat_penalty":{"type":"number"},"repeat_last_n":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presence_penalty":{"type":"number"},"frequency_penalty":{"type":"number"},"stop":{"maxItems":16,"type":"array","items":{"type":"string","maxLength":256}},"num_keep":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"num_ctx":{"type":"integer","minimum":1,"maximum":10000000},"num_predict":{"type":"integer","minimum":-2,"maximum":9007199254740991}},"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"keep_alive":{},"think":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"temperature":{"nullable":true,"type":"number"},"top_p":{"nullable":true,"type":"number"},"max_output_tokens":{"nullable":true,"type":"number"},"truncate":{"type":"boolean"},"shift":{"type":"boolean"}},"required":["model","messages"],"additionalProperties":{}},"OllamaNativeChatResponse":{"type":"object","properties":{"model":{"type":"string"},"created_at":{"type":"string"},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"},"thinking":{"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"function":{"type":"object","properties":{"index":{"type":"number"},"name":{"type":"string"},"arguments":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{}}]}},"required":["name","arguments"],"additionalProperties":{}}},"required":["function"],"additionalProperties":{}}}},"required":["role"],"additionalProperties":{}},"done":{"type":"boolean"},"done_reason":{"type":"string"},"total_duration":{"type":"number"},"load_duration":{"type":"number"},"prompt_eval_count":{"type":"number"},"prompt_eval_duration":{"type":"number"},"eval_count":{"type":"number"},"eval_duration":{"type":"number"}},"required":["model","message","done"],"additionalProperties":{}},"ZhipuaiChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["system"]},"content":{"type":"string"},"name":{"type":"string"}},"required":["role","content"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"type":{"type":"string","enum":["image_url"]},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}}]},"name":{"type":"string"}},"required":["role","content"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["assistant"]},"content":{"nullable":true,"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"name":{"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"function_call":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false}},"required":["role"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["tool"]},"content":{"type":"string"},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},{"type":"object","properties":{"role":{"type":"string","enum":["function"]},"content":{"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://docs.z.ai/api-reference/llm/chat-completion#body\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}},"required":["type","function"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://docs.z.ai/api-reference/llm/chat-completion#body\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["auto"]},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://docs.z.ai/api-reference/llm/chat-completion#body\n  "}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#body"},"request_id":{"type":"string"},"do_sample":{"type":"boolean"},"stream":{"type":"boolean"},"thinking":{"type":"object","properties":{"type":{"type":"string","enum":["enabled","disabled"]},"clear_thinking":{"type":"boolean"}},"required":["type"],"additionalProperties":false},"temperature":{"nullable":true,"type":"number"},"top_p":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"tool_stream":{"type":"boolean"},"stop":{"type":"array","items":{"type":"string"}},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object"]}},"required":["type"],"additionalProperties":false},"user_id":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"ZhipuaiChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"request_id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","sensitive","network_error"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"reasoning_content":{"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}],"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"function_call":{"nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false}},"required":["role"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"prompt_tokens_details":{"description":"https://docs.z.ai/api-reference/llm/chat-completion#response","type":"object","properties":{"cached_tokens":{"type":"number"}},"required":["cached_tokens"],"additionalProperties":false}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://docs.z.ai/api-reference/llm/chat-completion#response"},"web_search":{"description":"https://docs.z.ai/api-reference/llm/chat-completion#response","type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"content":{"type":"string"},"link":{"type":"string"},"media":{"type":"string"},"icon":{"type":"string"},"refer":{"type":"string"},"publish_date":{"type":"string"}},"required":["title","content","link","media","icon","refer","publish_date"],"additionalProperties":false}}},"required":["id","choices","created","model","object"],"additionalProperties":false},"DeepSeekChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}},"DeepSeekChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"ArchestraChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":{}},"ArchestraChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"MinimaxChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}},"reasoning_details":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false}}},"required":["role"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}]}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"stream":{"type":"boolean"},"temperature":{"nullable":true,"type":"number","minimum":0,"maximum":1},"top_p":{"nullable":true,"type":"number","minimum":0,"maximum":1},"max_tokens":{"nullable":true,"type":"number"},"n":{"type":"number","enum":[1]},"stop":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["text","json_object"]}},"required":["type"],"additionalProperties":false},"user":{"type":"string"},"reasoning_split":{"type":"boolean"},"thinking":{"type":"object","properties":{"type":{"type":"string","enum":["enabled","disabled"]}},"required":["type"],"additionalProperties":false},"extra_body":{"type":"object","properties":{"reasoning_split":{"type":"boolean"}},"additionalProperties":false}},"required":["model","messages"],"additionalProperties":false},"MinimaxChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"reasoning_details":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false}},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#response"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#response"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"type":"object","properties":{"reasoning_tokens":{"type":"number"}},"additionalProperties":false}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://platform.minimax.io/docs/api-reference/text-openai-api#usage"}},"required":["id","choices","created","model","object"],"additionalProperties":false},"XaiChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["developer"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L936"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}}]},"role":{"type":"string","enum":["system"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1318"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["input_audio"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"input_audio":{"type":"object","properties":{"data":{"type":"string"},"format":{"type":"string","enum":["wav","mp3"]}},"required":["data","format"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L792"}},"required":["type","input_audio"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L782"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["file"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"file":{"type":"object","properties":{"file_data":{"type":"string"},"file_id":{"type":"string"},"filename":{"type":"string"}},"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L732"}},"required":["type","file"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L722"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L711"}}]},"role":{"type":"string","enum":["user"]},"name":{"type":"string"}},"required":["content","role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1434"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["assistant"]},"audio":{"nullable":true,"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"content":{"nullable":true,"anyOf":[{"type":"string"},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"}},{"type":"array","items":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["refusal"]},"refusal":{"type":"string"}},"required":["type","refusal"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L805"}}]},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"name":{"type":"string"},"reasoning_content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"tool_calls":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L374"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["tool"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["text"]},"text":{"type":"string"},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false}},"required":["type","text"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L821"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["image_url"]},"prompt_cache_breakpoint":{"type":"object","properties":{"mode":{"type":"string","enum":["explicit"]}},"required":["mode"],"additionalProperties":false},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string","enum":["auto","low","high"]}},"required":["url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L765"}},"required":["type","image_url"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L755"}]}}]},"tool_call_id":{"type":"string"}},"required":["role","content","tool_call_id"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1413"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"role":{"type":"string","enum":["function"]},"content":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["role","content","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L968"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1186"}},"tools":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["type","definition","syntax"],"additionalProperties":false}]}},"required":["type","name"],"additionalProperties":false,"description":"\n  A custom tool in the flat Responses-API shape ('name'/'format' at the top\n  level, grammar fields inlined) rather than Chat Completions' nested 'custom'\n  wrapper. Some clients (e.g. Cursor's ApplyPatch tool) send this shape to\n  /chat/completions and OpenAI accepts it, so the proxy must too.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/responses/responses.ts (CustomTool)\n  "}],"description":"\n  A function tool that can be used to generate a response.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1392\n  "}},"tool_choice":{"anyOf":[{"type":"string","enum":["none","auto","required"]},{"type":"object","properties":{"type":{"type":"string","enum":["allowed_tools"]},"allowed_tools":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","required"],"description":"\n    Constrains the tools available to the model to a pre-defined set.\n\n    auto allows the model to pick from among the allowed tools and generate a\n    message.\n\n    required requires the model to call one or more of the allowed tools.\n    "},"tools":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"name":{"type":"string"},"description":{"type":"string"},"parameters":{"description":"\n    https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L217\n\n    The parameters the functions accepts, described as a JSON Schema object. See the\n    [guide](https://platform.openai.com/docs/guides/function-calling) for examples,\n    and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\n    documentation about the format.\n\n    Omitting parameters defines a function with an empty parameter list.\n  ","type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/shared.ts#L174"}},"required":["type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L988"}},"description":"A list of tool definitions that the model should be allowed to call"}},"required":["mode","tools"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1455"}},"required":["type","allowed_tools"],"additionalProperties":false,"description":"\n  Constrains the tools available to the model to a pre-defined set.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L359\n  "},{"type":"object","properties":{"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific function.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1207-L1214\n  "},{"type":"object","properties":{"cache_control":{"type":"object","properties":{"type":{"type":"string","enum":["ephemeral"]},"ttl":{"type":"string","enum":["5m","1h"]}},"required":["type"],"additionalProperties":false},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom tool, used to identify it in tool calls"},"description":{"description":"Optional description of the custom tool, used to provide more context","type":"string"},"format":{"description":"The input format for the custom tool. Default is unconstrained text.","anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Unconstrained text format. Always `text`"}},"required":["type"],"additionalProperties":false,"description":"Unconstrained free-form text"},{"type":"object","properties":{"type":{"type":"string","enum":["grammar"]},"grammar":{"type":"object","properties":{"definition":{"type":"string","description":"The grammar definition"},"syntax":{"type":"string","enum":["lark","regex"],"description":"The syntax of the grammar definition"}},"required":["definition","syntax"],"additionalProperties":false,"description":"Your chosen grammar"}},"required":["type","grammar"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}},"required":["type","custom"],"additionalProperties":false,"description":"\n  Specifies a tool the model should use. Use to force the model to call a specific custom tool.\n\n  https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1229-L1236\n  "}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1405"},"response_format":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_object"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schema":{"type":"object","additionalProperties":{}},"strict":{"nullable":true,"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"temperature":{"nullable":true,"type":"number"},"max_tokens":{"nullable":true,"type":"number"},"max_completion_tokens":{"nullable":true,"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"prompt_cache_key":{"nullable":true,"type":"string"},"prompt_cache_retention":{"nullable":true,"type":"string","enum":["in-memory","24h"]},"prompt_cache_options":{"type":"object","properties":{"mode":{"type":"string","enum":["implicit","explicit"]},"ttl":{"type":"string"}},"additionalProperties":{}},"reasoning_effort":{"nullable":true,"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"modalities":{"nullable":true,"type":"array","items":{"type":"string","enum":["text","audio"]}},"audio":{"nullable":true,"type":"object","properties":{"voice":{"type":"string"},"format":{"type":"string","enum":["wav","aac","mp3","flac","opus","pcm16"]}},"required":["voice","format"],"additionalProperties":false},"stream":{"nullable":true,"type":"boolean"},"stream_options":{"nullable":true,"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"user":{"type":"string"}},"required":["model","messages"],"additionalProperties":false},"XaiChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"]},{"type":"string"}]},"index":{"type":"number"},"logprobs":{"nullable":true},"message":{"type":"object","properties":{"content":{"nullable":true,"type":"string"},"refusal":{"nullable":true,"type":"string"},"role":{"type":"string","enum":["assistant"]},"annotations":{"nullable":true,"type":"array","items":{}},"audio":{"nullable":true},"function_call":{"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L431","nullable":true,"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false},"reasoning_content":{"nullable":true,"type":"string"},"tool_calls":{"nullable":true,"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["function"]},"function":{"type":"object","properties":{"arguments":{"type":"string"},"name":{"type":"string"}},"required":["arguments","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1165"}},"required":["id","type","function"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1144"},{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["custom"]},"custom":{"type":"object","properties":{"input":{"type":"string"},"name":{"type":"string"}},"required":["input","name"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1128"}},"required":["id","type","custom"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1107"}],"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1197"}}},"required":["role"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L1000"}},"required":["finish_reason","message"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/v6.0.0/src/resources/chat/completions/completions.ts#L311"}},"created":{"type":"number"},"model":{"type":"string"},"object":{"type":"string","enum":["chat.completion"]},"server_tier":{"type":"string"},"system_fingerprint":{"nullable":true,"type":"string"},"usage":{"type":"object","properties":{"completion_tokens":{"type":"number"},"prompt_tokens":{"type":"number"},"total_tokens":{"type":"number"},"completion_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L144"},"prompt_tokens_details":{"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L173"}},"required":["completion_tokens","prompt_tokens","total_tokens"],"additionalProperties":false,"description":"https://github.com/openai/openai-node/blob/master/src/resources/completions.ts#L113"}},"required":["id","choices","created","model","object"],"additionalProperties":{}},"UserConfigFieldDefault":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]},"UserConfigField":{"type":"object","properties":{"type":{"type":"string","enum":["string","number","boolean","directory","file"]},"title":{"type":"string"},"description":{"type":"string"},"promptOnInstallation":{"type":"boolean"},"required":{"type":"boolean"},"default":{"allOf":[{"$ref":"#/components/schemas/UserConfigFieldDefault"}]},"multiple":{"type":"boolean"},"sensitive":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"headerName":{"type":"string"},"valuePrefix":{"type":"string"}},"required":["type","title","description"],"additionalProperties":false},"InteractionVirtualKey":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"keyType":{"type":"string","enum":["standard","passthrough"]},"tokenStart":{"type":"string"},"ownerUserId":{"nullable":true,"type":"string"},"ownerUserName":{"nullable":true,"type":"string"},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"createdByUserName":{"nullable":true,"type":"string"}},"required":["id","name","scope","keyType","tokenStart","ownerUserId","ownerUserName","teams","createdByUserName"],"additionalProperties":false}}},"paths":{"/api/mcp-gateways/default":{"get":{"operationId":"getDefaultMcpGateway","tags":["MCP Gateway"],"description":"Get the caller's personal MCP Gateway, creating it on first use.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`mcpGateway:read`](/docs/reference/permissions#mcpGateway:read): Open MCP Gateways","parameters":[{"schema":{"type":"boolean"},"in":"query","name":"includeTools","required":false,"description":"Include assigned tools (default: true). Set `includeTools=false` for a smaller response when you only need the gateway or its counts. `toolsCount` and `subagentsCount` remain available; an empty `tools` array then means tools were omitted, not that none are assigned. `sandboxAvailable` is omitted too."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"organizationId":{"type":"string"},"authorId":{"nullable":true,"type":"string"},"scope":{"type":"string","enum":["personal","team","org"]},"name":{"type":"string"},"slug":{"nullable":true,"type":"string"},"isDefault":{"type":"boolean"},"isPersonalGateway":{"type":"boolean"},"isPersonalProxy":{"type":"boolean"},"agentType":{"type":"string","enum":["profile","mcp_gateway","llm_proxy","agent"]},"systemPrompt":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"incomingEmailEnabled":{"type":"boolean"},"incomingEmailSecurityMode":{"type":"string","enum":["private","internal","public"]},"incomingEmailAllowedDomain":{"nullable":true,"type":"string"},"llmApiKeyId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"llmModel":{"nullable":true,"type":"string"},"modelId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"modelPoolId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"identityProviderId":{"nullable":true,"type":"string"},"environmentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkPolicy":{"nullable":true,"type":"object","properties":{"egressMode":{"type":"string","enum":["off","restricted","unrestricted"]},"domainPreset":{"type":"string","enum":["none","common_dependencies","package_managers"]},"allowedDomains":{"type":"array","items":{"type":"string"}},"allowedCidrs":{"type":"array","items":{"type":"string"}}},"required":["egressMode","domainPreset","allowedDomains","allowedCidrs"],"additionalProperties":false},"runtime":{"nullable":true,"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":2000},"command":{"nullable":true,"type":"array","items":{"type":"string"}},"inferenceProtocol":{"type":"string","enum":["openai_responses","openai_chat","anthropic"]},"backend":{"type":"string","enum":["kubernetes"]},"steerMode":{"type":"string","enum":["pipe","tmux_keys"]},"privileged":{"type":"boolean"},"tier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"maxTier":{"nullable":true,"type":"string","minLength":1,"maxLength":32},"ports":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":65535}},"environment":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false}},"credentials":{"nullable":true,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Z_][A-Z0-9_]*$"},"scope":{"type":"string","enum":["shared","per_user"]},"credentialId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-z][a-z0-9._-]*$"},"label":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":1000},"required":{"type":"boolean"}},"required":["key","scope","label","required"],"additionalProperties":false}},"allowAgentSuppliedCredentialValues":{"type":"boolean"},"claudeCode":{"type":"object","properties":{"authentication":{"type":"string","enum":["provider","subscription"]},"model":{"type":"string","minLength":1,"maxLength":256}},"required":["authentication"],"additionalProperties":false},"ttlHours":{"nullable":true,"type":"integer","minimum":1,"maximum":720},"maxCostUsd":{"nullable":true,"type":"integer","minimum":1,"maximum":100000},"idleTimeoutMinutes":{"nullable":true,"type":"integer","minimum":1,"maximum":1440}},"required":["image","command","inferenceProtocol","backend","steerMode","privileged","environment","credentials","ttlHours","idleTimeoutMinutes"],"additionalProperties":false},"runtimeSecretId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"passthroughHeaders":{"nullable":true,"type":"array","items":{"type":"string"}},"githubActionsAccess":{"nullable":true,"type":"object","properties":{"githubAppCredentialKey":{"type":"string"},"repositories":{"type":"array","items":{"type":"string"}},"actAs":{"type":"string","enum":["author","actor"]},"resolveReviewThreads":{"type":"boolean"},"workflows":{"type":"array","items":{"type":"string"}}},"required":["githubAppCredentialKey","repositories","workflows"],"additionalProperties":false},"toolExposureMode":{"type":"string","enum":["full","search_and_run_only"]},"missingCredentialBehavior":{"type":"string","enum":["allow","warn","block"]},"accessAllTools":{"type":"boolean"},"accessAllSkills":{"type":"boolean"},"activationSkillMode":{"type":"string","enum":["all","manual"]},"activationSkillPolicyRevision":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"accessAllSubagents":{"type":"boolean"},"subagentLoadBalancing":{"nullable":true,"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"algorithm":{"default":"round_robin","type":"string","enum":["round_robin","weighted","random"]},"weights":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":1000}},"retries":{"default":3,"type":"integer","minimum":0,"maximum":3},"fallbackEnabled":{"default":true,"type":"boolean"}},"required":["enabled","algorithm","retries","fallbackEnabled"],"additionalProperties":false},"builtInAgentConfig":{"nullable":true,"oneOf":[{"type":"object","properties":{"name":{"type":"string","enum":["openappa-configuration-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["context-compaction-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["chat-title-generation-subagent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["app-runtime-llm-agent"]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["sre-agent"]}},"required":["name"],"additionalProperties":false}]},"builtIn":{"nullable":true,"type":"boolean"},"latestVersion":{"type":"integer","minimum":-2147483648,"maximum":2147483647},"lastUsedAt":{"nullable":true,"type":"string","format":"date-time"},"createdByServiceAccountId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deletedAt":{"nullable":true,"type":"string","format":"date-time"},"tools":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"agentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"catalogId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"delegateToAgentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"delegateToA2aConnectionId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"rawName":{"nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"}},"required":["id","agentId","catalogId","delegateToAgentId","delegateToA2aConnectionId","name","rawName","description"],"additionalProperties":false}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false}},"labels":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string","minLength":1},"keyId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"valueId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["key","value"],"additionalProperties":false}},"authorName":{"nullable":true,"type":"string"},"authorEmail":{"nullable":true,"type":"string"},"createdBy":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user","service_account"]},"name":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"knowledgeBaseIds":{"type":"array","items":{"type":"string"}},"connectorIds":{"type":"array","items":{"type":"string"}},"suggestedPrompts":{"default":[],"maxItems":10,"type":"array","items":{"type":"object","properties":{"summaryTitle":{"type":"string","minLength":1,"maxLength":50},"prompt":{"type":"string","minLength":1,"maxLength":5000}},"required":["summaryTitle","prompt"],"additionalProperties":false}},"resolvedLlmProvider":{"nullable":true,"type":"string","enum":["openai","gemini","anthropic","bedrock","cohere","cerebras","mistral","perplexity","groq","xai","openrouter","vllm","ollama","ollama-native","zhipuai","deepseek","minimax","kimi","kimi-code","azure","github-copilot","microsoft-365-copilot","archestra","voyage","jev"]},"resolvedLlmProviderKeyName":{"nullable":true,"type":"string"},"resolvedLlmModelName":{"nullable":true,"type":"string"},"llmProviderRequiresPerUserCredential":{"type":"boolean"},"sandboxAvailable":{"type":"boolean"},"activationSkillsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"toolsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Assigned tools other than subagent delegations, as the Agents and MCP Gateways pages count them. Always present, even when `tools` is not requested."},"subagentsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Agents this agent delegates to. Always present, even when `tools` is not requested."}},"required":["id","organizationId","authorId","scope","name","slug","isDefault","isPersonalGateway","isPersonalProxy","agentType","systemPrompt","description","icon","incomingEmailEnabled","incomingEmailSecurityMode","incomingEmailAllowedDomain","llmApiKeyId","llmModel","modelId","modelPoolId","identityProviderId","environmentId","runtime","runtimeSecretId","passthroughHeaders","toolExposureMode","missingCredentialBehavior","accessAllTools","accessAllSkills","activationSkillMode","activationSkillPolicyRevision","accessAllSubagents","builtInAgentConfig","builtIn","latestVersion","createdByServiceAccountId","createdAt","updatedAt","deletedAt","tools","teams","labels","knowledgeBaseIds","connectorIds","suggestedPrompts","toolsCount","subagentsCount"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","permissions":["mcpGateway:read"]}}},"/api/mcp/app/{appId}":{"post":{"operationId":"mcpAppProxyPost","tags":["MCP App Runtime"],"description":"Handle MCP App JSON-RPC requests for an app. The caller must have access to the app.\n\nAuthentication:\n\nUse a browser session or an Archestra API key. External MCP clients can send a personal token or an app-scoped OAuth access token as a Bearer token. Organization and team tokens cannot access an app because they have no viewer.\n\nAuthorization:\n\nThe caller must have `use` access to the app. Calls to assigned tools must be allowed for the app.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"appId","required":true}],"responses":{"200":{"description":"Default Response"}},"x-required-permissions":{"kind":"dynamic","note":"The caller must have `use` access to the app. Calls to assigned tools must be allowed for the app.","permissions":[]}}},"/v1/mcp/{profileId}":{"get":{"operationId":"mcpGatewayGet","tags":["MCP Gateway"],"description":"Open an MCP Gateway SSE stream for a client that requests one. Other GET requests return 405 because the gateway does not offer a standalone stream for them.","parameters":[{"schema":{"type":"string","minLength":1},"in":"path","name":"profileId","required":true}],"responses":{"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"405":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"error":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},"id":{"type":"string","nullable":true,"enum":[null]}},"required":["jsonrpc","error","id"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_rate_limit_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_service_unavailable_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}},"post":{"operationId":"mcpGatewayPost","tags":["MCP Gateway"],"description":"Send an MCP JSON-RPC request through the gateway for the specified agent profile. Authenticate with a platform-managed bearer token or agent ID.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","minLength":1},"in":"path","name":"profileId","required":true}],"responses":{"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_rate_limit_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_service_unavailable_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"default":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v1/mcp/{profileId}/messages":{"post":{"operationId":"mcpGatewaySseMessage","tags":["MCP Gateway"],"description":"Send a JSON-RPC message for a legacy HTTP+SSE session. The gateway sends the result on the SSE stream opened by GET, not in this response.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"sessionId","required":true},{"schema":{"type":"string","minLength":1},"in":"path","name":"profileId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","enum":[true]}},"required":["accepted"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_rate_limit_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_service_unavailable_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/mcp/{profileId}/runtime-status":{"post":{"operationId":"reportAgentRuntimeStatus","tags":["MCP Gateway"],"description":"Update the attention state of a native agent run using its MCP Gateway credential. This does not change the run's lifecycle state.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"taskId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attentionState":{"anyOf":[{"type":"string","enum":["input_required","auth_required"]},{"type":"string","nullable":true,"enum":[null]}]}},"required":["taskId","attentionState"]}}}},"parameters":[{"schema":{"type":"string","minLength":1},"in":"path","name":"profileId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"updated":{"type":"boolean"}},"required":["updated"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_rate_limit_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_service_unavailable_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/api/mcp/{agentId}":{"post":{"operationId":"mcpProxyPost","tags":["MCP App Runtime"],"description":"Handle MCP App JSON-RPC requests through an agent's MCP Gateway. The caller must have access to the agent.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nThe caller must have access to the agent. App tools must be visible to apps.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"agentId","required":true}],"responses":{"200":{"description":"Default Response"}},"x-required-permissions":{"kind":"dynamic","note":"The caller must have access to the agent. App tools must be visible to apps.","permissions":[]}}},"/api/mcp/server/{mcpServerId}":{"post":{"operationId":"mcpServerProxyPost","tags":["MCP App Runtime"],"description":"Handle MCP App JSON-RPC requests for an installed MCP server. The caller must have access to the server.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\nThe caller must have access to the installed MCP server. App tools must be visible to apps.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"mcpServerId","required":true}],"responses":{"200":{"description":"Default Response"}},"x-required-permissions":{"kind":"dynamic","note":"The caller must have access to the installed MCP server. App tools must be visible to apps.","permissions":[]}}},"/api/mcp-tool-calls":{"get":{"operationId":"getMcpToolCalls","tags":["MCP Tool Call"],"description":"Get MCP tool calls in the active organization with cursor pagination, newest first. [`log:read`](/docs/reference/permissions#log:read) returns rows attributed to the caller. [`log:admin`](/docs/reference/permissions#log:admin) includes every row in the organization. Each row's `sessionId` names the LLM proxy session that issued it, when known, and `llmToolCallId` the model's own id for the call.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells\n\n[`log:read`](/docs/reference/permissions#log:read) returns rows attributed to the caller. [`log:admin`](/docs/reference/permissions#log:admin) includes every row in the active organization.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"agentId","required":false,"description":"Filter by agent ID"},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"in":"query","name":"startDate","required":false,"description":"Filter by start date (ISO 8601 format)"},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"in":"query","name":"endDate","required":false,"description":"Filter by end date (ISO 8601 format)"},{"schema":{"type":"string"},"in":"query","name":"mcpServerName","required":false,"description":"Filter by exact MCP server name"},{"schema":{"type":"string"},"in":"query","name":"userId","required":false,"description":"Filter by the user the call is attributed to. Ignored without [`log:admin`](/docs/reference/permissions#log:admin), which already scopes the listing to the caller."},{"schema":{"type":"string","minLength":1,"maxLength":1024},"in":"query","name":"sessionId","required":false,"description":"Filter by the LLM proxy session that issued the call: calls recorded with that session, and tool calls whose run resolves to it."},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"ownerType":{"type":"string","maxLength":16},"agentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"appId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"mcpServerName":{"type":"string","maxLength":255},"method":{"type":"string","maxLength":255},"toolCall":{"nullable":true,"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"},"arguments":{"type":"object","additionalProperties":{}},"kind":{"type":"string","enum":["function","custom"]}},"required":["id","name","arguments"],"additionalProperties":false,"description":"Represents a tool call in a provider-agnostic way"},{"anyOf":[{"type":"object","properties":{"__encryptedChatSealed":{"type":"string"}},"required":["__encryptedChatSealed"],"additionalProperties":false},{"type":"object","properties":{"__redacted":{"type":"string","enum":["encrypted_chat","locked_chat","incognito","log_content_policy"]}},"required":["__redacted"],"additionalProperties":false}]}]},"toolResult":{"nullable":true},"userId":{"nullable":true,"type":"string"},"runId":{"nullable":true,"type":"string"},"sessionId":{"nullable":true,"type":"string"},"llmToolCallId":{"nullable":true,"type":"string"},"authMethod":{"nullable":true,"type":"string","enum":["oauth","user_token","org_token","team_token","service_account_token","external_idp","session"]},"oauthClientId":{"nullable":true,"type":"string"},"source":{"nullable":true,"type":"string","enum":["api","chat"]},"durationMs":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"userName":{"nullable":true,"type":"string"},"appName":{"nullable":true,"type":"string"}},"required":["id","ownerType","agentId","appId","mcpServerName","method","toolCall","toolResult","userId","runId","sessionId","llmToolCallId","authMethod","oauthClientId","source","durationMs","createdAt","userName","appName"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextCursor":{"nullable":true,"type":"string"},"hasNext":{"type":"boolean"}},"required":["limit","nextCursor","hasNext"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","note":"`log:read` returns rows attributed to the caller. `log:admin` includes every row in the active organization.","permissions":["log:read"]}}},"/api/mcp-tool-calls/{mcpToolCallId}":{"get":{"operationId":"getMcpToolCall","tags":["MCP Tool Call"],"description":"Get an MCP tool call in the active organization by ID. [`log:read`](/docs/reference/permissions#log:read) permits a row attributed to the caller. [`log:admin`](/docs/reference/permissions#log:admin) permits any row in the organization.\n\nAuthentication:\n\nRequired. Use an authenticated browser session or send your Archestra API key in the `Authorization` header.\n\nAuthorization:\n\n[`log:read`](/docs/reference/permissions#log:read): View your own LLM proxy, MCP tool call, and Guardrails consult logs in the active organization, and view and resolve Guardrails yells\n\n[`log:read`](/docs/reference/permissions#log:read) permits a row attributed to the caller. [`log:admin`](/docs/reference/permissions#log:admin) permits any row in the active organization.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"mcpToolCallId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"ownerType":{"type":"string","maxLength":16},"agentId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"appId":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"mcpServerName":{"type":"string","maxLength":255},"method":{"type":"string","maxLength":255},"toolCall":{"nullable":true,"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"},"arguments":{"type":"object","additionalProperties":{}},"kind":{"type":"string","enum":["function","custom"]}},"required":["id","name","arguments"],"additionalProperties":false,"description":"Represents a tool call in a provider-agnostic way"},{"anyOf":[{"type":"object","properties":{"__encryptedChatSealed":{"type":"string"}},"required":["__encryptedChatSealed"],"additionalProperties":false},{"type":"object","properties":{"__redacted":{"type":"string","enum":["encrypted_chat","locked_chat","incognito","log_content_policy"]}},"required":["__redacted"],"additionalProperties":false}]}]},"toolResult":{"nullable":true},"userId":{"nullable":true,"type":"string"},"runId":{"nullable":true,"type":"string"},"sessionId":{"nullable":true,"type":"string"},"llmToolCallId":{"nullable":true,"type":"string"},"authMethod":{"nullable":true,"type":"string","enum":["oauth","user_token","org_token","team_token","service_account_token","external_idp","session"]},"oauthClientId":{"nullable":true,"type":"string"},"source":{"nullable":true,"type":"string","enum":["api","chat"]},"durationMs":{"nullable":true,"type":"integer","minimum":-2147483648,"maximum":2147483647},"createdAt":{"type":"string","format":"date-time"},"userName":{"nullable":true,"type":"string"},"appName":{"nullable":true,"type":"string"}},"required":["id","ownerType","agentId","appId","mcpServerName","method","toolCall","toolResult","userId","runId","sessionId","llmToolCallId","authMethod","oauthClientId","source","durationMs","createdAt","userName","appName"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_validation_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authentication_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_authorization_error"]},"internal_code":{"type":"string"},"details":{"type":"object","additionalProperties":{}}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_not_found_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_conflict_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string","enum":["api_internal_server_error"]},"internal_code":{"type":"string"}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}},"x-required-permissions":{"kind":"static","note":"`log:read` permits a row attributed to the caller. `log:admin` permits any row in the active organization.","permissions":["log:read"]}}}},"tags":[{"name":"MCP Gateway"},{"name":"MCP App Runtime"},{"name":"MCP Tool Call"}]}