> ## 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.

# Importar una ejecución finalizada de un agente de codificación

> Carga directamente un trabajo de harness completado — la ejecución y sus pruebas —, por lo que los resultados nunca hacen un ida y vuelta a través de almacenamiento externo, como hace el importador de Hugging Face. Cada `task_id` ya debe existir en el manifiesto de la versión del conjunto de destino; los ids desconocidos se rechazan en lugar de inventarse, porque de lo contrario un error tipográfico se importaría como una tarea que el conjunto no tiene y se leería como un modelo que nunca cubrió la versión. La ejecución se registra como `completed` y no se ejecuta: esto es una escritura, no una solicitud de ejecución, así que no se inicia ningún flujo de trabajo. Las pruebas que cubren todas las tareas de la versión reciben `task_ids: null`, que es lo que permite que la ejecución se clasifique como un barrido completo. Las trayectorias NO forman parte de este payload — una ejecución completa de 91 tareas midió 8.3 MB de ellas —, así que cárgalas cada una después contra `PUT /evals/runs/{run_id}/samples/{sample_index}/trajectory`. Pasa `idempotency_key` y una carga reintentada devolverá la primera ejecución en lugar de duplicar las pruebas detrás de una fila del tablero.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json?language=es post /api/v1/llm/evals/imports/agent-run
openapi: 3.1.1
info:
  title: MKA1 API
  version: 1.1.0
  description: >-
    La API MKA1 es una API RESTful que proporciona acceso a la plataforma MKA1.
    Aprende cómo comenzar con la API y el SDK de TypeScript
    [aquí](https://mka1.apidocumentation.com/guides/getting-started).
  license:
    name: Propietario
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: >-
      Gestiona permisos para recursos LLM. Crea recursos, otorga/revoca permisos
      y elimina recursos. Solo los propietarios de recursos pueden otorgar,
      revocar o eliminar permisos.
    x-displayName: Autorización de Recursos
  - name: Embeddings
    description: >-
      Puntos finales de la API de incrustación de texto para generar
      representaciones vectoriales del texto. Crea incrustaciones semánticas
      para búsqueda, agrupamiento y coincidencia de similitudes utilizando
      varios modelos de incrustación.
    x-displayName: Incrustaciones
  - name: Feedback
    description: >-
      API de retroalimentación del usuario para calificar y comentar sobre las
      completaciones de chat. Recopila calificaciones de pulgares arriba/abajo y
      comentarios detallados para mejorar las respuestas del modelo y rastrear
      la satisfacción del usuario.
    x-displayName: Retroalimentación
  - name: Images
    description: >-
      Puntos finales de la API de generación de imágenes para crear imágenes a
      partir de descripciones de texto. Genera imágenes con control sobre el
      tamaño, la calidad y el estilo.
    x-displayName: Imágenes
  - name: MCP Vault
    description: >-
      API de bóveda MCP para almacenar configuraciones de servidor MCP propiedad
      del usuario y credenciales encriptadas. Los agentes hacen referencia a los
      ID de la bóveda para que los secretos se resuelvan solo en el momento de
      la ejecución de la herramienta.
    x-displayName: Bóveda MCP
  - name: Speech
    description: >-
      Puntos finales de la API de voz para el procesamiento de audio. Convierte
      texto en habla natural (TTS) o transcribe el habla a texto (STT) en
      diferentes idiomas.
    x-displayName: Discurso
  - name: Usage
    description: >-
      API de seguimiento de uso y análisis para monitorear el consumo de tokens,
      la cantidad de solicitudes y el análisis de costos. Visualiza estadísticas
      detalladas por usuario, modelo y período de tiempo.
    x-displayName: Uso
  - name: Extract
    description: >-
      API de extracción de datos estructurados para extraer información de
      archivos. Define esquemas JSON para extraer datos estructurados de
      imágenes, PDFs y documentos. Soporta plantillas de esquemas reutilizables.
    x-displayName: Extracción
  - name: Text Classification
    description: >-
      API de clasificación de texto para categorizar texto en etiquetas
      predefinidas. Utilice modelos de IA para clasificar el contenido del texto
      para análisis de sentimientos, categorización de temas y moderación de
      contenido.
    x-displayName: Clasificación de Texto
  - name: Responses
    description: >-
      API de respuestas impulsadas por agentes para crear agentes de IA con uso
      autónomo de herramientas. Crea asistentes conversacionales que pueden
      utilizar búsqueda en la web, operaciones con archivos, generación de
      imágenes, ejecución de código, simulación de uso de computadoras e
      integraciones de MCP. Soporta procesamiento en segundo plano, transmisión
      y seguimiento de estado en tiempo real.
    x-displayName: Respuestas
  - name: Files
    description: >-
      API de gestión de archivos para cargar, almacenar y gestionar archivos con
      expiración automática e integración con S3. Carga archivos que se pueden
      usar con Asistentes, Almacenes Vectoriales y otras funciones. Los archivos
      se almacenan en S3 con metadatos rastreados en PostgreSQL. Soporta la
      limpieza automática de archivos expirados.
    x-displayName: Archivos
  - name: Vector Stores
    description: >-
      API de almacenamiento de vectores para almacenar y buscar documentos
      utilizando incrustaciones. Crea almacenes de vectores, sube archivos con
      fragmentación automática y generación de incrustaciones, y realiza
      búsquedas semánticas. Los archivos se procesan de forma asincrónica
      utilizando flujos de trabajo de Temporal para durabilidad. Soporta
      limpieza automática de almacenes caducados y LanceDB para almacenamiento
      eficiente de vectores.
    x-displayName: Almacenes de Vectores
  - name: Conversations
    description: >-
      API de gestión de conversaciones para almacenar y recuperar el estado de
      la conversación a través de llamadas a la API de respuesta. Crea
      conversaciones, añade elementos (mensajes de usuario, mensajes del
      asistente, mensajes del sistema) y mantiene el historial de la
      conversación. Soporta seguimiento de metadatos y gestión del estado del
      diálogo en múltiples turnos.
    x-displayName: Conversaciones
  - name: Guardrails
    description: >-
      API de salvaguardias de seguridad de IA para configurar la moderación de
      contenido y las políticas de seguridad. Configura listas de palabras
      prohibidas, detección de inyección de mensajes y prevención de filtración
      de mensajes del sistema. Las salvaguardias se aplican a todas las
      solicitudes de una cuenta y se pueden probar antes del despliegue.
    x-displayName: Barandillas
  - name: Models
    description: >-
      API de listado de modelos para descubrir modelos disponibles. Devuelve IDs
      de modelos, propiedad y metadatos para todos los modelos registrados en la
      puerta de enlace.
    x-displayName: Modelos
  - name: Skills
    description: >-
      API de habilidades para gestionar paquetes de instrucciones y archivos
      versionados siguiendo el estándar de Habilidades del Agente. Crea,
      versiona y descarga paquetes de habilidades reutilizables que incluyen
      manifiestos SKILL.md para entornos de agentes.
    x-displayName: Habilidades
  - name: Chat Completions
    description: >-
      **Obsoleto: Usa la API de Respuestas (`/api/v1/llm/responses`) en su
      lugar.** Puntos finales de completación de chat con soporte para
      transmisión, llamadas a herramientas y múltiples proveedores.
    x-deprecated: true
    x-displayName: Completaciones de Chat
  - name: Batches
    x-displayName: Lotes
  - name: Evals
    x-displayName: Evaluaciones
  - name: Fine-Tuning
    x-displayName: Ajuste fino
  - name: Memory Stores
    x-displayName: Almacenes de memoria
  - name: Prompts
    x-displayName: Sugerencias
  - name: API Key
    x-displayName: Clave de API
  - name: Session
    x-displayName: Sesión
  - name: Organization
    x-displayName: Organización
  - name: Cluster Admin
    x-displayName: Administrador de clúster
  - name: Sessions
    description: Crear, inspeccionar, acceder y terminar sesiones de sandbox.
    x-displayName: Sesiones
  - name: Browser
    description: >-
      Conéctate a las sesiones del navegador a través del proxy del puerto de la
      puerta de enlace. Las sesiones del navegador exponen un punto final del
      Protocolo de DevTools de Chrome en el puerto 9222.
    x-displayName: Navegador
  - name: Execution
    description: >-
      Ejecutar comandos de shell y código dentro de una sesión de sandbox
      existente.
    x-displayName: Ejecución
  - name: Workspace
    description: >-
      Inspeccionar el manifiesto del espacio de trabajo, transferir archivos o
      archivos comprimidos, y descargar artefactos generados.
    x-displayName: Espacio de trabajo
  - name: Sandbox Usage
    description: >-
      Agrega estadísticas de uso de sandbox entre sesiones, ejecución y
      operaciones del espacio de trabajo.
    x-displayName: Uso de Sandbox
  - name: Sandbox Pricing
    description: >-
      Gestión de administrador de clúster de la tarjeta de tarifas de cómputo
      del entorno aislado utilizada para el gasto presupuestado.
    x-displayName: Precios de Sandbox
  - name: schema-3_other
    x-displayName: otro
  - name: Agents
    description: Crea y gestiona definiciones de agentes reutilizables.
    x-displayName: Agentes
  - name: Agent Versions
    description: >-
      Inspeccionar el historial de configuración de un agente y revertir a una
      versión anterior.
    x-displayName: Versiones de Agente
  - name: Agent Runs
    description: >-
      Ejecutar agentes guardados e inspeccionar los resultados de ejecución
      persistidos.
    x-displayName: Ejecuta Agentes
  - name: Agent Connectors
    description: >-
      Conecta agentes guardados a canales de mensajería externos como Telegram,
      incluyendo intercambio de texto, fotos y documentos compatibles.
    x-displayName: Conectores de agentes
  - name: Agent Schedules
    description: >-
      Crea y gestiona ejecuciones de agentes programadas o recurrentes
      guardadas.
    x-displayName: Horarios de Agentes
  - name: schema-4_other
    x-displayName: otro
  - name: Budgets
    x-displayName: Presupuestos
  - name: Settings
    x-displayName: Configuración
  - name: Compute Jobs
    x-displayName: Trabajos de computación
  - name: Compute Services
    x-displayName: Servicios de computación
  - name: Compute Catalog
    x-displayName: Catálogo de cómputo
  - name: Compute Volumes
    x-displayName: Calcular volúmenes
  - name: Compute Pricing
    x-displayName: Calcular precios
  - name: Compute Secrets
    x-displayName: Calcular secretos
  - name: Compute Usage
    x-displayName: Uso de cómputo
  - name: Compute Tenants
    x-displayName: Calcular inquilinos
  - description: Crear, listar, leer, actualizar y eliminar repositorios.
    name: Repositories
    x-displayName: Repositorios
paths:
  /api/v1/llm/evals/imports/agent-run:
    post:
      tags:
        - Evals
      summary: Importar una ejecución finalizada de un agente de codificación
      description: >-
        Carga directamente un trabajo de harness completado — la ejecución y sus
        pruebas —, por lo que los resultados nunca hacen un ida y vuelta a
        través de almacenamiento externo, como hace el importador de Hugging
        Face. Cada `task_id` ya debe existir en el manifiesto de la versión del
        conjunto de destino; los ids desconocidos se rechazan en lugar de
        inventarse, porque de lo contrario un error tipográfico se importaría
        como una tarea que el conjunto no tiene y se leería como un modelo que
        nunca cubrió la versión. La ejecución se registra como `completed` y no
        se ejecuta: esto es una escritura, no una solicitud de ejecución, así
        que no se inicia ningún flujo de trabajo. Las pruebas que cubren todas
        las tareas de la versión reciben `task_ids: null`, que es lo que permite
        que la ejecución se clasifique como un barrido completo. Las
        trayectorias NO forman parte de este payload — una ejecución completa de
        91 tareas midió 8.3 MB de ellas —, así que cárgalas cada una después
        contra `PUT /evals/runs/{run_id}/samples/{sample_index}/trajectory`.
        Pasa `idempotency_key` y una carga reintentada devolverá la primera
        ejecución en lugar de duplicar las pruebas detrás de una fila del
        tablero.
      operationId: importAgentEvalRun
      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/ImportAgentRunRequest'
            example:
              suite_id: eval_suite_aa87e2b1112a455b8deabed784372198
              suite_version: 1
              agent_name: omp
              agent_version: 17.3.8
              agent_effort: medium
              model: meetkai:functionary-urdu-mini-pak
              cost_usd: 3.77
              created_at: 1704067200
              idempotency_key: harbor-job-2026-08-23-luna-medium
              metadata:
                harness: harbor
                benchmark: terminal-bench-2.1
              trials:
                - task_id: fix-permissions
                  sample_index: 0
                  status: completed
                  prompt: >-
                    The test suite fails because the fixture directory is not
                    writable. Fix it.
                  target: all tests pass
                  output_text: 9 passed in 2.25s
                  scores:
                    reward: 1
                    resolved: 1
                  cost_usd: 0.0279
                  input_tokens: 658456
                  output_tokens: 6489
                  cached_tokens: 658366
      responses:
        '200':
          description: Está bien
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  object:
                    const: eval.run
                  suite_id:
                    type: string
                  suite_version:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  suite_version_id:
                    type: string
                  org_id:
                    type: string
                    description: The org that owns this run.
                  team_id:
                    type: string
                    description: The team that owns this run.
                  status:
                    $ref: '#/components/schemas/EvalRunStatus'
                  models:
                    type: array
                    items:
                      type: string
                  task_ids:
                    anyOf:
                      - type: array
                        items:
                          type: string
                      - type: 'null'
                  judge_model:
                    anyOf:
                      - type: string
                      - type: 'null'
                  embedding_model:
                    anyOf:
                      - type: string
                      - type: 'null'
                  generation:
                    type: object
                    properties:
                      instructions:
                        type: string
                      temperature:
                        type: number
                        minimum: 0
                        maximum: 2
                      top_p:
                        type: number
                        minimum: 0
                        maximum: 1
                      max_output_tokens:
                        type: integer
                        minimum: 1
                        maximum: 9007199254740991
                      max_gen_toks:
                        type: integer
                        minimum: 1
                        maximum: 9007199254740991
                        description: lm-eval alias for max_output_tokens.
                      stop:
                        anyOf:
                          - type: string
                          - type: array
                            minItems: 1
                            items:
                              type: string
                      until:
                        type: array
                        minItems: 1
                        items:
                          type: string
                        description: lm-eval generate_until stop sequences.
                      max_tool_calls:
                        type: integer
                        minimum: 1
                        maximum: 9007199254740991
                      reasoning: {}
                      text: {}
                      tools:
                        type: array
                        items:
                          anyOf:
                            - {}
                            - type: 'null'
                      tool_choice: {}
                      parallel_tool_calls:
                        type: boolean
                      truncation:
                        enum:
                          - auto
                          - disabled
                        type: string
                      service_tier:
                        enum:
                          - auto
                          - default
                          - flex
                          - priority
                        type: string
                      presence_penalty:
                        type: number
                        minimum: -2
                        maximum: 2
                      frequency_penalty:
                        type: number
                        minimum: -2
                        maximum: 2
                      top_k:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      min_p:
                        type: number
                        minimum: 0
                        maximum: 1
                      repetition_penalty:
                        type: number
                        minimum: 0
                      do_sample:
                        type: boolean
                      extra_body:
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      chat_template_kwargs:
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      prefill_think:
                        anyOf:
                          - type: boolean
                          - type: string
                      use_cache:
                        type: boolean
                      timeout_seconds:
                        type: integer
                        minimum: 1
                        maximum: 3600
                      max_retries:
                        type: integer
                        minimum: 0
                        maximum: 10
                      max_empty_retries:
                        type: integer
                        minimum: 0
                        maximum: 10
                    additionalProperties: {}
                  request_counts:
                    type: object
                    properties:
                      total:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      completed:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      failed:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                    required:
                      - total
                      - completed
                      - failed
                  metrics:
                    anyOf:
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      - type: 'null'
                  error:
                    anyOf:
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      - type: 'null'
                  artifact_file_ids:
                    type: array
                    items:
                      type: string
                  metadata:
                    type: object
                    propertyNames:
                      type: string
                      maxLength: 64
                    additionalProperties:
                      type: string
                      maxLength: 512
                  agent_name:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      Coding-agent harness that produced this run (e.g. `omp`,
                      `claude-code`). Null for every non-harness eval kind — a
                      null here is not a missing value, it means the run is not
                      an agent run.
                  agent_version:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      Version of `agent_name`, as the harness reported it. Null
                      when `agent_name` is.
                  agent_effort:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      Reasoning-effort setting the agent ran at (e.g. `medium`,
                      `xhigh`). Part of the leaderboard's row identity: the same
                      agent and model at two efforts are two rows, not one. Null
                      when `agent_name` is.
                  cost_usd:
                    anyOf:
                      - type: number
                      - type: 'null'
                    description: >-
                      Total spend for the run in USD. Null when the harness did
                      not report cost.
                  created_at:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  started_at:
                    anyOf:
                      - type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      - type: 'null'
                  completed_at:
                    anyOf:
                      - type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      - type: 'null'
                  cancelled_at:
                    anyOf:
                      - type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      - type: 'null'
                  failed_at:
                    anyOf:
                      - type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      - type: 'null'
                required:
                  - id
                  - object
                  - suite_id
                  - suite_version
                  - suite_version_id
                  - org_id
                  - team_id
                  - status
                  - models
                  - task_ids
                  - judge_model
                  - embedding_model
                  - generation
                  - request_counts
                  - metrics
                  - error
                  - artifact_file_ids
                  - metadata
                  - agent_name
                  - agent_version
                  - agent_effort
                  - cost_usd
                  - created_at
                  - started_at
                  - completed_at
                  - cancelled_at
                  - failed_at
              example:
                id: eval_run_aa87e2b1112a455b8deabed784372198
                object: eval.run
                suite_id: eval_suite_aa87e2b1112a455b8deabed784372198
                suite_version: 1
                suite_version_id: eval_sver_aa87e2b1112a455b8deabed784372198
                org_id: org-acme
                team_id: team-research
                status: completed
                models:
                  - auto
                task_ids: null
                judge_model: auto
                embedding_model: auto
                generation:
                  temperature: 0
                  max_output_tokens: 512
                request_counts:
                  total: 100
                  completed: 10
                  failed: 0
                metrics: null
                error: null
                artifact_file_ids: []
                metadata:
                  purpose: mvp
                agent_name: omp
                agent_version: null
                agent_effort: null
                cost_usd: null
                created_at: 1704067200
                started_at: 1704067210
                completed_at: null
                cancelled_at: null
                failed_at: 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.evals.import_agent_run(suite_id="eval_suite_aa87e2b1112a455b8deabed784372198", agent_name="omp", model="meetkai:functionary-urdu-mini-pak", suite_version=1, agent_version="17.3.8", agent_effort="medium", cost_usd=3.77, created_at=1704067200, metadata={
                    "harness": "harbor",
                    "benchmark": "terminal-bench-2.1",
                }, idempotency_key="harbor-job-2026-08-23-luna-medium", trials=[
                    {
                        "task_id": "fix-permissions",
                        "sample_index": 0,
                        "prompt": "The test suite fails because the fixture directory is not writable. Fix it.",
                        "target": "all tests pass",
                        "output_text": "9 passed in 2.25s",
                        "scores": {
                            "reward": 1,
                            "resolved": 1,
                        },
                        "cost_usd": 0.0279,
                        "input_tokens": 658456,
                        "output_tokens": 6489,
                        "cached_tokens": 658366,
                    },
                ], finalize=True)

                # Handle response
                print(res)
        - 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.evals.importAgentRun({
                importAgentRunRequest: {
                  suiteId: "eval_suite_aa87e2b1112a455b8deabed784372198",
                  suiteVersion: 1,
                  agentName: "omp",
                  agentVersion: "17.3.8",
                  agentEffort: "medium",
                  model: "meetkai:functionary-urdu-mini-pak",
                  costUsd: 3.77,
                  createdAt: 1704067200,
                  metadata: {
                    "harness": "harbor",
                    "benchmark": "terminal-bench-2.1",
                  },
                  idempotencyKey: "harbor-job-2026-08-23-luna-medium",
                  trials: [
                    {
                      taskId: "fix-permissions",
                      sampleIndex: 0,
                      prompt: "The test suite fails because the fixture directory is not writable. Fix it.",
                      target: "all tests pass",
                      outputText: "9 passed in 2.25s",
                      scores: {
                        "reward": 1,
                        "resolved": 1,
                      },
                      costUsd: 0.0279,
                      inputTokens: 658456,
                      outputTokens: 6489,
                      cachedTokens: 658366,
                    },
                  ],
                },
              });

              console.log(result);
            }

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

            using MeetKai.MKA1.Types.Components;

            using System.Collections.Generic;


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


            var res = await sdk.Llm.Evals.ImportAgentRunAsync(body: new
            ImportAgentRunRequest() {
                SuiteId = "eval_suite_aa87e2b1112a455b8deabed784372198",
                SuiteVersion = 1,
                AgentName = "omp",
                AgentVersion = "17.3.8",
                AgentEffort = "medium",
                Model = "meetkai:functionary-urdu-mini-pak",
                CostUsd = 3.77D,
                CreatedAt = 1704067200,
                Metadata = new Dictionary<string, string>() {
                    { "harness", "harbor" },
                    { "benchmark", "terminal-bench-2.1" },
                },
                IdempotencyKey = "harbor-job-2026-08-23-luna-medium",
                Trials = new List<ImportAgentRunRequestTrial>() {
                    new ImportAgentRunRequestTrial() {
                        TaskId = "fix-permissions",
                        SampleIndex = 0,
                        Prompt = "The test suite fails because the fixture directory is not writable. Fix it.",
                        Target = "all tests pass",
                        OutputText = "9 passed in 2.25s",
                        Scores = new Dictionary<string, double>() {
                            { "reward", 1D },
                            { "resolved", 1D },
                        },
                        CostUsd = 0.0279D,
                        InputTokens = 658456,
                        OutputTokens = 6489,
                        CachedTokens = 658366,
                    },
                },
            });


            // handle response
components:
  schemas:
    ImportAgentRunRequest:
      type: object
      properties:
        suite_id:
          type: string
          minLength: 1
          description: >-
            Suite existente para importar. Su manifiesto define el conjunto de
            tareas, así que cree primero la suite.
        suite_version:
          type: integer
          minimum: 1
          maximum: 2147483647
          description: Por defecto, se usa la versión activa del conjunto.
        agent_name:
          type: string
          minLength: 1
          maxLength: 128
          description: El agente de arnés, p. ej. `omp`.
        agent_version:
          anyOf:
            - type: string
              maxLength: 64
            - type: 'null'
        agent_effort:
          anyOf:
            - type: string
              maxLength: 32
            - type: 'null'
          description: >-
            Configuración del nivel de razonamiento, por ejemplo `medium`. Forma
            parte de la identidad de la fila de la tabla de clasificación, por
            lo que el mismo agente y modelo con dos niveles de esfuerzo siguen
            siendo dos filas.
        model:
          type: string
          minLength: 1
          maxLength: 255
        cost_usd:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
          description: >-
            Gasto total del trabajo. Si se omite, recurre a la suma de los
            costes propios de las pruebas.
        created_at:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          exclusiveMinimum: 0
          description: >-
            Cuando se ejecutó el trabajo, en segundos Unix. Por defecto es
            ahora; configúrelo al hacer backfilling, ya que el tablero ordena
            por esto.
        metadata:
          type: object
          propertyNames:
            type: string
            maxLength: 64
          additionalProperties:
            type: string
            maxLength: 512
        idempotency_key:
          type: string
          minLength: 1
          maxLength: 255
          description: >-
            Reutilizar una clave devuelve la ejecución creada la primera vez en
            lugar de importar una segunda copia. Sin una, una carga reintentada
            duplica silenciosamente los ensayos detrás de una fila del tablero.
        trials:
          type: array
          maxItems: 1000
          items:
            type: object
            properties:
              task_id:
                type: string
                minLength: 1
                maxLength: 255
                description: >-
                  Debe existir ya en el manifiesto de la versión del paquete de
                  destino; los identificadores desconocidos se rechazan en lugar
                  de inventarse.
              sample_index:
                type: integer
                minimum: 0
                maximum: 2147483647
                description: >-
                  Por defecto, la posición del ensayo en `trials`. Única por
                  (tarea, modelo), no por ejecución.
              status:
                enum:
                  - completed
                  - failed
                type: string
                default: completed
                description: >-
                  `failed` significa que no se produjo ninguna puntuación en
                  absoluto. Un tiempo de espera del agente NO es eso: el sistema
                  de pruebas sigue ejecutando el verificador y puntuando el
                  intento, por lo que permanece `completed` y lleva su excepción
                  en `error`.
              prompt:
                type: string
                default: ''
                description: La instrucción de la tarea.
              target:
                anyOf:
                  - type: string
                  - type: 'null'
              output_text:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  Lo que decidió la puntuación: la salida del verificador. La
                  sesión del agente va a la ruta de trayectoria.
              scores:
                type: object
                propertyNames:
                  type: string
                additionalProperties:
                  type: number
                default: {}
                description: >-
                  Valores de métricas para este ensayo, por ejemplo `{ "reward":
                  1, "resolved": 1 }`. El tablero promedia `reward` de forma
                  predeterminada.
              error:
                anyOf:
                  - type: object
                    propertyNames:
                      type: string
                    additionalProperties: {}
                  - type: 'null'
                description: >-
                  La excepción que registró esta prueba, si la hubo. Por sí
                  sola, no hace que la prueba sea un fracaso.
              cost_usd:
                anyOf:
                  - type: number
                    minimum: 0
                  - type: 'null'
              input_tokens:
                anyOf:
                  - type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  - type: 'null'
              output_tokens:
                anyOf:
                  - type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  - type: 'null'
              cached_tokens:
                anyOf:
                  - type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  - type: 'null'
                description: >-
                  La proporción de `input_tokens` servidos desde la caché de
                  prompts del proveedor.
              phase_timings:
                anyOf:
                  - type: object
                    propertyNames:
                      type: string
                    additionalProperties: {}
                  - type: 'null'
            required:
              - task_id
          default: []
          description: >-
            Puede estar vacío al abrir una ejecución para transmitir ensayos.
            Una importación única los envía todos aquí.
        expected_trials:
          type: integer
          minimum: 0
          maximum: 1000
          description: >-
            Cuántos intentos producirá el trabajo. Establece el total de la
            ejecución por adelantado para que la consola muestre el progreso
            real (12/89) mientras se transmite, en lugar de 12/12 que va
            aumentando.
        finalize:
          type: boolean
          default: true
          description: >-
            False abre la ejecución `in_progress` para `POST
            /evals/runs/{run_id}/trials` para completar. Los marcadores solo
            cuentan las ejecuciones completadas, por lo que una ejecución en
            streaming permanece fuera de la tabla hasta que se finaliza.
      required:
        - suite_id
        - agent_name
        - model
    EvalRunStatus:
      enum:
        - queued
        - in_progress
        - finalizing
        - completed
        - failed
        - cancelling
        - cancelled
      type: string
  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>`.

````