> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mka1.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Crie uma resposta impulsionada por agente com suporte de ferramentas

> Cria uma nova resposta de agente de IA usando modelos de linguagem avançados com capacidades de uso autônomo de ferramentas.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json?language=pt-BR post /api/v1/llm/responses
openapi: 3.1.1
info:
  title: MKA1 API
  version: 1.1.0
  description: >-
    A API MKA1 é uma API RESTful que fornece acesso à plataforma MKA1. Aprenda
    como começar a usar a API e o SDK TypeScript
    [aqui](https://mka1.apidocumentation.com/guides/getting-started).
  license:
    name: Proprietário
servers:
  - url: https://apigw.mka1.com
    description: MKA1 API Gateway
  - url: /
    description: Relative server URL (configurable via SDK constructor)
security: []
tags:
  - name: Resource Authorization
    description: >-
      Gerencie permissões para recursos LLM. Crie recursos, conceda/revoque
      permissões e exclua recursos. Apenas os proprietários dos recursos podem
      conceder, revogar ou excluir permissões.
    x-displayName: Autorização de Recurso
  - name: Embeddings
    description: >-
      Endpoints da API de incorporação de texto para gerar representações
      vetoriais de texto. Crie incorporações semânticas para busca, clustering e
      correspondência de similaridade usando vários modelos de incorporação.
    x-displayName: Incorporações
  - name: Feedback
    description: >-
      API de feedback do usuário para avaliar e comentar sobre as conclusões de
      chat. Coleta de classificações de positivo/negativo e feedback detalhado
      para melhorar as respostas do modelo e acompanhar a satisfação do usuário.
    x-displayName: Feedback
  - name: Images
    description: >-
      Pontos de extremidade da API de geração de imagens para criar imagens a
      partir de descrições de texto. Gere imagens com controle sobre tamanho,
      qualidade e estilo.
    x-displayName: Imagens
  - name: MCP Vault
    description: >-
      API do cofre MCP para armazenar configurações de servidor MCP de
      propriedade do usuário e credenciais criptografadas. Os agentes
      referenciam IDs de cofre para que os segredos sejam resolvidos apenas no
      momento da execução da ferramenta.
    x-displayName: Cofre MCP
  - name: Speech
    description: >-
      Pontos de extremidade da API de fala para processamento de áudio. Converta
      texto em fala com som natural (TTS) ou transcreva fala em texto (STT) em
      diferentes idiomas.
    x-displayName: Discurso
  - name: Usage
    description: >-
      API de rastreamento de uso e análise para monitoramento do consumo de
      tokens, contagem de solicitações e análise de custos. Veja estatísticas
      detalhadas por usuário, modelo e período de tempo.
    x-displayName: Uso
  - name: Extract
    description: >-
      API de extração de dados estruturados para extrair informações de
      arquivos. Defina esquemas JSON para extrair dados estruturados de imagens,
      PDFs e documentos. Suporta modelos de esquema reutilizáveis.
    x-displayName: Extração
  - name: Text Classification
    description: >-
      API de classificação de texto para categorizar textos em rótulos
      predefinidos. Use modelos de IA para classificar o conteúdo textual para
      análise de sentimento, categorização de tópicos e moderação de conteúdo.
    x-displayName: Classificação de Texto
  - name: Responses
    description: >-
      API de respostas com agentes para criar agentes de IA com uso autônomo de
      ferramentas. Crie assistentes conversacionais que podem usar pesquisa na
      web, operações de arquivos, geração de imagens, execução de código,
      simulação de uso de computador e integrações MCP. Suporta processamento em
      segundo plano, streaming e monitoramento de status em tempo real.
    x-displayName: Respostas
  - name: Files
    description: >-
      API de gerenciamento de arquivos para upload, armazenamento e
      gerenciamento de arquivos com expiração automática e integração com S3.
      Faça upload de arquivos que podem ser usados com Assistentes,
      Armazenamentos Vetoriais e outras funcionalidades. Os arquivos são
      armazenados no S3 com metadados rastreados no PostgreSQL. Suporta limpeza
      automática de arquivos expirados.
    x-displayName: Arquivos
  - name: Vector Stores
    description: >-
      API de armazenamento de vetores para armazenar e pesquisar documentos
      usando embeddings. Crie armazenamentos de vetores, faça upload de arquivos
      com divisão automática e geração de embeddings, e realize pesquisas
      semânticas. Os arquivos são processados de forma assíncrona usando fluxos
      de trabalho Temporais para durabilidade. Suporta limpeza automática de
      armazenamentos expirados e LanceDB para armazenamento eficiente de
      vetores.
    x-displayName: Armazenamentos de Vetores
  - name: Conversations
    description: >-
      API de gerenciamento de conversas para armazenar e recuperar o estado da
      conversa durante chamadas à API de Resposta. Crie conversas, adicione
      itens (mensagens do usuário, mensagens do assistente, mensagens do
      sistema) e mantenha o histórico da conversa. Suporta rastreamento de
      metadados e gerenciamento de estado de diálogo em múltiplas interações.
    x-displayName: Conversa
  - name: Guardrails
    description: >-
      API de diretrizes de segurança de IA para configurar moderação de conteúdo
      e políticas de segurança. Configure listas de palavras proibidas, detecção
      de injeção de prompts e prevenção de vazamento de prompts do sistema. As
      diretrizes aplicam-se a todas as solicitações de uma conta e podem ser
      testadas antes da implementação.
    x-displayName: Guarda-corpos
  - name: Models
    description: >-
      API de listagem de modelos para descobrir modelos disponíveis. Retorna IDs
      de modelos, propriedade e metadados de todos os modelos registrados no
      gateway.
    x-displayName: Modelos
  - name: Skills
    description: >-
      API de habilidades para gerenciar pacotes versionados de instruções e
      arquivos seguindo o padrão de Habilidades do Agente. Crie, versionar e
      baixe pacotes de habilidades reutilizáveis que incluam manifestos SKILL.md
      para ambientes de agentes.
    x-displayName: Habilidades
  - name: Chat Completions
    description: >-
      **Obsoleto: Use a API de Respostas (`/api/v1/llm/responses`) em vez
      disso.** Endpoints de conclusão de chat com suporte para streaming,
      chamadas de ferramentas e múltiplos provedores.
    x-deprecated: true
    x-displayName: Conclusões de Bate-Papo
  - name: Batches
    x-displayName: Lotes
  - name: Evals
    x-displayName: Avaliações
  - name: Fine-Tuning
    x-displayName: Ajuste Fino
  - name: Memory Stores
    x-displayName: Armazenamentos de Memória
  - name: Prompts
    x-displayName: Sugestões
  - name: API Key
    x-displayName: Chave da API
  - name: Organization
    x-displayName: Organização
  - name: Cluster Admin
    x-displayName: Administrador do cluster
  - name: Sessions
    description: Crie, inspecione, acesse e encerre sessões de sandbox.
    x-displayName: Sessões
  - name: Browser
    description: >-
      Conecte-se às sessões do navegador através do proxy da porta do gateway.
      As sessões do navegador expõem um endpoint do Chrome DevTools Protocol na
      porta 9222.
    x-displayName: Navegador
  - name: Execution
    description: >-
      Executar comandos shell e código dentro de uma sessão de sandbox
      existente.
    x-displayName: Execução
  - name: Workspace
    description: >-
      Inspecione o manifesto do espaço de trabalho, transfira arquivos ou
      arquivos compactados e baixe artefatos gerados.
    x-displayName: Espaço de trabalho
  - name: Sandbox Usage
    description: >-
      Agregue estatísticas de uso da sandbox entre sessões, execução e operações
      do espaço de trabalho.
    x-displayName: Uso do Sandbox
  - name: Sandbox Pricing
    description: >-
      Gerenciamento de cluster-admin da tabela de preços de computação da
      sandbox usada para gastos orçados.
    x-displayName: Preço da Sandbox
  - name: Agents
    description: Crie e gerencie definições de agentes reutilizáveis.
    x-displayName: Agentes
  - name: Agent Versions
    description: >-
      Inspecione o histórico de configuração de um agente e reverta para uma
      versão anterior.
    x-displayName: Versões do Agente
  - name: Agent Runs
    description: Execute agentes salvos e inspecione os resultados da execução persistidos.
    x-displayName: Executa Agente
  - name: Agent Connectors
    description: >-
      Conecte agentes salvos a canais de mensagens externos, como o Telegram,
      incluindo troca de texto, foto e documentos compatíveis.
    x-displayName: Conectores de Agente
  - name: Agent Schedules
    description: Crie e gerencie execuções de agentes salvos agendadas ou recorrentes.
    x-displayName: Agendas de Agentes
  - name: schema-4_other
    x-displayName: outro
  - name: Budgets
    x-displayName: Orçamentos
  - name: Settings
    x-displayName: Configurações
  - name: Compute Jobs
    x-displayName: Jobs de Computação
  - name: Compute Services
    x-displayName: Serviços de Computação
  - name: Compute Catalog
    x-displayName: Catálogo de Computação
  - name: Compute Secrets
    x-displayName: Calcular Segredos
  - name: Compute Usage
    x-displayName: Uso de Computação
  - name: Compute Tenants
    x-displayName: Calcular Inquilinos
  - description: Criar, listar, ler, atualizar e excluir repositórios.
    name: Repositories
    x-displayName: Repositórios
paths:
  /api/v1/llm/responses:
    post:
      tags:
        - Responses
      summary: Crie uma resposta impulsionada por agente com suporte de ferramentas
      description: >-
        Cria uma nova resposta de agente de IA usando modelos de linguagem
        avançados com capacidades de uso autônomo de ferramentas.
      operationId: createResponse
      parameters:
        - name: X-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: Optional external end-user identifier forwarded by the API gateway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResponsesCreateRequest'
            example:
              model: meetkai:functionary-urdu-mini-pak
              input: What is the capital of France?
              stream: false
      responses:
        '200':
          description: >-
            Resposta bem-sucedida - retorna eventos de streaming (SSE) ou um
            objeto de resposta completo (JSON) dependendo do parâmetro de
            stream.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseObject'
              example:
                id: resp_abc123
                object: response
                created_at: 1735689600
                completed_at: 1735689601
                status: completed
                error: null
                incomplete_details: null
                background: false
                instructions: null
                max_output_tokens: null
                max_tool_calls: 30
                metadata: {}
                model: meetkai:functionary-urdu-mini-pak
                output:
                  - type: message
                    id: msg_abc123
                    role: assistant
                    content:
                      - type: output_text
                        text: The capital of France is Paris.
                        annotations: []
                    status: completed
                output_text: The capital of France is Paris.
                parallel_tool_calls: true
                previous_response_id: null
                reasoning:
                  effort: null
                  summary: null
                service_tier: auto
                store: true
                text:
                  format:
                    type: text
                  verbosity: medium
                tool_choice: auto
                tools: []
                truncation: auto
                usage:
                  input_tokens: 8
                  input_tokens_details:
                    cached_tokens: 0
                  output_tokens: 7
                  output_tokens_details:
                    reasoning_tokens: 0
                  total_tokens: 15
                user: null
            text/event-stream:
              schema:
                type: object
                properties:
                  event:
                    type: string
                    description: The event type (optional in SSE)
                  data:
                    $ref: '#/components/schemas/ResponseStreamingEvent'
                  id:
                    type: string
                    description: Optional event ID for reconnection
                  retry:
                    type: integer
                    description: Optional reconnection time in milliseconds
                required:
                  - data
                example:
                  event: response.completed
                  data:
                    type: response.completed
                    sequence_number: 1
                    response:
                      id: resp_abc123
                      object: response
                      created_at: 1735689600
                      completed_at: 1735689601
                      status: completed
                      error: null
                      incomplete_details: null
                      background: false
                      instructions: null
                      max_output_tokens: null
                      max_tool_calls: 30
                      metadata: {}
                      model: meetkai:functionary-urdu-mini-pak
                      output:
                        - type: message
                          id: msg_abc123
                          role: assistant
                          content:
                            - type: output_text
                              text: The capital of France is Paris.
                              annotations: []
                          status: completed
                      output_text: The capital of France is Paris.
                      parallel_tool_calls: true
                      previous_response_id: null
                      reasoning:
                        effort: null
                        summary: null
                      service_tier: auto
                      store: true
                      text:
                        format:
                          type: text
                        verbosity: medium
                      tool_choice: auto
                      tools: []
                      truncation: auto
                      usage:
                        input_tokens: 8
                        input_tokens_details:
                          cached_tokens: 0
                        output_tokens: 7
                        output_tokens_details:
                          reasoning_tokens: 0
                        total_tokens: 15
                      user: null
              example:
                event: response.completed
                data:
                  type: response.completed
                  sequence_number: 1
                  response:
                    id: resp_abc123
                    object: response
                    created_at: 1735689600
                    completed_at: 1735689601
                    status: completed
                    error: null
                    incomplete_details: null
                    background: false
                    instructions: null
                    max_output_tokens: null
                    max_tool_calls: 30
                    metadata: {}
                    model: meetkai:functionary-urdu-mini-pak
                    output:
                      - type: message
                        id: msg_abc123
                        role: assistant
                        content:
                          - type: output_text
                            text: The capital of France is Paris.
                            annotations: []
                        status: completed
                    output_text: The capital of France is Paris.
                    parallel_tool_calls: true
                    previous_response_id: null
                    reasoning:
                      effort: null
                      summary: null
                    service_tier: auto
                    store: true
                    text:
                      format:
                        type: text
                      verbosity: medium
                    tool_choice: auto
                    tools: []
                    truncation: auto
                    usage:
                      input_tokens: 8
                      input_tokens_details:
                        cached_tokens: 0
                      output_tokens: 7
                      output_tokens_details:
                        reasoning_tokens: 0
                      total_tokens: 15
                    user: null
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            from meetkai_mka1 import SDK


            with SDK(
                bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
            ) as sdk:

                res = sdk.llm.responses.create(model="meetkai:functionary-urdu-mini-pak", input="What is the capital of France?", stream=False, store=True, background=False, parallel_tool_calls=True, max_tool_calls=64, truncation="auto", service_tier="auto")

                with res as event_stream:
                    for event in event_stream:
                        # handle event
                        print(event, flush=True)
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { SDK } from "@meetkai/mka1";

            const sdk = new SDK({
              bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
            });

            async function run() {
              const result = await sdk.llm.responses.create({
                responsesCreateRequest: {
                  model: "meetkai:functionary-urdu-mini-pak",
                  input: "What is the capital of France?",
                },
              });

              console.log(result);
            }

            run();
        - lang: csharp
          label: CSharp (SDK)
          source: >-
            using MeetKai.MKA1;

            using MeetKai.MKA1.Types.Components;

            using MeetKai.MKA1.Types.Requests;


            var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");


            var res = await sdk.Llm.Responses.CreateAsync(body: new
            ResponsesCreateRequest() {
                Model = "meetkai:functionary-urdu-mini-pak",
                Input = ResponsesCreateRequestInput.CreateStr(
                    "What is the capital of France?"
                ),
            });


            // Handle event stream response

            if (res.Object != null)

            {
                using (var eventStream = res.Object)
                {
                    CreateResponseResponseBody? eventData;
                    while ((eventData = await eventStream.Next()) != null)
                    {
                        // handle eventData
                    }
                }
            }

            // Handle JSON response

            else if (res.ResponseObject != null)

            {
                // handle JSON response
                var jsonResponse = res.ResponseObject;
            }
components:
  schemas:
    ResponsesCreateRequest:
      type: object
      properties:
        model:
          type: string
          description: A ID do modelo a ser usada para gerar a resposta.
        input:
          anyOf:
            - type: string
            - type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/Item'
          description: >-
            A entrada do usuário a ser enviada ao agente. Pode ser uma simples
            sequência de texto para consultas básicas ou uma array de objetos de
            item contendo texto, imagens, arquivos ou áudio para interações
            multimodais. Este é o conteúdo principal ao qual o agente irá
            responder.
        instructions:
          type: string
          description: >-
            Instruções do sistema ou do desenvolvedor inseridas no contexto do
            modelo antes da entrada do usuário. Use isso para guiar o
            comportamento do agente, definir personalidade, estabelecer
            restrições ou fornecer conhecimento específico de domínio. Atua como
            uma mensagem do sistema persistente para esta resposta.
        conversation:
          anyOf:
            - anyOf:
                - type: string
                - $ref: '#/components/schemas/Conversation'
            - type: 'null'
          description: >-
            A conversa à qual esta resposta pertence. Pode ser uma string de ID
            de conversa ou um objeto de conversa. Usado para manter o contexto e
            o histórico em várias interações com agentes. Opcional - omita para
            interações pontuais.
        previous_response_id:
          type: string
          description: >-
            O ID único de uma resposta anterior para continuar. Usado para
            conversas de múltiplas turnos para manter o contexto e o histórico.
            O agente terá acesso a todas as interações anteriores na cadeia.
        prompt:
          $ref: '#/components/schemas/PromptTemplate'
          description: >-
            Referência a um modelo de prompt a ser usado para esta resposta,
            junto com variáveis para substituir. Permite usar modelos de prompt
            predefinidos e versionados em vez de instruções inline. O sistema de
            modelos suporta interpolação de variáveis.
        include:
          type: array
          items:
            enum:
              - web_search_call.action.sources
              - code_interpreter_call.outputs
              - computer_call_output.output.image_url
              - file_search_call.results
              - message.input_image.image_url
              - message.output_text.logprobs
              - reasoning.encrypted_content
            type: string
          description: >-
            Campos adicionais para incluir na saída da resposta. Permite
            solicitar dados aninhados específicos, como fontes de busca na web,
            saídas do interpretador de código, capturas de tela de computador,
            resultados de busca de arquivos, imagens de entrada, logprobs de
            saída ou conteúdo de raciocínio. Esses campos podem ter implicações
            de desempenho ou custo.
        text:
          $ref: '#/components/schemas/TextConfiguration'
          description: >-
            Opções de configuração para a saída de texto do modelo. Inclui
            formato de resposta (texto, objeto JSON, esquema JSON) e nível de
            detalhamento (baixo, médio, alto). Use isso para controlar a
            estrutura da saída e o nível de detalhe.
        stream:
          type: boolean
          default: false
          description: >-
            Se definido como verdadeiro, os dados da resposta serão transmitidos
            usando Eventos Enviados pelo Servidor (SSE) para atualizações em
            tempo real à medida que o agente gera a resposta. Quando falso, a
            resposta é retornada como um único objeto completo. O padrão é
            falso.
        stream_options:
          anyOf:
            - type: object
              properties:
                include_usage:
                  type: boolean
                  description: >-
                    Se deve incluir estatísticas de uso de tokens no fluxo. Útil
                    para monitorar custos em tempo real.
                include_obfuscation:
                  type: boolean
                  description: >-
                    Se deve ativar a ofuscação de stream por motivos de
                    privacidade e segurança durante a transmissão.
            - type: 'null'
          description: >-
            Opções adicionais para configurar o comportamento de streaming
            quando o streaming está ativado.
        store:
          type: boolean
          default: true
          description: >-
            Se deve armazenar a resposta gerada para recuperação posterior.
            Quando verdadeiro, a resposta é salva e pode ser recuperada através
            de GET /responses/{id}. Quando falso, a resposta não é persistida
            após a geração. O padrão é verdadeiro.
        background:
          type: boolean
          default: false
          description: >-
            Se o modelo deve ser executado em segundo plano de forma assíncrona.
            Quando verdadeiro, a solicitação retorna imediatamente com um ID de
            resposta enquanto o agente processa em segundo plano. Use GET
            /responses/{id} para recuperar os resultados depois. Quando falso, a
            solicitação bloqueia até a conclusão. O padrão é falso.
        webhook_url:
          type: string
          format: uri
          description: >-
            URL para receber notificações de webhook sobre mudanças de status
            (em espera, em andamento, concluído, falhado, incompleto). Válido
            apenas quando background=true. Se fornecido sem background=true, a
            solicitação será rejeitada.
        webhook_secret:
          type: string
          minLength: 16
          maxLength: 256
          description: >-
            Segredo opcional para a assinatura HMAC-SHA256 de payloads de
            webhook. Quando fornecido, os webhooks incluem um cabeçalho
            X-Webhook-Signature com a assinatura. Requer que webhook_url seja
            configurado.
        tools:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/FunctionToolDefinition'
              - $ref: '#/components/schemas/FileSearchToolDefinition'
              - $ref: '#/components/schemas/ComputerUseToolDefinition'
              - $ref: '#/components/schemas/WebSearchToolDefinition'
              - $ref: '#/components/schemas/MCPToolDefinition'
              - $ref: '#/components/schemas/CodeInterpreterToolDefinition'
              - $ref: '#/components/schemas/ImageGenerationToolDefinition'
              - $ref: '#/components/schemas/LocalShellToolDefinition'
              - $ref: '#/components/schemas/ShellToolDefinition'
              - $ref: '#/components/schemas/CustomToolDefinition'
              - $ref: '#/components/schemas/WebSearchPreviewToolDefinition'
              - $ref: '#/components/schemas/HostedToolDefinition'
              - $ref: '#/components/schemas/SleepToolDefinition'
              - $ref: '#/components/schemas/HistoryToolDefinition'
          description: >-
            Matriz de definições de ferramentas que o agente pode usar durante a
            geração de respostas. Suporta ferramentas integradas (pesquisa na
            web, pesquisa de arquivos, interpretador de código, uso do
            computador, geração de imagens) e ferramentas personalizadas
            (funções, MCP, shell local). Cada definição de ferramenta especifica
            seu tipo e configuração.
        tool_choice:
          $ref: '#/components/schemas/ToolChoice'
          description: >-
            Controla como o agente seleciona quais ferramentas usar. Pode ser
            'nenhum' (sem ferramentas), 'automático' (o modelo decide),
            'obrigatório' (deve usar ferramentas) ou um objeto de seleção de
            ferramenta específico. Use isso para forçar ou impedir o uso de
            ferramentas.
        parallel_tool_calls:
          type: boolean
          default: true
          description: >-
            Permitir que o agente execute várias chamadas de ferramentas em
            paralelo. Quando verdadeiro, o agente pode fazer chamadas de
            ferramentas simultâneas para eficiência. Quando falso, as
            ferramentas são chamadas sequencialmente. O padrão é verdadeiro para
            um melhor desempenho.
        max_tool_calls:
          type: integer
          minimum: 1
          maximum: 300
          default: 64
          description: >-
            O número total máximo de chamadas de ferramentas que o agente pode
            fazer durante esta resposta. Útil para controlar o tempo de execução
            e evitar loops infinitos. Aplica-se a todas as ferramentas
            integradas, como busca na web, busca de arquivos, interpretador de
            código, etc. Deve ser um número inteiro positivo entre 1 e 300. O
            padrão é 64.
        reasoning:
          $ref: '#/components/schemas/ReasoningConfiguration'
          description: >-
            Opções de configuração para modelos de raciocínio. Controla o nível
            de esforço de raciocínio (mínimo, baixo, médio, alto) e a
            verbosidade do resumo (automático, conciso, detalhado). Aplicável
            apenas a modelos específicos com capacidade de raciocínio.
        auto_routing:
          type: boolean
          description: >-
            Quando verdadeiro, o gateway inspeciona a complexidade da
            solicitação e roteia automaticamente entre variantes quantizadas,
            MoE e densas dentro da família de modelos solicitada.
        auto_routing_debug:
          type: boolean
          description: >-
            Extensão de gateway. Quando verdadeiro juntamente com auto_routing,
            os metadados de resposta incluem uma decisão de roteamento
            serializada compacta, para que você possa inspecionar o nível de
            destino inferido mesmo quando nenhuma variante irmã compatível
            estiver disponível.
        max_output_tokens:
          type: integer
          minimum: 1
          maximum: 9007199254740991
          description: >-
            O número máximo de tokens que o modelo pode gerar em sua saída.
            Define um limite superior para controlar custos e o comprimento da
            resposta. A saída real pode ser mais curta se o modelo terminar
            naturalmente. Deve ser um número inteiro positivo.
        temperature:
          type: number
          minimum: 0
          maximum: 2
          description: >-
            Controla a aleatoriedade na saída do modelo. Valores mais altos (por
            exemplo, 1,5-2,0) tornam a saída mais aleatória e criativa, enquanto
            valores mais baixos (por exemplo, 0,0-0,5) a tornam mais focada e
            determinística. Deve estar entre 0 e 2.
        top_p:
          type: number
          minimum: 0
          maximum: 1
          description: >-
            Parâmetro de amostragem de núcleo. O modelo considera apenas os
            tokens com probabilidade acumulada top_p. Valores mais baixos (por
            exemplo, 0,1) tornam a saída mais focada, enquanto valores mais
            altos (por exemplo, 0,9) permitem mais diversidade. Deve estar entre
            0 e 1. Alternativa à temperatura.
        stop:
          anyOf:
            - type: string
            - type: array
              minItems: 1
              items:
                type: string
          description: >-
            Extensão de gateway. Sequência(s) de parada onde provedores upstream
            compatíveis devem interromper a geração. Execuções de avaliação
            também impõem isso como uma proteção de pós-processamento.
        top_k:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: >-
            Extensão de gateway. Parâmetro de amostragem top-k específico do
            provedor.
        min_p:
          type: number
          minimum: 0
          maximum: 1
          description: >-
            Extensão do gateway. Parâmetro de amostragem min-p específico do
            provedor.
        repetition_penalty:
          type: number
          minimum: 0
          description: Extensão de gateway. Penalidade de repetição específica do provedor.
        do_sample:
          type: boolean
          description: Extensão de gateway. Alternar amostragem específica do provedor.
        extra_body:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
          description: >-
            Extensão de gateway. Passagem de corpo de solicitação específica do
            provedor controlada.
        chat_template_kwargs:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
          description: >-
            Extensão de gateway. Opções de modelo de chat específicas do
            provedor, como enable_thinking=false.
        prefill_think:
          anyOf:
            - type: boolean
            - type: string
          description: >-
            Extensão de gateway. Alternar preenchimento automático específico do
            provedor ou texto de preenchimento automático.
        use_cache:
          type: boolean
          description: >-
            Extensão do gateway. Alternar cache específico do provedor onde
            suportado.
        top_logprobs:
          type: integer
          minimum: 0
          maximum: 20
          description: >-
            O número de tokens mais prováveis a serem retornados em cada
            posição, juntamente com suas probabilidades logarítmicas. Deve estar
            entre 0 e 20. Útil para entender a confiança do modelo e explorar
            saídas alternativas.
        truncation:
          enum:
            - auto
            - disabled
          type: string
          default: auto
          description: >-
            A estratégia de truncamento para lidar com entradas que excedem a
            janela de contexto do modelo. 'auto' trunca automaticamente
            mensagens antigas para se ajustar, 'desabilitado' retorna um erro se
            o contexto for muito longo. O padrão é 'auto'.
        context_management:
          $ref: '#/components/schemas/ContextManagement'
          description: >-
            Estratégias de gerenciamento de contexto a serem aplicadas durante a
            geração de respostas. Suporta compactação, que resume o histórico de
            conversas mais antigas quando o contexto ultrapassa um limite de
            token.
        presence_penalty:
          type: number
          minimum: -2
          maximum: 2
          description: >-
            Penaliza novos tokens com base em sua aparição no texto até agora.
            Valores mais altos aumentam a probabilidade do modelo falar sobre
            novos tópicos.
        frequency_penalty:
          type: number
          minimum: -2
          maximum: 2
          description: >-
            Penaliza novos tokens com base em sua frequência no texto até agora.
            Valores mais altos diminuem a probabilidade do modelo repetir a
            mesma linha verbatim.
        service_tier:
          enum:
            - auto
            - default
            - flex
            - priority
          type: string
          default: auto
          description: >-
            Especifica o nível de processamento para atender à solicitação.
            'auto' permite que o sistema escolha, 'default' usa o processamento
            padrão, 'flex' permite agendamento flexível para prioridade
            inferior, 'priority' fornece processamento mais rápido. O padrão é
            'auto'.
        prompt_cache_key:
          type: string
          description: >-
            Um identificador estável usado para armazenar em cache solicitações
            e contexto. Ajuda a reduzir custos e latência ao reutilizar o
            processamento de solicitações em cache. Útil para solicitações que
            são usadas repetidamente com pequenas variações.
        safety_identifier:
          type: string
          description: >-
            Um identificador estável usado para ajudar a detectar e prevenir
            violações de políticas em múltiplas solicitações. Ajuda o sistema a
            identificar padrões de abuso ou uso indevido. Útil para
            monitoramento de conformidade e segurança.
        metadata:
          type: object
          propertyNames:
            type: string
            maxLength: 64
          additionalProperties:
            type: string
            maxLength: 512
          description: >-
            Metadados personalizados para anexar a esta resposta como pares de
            chave-valor. As chaves devem ser strings de até 64 caracteres, e os
            valores devem ser strings de até 512 caracteres. Máximo de 16 pares.
            Útil para rastreamento, categorização ou passagem de identificadores
            personalizados pelo seu sistema.
        modalities:
          type: array
          items:
            enum:
              - text
              - audio
            type: string
          description: >-
            Tipos de saída que o modelo deve gerar. O padrão é ['texto']. Inclua
            'áudio' para receber uma renderização em áudio da resposta em texto
            através de TTS.
        audio:
          type: object
          properties:
            voice:
              type: string
              default: alloy
              description: >-
                A voz a ser usada para síntese de saída de áudio. Padrão é
                'alloy'.
            format:
              enum:
                - wav
                - mp3
                - flac
                - opus
                - pcm16
              type: string
              default: wav
              description: O formato de áudio para a saída. O padrão é 'wav'.
          description: >-
            Configuração de saída de áudio. Opcional quando as modalidades
            incluem 'áudio'; valores padrão são aplicados se omitidos.
        user:
          type: string
          description: >-
            DEPRECADO: Um identificador único para o usuário final. Use
            safety_identifier para detecção de violação de políticas e
            prompt_cache_key para caching. Este campo é mantido para
            compatibilidade com versões anteriores.
      required:
        - model
      description: >-
        Esquema de solicitação para criar uma nova resposta do agente. Configura
        o modelo do agente, entrada, ferramentas, formato de saída e
        comportamento. Suporta execução tanto em primeiro plano (bloqueante)
        quanto em segundo plano (assíncrona) com streaming opcional.
      examples:
        - model: meetkai:functionary-urdu-mini-pak
          input: What is the capital of France?
          stream: false
    ResponseObject:
      type: object
      properties:
        id:
          type: string
        object:
          const: response
        created_at:
          type: number
        completed_at:
          anyOf:
            - type: number
            - type: 'null'
        status:
          $ref: '#/components/schemas/ResponseStatus'
        error:
          anyOf:
            - $ref: '#/components/schemas/Error'
            - type: 'null'
        incomplete_details:
          anyOf:
            - $ref: '#/components/schemas/IncompleteDetails'
            - type: 'null'
        background:
          type: boolean
        conversation:
          $ref: '#/components/schemas/Conversation'
        instructions:
          anyOf:
            - anyOf:
                - type: string
                - type: array
                  items:
                    $ref: '#/components/schemas/Item'
            - type: 'null'
        max_output_tokens:
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: 'null'
          examples:
            - null
        max_tool_calls:
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: 'null'
        metadata:
          type: object
          propertyNames:
            type: string
            maxLength: 64
          additionalProperties:
            type: string
            maxLength: 512
        model:
          type: string
        output:
          type: array
          items:
            $ref: '#/components/schemas/Item'
        output_text:
          type: string
        parallel_tool_calls:
          type: boolean
        previous_response_id:
          anyOf:
            - type: string
            - type: 'null'
        prompt:
          $ref: '#/components/schemas/PromptTemplate'
        prompt_cache_key:
          type: string
        reasoning:
          $ref: '#/components/schemas/ReasoningConfiguration'
        safety_identifier:
          type: string
        service_tier:
          enum:
            - auto
            - default
            - flex
            - priority
          type: string
        store:
          type: boolean
        temperature:
          type: number
          minimum: 0
          maximum: 2
        presence_penalty:
          type: number
        frequency_penalty:
          type: number
        text:
          $ref: '#/components/schemas/TextConfiguration'
        tool_choice:
          $ref: '#/components/schemas/ToolChoice'
        tools:
          type: array
          items:
            anyOf:
              - anyOf:
                  - $ref: '#/components/schemas/FunctionToolDefinition'
                  - type: object
                    properties:
                      type:
                        const: file_search
                      vector_store_ids:
                        type: array
                        items:
                          type: string
                      filters:
                        anyOf:
                          - $ref: '#/components/schemas/ComparisonFilter'
                          - type: object
                            properties:
                              type:
                                enum:
                                  - and
                                  - or
                                type: string
                              filters:
                                type: array
                                items:
                                  anyOf:
                                    - $ref: '#/components/schemas/ComparisonFilter'
                                    - type: object
                                      properties:
                                        type:
                                          enum:
                                            - and
                                            - or
                                          type: string
                                        filters:
                                          type: array
                                          items:
                                            anyOf:
                                              - anyOf:
                                                  - {}
                                                  - {}
                                              - type: 'null'
                                      required:
                                        - type
                                        - filters
                            required:
                              - type
                              - filters
                      max_num_results:
                        type: integer
                        minimum: 1
                        maximum: 50
                      ranking_options:
                        $ref: '#/components/schemas/RankingOptions'
                    required:
                      - type
                      - vector_store_ids
                    title: File search tool definition
                    description: >-
                      Definição da ferramenta de busca de arquivos: Configura a
                      busca semântica em um ou mais armazenamentos vetoriais,
                      com filtros opcionais, opções de classificação e limites
                      de resultados.
                  - $ref: '#/components/schemas/ComputerUseToolDefinition'
                  - $ref: '#/components/schemas/WebSearchToolDefinition'
                  - title: MCP tool definition
                    description: >-
                      Definição da ferramenta MCP: Conecta-se a um servidor MCP
                      e expõe suas ferramentas, com referências de cofre
                      opcionais, autenticação, cabeçalhos, listas de permissão,
                      ID do conector e política de aprovação.
                  - $ref: '#/components/schemas/CodeInterpreterToolDefinition'
                  - $ref: '#/components/schemas/ImageGenerationToolDefinition'
                  - $ref: '#/components/schemas/LocalShellToolDefinition'
                  - $ref: '#/components/schemas/ShellToolDefinition'
                  - $ref: '#/components/schemas/CustomToolDefinition'
                  - $ref: '#/components/schemas/WebSearchPreviewToolDefinition'
                  - $ref: '#/components/schemas/HostedToolDefinition'
                  - $ref: '#/components/schemas/SleepToolDefinition'
                  - $ref: '#/components/schemas/HistoryToolDefinition'
              - type: 'null'
        top_logprobs:
          type: integer
          minimum: 0
          maximum: 20
        top_p:
          type: number
          minimum: 0
          maximum: 1
        truncation:
          enum:
            - auto
            - disabled
          type: string
        context_management:
          type: array
          items:
            $ref: '#/components/schemas/CompactionContextManagement'
        usage:
          $ref: '#/components/schemas/Usage'
        user:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - id
        - object
        - created_at
        - completed_at
        - status
        - error
        - incomplete_details
        - background
        - instructions
        - max_output_tokens
        - max_tool_calls
        - metadata
        - model
        - output
        - parallel_tool_calls
        - previous_response_id
        - store
        - text
        - tool_choice
        - tools
        - truncation
        - usage
        - user
      examples:
        - id: resp_abc123
          object: response
          created_at: 1735689600
          completed_at: 1735689601
          status: completed
          error: null
          incomplete_details: null
          background: false
          instructions: null
          max_output_tokens: null
          max_tool_calls: 30
          metadata: {}
          model: meetkai:functionary-urdu-mini-pak
          output:
            - type: message
              id: msg_abc123
              role: assistant
              content:
                - type: output_text
                  text: The capital of France is Paris.
                  annotations: []
              status: completed
          output_text: The capital of France is Paris.
          parallel_tool_calls: true
          previous_response_id: null
          reasoning:
            effort: null
            summary: null
          service_tier: auto
          store: true
          text:
            format:
              type: text
            verbosity: medium
          tool_choice: auto
          tools: []
          truncation: auto
          usage:
            input_tokens: 8
            input_tokens_details:
              cached_tokens: 0
            output_tokens: 7
            output_tokens_details:
              reasoning_tokens: 0
            total_tokens: 15
          user: null
      example:
        id: resp_abc123
        object: response
        created_at: 1735689600
        completed_at: 1735689601
        status: completed
        error: null
        incomplete_details: null
        background: false
        instructions: null
        max_output_tokens: null
        max_tool_calls: 30
        metadata: {}
        model: meetkai:functionary-urdu-mini-pak
        output:
          - type: message
            id: msg_abc123
            role: assistant
            content:
              - type: output_text
                text: The capital of France is Paris.
                annotations: []
            status: completed
        output_text: The capital of France is Paris.
        parallel_tool_calls: true
        previous_response_id: null
        reasoning:
          effort: null
          summary: null
        service_tier: auto
        store: true
        text:
          format:
            type: text
          verbosity: medium
        tool_choice: auto
        tools: []
        truncation: auto
        usage:
          input_tokens: 8
          input_tokens_details:
            cached_tokens: 0
          output_tokens: 7
          output_tokens_details:
            reasoning_tokens: 0
          total_tokens: 15
        user: null
    ResponseStreamingEvent:
      anyOf:
        - $ref: '#/components/schemas/ResponseCreatedEvent'
        - $ref: '#/components/schemas/ResponseInProgressEvent'
        - $ref: '#/components/schemas/ResponseCompletedEvent'
        - $ref: '#/components/schemas/ResponseFailedEvent'
        - $ref: '#/components/schemas/ResponseIncompleteEvent'
        - $ref: '#/components/schemas/ResponseQueuedEvent'
        - $ref: '#/components/schemas/ResponseCancelledEvent'
        - $ref: '#/components/schemas/ResponseOutputItemAddedEvent'
        - $ref: '#/components/schemas/ResponseOutputItemDoneEvent'
        - $ref: '#/components/schemas/ResponseContentPartAddedEvent'
        - $ref: '#/components/schemas/ResponseContentPartDoneEvent'
        - $ref: '#/components/schemas/ResponseOutputTextDeltaEvent'
        - $ref: '#/components/schemas/ResponseOutputTextDoneEvent'
        - $ref: '#/components/schemas/ResponseRefusalDeltaEvent'
        - $ref: '#/components/schemas/ResponseRefusalDoneEvent'
        - $ref: '#/components/schemas/ResponseFunctionCallArgumentsDeltaEvent'
        - $ref: '#/components/schemas/ResponseFunctionCallArgumentsDoneEvent'
        - $ref: '#/components/schemas/ResponseFileSearchCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseFileSearchCallSearchingEvent'
        - $ref: '#/components/schemas/ResponseFileSearchCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseWebSearchCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseWebSearchCallSearchingEvent'
        - $ref: '#/components/schemas/ResponseWebSearchCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseHistoryCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseHistoryCallSearchingEvent'
        - $ref: '#/components/schemas/ResponseHistoryCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseSleepCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseSleepCallSleepingEvent'
        - $ref: '#/components/schemas/ResponseSleepCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseToolSearchCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseToolSearchCallSearchingEvent'
        - $ref: '#/components/schemas/ResponseToolSearchCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseReasoningSummaryPartAddedEvent'
        - $ref: '#/components/schemas/ResponseReasoningSummaryPartDoneEvent'
        - $ref: '#/components/schemas/ResponseReasoningSummaryTextDeltaEvent'
        - $ref: '#/components/schemas/ResponseReasoningSummaryTextDoneEvent'
        - $ref: '#/components/schemas/ResponseReasoningTextDeltaEvent'
        - $ref: '#/components/schemas/ResponseReasoningTextDoneEvent'
        - $ref: '#/components/schemas/ResponseImageGenerationCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseImageGenerationCallGeneratingEvent'
        - $ref: '#/components/schemas/ResponseImageGenerationCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseImageGenerationCallPartialImageEvent'
        - $ref: '#/components/schemas/ResponseMCPCallArgumentsDeltaEvent'
        - $ref: '#/components/schemas/ResponseMCPCallArgumentsDoneEvent'
        - $ref: '#/components/schemas/ResponseMCPCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseMCPCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseMCPCallFailedEvent'
        - $ref: '#/components/schemas/ResponseMCPListToolsInProgressEvent'
        - $ref: '#/components/schemas/ResponseMCPListToolsCompletedEvent'
        - $ref: '#/components/schemas/ResponseMCPListToolsFailedEvent'
        - $ref: '#/components/schemas/ResponseReadFileCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseReadFileCallReadingEvent'
        - $ref: '#/components/schemas/ResponseReadFileCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseCodeInterpreterCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseCodeInterpreterCallInterpretingEvent'
        - $ref: '#/components/schemas/ResponseCodeInterpreterCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseCodeInterpreterCallCodeDeltaEvent'
        - $ref: '#/components/schemas/ResponseCodeInterpreterCallCodeDoneEvent'
        - $ref: '#/components/schemas/ResponseShellCallInProgressEvent'
        - $ref: '#/components/schemas/ResponseShellCallExecutingEvent'
        - $ref: '#/components/schemas/ResponseShellCallCompletedEvent'
        - $ref: '#/components/schemas/ResponseCustomToolCallInputDeltaEvent'
        - $ref: '#/components/schemas/ResponseCustomToolCallInputDoneEvent'
        - $ref: '#/components/schemas/ResponseOutputTextAnnotationAddedEvent'
        - $ref: '#/components/schemas/ErrorEvent'
      discriminator:
        propertyName: type
        mapping:
          response.created:
            $ref: '#/components/schemas/ResponseCreatedEvent'
          response.in_progress:
            $ref: '#/components/schemas/ResponseInProgressEvent'
          response.completed:
            $ref: '#/components/schemas/ResponseCompletedEvent'
          response.failed:
            $ref: '#/components/schemas/ResponseFailedEvent'
          response.incomplete:
            $ref: '#/components/schemas/ResponseIncompleteEvent'
          response.queued:
            $ref: '#/components/schemas/ResponseQueuedEvent'
          response.cancelled:
            $ref: '#/components/schemas/ResponseCancelledEvent'
          response.output_item.added:
            $ref: '#/components/schemas/ResponseOutputItemAddedEvent'
          response.output_item.done:
            $ref: '#/components/schemas/ResponseOutputItemDoneEvent'
          response.content_part.added:
            $ref: '#/components/schemas/ResponseContentPartAddedEvent'
          response.content_part.done:
            $ref: '#/components/schemas/ResponseContentPartDoneEvent'
          response.output_text.delta:
            $ref: '#/components/schemas/ResponseOutputTextDeltaEvent'
          response.output_text.done:
            $ref: '#/components/schemas/ResponseOutputTextDoneEvent'
          response.refusal.delta:
            $ref: '#/components/schemas/ResponseRefusalDeltaEvent'
          response.refusal.done:
            $ref: '#/components/schemas/ResponseRefusalDoneEvent'
          response.function_call_arguments.delta:
            $ref: '#/components/schemas/ResponseFunctionCallArgumentsDeltaEvent'
          response.function_call_arguments.done:
            $ref: '#/components/schemas/ResponseFunctionCallArgumentsDoneEvent'
          response.file_search_call.in_progress:
            $ref: '#/components/schemas/ResponseFileSearchCallInProgressEvent'
          response.file_search_call.searching:
            $ref: '#/components/schemas/ResponseFileSearchCallSearchingEvent'
          response.file_search_call.completed:
            $ref: '#/components/schemas/ResponseFileSearchCallCompletedEvent'
          response.web_search_call.in_progress:
            $ref: '#/components/schemas/ResponseWebSearchCallInProgressEvent'
          response.web_search_call.searching:
            $ref: '#/components/schemas/ResponseWebSearchCallSearchingEvent'
          response.web_search_call.completed:
            $ref: '#/components/schemas/ResponseWebSearchCallCompletedEvent'
          response.history_call.in_progress:
            $ref: '#/components/schemas/ResponseHistoryCallInProgressEvent'
          response.history_call.searching:
            $ref: '#/components/schemas/ResponseHistoryCallSearchingEvent'
          response.history_call.completed:
            $ref: '#/components/schemas/ResponseHistoryCallCompletedEvent'
          response.sleep_call.in_progress:
            $ref: '#/components/schemas/ResponseSleepCallInProgressEvent'
          response.sleep_call.sleeping:
            $ref: '#/components/schemas/ResponseSleepCallSleepingEvent'
          response.sleep_call.completed:
            $ref: '#/components/schemas/ResponseSleepCallCompletedEvent'
          response.tool_search_call.in_progress:
            $ref: '#/components/schemas/ResponseToolSearchCallInProgressEvent'
          response.tool_search_call.searching:
            $ref: '#/components/schemas/ResponseToolSearchCallSearchingEvent'
          response.tool_search_call.completed:
            $ref: '#/components/schemas/ResponseToolSearchCallCompletedEvent'
          response.reasoning_summary_part.added:
            $ref: '#/components/schemas/ResponseReasoningSummaryPartAddedEvent'
          response.reasoning_summary_part.done:
            $ref: '#/components/schemas/ResponseReasoningSummaryPartDoneEvent'
          response.reasoning_summary_text.delta:
            $ref: '#/components/schemas/ResponseReasoningSummaryTextDeltaEvent'
          response.reasoning_summary_text.done:
            $ref: '#/components/schemas/ResponseReasoningSummaryTextDoneEvent'
          response.reasoning_text.delta:
            $ref: '#/components/schemas/ResponseReasoningTextDeltaEvent'
          response.reasoning_text.done:
            $ref: '#/components/schemas/ResponseReasoningTextDoneEvent'
          response.image_generation_call.in_progress:
            $ref: '#/components/schemas/ResponseImageGenerationCallInProgressEvent'
          response.image_generation_call.generating:
            $ref: '#/components/schemas/ResponseImageGenerationCallGeneratingEvent'
          response.image_generation_call.completed:
            $ref: '#/components/schemas/ResponseImageGenerationCallCompletedEvent'
          response.image_generation_call.partial_image:
            $ref: '#/components/schemas/ResponseImageGenerationCallPartialImageEvent'
          response.mcp_call_arguments.delta:
            $ref: '#/components/schemas/ResponseMCPCallArgumentsDeltaEvent'
          response.mcp_call_arguments.done:
            $ref: '#/components/schemas/ResponseMCPCallArgumentsDoneEvent'
          response.mcp_call.in_progress:
            $ref: '#/components/schemas/ResponseMCPCallInProgressEvent'
          response.mcp_call.completed:
            $ref: '#/components/schemas/ResponseMCPCallCompletedEvent'
          response.mcp_call.failed:
            $ref: '#/components/schemas/ResponseMCPCallFailedEvent'
          response.mcp_list_tools.in_progress:
            $ref: '#/components/schemas/ResponseMCPListToolsInProgressEvent'
          response.mcp_list_tools.completed:
            $ref: '#/components/schemas/ResponseMCPListToolsCompletedEvent'
          response.mcp_list_tools.failed:
            $ref: '#/components/schemas/ResponseMCPListToolsFailedEvent'
          response.read_file_call.in_progress:
            $ref: '#/components/schemas/ResponseReadFileCallInProgressEvent'
          response.read_file_call.reading:
            $ref: '#/components/schemas/ResponseReadFileCallReadingEvent'
          response.read_file_call.completed:
            $ref: '#/components/schemas/ResponseReadFileCallCompletedEvent'
          response.code_interpreter_call.in_progress:
            $ref: '#/components/schemas/ResponseCodeInterpreterCallInProgressEvent'
          response.code_interpreter_call.interpreting:
            $ref: '#/components/schemas/ResponseCodeInterpreterCallInterpretingEvent'
          response.code_interpreter_call.completed:
            $ref: '#/components/schemas/ResponseCodeInterpreterCallCompletedEvent'
          response.code_interpreter_call_code.delta:
            $ref: '#/components/schemas/ResponseCodeInterpreterCallCodeDeltaEvent'
          response.code_interpreter_call_code.done:
            $ref: '#/components/schemas/ResponseCodeInterpreterCallCodeDoneEvent'
          response.shell_call.in_progress:
            $ref: '#/components/schemas/ResponseShellCallInProgressEvent'
          response.shell_call.executing:
            $ref: '#/components/schemas/ResponseShellCallExecutingEvent'
          response.shell_call.completed:
            $ref: '#/components/schemas/ResponseShellCallCompletedEvent'
          response.custom_tool_call_input.delta:
            $ref: '#/components/schemas/ResponseCustomToolCallInputDeltaEvent'
          response.custom_tool_call_input.done:
            $ref: '#/components/schemas/ResponseCustomToolCallInputDoneEvent'
          response.output_text.annotation.added:
            $ref: '#/components/schemas/ResponseOutputTextAnnotationAddedEvent'
          error:
            $ref: '#/components/schemas/ErrorEvent'
    Item:
      anyOf:
        - $ref: '#/components/schemas/InputMessage'
        - $ref: '#/components/schemas/OutputMessage'
        - $ref: '#/components/schemas/OutputAudioItem'
        - $ref: '#/components/schemas/FileSearchToolCall'
        - $ref: '#/components/schemas/ComputerToolCall'
        - $ref: '#/components/schemas/ComputerToolCallOutput'
        - $ref: '#/components/schemas/WebSearchToolCall'
        - $ref: '#/components/schemas/FunctionToolCall'
        - $ref: '#/components/schemas/FunctionToolCallOutput'
        - $ref: '#/components/schemas/Reasoning'
        - $ref: '#/components/schemas/ImageGenerationCall'
        - $ref: '#/components/schemas/CodeInterpreterToolCall'
        - $ref: '#/components/schemas/LocalShellCall'
        - $ref: '#/components/schemas/LocalShellCallOutput'
        - $ref: '#/components/schemas/ShellCall'
        - $ref: '#/components/schemas/ShellCallOutput'
        - $ref: '#/components/schemas/MCPListTools'
        - $ref: '#/components/schemas/MCPApprovalRequest'
        - $ref: '#/components/schemas/MCPApprovalResponse'
        - $ref: '#/components/schemas/MCPToolCall'
        - $ref: '#/components/schemas/CustomToolCall'
        - $ref: '#/components/schemas/CustomToolCallOutput'
        - $ref: '#/components/schemas/ItemReference'
        - $ref: '#/components/schemas/ResponseCompactionItem'
    Conversation:
      type: object
      properties:
        id:
          type: string
      required:
        - id
    PromptTemplate:
      type: object
      properties:
        id:
          type: string
        variables:
          type: object
          propertyNames:
            type: string
          additionalProperties:
            anyOf:
              - type: string
              - {}
        version:
          type: string
      required:
        - id
    TextConfiguration:
      type: object
      properties:
        format:
          $ref: '#/components/schemas/ResponseFormat'
        verbosity:
          enum:
            - low
            - medium
            - high
          type: string
          default: medium
      required:
        - format
    FunctionToolDefinition:
      type: object
      properties:
        type:
          const: function
        name:
          type: string
        parameters:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
        strict:
          type: boolean
        description:
          type: string
        defer_loading:
          type: boolean
      required:
        - type
        - name
        - parameters
        - strict
      title: Function tool definition
      description: >-
        Definição da ferramenta de função: Define uma ferramenta de função
        chamável. Forneça um nome de ferramenta e um esquema de parâmetros, com
        descrição opcional e carregamento diferido.
    FileSearchToolDefinition:
      type: object
      properties:
        type:
          const: file_search
        vector_store_ids:
          type: array
          items:
            type: string
        filters:
          anyOf:
            - $ref: '#/components/schemas/ComparisonFilter'
            - $ref: '#/components/schemas/CompoundFilter'
        max_num_results:
          type: integer
          minimum: 1
          maximum: 50
        ranking_options:
          $ref: '#/components/schemas/RankingOptions'
      required:
        - type
        - vector_store_ids
      title: File search tool definition
      description: >-
        Definição da ferramenta de busca de arquivos: Configura a busca
        semântica em um ou mais armazenamentos vetoriais, com filtros opcionais,
        opções de classificação e limites de resultados.
    ComputerUseToolDefinition:
      type: object
      properties:
        type:
          const: computer_use_preview
        display_height:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        display_width:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        environment:
          type: string
      required:
        - type
        - display_height
        - display_width
        - environment
      title: Computer use tool definition
      description: >-
        Definição da ferramenta de uso de computador: Configura a ferramenta de
        prévia de uso do computador, incluindo dimensões de exibição necessárias
        e ambiente de execução.
    WebSearchToolDefinition:
      type: object
      properties:
        type:
          enum:
            - web_search
            - web_search_2025_08_26
          type: string
        filters:
          $ref: '#/components/schemas/WebSearchFilters'
        search_context_size:
          enum:
            - low
            - medium
            - high
          type: string
          default: medium
        user_location:
          $ref: '#/components/schemas/UserLocation'
      required:
        - type
      title: Web search tool definition
      description: >-
        Definição da ferramenta de busca na web: Permite busca na web com
        filtros de domínio opcionais, tamanho do contexto de busca e localização
        aproximada do usuário.
    MCPToolDefinition:
      type: object
      properties:
        type:
          const: mcp
        server_label:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[A-Za-z0-9._-]+$
        mcp_server_id:
          type: string
          description: >-
            Referência a um servidor MCP gerenciado por um gateway. Quando
            fornecido, server_url é resolvido a partir do cofre MCP.
        mcp_credential_id:
          type: string
          description: >-
            Referência opcional a uma credencial MCP gerenciada por gateway, de
            propriedade do chamador da execução.
        allowed_tools:
          anyOf:
            - type: array
              items:
                type: string
            - $ref: '#/components/schemas/MCPToolFilter'
        authorization:
          type: string
        connector_id:
          enum:
            - connector_dropbox
            - connector_gmail
            - connector_googlecalendar
            - connector_googledrive
            - connector_microsoftteams
            - connector_outlookcalendar
            - connector_outlookemail
            - connector_sharepoint
          type: string
        headers:
          type: object
          propertyNames:
            type: string
            minLength: 1
            maxLength: 256
            pattern: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$
          additionalProperties:
            type: string
            minLength: 1
            maxLength: 8192
            pattern: ^[^\r\n]*$
        require_approval:
          anyOf:
            - const: always
            - const: never
            - $ref: '#/components/schemas/MCPToolApprovalFilter'
        server_description:
          type: string
        server_url:
          type: string
      required:
        - type
      title: MCP tool definition
      description: >-
        Definição da ferramenta MCP: Conecta-se a um servidor MCP e expõe suas
        ferramentas, com referências de cofre opcionais, autenticação,
        cabeçalhos, listas de permissão, ID do conector e política de aprovação.
    CodeInterpreterToolDefinition:
      type: object
      properties:
        type:
          const: code_interpreter
        container:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/CodeInterpreterContainerAuto'
      required:
        - type
        - container
      title: Code interpreter tool definition
      description: >-
        Definição da ferramenta de interpretador de código: Permite a execução
        de código. Forneça um ID de contêiner explícito ou configuração
        automática de contêiner com IDs de arquivos opcionais e limite de
        memória.
    ImageGenerationToolDefinition:
      type: object
      properties:
        type:
          const: image_generation
        background:
          enum:
            - transparent
            - opaque
            - auto
          type: string
          default: auto
        input_fidelity:
          enum:
            - high
            - low
          type: string
          default: low
        input_image_mask:
          $ref: '#/components/schemas/InputImageMask'
        model:
          type: string
          minLength: 1
          default: auto
          description: >-
            O modelo a ser utilizado para geração de imagem. O padrão é 'auto'
            para seleção automática de modelo.
        moderation:
          enum:
            - auto
            - low
            - none
          type: string
          default: auto
        output_compression:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          default: 100
        output_format:
          enum:
            - png
            - webp
            - jpeg
          type: string
          default: png
        partial_images:
          type: integer
          minimum: 0
          maximum: 3
          default: 0
        quality:
          enum:
            - low
            - medium
            - high
            - auto
          type: string
          default: auto
        size:
          enum:
            - 1024x1024
            - 1024x1536
            - 1536x1024
            - auto
          type: string
          default: auto
        prompt_guard:
          type: string
          description: >-
            Adiciona uma proteção para evitar que o modelo gere conteúdo que não
            é permitido.
      required:
        - type
      title: Image generation tool definition
      description: >-
        Definição da ferramenta de geração de imagem: Permite a geração de
        imagens e configura as configurações de saída, como modelo, qualidade,
        tamanho, formato, moderação e mascaramento opcional.
    LocalShellToolDefinition:
      type: object
      properties:
        type:
          const: local_shell
      required:
        - type
      title: Local shell tool definition
      description: >-
        Definição da ferramenta de shell local: Habilita a ferramenta de
        execução do shell local.
    ShellToolDefinition:
      type: object
      properties:
        type:
          const: shell
        environment:
          $ref: '#/components/schemas/ShellEnvironment'
          description: Configuração do ambiente do contêiner. Padrões para container_auto.
      required:
        - type
      title: Shell tool definition
      description: >-
        Definição da ferramenta shell: Permite a execução de comandos shell em
        um ambiente de contêiner gerenciado.
    CustomToolDefinition:
      type: object
      properties:
        type:
          const: custom
        name:
          type: string
        description:
          type: string
        format:
          $ref: '#/components/schemas/CustomToolFormat'
      required:
        - type
        - name
      title: Custom tool definition
      description: >-
        Definição de ferramenta personalizada: Define uma ferramenta
        personalizada pelo nome, com descrição opcional e restrições de formato
        de saída opcionais.
    WebSearchPreviewToolDefinition:
      type: object
      properties:
        type:
          enum:
            - web_search_preview
            - web_search_preview_2025_03_11
          type: string
        search_context_size:
          enum:
            - low
            - medium
            - high
          type: string
        user_location:
          $ref: '#/components/schemas/UserLocation'
      required:
        - type
      title: Web search preview tool definition
      description: >-
        Definição da ferramenta de visualização de pesquisa na web: Habilita a
        variante da ferramenta de visualização de pesquisa na web com tamanho de
        contexto opcional e localização do usuário.
    HostedToolDefinition:
      type: object
      properties:
        type:
          enum:
            - file_search
            - web_search_preview
            - computer_use_preview
            - code_interpreter
            - image_generation
          type: string
      required:
        - type
      title: Hosted tool definition
      description: >-
        Definição de ferramenta hospedada: Seletor de ferramenta hospedada
        abreviado para tipos de ferramentas integradas. Esta é uma forma de
        compatibilidade que se sobrepõe aos esquemas detalhados por ferramenta.
    SleepToolDefinition:
      type: object
      properties:
        type:
          const: sleep
      required:
        - type
      title: Sleep tool definition
      description: >-
        Definição da ferramenta de sono: Permite que um agente pause brevemente
        a resposta atual e retome mais tarde ou quando for despertado.
    HistoryToolDefinition:
      type: object
      properties:
        type:
          const: history
      required:
        - type
      title: History tool definition
      description: >-
        Definição da ferramenta de histórico: Habilita a ferramenta de
        recuperação do histórico de conversas internas para pesquisa semântica
        de interações passadas.
    ToolChoice:
      anyOf:
        - $ref: '#/components/schemas/ToolChoiceMode'
        - $ref: '#/components/schemas/AllowedTools'
        - $ref: '#/components/schemas/HostedToolChoice'
        - $ref: '#/components/schemas/FunctionToolChoice'
        - $ref: '#/components/schemas/MCPToolChoice'
        - $ref: '#/components/schemas/CustomToolChoice'
    ReasoningConfiguration:
      type: object
      properties:
        effort:
          anyOf:
            - enum:
                - none
                - minimal
                - low
                - medium
                - high
                - xhigh
              type: string
            - type: 'null'
        summary:
          anyOf:
            - enum:
                - auto
                - concise
                - detailed
              type: string
            - type: 'null'
      required:
        - effort
        - summary
    ContextManagement:
      type: array
      maxItems: 1
      items:
        $ref: '#/components/schemas/CompactionContextManagement'
      description: >-
        Conjunto de estratégias de gerenciamento de contexto a serem aplicadas
        durante a geração de respostas.
    ResponseStatus:
      enum:
        - completed
        - failed
        - in_progress
        - cancelled
        - queued
        - incomplete
      type: string
      description: >-
        O status geral da geração de resposta. 'completo' significa finalizado
        com sucesso, 'falhou' significa que ocorreu um erro, 'em_andamento'
        significa atualmente em processamento, 'cancelado' significa cancelado
        pelo usuário, 'na_fila' significa esperando para começar, 'incompleto'
        significa conclusão parcial.
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
    IncompleteDetails:
      type: object
      properties:
        type:
          type: string
        reason:
          type: string
      required:
        - reason
    ComparisonFilter:
      type: object
      properties:
        type:
          enum:
            - eq
            - ne
            - gt
            - gte
            - lt
            - lte
          type: string
        key:
          type: string
        value:
          anyOf:
            - type: string
            - type: number
            - type: boolean
      required:
        - type
        - key
        - value
    RankingOptions:
      type: object
      properties:
        ranker:
          type: string
        score_threshold:
          type: number
    CompactionContextManagement:
      type: object
      properties:
        type:
          const: compaction
        compact_threshold:
          type: integer
          minimum: 1000
          maximum: 9007199254740991
          description: >-
            O limite de tokens acima do qual o contexto da conversa deve ser
            compactado. Deve ser pelo menos 1000.
      required:
        - type
        - compact_threshold
    Usage:
      type: object
      properties:
        input_tokens:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        input_tokens_details:
          $ref: '#/components/schemas/InputTokensDetails'
        output_tokens:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        output_tokens_details:
          $ref: '#/components/schemas/OutputTokensDetails'
        total_tokens:
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - input_tokens
        - input_tokens_details
        - output_tokens
        - output_tokens_details
        - total_tokens
    ResponseCreatedEvent:
      type: object
      properties:
        type:
          const: response.created
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        response:
          $ref: '#/components/schemas/ResponseObject'
      required:
        - type
        - sequence_number
        - response
    ResponseInProgressEvent:
      type: object
      properties:
        type:
          const: response.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        response:
          $ref: '#/components/schemas/ResponseObject'
      required:
        - type
        - sequence_number
        - response
    ResponseCompletedEvent:
      type: object
      properties:
        type:
          const: response.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        response:
          $ref: '#/components/schemas/ResponseObject'
      required:
        - type
        - sequence_number
        - response
    ResponseFailedEvent:
      type: object
      properties:
        type:
          const: response.failed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        response:
          $ref: '#/components/schemas/ResponseObject'
      required:
        - type
        - sequence_number
        - response
    ResponseIncompleteEvent:
      type: object
      properties:
        type:
          const: response.incomplete
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        response:
          $ref: '#/components/schemas/ResponseObject'
      required:
        - type
        - sequence_number
        - response
    ResponseQueuedEvent:
      type: object
      properties:
        type:
          const: response.queued
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        response:
          $ref: '#/components/schemas/ResponseObject'
      required:
        - type
        - sequence_number
        - response
    ResponseCancelledEvent:
      type: object
      properties:
        type:
          const: response.cancelled
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        response:
          $ref: '#/components/schemas/ResponseObject'
      required:
        - type
        - sequence_number
        - response
    ResponseOutputItemAddedEvent:
      type: object
      properties:
        type:
          const: response.output_item.added
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item:
          $ref: '#/components/schemas/Item'
      required:
        - type
        - sequence_number
        - output_index
        - item
    ResponseOutputItemDoneEvent:
      type: object
      properties:
        type:
          const: response.output_item.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item:
          $ref: '#/components/schemas/Item'
      required:
        - type
        - sequence_number
        - output_index
        - item
    ResponseContentPartAddedEvent:
      type: object
      properties:
        type:
          const: response.content_part.added
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        part:
          anyOf:
            - $ref: '#/components/schemas/OutputText'
            - $ref: '#/components/schemas/Refusal'
            - $ref: '#/components/schemas/ReasoningText'
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - part
    ResponseContentPartDoneEvent:
      type: object
      properties:
        type:
          const: response.content_part.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        part:
          anyOf:
            - $ref: '#/components/schemas/OutputText'
            - $ref: '#/components/schemas/Refusal'
            - $ref: '#/components/schemas/ReasoningText'
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - part
    ResponseOutputTextDeltaEvent:
      type: object
      properties:
        type:
          const: response.output_text.delta
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        delta:
          type: string
        logprobs:
          type: array
          items:
            $ref: '#/components/schemas/LogProbToken'
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - delta
    ResponseOutputTextDoneEvent:
      type: object
      properties:
        type:
          const: response.output_text.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        text:
          type: string
        logprobs:
          type: array
          items:
            $ref: '#/components/schemas/LogProbToken'
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - text
    ResponseRefusalDeltaEvent:
      type: object
      properties:
        type:
          const: response.refusal.delta
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        delta:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - delta
    ResponseRefusalDoneEvent:
      type: object
      properties:
        type:
          const: response.refusal.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        refusal:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - refusal
    ResponseFunctionCallArgumentsDeltaEvent:
      type: object
      properties:
        type:
          const: response.function_call_arguments.delta
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        delta:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - delta
    ResponseFunctionCallArgumentsDoneEvent:
      type: object
      properties:
        type:
          const: response.function_call_arguments.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        name:
          type: string
        arguments:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - name
        - arguments
    ResponseFileSearchCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.file_search_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseFileSearchCallSearchingEvent:
      type: object
      properties:
        type:
          const: response.file_search_call.searching
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseFileSearchCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.file_search_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseWebSearchCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.web_search_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        args:
          type: object
          properties:
            query:
              type: string
            location:
              type: string
            language:
              type: string
            country:
              type: string
          required:
            - query
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseWebSearchCallSearchingEvent:
      type: object
      properties:
        type:
          const: response.web_search_call.searching
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseWebSearchCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.web_search_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        function_call_output:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseHistoryCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.history_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        args:
          type: object
          properties:
            query:
              type: string
          required:
            - query
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseHistoryCallSearchingEvent:
      type: object
      properties:
        type:
          const: response.history_call.searching
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseHistoryCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.history_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        function_call_output:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseSleepCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.sleep_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        args:
          type: object
          properties:
            duration_seconds:
              type: integer
              minimum: 1
              maximum: 1200
            wake_at:
              type: string
            reason:
              type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseSleepCallSleepingEvent:
      type: object
      properties:
        type:
          const: response.sleep_call.sleeping
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        wake_at:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseSleepCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.sleep_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        function_call_output:
          type: string
        status:
          enum:
            - woke
            - interrupted
            - cancelled
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseToolSearchCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.tool_search_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        args:
          type: object
          properties:
            query:
              type: string
            max_results:
              type: number
          required:
            - query
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseToolSearchCallSearchingEvent:
      type: object
      properties:
        type:
          const: response.tool_search_call.searching
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseToolSearchCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.tool_search_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        function_call_output:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseReasoningSummaryPartAddedEvent:
      type: object
      properties:
        type:
          const: response.reasoning_summary_part.added
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        summary_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        part:
          $ref: '#/components/schemas/SummaryText'
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - summary_index
        - part
    ResponseReasoningSummaryPartDoneEvent:
      type: object
      properties:
        type:
          const: response.reasoning_summary_part.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        summary_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        part:
          $ref: '#/components/schemas/SummaryText'
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - summary_index
        - part
    ResponseReasoningSummaryTextDeltaEvent:
      type: object
      properties:
        type:
          const: response.reasoning_summary_text.delta
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        summary_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        delta:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - summary_index
        - delta
    ResponseReasoningSummaryTextDoneEvent:
      type: object
      properties:
        type:
          const: response.reasoning_summary_text.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        summary_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        text:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - summary_index
        - text
    ResponseReasoningTextDeltaEvent:
      type: object
      properties:
        type:
          const: response.reasoning_text.delta
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        delta:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - delta
    ResponseReasoningTextDoneEvent:
      type: object
      properties:
        type:
          const: response.reasoning_text.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        text:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - text
    ResponseImageGenerationCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.image_generation_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        args:
          type: object
          properties:
            prompt:
              type: string
          required:
            - prompt
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseImageGenerationCallGeneratingEvent:
      type: object
      properties:
        type:
          const: response.image_generation_call.generating
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseImageGenerationCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.image_generation_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        function_call_output:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseImageGenerationCallPartialImageEvent:
      type: object
      properties:
        type:
          const: response.image_generation_call.partial_image
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        partial_image_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        partial_image_b64:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - partial_image_index
        - partial_image_b64
    ResponseMCPCallArgumentsDeltaEvent:
      type: object
      properties:
        type:
          const: response.mcp_call_arguments.delta
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        delta:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - delta
    ResponseMCPCallArgumentsDoneEvent:
      type: object
      properties:
        type:
          const: response.mcp_call_arguments.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        arguments:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - arguments
    ResponseMCPCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.mcp_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseMCPCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.mcp_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseMCPCallFailedEvent:
      type: object
      properties:
        type:
          const: response.mcp_call.failed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseMCPListToolsInProgressEvent:
      type: object
      properties:
        type:
          const: response.mcp_list_tools.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseMCPListToolsCompletedEvent:
      type: object
      properties:
        type:
          const: response.mcp_list_tools.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseMCPListToolsFailedEvent:
      type: object
      properties:
        type:
          const: response.mcp_list_tools.failed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseReadFileCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.read_file_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        args:
          type: object
          properties:
            file_id:
              type: string
          required:
            - file_id
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseReadFileCallReadingEvent:
      type: object
      properties:
        type:
          const: response.read_file_call.reading
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseReadFileCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.read_file_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        function_call_output:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseCodeInterpreterCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.code_interpreter_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseCodeInterpreterCallInterpretingEvent:
      type: object
      properties:
        type:
          const: response.code_interpreter_call.interpreting
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseCodeInterpreterCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.code_interpreter_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseCodeInterpreterCallCodeDeltaEvent:
      type: object
      properties:
        type:
          const: response.code_interpreter_call_code.delta
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        delta:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - delta
    ResponseCodeInterpreterCallCodeDoneEvent:
      type: object
      properties:
        type:
          const: response.code_interpreter_call_code.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        code:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - code
    ResponseShellCallInProgressEvent:
      type: object
      properties:
        type:
          const: response.shell_call.in_progress
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        args:
          type: object
          properties:
            command:
              type: string
            file_ids_to_upload:
              type: array
              items:
                type: object
                properties:
                  file_id:
                    type: string
                  dest_path:
                    type: string
                required:
                  - file_id
                  - dest_path
            file_names_to_upload:
              type: array
              items:
                type: object
                properties:
                  file_name:
                    type: string
                  dest_path:
                    type: string
                required:
                  - file_name
                  - dest_path
            file_paths_to_download:
              type: array
              items:
                type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseShellCallExecutingEvent:
      type: object
      properties:
        type:
          const: response.shell_call.executing
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseShellCallCompletedEvent:
      type: object
      properties:
        type:
          const: response.shell_call.completed
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        function_call_output:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
    ResponseCustomToolCallInputDeltaEvent:
      type: object
      properties:
        type:
          const: response.custom_tool_call_input.delta
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        delta:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - delta
    ResponseCustomToolCallInputDoneEvent:
      type: object
      properties:
        type:
          const: response.custom_tool_call_input.done
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        input:
          type: string
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - input
    ResponseOutputTextAnnotationAddedEvent:
      type: object
      properties:
        type:
          const: response.output_text.annotation.added
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        item_id:
          type: string
        output_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        content_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        annotation_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        annotation:
          type: object
          properties:
            type:
              type: string
            text:
              type: string
            start:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            end:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
          required:
            - type
            - text
            - start
            - end
      required:
        - type
        - sequence_number
        - item_id
        - output_index
        - content_index
        - annotation_index
        - annotation
    ErrorEvent:
      type: object
      properties:
        type:
          const: error
        sequence_number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        code:
          type: string
        message:
          type: string
        param:
          type: string
      required:
        - type
        - sequence_number
        - code
        - message
    InputMessage:
      type: object
      properties:
        type:
          const: message
          description: >-
            O identificador do tipo de item. Sempre 'mensagem' para itens de
            mensagem.
        role:
          enum:
            - user
            - assistant
            - system
            - developer
          type: string
          description: >-
            O papel do remetente da mensagem (usuário, assistente, sistema ou
            desenvolvedor).
        content:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/InputMessageContent'
          description: >-
            O conteúdo da mensagem. Pode ser uma simples string de texto ou um
            array de itens de conteúdo multimodal (texto, imagens, arquivos,
            áudio).
        status:
          $ref: '#/components/schemas/Status'
          description: >-
            O status de processamento desta mensagem. Opcional - indica se a
            mensagem está em_andamento, concluída ou incompleta.
        id:
          type: string
          default: msg_aa87e2b1112a455b8deabed784372198
      required:
        - role
        - content
      title: Input message item
      description: >-
        Item de mensagem de entrada: Uma mensagem com papel e conteúdo. Use isso
        para turnos de usuário, assistente, sistema ou desenvolvedor em entradas
        estruturadas.
    OutputMessage:
      type: object
      properties:
        type:
          const: message
          description: O identificador de tipo de item para saídas de mensagem.
        id:
          type: string
          description: O identificador exclusivo para esta mensagem de saída.
        role:
          const: assistant
          description: >-
            O papel do remetente da mensagem. Sempre 'assistente' para mensagens
            geradas pelo modelo.
        content:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/OutputText'
              - $ref: '#/components/schemas/Refusal'
          description: >-
            Matriz de itens de conteúdo na resposta do assistente. Pode conter
            saídas de texto ou mensagens de recusa.
        status:
          enum:
            - in_progress
            - completed
            - incomplete
          type: string
          description: >-
            O status de processamento desta mensagem (em_andamento, concluído ou
            incompleto).
        phase:
          enum:
            - commentary
            - final_answer
          type: string
          description: >-
            Rotula uma mensagem do assistente como comentário intermediário ou a
            resposta final.
      required:
        - type
        - id
        - role
        - content
        - status
      title: Output message item
      description: >-
        Item da mensagem de saída: Uma mensagem de assistente contendo conteúdo
        de texto gerado ou conteúdo de recusa.
    OutputAudioItem:
      type: object
      properties:
        type:
          const: output_audio
          description: O identificador de tipo de conteúdo para saída de áudio.
        data:
          type: string
          description: Dados de áudio codificados em Base64.
        transcript:
          type: string
          description: A transcrição do texto que foi sintetizada em áudio.
        id:
          type: string
          description: O identificador único para este item de áudio de saída.
        status:
          enum:
            - in_progress
            - completed
            - incomplete
          type: string
          description: O status de processamento deste item de áudio.
      required:
        - type
        - data
        - transcript
        - id
        - status
      title: Output audio item
      description: >-
        Item de áudio de saída: Conteúdo de áudio sintetizado a partir da
        resposta de texto do modelo via TTS.
    FileSearchToolCall:
      type: object
      properties:
        type:
          const: file_search_call
        id:
          type: string
        queries:
          type: array
          items:
            type: string
        status:
          enum:
            - in_progress
            - searching
            - completed
            - incomplete
            - failed
          type: string
        results:
          type: array
          items:
            $ref: '#/components/schemas/FileSearchResult'
      required:
        - type
        - id
        - queries
        - status
      title: File search call item
      description: >-
        Item de chamada de busca de arquivo: Um registro de chamada de
        ferramenta para busca semântica de arquivos, incluindo termos de
        consulta, status e resultados opcionais.
    ComputerToolCall:
      type: object
      properties:
        type:
          const: computer_call
        id:
          type: string
        call_id:
          type: string
        action:
          $ref: '#/components/schemas/ComputerAction'
        pending_safety_checks:
          type: array
          items:
            $ref: '#/components/schemas/PendingSafetyCheck'
        status:
          $ref: '#/components/schemas/Status'
      required:
        - type
        - id
        - call_id
        - action
        - pending_safety_checks
        - status
      title: Computer call item
      description: >-
        Item de chamada do computador: Um passo de chamada de ferramenta de uso
        de computador com a ação de interface do usuário selecionada e o estado
        de verificação de segurança.
    ComputerToolCallOutput:
      type: object
      properties:
        type:
          const: computer_call_output
        call_id:
          type: string
        output:
          $ref: '#/components/schemas/ComputerScreenshot'
        acknowledged_safety_checks:
          type: array
          items:
            $ref: '#/components/schemas/AcknowledgedSafetyCheck'
        id:
          type: string
        status:
          $ref: '#/components/schemas/Status'
      required:
        - type
        - call_id
        - output
      title: Computer call output item
      description: >-
        Item de saída de chamada de computador: Saída emitida por uma chamada de
        ferramenta de uso de computador, geralmente incluindo dados de captura
        de tela.
    WebSearchToolCall:
      type: object
      properties:
        type:
          const: web_search_call
        id:
          type: string
        action:
          $ref: '#/components/schemas/WebSearchAction'
        status:
          type: string
      required:
        - type
        - id
        - action
        - status
      title: Web search call item
      description: >-
        Item de chamada de pesquisa na web: Um registro de chamada de ferramenta
        de pesquisa na web contendo a ação executada e o status.
    FunctionToolCall:
      type: object
      properties:
        type:
          const: function_call
        arguments:
          type: string
        call_id:
          type: string
        name:
          type: string
        id:
          type: string
        status:
          $ref: '#/components/schemas/Status'
      required:
        - type
        - arguments
        - call_id
        - name
      title: Function call item
      description: >-
        Item de chamada de função: Uma chamada para uma ferramenta de função,
        incluindo o nome da função e argumentos em formato de string JSON.
    FunctionToolCallOutput:
      type: object
      properties:
        type:
          const: function_call_output
        call_id:
          type: string
        output:
          type: string
        id:
          type: string
        status:
          $ref: '#/components/schemas/Status'
      required:
        - type
        - call_id
        - output
      title: Function call output item
      description: >-
        Item de saída de chamada de função: O payload de saída retornado de uma
        chamada de ferramenta de função.
    Reasoning:
      type: object
      properties:
        type:
          const: reasoning
        id:
          type: string
        summary:
          type: array
          items:
            $ref: '#/components/schemas/SummaryText'
        content:
          type: array
          items:
            $ref: '#/components/schemas/ReasoningText'
        encrypted_content:
          anyOf:
            - type: string
            - type: 'null'
        status:
          anyOf:
            - $ref: '#/components/schemas/Status'
            - type: 'null'
      required:
        - type
        - id
        - summary
      title: Reasoning item
      description: >-
        Item de raciocínio: Metadados de raciocínio do modelo, incluindo texto
        resumido e conteúdo de raciocínio detalhado opcional.
    ImageGenerationCall:
      type: object
      properties:
        type:
          const: image_generation_call
        id:
          type: string
        status:
          type: string
        result:
          type: string
        background:
          type: string
        output_format:
          type: string
        quality:
          type: string
        size:
          type: string
        revised_prompt:
          type: string
      required:
        - type
        - id
        - status
        - result
      title: Image generation call item
      description: >-
        Item de chamada para geração de imagem: Um registro de chamada de
        ferramenta para geração de imagem, incluindo status e URL do resultado.
    CodeInterpreterToolCall:
      type: object
      properties:
        type:
          const: code_interpreter_call
        id:
          type: string
        code:
          anyOf:
            - type: string
            - type: 'null'
        container_id:
          type: string
        outputs:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/CodeInterpreterOutput'
            - type: 'null'
        status:
          enum:
            - in_progress
            - completed
            - incomplete
            - interpreting
            - failed
          type: string
      required:
        - type
        - id
        - code
        - container_id
        - outputs
        - status
      title: Code interpreter call item
      description: >-
        Item de chamada do interpretador de código: um registro de chamada de
        ferramenta para execução de código, incluindo código, contêiner, saídas
        e status.
    LocalShellCall:
      type: object
      properties:
        type:
          const: local_shell_call
        id:
          type: string
        call_id:
          type: string
        action:
          $ref: '#/components/schemas/LocalShellAction'
        status:
          type: string
      required:
        - type
        - id
        - call_id
        - action
        - status
      title: Local shell call item
      description: >-
        Item de chamada de shell local: Um pedido de execução de shell local com
        detalhes do comando e status de execução.
    LocalShellCallOutput:
      type: object
      properties:
        type:
          const: local_shell_call_output
        id:
          type: string
        output:
          type: string
        status:
          $ref: '#/components/schemas/Status'
      required:
        - type
        - id
        - output
      title: Local shell call output item
      description: >-
        Item de saída da chamada do shell local: O payload de saída capturado
        retornado por uma chamada de ferramenta de shell local.
    ShellCall:
      type: object
      properties:
        type:
          const: shell_call
        id:
          type: string
        call_id:
          type: string
        action:
          $ref: '#/components/schemas/ShellCallAction'
        status:
          enum:
            - in_progress
            - completed
            - incomplete
          type: string
      required:
        - type
        - id
        - call_id
        - action
        - status
      title: Shell call item
      description: >-
        Item de chamada de shell: Um pedido de execução de shell em contêiner
        hospedado com um comando e status.
    ShellCallOutput:
      type: object
      properties:
        type:
          const: shell_call_output
        id:
          type: string
        call_id:
          type: string
        output:
          type: object
          properties:
            stdout:
              type: string
              description: Saída padrão do comando.
            stderr:
              type: string
              description: Erro padrão do comando.
            outcome:
              type: object
              properties:
                type:
                  enum:
                    - exit
                    - timeout
                  type: string
                  description: Se o comando saiu normalmente ou expirou.
                exit_code:
                  anyOf:
                    - type: integer
                      minimum: -9007199254740991
                      maximum: 9007199254740991
                    - type: 'null'
                  description: Código de saída do comando, ou nulo se houver timeout.
              required:
                - type
                - exit_code
          required:
            - stdout
            - stderr
            - outcome
          description: Resultado do comando executado.
        status:
          $ref: '#/components/schemas/Status'
      required:
        - type
        - id
        - call_id
        - output
      title: Shell call output item
      description: >-
        Saída do item de chamada do shell: A saída capturada de uma chamada da
        ferramenta de shell em um contêiner hospedado.
    MCPListTools:
      type: object
      properties:
        type:
          const: mcp_list_tools
        id:
          type: string
        server_label:
          type: string
        tools:
          type: array
          items:
            $ref: '#/components/schemas/MCPTool'
        error:
          type: string
      required:
        - type
        - id
        - server_label
        - tools
      title: MCP list tools item
      description: >-
        Item de ferramentas da lista MCP: Resultado da descoberta de ferramentas
        disponíveis em um servidor MCP.
    MCPApprovalRequest:
      type: object
      properties:
        type:
          const: mcp_approval_request
        id:
          type: string
        arguments:
          type: string
        name:
          type: string
        server_label:
          type: string
      required:
        - type
        - id
        - arguments
        - name
        - server_label
      title: MCP approval request item
      description: >-
        Item de solicitação de aprovação do MCP: Uma solicitação para aprovar ou
        negar a execução de uma chamada de ferramenta MCP.
    MCPApprovalResponse:
      type: object
      properties:
        type:
          const: mcp_approval_response
        approval_request_id:
          type: string
        approve:
          type: boolean
        id:
          type: string
        reason:
          type: string
          maxLength: 2000
      required:
        - type
        - approval_request_id
        - approve
      title: MCP approval response item
      description: >-
        Item de resposta à aprovação do MCP: A carga útil da decisão para um
        pedido de aprovação do MCP anterior.
    MCPToolCall:
      type: object
      properties:
        type:
          const: mcp_call
        id:
          type: string
        approval_request_id:
          anyOf:
            - type: string
            - type: 'null'
        arguments:
          type: string
        name:
          type: string
        server_label:
          type: string
        error:
          type: string
        output:
          type: string
      required:
        - type
        - id
        - arguments
        - name
        - server_label
      title: MCP call item
      description: >-
        Item de chamada MCP: Um registro de chamada direta para uma ferramenta
        MCP, incluindo argumentos de solicitação e saída/erro opcional.
    CustomToolCall:
      type: object
      properties:
        type:
          const: custom_tool_call
        call_id:
          type: string
        input:
          type: string
        name:
          type: string
        id:
          type: string
      required:
        - type
        - call_id
        - input
        - name
      title: Custom tool call item
      description: >-
        Item de chamada de ferramenta personalizada: Um registro de chamada para
        uma ferramenta personalizada com carga de entrada e nome da ferramenta.
    CustomToolCallOutput:
      type: object
      properties:
        type:
          const: custom_tool_call_output
        call_id:
          type: string
        output:
          type: string
        id:
          type: string
      required:
        - type
        - call_id
        - output
      title: Custom tool call output item
      description: >-
        Item de saída da chamada de ferramenta personalizada: A carga útil de
        saída retornada por uma chamada de ferramenta personalizada.
    ItemReference:
      type: object
      properties:
        type:
          const: item_reference
          default: item_reference
        id:
          type: string
      required:
        - id
      title: Item reference item
      description: 'Referência do item: Um ponteiro para outro item de resposta por ID.'
    ResponseCompactionItem:
      type: object
      properties:
        type:
          const: compaction
        id:
          type: string
        content:
          type: string
          description: O conteúdo da conversa compactado/resumido.
        encrypted_content:
          type: string
          description: >-
            Conteúdo criptografado opcional para compatibilidade com a API da
            OpenAI.
        created_by:
          type: string
          description: O modelo que criou essa compactação.
      required:
        - type
        - id
        - content
      title: Compaction item
      description: >-
        Item de compactação: Um resumo condensado do histórico de conversas
        anteriores para reduzir o tamanho do contexto.
    ResponseFormat:
      anyOf:
        - $ref: '#/components/schemas/TextResponseFormat'
        - $ref: '#/components/schemas/JSONSchemaResponseFormat'
        - $ref: '#/components/schemas/JSONObjectResponseFormat'
    CompoundFilter:
      type: object
      properties:
        type:
          enum:
            - and
            - or
          type: string
        filters:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/ComparisonFilter'
              - $ref: '#/components/schemas/CompoundFilter'
      required:
        - type
        - filters
    WebSearchFilters:
      type: object
      properties:
        allowed_domains:
          type: array
          items:
            type: string
          default: []
    UserLocation:
      type: object
      properties:
        type:
          const: approximate
          default: approximate
        city:
          type: string
        country:
          type: string
        region:
          type: string
        timezone:
          type: string
    MCPToolFilter:
      type: object
      properties:
        read_only:
          type: boolean
        tool_names:
          type: array
          items:
            type: string
    MCPToolApprovalFilter:
      type: object
      properties:
        always:
          $ref: '#/components/schemas/MCPToolFilter'
        never:
          $ref: '#/components/schemas/MCPToolFilter'
    CodeInterpreterContainerAuto:
      type: object
      properties:
        type:
          const: auto
        file_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
        memory_limit:
          anyOf:
            - enum:
                - 1g
                - 4g
                - 16g
                - 64g
              type: string
            - type: 'null'
      required:
        - type
    InputImageMask:
      type: object
      properties:
        file_id:
          type: string
        image_url:
          type: string
    ShellEnvironment:
      anyOf:
        - $ref: '#/components/schemas/ShellEnvironmentContainerAuto'
        - $ref: '#/components/schemas/ShellEnvironmentContainerReference'
      discriminator:
        propertyName: type
        mapping:
          container_auto:
            $ref: '#/components/schemas/ShellEnvironmentContainerAuto'
          container_reference:
            $ref: '#/components/schemas/ShellEnvironmentContainerReference'
    CustomToolFormat:
      anyOf:
        - $ref: '#/components/schemas/TextFormat'
        - $ref: '#/components/schemas/GrammarFormat'
    ToolChoiceMode:
      enum:
        - none
        - auto
        - required
      type: string
      title: Tool choice mode
      description: >-
        Modo de escolha de ferramenta: Seleciona como o modelo decide o uso das
        ferramentas. Use nenhum, automático ou necessário.
    AllowedTools:
      type: object
      properties:
        type:
          const: allowed_tools
        mode:
          enum:
            - auto
            - required
          type: string
        tools:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              name:
                type: string
              server_label:
                type: string
            required:
              - type
      required:
        - type
        - mode
        - tools
      title: Allowed tools tool choice
      description: >-
        Ferramentas permitidas na escolha de ferramentas: Restringe o uso de
        ferramentas a uma lista fornecida e define se o uso da ferramenta é
        opcional (automático) ou obrigatório (requerido).
    HostedToolChoice:
      type: object
      properties:
        type:
          enum:
            - file_search
            - web_search_preview
            - computer_use_preview
            - code_interpreter
            - image_generation
          type: string
      required:
        - type
      title: Hosted tool choice
      description: >-
        Escolha de ferramenta hospedada: Força um tipo específico de ferramenta
        hospedada embutida.
    FunctionToolChoice:
      type: object
      properties:
        type:
          const: function
        name:
          type: string
      required:
        - type
        - name
      title: Function tool choice
      description: >-
        Escolha de ferramenta de função: Força uma ferramenta de função
        específica pelo nome.
    MCPToolChoice:
      type: object
      properties:
        type:
          const: mcp
        server_label:
          type: string
        name:
          type: string
      required:
        - type
        - server_label
      title: MCP tool choice
      description: >-
        Escolha da ferramenta MCP: Força um servidor MCP, opcionalmente restrito
        a um nome específico de ferramenta MCP.
    CustomToolChoice:
      type: object
      properties:
        type:
          const: custom
        name:
          type: string
      required:
        - type
        - name
      title: Custom tool choice
      description: >-
        Escolha de ferramenta personalizada: Força uma ferramenta personalizada
        específica pelo nome.
    InputTokensDetails:
      type: object
      properties:
        cached_tokens:
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - cached_tokens
    OutputTokensDetails:
      type: object
      properties:
        reasoning_tokens:
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - reasoning_tokens
    OutputText:
      type: object
      properties:
        type:
          const: output_text
          description: O identificador de tipo de conteúdo para saída de texto.
        text:
          type: string
          description: O conteúdo de texto gerado pelo modelo.
        annotations:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/FileCitation'
              - $ref: '#/components/schemas/URLCitation'
              - $ref: '#/components/schemas/ContainerFileCitation'
              - $ref: '#/components/schemas/FilePath'
          default: []
          description: >-
            Conjunto de anotações fornecendo citações e referências para o
            texto. Usado para atribuir fontes e referenciar arquivos mencionados
            na saída.
        logprobs:
          type: array
          items:
            $ref: '#/components/schemas/LogProb'
      required:
        - type
        - text
      description: >-
        Conteúdo de texto gerado pelo modelo com anotações opcionais para
        citações e referências de arquivo.
    Refusal:
      type: object
      properties:
        type:
          const: refusal
          description: O identificador de tipo de conteúdo para respostas de recusa.
        refusal:
          type: string
          description: >-
            A mensagem de recusa explicando por que o modelo se recusou a
            responder à solicitação.
      required:
        - type
        - refusal
      description: >-
        Resposta de recusa quando o modelo se recusa a responder devido a
        políticas de segurança, moderação de conteúdo ou limitações de
        capacidade.
    ReasoningText:
      type: object
      properties:
        type:
          const: reasoning_text
        text:
          type: string
      required:
        - type
        - text
    LogProbToken:
      type: object
      properties:
        token:
          type: string
        logprob:
          type: number
        bytes:
          type: array
          items:
            type: number
      required:
        - token
        - logprob
    SummaryText:
      type: object
      properties:
        type:
          const: summary_text
        text:
          type: string
      required:
        - type
        - text
    InputMessageContent:
      type: array
      items:
        anyOf:
          - type: string
          - $ref: '#/components/schemas/InputText'
          - $ref: '#/components/schemas/InputImage'
          - $ref: '#/components/schemas/InputFile'
          - $ref: '#/components/schemas/InputAudio'
          - $ref: '#/components/schemas/OutputText'
          - $ref: '#/components/schemas/Refusal'
      description: >-
        Array de itens de conteúdo para uma mensagem multimodal. Pode conter
        cadeias de texto, objetos de texto, imagens, arquivos, áudio ou blocos
        de texto de saída de turnos anteriores do assistente.
    Status:
      enum:
        - in_progress
        - completed
        - incomplete
      type: string
      description: >-
        O status de processamento de um item individual. 'em_andamento'
        significa atualmente em processamento, 'concluído' significa finalizado
        com sucesso, 'incompleto' significa que o processamento foi interrompido
        antes da conclusão.
    FileSearchResult:
      type: object
      properties:
        attributes:
          type: object
          propertyNames:
            type: string
          additionalProperties:
            anyOf:
              - type: string
              - type: boolean
              - type: number
        file_id:
          type: string
        filename:
          type: string
        score:
          type: number
        text:
          type: string
    ComputerAction:
      anyOf:
        - $ref: '#/components/schemas/ClickAction'
        - $ref: '#/components/schemas/DoubleClickAction'
        - $ref: '#/components/schemas/DragAction'
        - $ref: '#/components/schemas/KeyPressAction'
        - $ref: '#/components/schemas/MoveAction'
        - $ref: '#/components/schemas/ScreenshotAction'
        - $ref: '#/components/schemas/ScrollAction'
        - $ref: '#/components/schemas/TypeAction'
        - $ref: '#/components/schemas/WaitAction'
    PendingSafetyCheck:
      type: object
      properties:
        code:
          type: string
        id:
          type: string
        message:
          type: string
      required:
        - code
        - id
        - message
    ComputerScreenshot:
      type: object
      properties:
        type:
          const: computer_screenshot
        file_id:
          type: string
        image_url:
          type: string
      required:
        - type
    AcknowledgedSafetyCheck:
      type: object
      properties:
        id:
          type: string
        code:
          type: string
        message:
          type: string
      required:
        - id
    WebSearchAction:
      anyOf:
        - $ref: '#/components/schemas/SearchAction'
        - $ref: '#/components/schemas/OpenPageAction'
        - $ref: '#/components/schemas/FindAction'
    CodeInterpreterOutput:
      anyOf:
        - $ref: '#/components/schemas/CodeInterpreterOutputLogs'
        - $ref: '#/components/schemas/CodeInterpreterOutputImage'
    LocalShellAction:
      type: object
      properties:
        type:
          const: exec
        command:
          type: array
          items:
            type: string
        env:
          type: object
          propertyNames:
            type: string
          additionalProperties:
            type: string
        timeout_ms:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        user:
          type: string
        working_directory:
          type: string
      required:
        - type
        - command
        - env
    ShellCallAction:
      type: object
      properties:
        type:
          const: exec
        command:
          type: string
          description: Comando shell a ser executado.
        timeout_ms:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Tempo limite de comando em milissegundos.
        max_output_length:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Caracteres de saída máximos.
      required:
        - type
    MCPTool:
      type: object
      properties:
        name:
          type: string
        input_schema:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
        annotations:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
        description:
          type: string
      required:
        - name
        - input_schema
    TextResponseFormat:
      type: object
      properties:
        type:
          const: text
      required:
        - type
    JSONSchemaResponseFormat:
      type: object
      properties:
        type:
          const: json_schema
        name:
          type: string
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
        schema:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
        description:
          type: string
        strict:
          type: boolean
          default: false
      required:
        - type
        - name
        - schema
    JSONObjectResponseFormat:
      type: object
      properties:
        type:
          const: json_object
      required:
        - type
    ShellEnvironmentContainerAuto:
      type: object
      properties:
        type:
          const: container_auto
        network_policy:
          $ref: '#/components/schemas/ShellNetworkPolicy'
          description: Política de rede restringindo o acesso de saída.
        skills:
          type: array
          items:
            $ref: '#/components/schemas/SkillEntry'
          description: Habilidades para injetar no diretório /skills do contêiner.
        memory_stores:
          type: array
          items:
            $ref: '#/components/schemas/MemoryStoreMount'
          description: Memórias armazenadas para montar no contêiner em /mnt/memory.
      required:
        - type
    ShellEnvironmentContainerReference:
      type: object
      properties:
        type:
          const: container_reference
        container_id:
          type: string
          description: ID de um contêiner existente para reutilizar.
        network_policy:
          $ref: '#/components/schemas/ShellNetworkPolicy'
          description: Política de rede restringindo o acesso de saída.
        skills:
          type: array
          items:
            $ref: '#/components/schemas/SkillEntry'
          description: Habilidades para injetar no diretório /skills do contêiner.
        memory_stores:
          type: array
          items:
            $ref: '#/components/schemas/MemoryStoreMount'
          description: Memórias armazenadas para montar no contêiner em /mnt/memory.
      required:
        - type
        - container_id
    TextFormat:
      type: object
      properties:
        type:
          const: text
      required:
        - type
    GrammarFormat:
      type: object
      properties:
        type:
          const: grammar
        definition:
          type: string
        syntax:
          enum:
            - lark
            - regex
          type: string
      required:
        - type
        - definition
        - syntax
    FileCitation:
      type: object
      properties:
        type:
          const: file_citation
          description: O identificador do tipo de anotação para citações de arquivos.
        file_id:
          type: string
          description: A ID do arquivo sendo citado.
        filename:
          type: string
          description: O nome do arquivo que está sendo citado.
        index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            O índice de caracteres no texto de saída onde esta citação se
            aplica.
      required:
        - type
        - file_id
        - filename
        - index
      description: >-
        Anotação para citar um arquivo específico na saída do modelo. Usado
        quando o modelo faz referência a informações de um arquivo.
    URLCitation:
      type: object
      properties:
        type:
          const: url_citation
          description: O identificador do tipo de anotação para citações de URL.
        end_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: O índice de caracteres onde o texto citado termina na saída.
        start_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: O índice de caractere onde o texto citado começa na saída.
        title:
          type: string
          description: O título da página da web ou do recurso que está sendo citado.
        url:
          type: string
          description: A URL do recurso web sendo citado.
      required:
        - type
        - end_index
        - start_index
        - title
        - url
      description: >-
        Anotação para citar uma URL da web na saída do modelo. Usado quando o
        modelo faz referência a informações de fontes na web.
    ContainerFileCitation:
      type: object
      properties:
        type:
          const: container_file_citation
          description: >-
            O identificador do tipo de anotação para citações de arquivos
            contêiner.
        container_id:
          type: string
          description: >-
            O ID do contêiner (por exemplo, contêiner do interpretador de
            código) onde o arquivo está localizado.
        end_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: O índice de caracteres onde o texto citado termina na saída.
        file_id:
          type: string
          description: O ID do arquivo dentro do contêiner sendo citado.
        filename:
          type: string
          description: O nome do arquivo que está sendo citado.
        start_index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: O índice de caractere onde o texto citado começa na saída.
      required:
        - type
        - container_id
        - end_index
        - file_id
        - filename
        - start_index
      description: >-
        Anotação para citar um arquivo dentro de um contêiner específico (como
        uma sandbox de interpretador de código). Usado quando o modelo faz
        referência a arquivos gerados durante execuções de ferramentas.
    FilePath:
      type: object
      properties:
        type:
          const: file_path
          description: >-
            O identificador do tipo de anotação para referências de caminho de
            arquivo.
        file_id:
          type: string
          description: O ID do arquivo que está sendo referenciado.
        index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            O índice de caracteres no texto de saída onde esta referência de
            caminho de arquivo se aplica.
      required:
        - type
        - file_id
        - index
      description: >-
        Anotação para referenciar um caminho de arquivo na saída do modelo.
        Usado quando o modelo menciona arquivos específicos.
    LogProb:
      type: object
      properties:
        token:
          type: string
        logprob:
          type: number
        bytes:
          type: array
          items:
            type: number
        top_logprobs:
          type: array
          items:
            $ref: '#/components/schemas/TopLogProb'
      required:
        - token
        - logprob
        - bytes
        - top_logprobs
    InputText:
      type: object
      properties:
        type:
          const: input_text
          description: O identificador do tipo de conteúdo para entrada de texto.
        text:
          type: string
          description: O conteúdo do texto a ser enviado ao modelo.
      required:
        - type
        - text
      title: Input text content item
      description: 'Texto de entrada: Conteúdo em texto simples para enviar ao modelo.'
    InputImage:
      type: object
      properties:
        type:
          const: input_image
          description: O identificador do tipo de conteúdo para entrada de imagem.
        detail:
          enum:
            - high
            - low
            - auto
          type: string
          default: auto
          description: >-
            O nível de detalhe para o processamento de imagem. 'alto' para
            análise detalhada (custo mais alto), 'baixo' para análise básica
            (custo mais baixo), 'automático' permite que o modelo escolha com
            base no tamanho da imagem. Padrão é 'automático'.
        file_id:
          type: string
          description: >-
            O ID de um arquivo enviado anteriormente contendo a imagem.
            Mutuamente exclusivo com image_url.
        image_url:
          type: string
          description: >-
            Uma URL ou URI de dados apontando para a imagem. Mutuamente
            exclusivo com file_id.
      required:
        - type
      title: Input image content item
      description: >-
        Item de conteúdo da imagem de entrada: Imagem de entrada para análise
        multimodal. Forneça either file_id ou image_url.
    InputFile:
      type: object
      properties:
        type:
          const: input_file
          description: O identificador do tipo de conteúdo para entrada de arquivo.
        file_data:
          type: string
          description: >-
            Dados de arquivo codificados em Base64 para uploads de arquivos
            inline. Exclusivo mutuamente com file_id e file_url.
        file_id:
          type: string
          description: >-
            A identificação de um arquivo previamente enviado. Mutuamente
            exclusivo com file_data e file_url.
        file_url:
          type: string
          description: >-
            Uma URL apontando para o arquivo a ser processado. Mutuamente
            exclusiva com file_data e file_id.
        filename:
          type: string
          description: O nome do arquivo original para exibição e referência.
      required:
        - type
      title: Input file content item
      description: >-
        Conteúdo do item do arquivo de entrada: Arquivo de entrada para
        processamento de documentos. Forneça um dos file_data, file_id ou
        file_url.
    InputAudio:
      type: object
      properties:
        type:
          const: input_audio
          description: O identificador do tipo de conteúdo para entrada de áudio.
        input_audio:
          type: object
          properties:
            data:
              type: string
              description: Dados de áudio codificados em Base64 para enviar ao modelo.
            format:
              enum:
                - mp3
                - wav
              type: string
              description: >-
                O formato/codec de áudio. Os formatos suportados são 'mp3' e
                'wav'.
          required:
            - data
            - format
          description: Os dados de áudio e seu formato.
      required:
        - type
        - input_audio
      title: Input audio content item
      description: >-
        Item de conteúdo de áudio de entrada: Entrada de áudio para
        processamento de fala e transcrição.
    ClickAction:
      type: object
      properties:
        type:
          const: click
        button:
          enum:
            - left
            - right
            - wheel
            - back
            - forward
          type: string
        x:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        'y':
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - button
        - x
        - 'y'
    DoubleClickAction:
      type: object
      properties:
        type:
          const: double_click
        x:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        'y':
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - x
        - 'y'
    DragAction:
      type: object
      properties:
        type:
          const: drag
        path:
          type: array
          items:
            type: object
            properties:
              x:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
              'y':
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
            required:
              - x
              - 'y'
      required:
        - type
        - path
    KeyPressAction:
      type: object
      properties:
        type:
          const: keypress
        keys:
          type: array
          items:
            type: string
      required:
        - type
        - keys
    MoveAction:
      type: object
      properties:
        type:
          const: move
        x:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        'y':
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - x
        - 'y'
    ScreenshotAction:
      type: object
      properties:
        type:
          const: screenshot
      required:
        - type
    ScrollAction:
      type: object
      properties:
        type:
          const: scroll
        scroll_x:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        scroll_y:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        x:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        'y':
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - type
        - scroll_x
        - scroll_y
        - x
        - 'y'
    TypeAction:
      type: object
      properties:
        type:
          const: type
        text:
          type: string
      required:
        - type
        - text
    WaitAction:
      type: object
      properties:
        type:
          const: wait
      required:
        - type
    SearchAction:
      type: object
      properties:
        type:
          const: search
        query:
          type: string
        sources:
          type: array
          items:
            $ref: '#/components/schemas/SearchActionSource'
      required:
        - type
        - query
    OpenPageAction:
      type: object
      properties:
        type:
          const: open_page
        url:
          type: string
      required:
        - type
        - url
    FindAction:
      type: object
      properties:
        type:
          const: find
        pattern:
          type: string
        url:
          type: string
      required:
        - type
        - pattern
        - url
    CodeInterpreterOutputLogs:
      type: object
      properties:
        type:
          const: logs
        logs:
          type: string
      required:
        - type
        - logs
    CodeInterpreterOutputImage:
      type: object
      properties:
        type:
          const: image
        url:
          type: string
      required:
        - type
        - url
    ShellNetworkPolicy:
      type: object
      properties:
        type:
          const: allowlist
        allowed_domains:
          type: array
          items:
            type: string
          description: Domínios permitidos para acesso de rede de saída.
        domain_secrets:
          type: array
          items:
            $ref: '#/components/schemas/ShellNetworkPolicyDomainSecret'
          description: Segredos injetados por domínio.
      required:
        - type
    SkillEntry:
      anyOf:
        - $ref: '#/components/schemas/SkillReference'
        - $ref: '#/components/schemas/PreconfiguredSkillReference'
      discriminator:
        propertyName: type
        mapping:
          skill_reference:
            $ref: '#/components/schemas/SkillReference'
          preconfigured:
            $ref: '#/components/schemas/PreconfiguredSkillReference'
    MemoryStoreMount:
      type: object
      properties:
        store_id:
          type: string
          minLength: 1
          description: ID do armazenamento de memória a ser montado no contêiner.
        label:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^(?!\.+$)[A-Za-z0-9._-]+$
          description: Nome do diretório para esta loja em /mnt/memory.
        access:
          enum:
            - read_only
            - read_write
          type: string
          default: read_only
          description: Se o armazenamento de memória montado pode ser modificado.
        description:
          type: string
          maxLength: 2000
          description: Descrição curta opcional da loja para o contexto do agente.
        instructions:
          type: string
          maxLength: 4000
          description: >-
            Instruções opcionais sobre como o agente deve usar esta loja
            montada.
      required:
        - store_id
        - label
    TopLogProb:
      type: object
      properties:
        token:
          type: string
        logprob:
          type: number
        bytes:
          type: array
          items:
            type: number
      required:
        - token
        - logprob
        - bytes
    SearchActionSource:
      type: object
      properties:
        type:
          const: url
        url:
          type: string
      required:
        - type
        - url
    ShellNetworkPolicyDomainSecret:
      type: object
      properties:
        domain:
          type: string
          description: O domínio para associar este segredo.
        name:
          type: string
          description: O nome/placeholders para o segredo (por exemplo, $API_KEY).
        value:
          type: string
          description: O valor secreto a ser substituído.
      required:
        - domain
        - name
        - value
    SkillReference:
      type: object
      properties:
        type:
          const: skill_reference
        skill_id:
          type: string
          description: ID da habilidade a ser injetada no contêiner.
        version:
          anyOf:
            - type: string
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
          description: >-
            Número da versão, ou 'mais recente' para a versão mais recente.
            Padrão para a versão padrão da habilidade.
      required:
        - type
        - skill_id
    PreconfiguredSkillReference:
      type: object
      properties:
        type:
          const: preconfigured
        name:
          type: string
          description: >-
            Nome de uma habilidade predefinida (por exemplo, 'pdf', 'docx',
            'xlsx', 'pptx').
      required:
        - type
        - name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Gateway auth: send `Authorization: Bearer <mka1-api-key>`. For
        multi-user server-side integrations, you can also send `X-On-Behalf-Of:
        <external-user-id>`.

````