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

# Assist

> Plan, execute, and update agent work through one typed request endpoint.

Use this endpoint for every Assist turn. Create once, then pass the returned `assistId` for follow-ups. Read state with [Get assist request](https://darwin.so/docs/reference/get-assist). The [Plan](https://darwin.so/docs/navigator/assist-plan), [Coordinate](https://darwin.so/docs/navigator/assist-execution), and [Update](https://darwin.so/docs/navigator/assist-update) guides explain the full lifecycle.

Authenticate each request with a Darwin API key in `x-api-key` or `Authorization: Bearer`.

| `type` | Required fields beyond `type` | Effect |
| - | - | - |
| `create` | text `message`; optional `context` | Create an owner-scoped draft and return `assistId`. |
| `revise` | `assistId`, `expectedRevisionId`, text `message` | Refine an unstarted draft; invalidates its quote. |
| `update` | `assistId`, `expectedRevisionId`, text `message` | Refine a draft or replan a terminal, settled run under the same ID. Archives previous run/quote and requires new funding and approval. |
| `claim` | `assistId`; owner credential and `X-Assist-Token` | Save an unclaimed guest draft to its authenticated owner. |
| `quote` | `assistId`, `revisionId`, `totalBudgetMinor`, `currency: "USD"` | Price the exact plan; does not reserve funds. |
| `authorize_budget` | `assistId`, `revisionId`, `quoteId`, typed budget `approval` | Reserve the quoted ceiling; starts no work. Requires `Idempotency-Key`. |
| `execute` | `assistId`, `revisionId`, `quoteId`, `fundingAuthorizationId`, typed execution `approval` | Start one approved run. Requires `Idempotency-Key`. |
| `message` | `assistId`, `runId`, `stepId`, typed Act `message` | Continue that run's child thread through Act. Use an idempotency key for retries. |
| `refresh` | `assistId` | Reconcile accepted evidence and open eligible dependent steps. This is a mutation. |
| `accept_step` | `assistId`, `runId`, `stepId`, `messageId`, typed acceptance `approval` | Accept a delivered free conversational result when no action/payment review is needed. |
| `release_budget` | `assistId`, `fundingAuthorizationId` | Release an unused authorization before starting. |
| `stop` | `assistId` | Prevent new dispatch and settle at verified child checkpoints. |

Text messages have `{ "type": "text", "text": "..." }`. Copy IDs from your responses. Never manufacture user consent: the exact typed approvals in [Coordinate](https://darwin.so/docs/navigator/assist-execution) record separate decisions by the authorized person. Guest tokens cannot authorize execution or payment. Application-only keys cannot act as a person.

All commands return the same Assist state shape. An accepted command is not proof of completed provider work. Budget and execution commands keep their original live-scope, ownership, idempotency, quote-expiry, wallet, and settlement checks.


## OpenAPI

````yaml openapi-v3.json POST /v3/assist
openapi: 3.1.0
info:
  title: Navigator
  version: 3.0.0
servers:
  - url: https://api.darwin.so/api
security: []
paths:
  /v3/assist:
    post:
      summary: Assist
      description: >-
        Plan, execute, and update agent work through one typed request endpoint
        using an authenticated API key. Create or refine a plan, quote,
        authorize the exact budget, execute, message a child, refresh, accept a
        result, stop, or update a settled plan using the same assistId. Planning
        never starts work or spends. Budget authorization and execution require
        their own exact typed approvals and Idempotency-Key. Structural updates
        require a settled terminal run; previous runs remain in history.
        Claiming an existing guest draft additionally requires its
        X-Assist-Token.
      operationId: create_or_revise_assist
      parameters:
        - name: X-Assist-Token
          in: header
          required: false
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssistV3Request'
      responses:
        '200':
          description: >-
            Current Assist conversation, revisions, quote, funding, run and
            previous runs. Only an explicitly authorized execute request starts
            work.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssistV3Response'
        '401':
          description: Missing or invalid API key
        '403':
          description: Credential access denied
        '409':
          description: Stale revision or idempotency conflict
        '429':
          description: Account request limit exceeded; follow Retry-After
        '503':
          description: Service unavailable
      security:
        - apiKey: []
        - apiKeyBearer: []
components:
  schemas:
    AssistV3Request:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              const: turn
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
            clientMessageId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            message:
              type: object
              properties:
                type:
                  type: string
                  const: text
                text:
                  type: string
                  minLength: 1
                  maxLength: 20000
              required:
                - type
                - text
              additionalProperties: false
            mode:
              default: auto
              description: >-
                Modes: search, live_search, execute, route, chat. Omit for Auto.
                Execute coordinates work; Route hands over direct threads.
                Approvals remain required.
              anyOf:
                - type: string
                  enum:
                    - search
                    - live_search
                    - execute
                    - route
                    - chat
                - type: string
                  enum:
                    - auto
                    - discover
                    - coordinate
                    - plan
                  deprecated: true
                  description: >-
                    Compatibility inputs only. Omit mode for automatic routing;
                    use execute for coordinated work.
            planOnly:
              description: >-
                When true, propose work without starting agents. Use with
                coordinate or automatic routing. A later turn may approve the
                saved plan; payment and operation approvals remain separate.
              type: boolean
            context:
              default: []
              maxItems: 10
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        const: file
                      name:
                        type: string
                        minLength: 1
                        maxLength: 200
                      mimeType:
                        type: string
                        enum:
                          - application/pdf
                          - image/png
                          - image/jpeg
                          - image/webp
                      data:
                        type: string
                        minLength: 4
                        maxLength: 7000000
                        pattern: ^[A-Za-z0-9+/]+={0,2}$
                    required:
                      - type
                      - name
                      - mimeType
                      - data
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: text
                      text:
                        type: string
                        minLength: 1
                        maxLength: 4000
                    required:
                      - type
                      - text
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: budget
                      amountMinor:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      currency:
                        type: string
                        pattern: ^[A-Z]{3}$
                    required:
                      - type
                      - amountMinor
                      - currency
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: deadline
                      at:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    required:
                      - type
                      - at
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: custom
                      data:
                        type: object
                        propertyNames:
                          type: string
                          maxLength: 80
                        additionalProperties: {}
                    required:
                      - type
                      - data
                    additionalProperties: false
            attachments:
              maxItems: 10
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    minLength: 1
                    maxLength: 200
                  mimeType:
                    type: string
                    maxLength: 100
                required:
                  - name
                  - mimeType
                additionalProperties: false
            externalUserId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            userId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            memoryAgentId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            userMemory:
              type: string
              maxLength: 4000
            liveSearch:
              oneOf:
                - type: object
                  properties:
                    shareableBrief:
                      type: string
                      minLength: 1
                      maxLength: 4000
                    requirements:
                      minItems: 1
                      maxItems: 20
                      type: array
                      items:
                        type: object
                        properties:
                          requirementId:
                            type: string
                            minLength: 1
                            maxLength: 200
                            pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                          statement:
                            type: string
                            minLength: 1
                            maxLength: 500
                          hard:
                            type: boolean
                        required:
                          - requirementId
                          - statement
                          - hard
                        additionalProperties: false
                    desiredMatches:
                      default: 3
                      type: integer
                      minimum: 1
                      maximum: 5
                    consent:
                      type: string
                      const: share_only_this_brief_with_read_only_free_operations
                    sourceTurnId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                      description: The indexed-choice turn whose agents the owner reviewed.
                    exactAgentIds:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                    action:
                      type: string
                      const: start
                  required:
                    - shareableBrief
                    - requirements
                    - consent
                    - sourceTurnId
                    - exactAgentIds
                    - action
                  additionalProperties: false
                - type: object
                  properties:
                    shareableBrief:
                      type: string
                      minLength: 1
                      maxLength: 4000
                    requirements:
                      minItems: 1
                      maxItems: 20
                      type: array
                      items:
                        type: object
                        properties:
                          requirementId:
                            type: string
                            minLength: 1
                            maxLength: 200
                            pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                          statement:
                            type: string
                            minLength: 1
                            maxLength: 500
                          hard:
                            type: boolean
                        required:
                          - requirementId
                          - statement
                          - hard
                        additionalProperties: false
                    desiredMatches:
                      default: 3
                      type: integer
                      minimum: 1
                      maximum: 5
                    consent:
                      type: string
                      const: share_only_this_brief_with_read_only_free_operations
                    sourceTurnId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                      description: The indexed-choice turn whose agents the owner reviewed.
                    exactAgentIds:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                    action:
                      type: string
                      const: revise
                    sessionId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                  required:
                    - shareableBrief
                    - requirements
                    - consent
                    - sourceTurnId
                    - exactAgentIds
                    - action
                    - sessionId
                  additionalProperties: false
                - type: object
                  properties:
                    action:
                      type: string
                      const: cancel
                    sessionId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                  required:
                    - action
                    - sessionId
                  additionalProperties: false
          required:
            - type
            - clientMessageId
            - message
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: create
            message:
              type: object
              properties:
                type:
                  type: string
                  const: text
                text:
                  type: string
                  minLength: 1
                  maxLength: 20000
              required:
                - type
                - text
              additionalProperties: false
            context:
              default: []
              maxItems: 10
              type: array
              items:
                type: string
                minLength: 1
                maxLength: 4000
          required:
            - type
            - message
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: revise
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
            expectedRevisionId:
              type: string
              pattern: ^arev_[a-f0-9-]{36}$
            message:
              type: object
              properties:
                type:
                  type: string
                  const: text
                text:
                  type: string
                  minLength: 1
                  maxLength: 20000
              required:
                - type
                - text
              additionalProperties: false
          required:
            - type
            - assistId
            - expectedRevisionId
            - message
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: update
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
            expectedRevisionId:
              type: string
              pattern: ^arev_[a-f0-9-]{36}$
            message:
              type: object
              properties:
                type:
                  type: string
                  const: text
                text:
                  type: string
                  minLength: 1
                  maxLength: 20000
              required:
                - type
                - text
              additionalProperties: false
          required:
            - type
            - assistId
            - expectedRevisionId
            - message
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: advance_turn
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
          required:
            - type
            - assistId
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: resume
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
            threadId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          required:
            - type
            - assistId
            - threadId
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: claim
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
          required:
            - type
            - assistId
          additionalProperties: false
        - type: object
          properties:
            revisionId:
              type: string
              pattern: ^arev_[a-f0-9-]{36}$
            totalBudgetMinor:
              type: integer
              exclusiveMinimum: 0
              maximum: 1000000000
            currency:
              type: string
              const: USD
            type:
              type: string
              const: quote
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
          required:
            - revisionId
            - totalBudgetMinor
            - currency
            - type
            - assistId
          additionalProperties: false
        - type: object
          properties:
            revisionId:
              type: string
              pattern: ^arev_[a-f0-9-]{36}$
            quoteId:
              type: string
              pattern: ^aqt_[a-f0-9-]{36}$
            approval:
              type: object
              properties:
                type:
                  type: string
                  const: typed
                text:
                  type: string
                  const: I authorize this Assist budget
              required:
                - type
                - text
              additionalProperties: false
            type:
              type: string
              const: authorize_budget
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
          required:
            - revisionId
            - quoteId
            - approval
            - type
            - assistId
          additionalProperties: false
        - type: object
          properties:
            revisionId:
              type: string
              pattern: ^arev_[a-f0-9-]{36}$
            quoteId:
              type: string
              pattern: ^aqt_[a-f0-9-]{36}$
            fundingAuthorizationId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            approval:
              type: object
              properties:
                type:
                  type: string
                  const: typed
                text:
                  type: string
                  const: I approve this Assist plan and quote
              required:
                - type
                - text
              additionalProperties: false
            type:
              type: string
              const: execute
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
          required:
            - revisionId
            - quoteId
            - fundingAuthorizationId
            - approval
            - type
            - assistId
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: refresh
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
          required:
            - type
            - assistId
          additionalProperties: false
        - type: object
          properties:
            runId:
              type: string
              pattern: ^arun_[a-f0-9-]{36}$
            messageId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            approval:
              type: object
              properties:
                type:
                  type: string
                  const: typed
                text:
                  type: string
                  const: I accept this Assist step result
              required:
                - type
                - text
              additionalProperties: false
            type:
              type: string
              const: accept_step
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
            stepId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          required:
            - runId
            - messageId
            - approval
            - type
            - assistId
            - stepId
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: release_budget
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
            fundingAuthorizationId:
              type: string
              pattern: ^afund_[a-f0-9-]{36}$
          required:
            - type
            - assistId
            - fundingAuthorizationId
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: stop
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
          required:
            - type
            - assistId
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: pause
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
          required:
            - type
            - assistId
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              const: message
            assistId:
              type: string
              pattern: ^asst_[a-f0-9-]{36}$
            runId:
              type: string
              pattern: ^arun_[a-f0-9-]{36}$
            stepId:
              type: string
              minLength: 1
              maxLength: 200
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            message:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      const: text
                    text:
                      type: string
                      minLength: 1
                      maxLength: 32000
                    context:
                      description: >-
                        Relevant task context explicitly shared with this agent.
                        For operation calls, put personalized values in declared
                        arguments instead. Never send a complete account
                        profile.
                      type: object
                      properties:
                        text:
                          type: string
                          minLength: 1
                          maxLength: 4000
                      required:
                        - text
                      additionalProperties: false
                  required:
                    - type
                    - text
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: action_request
                    operationId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    arguments:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                  required:
                    - type
                    - operationId
                    - arguments
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: action_confirmation
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - requestId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: approval_confirmation
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    decision:
                      type: string
                      enum:
                        - allow
                        - deny
                  required:
                    - type
                    - requestId
                    - decision
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: completion_confirmation
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - requestId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: cancellation_request
                    actionId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - actionId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: authentication_response
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - requestId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: payment_response
                    requestId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  required:
                    - type
                    - requestId
                  additionalProperties: false
          required:
            - type
            - assistId
            - runId
            - stepId
            - message
          additionalProperties: false
    AssistV3Response:
      type: object
      properties:
        assistId:
          type: string
          pattern: ^asst_[a-f0-9-]{36}$
        status:
          type: string
          enum:
            - planning
            - ready
            - running
            - paused
            - completed
            - cancelled
        goal:
          type: string
        messages:
          type: array
          items:
            type: object
            properties:
              role:
                type: string
                enum:
                  - user
                  - assist
              text:
                type: string
              at:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            required:
              - role
              - text
              - at
            additionalProperties: false
        revisions:
          maxItems: 32
          type: array
          items:
            type: object
            properties:
              revisionId:
                type: string
                pattern: ^arev_[a-f0-9-]{36}$
              createdAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              searchId:
                anyOf:
                  - type: string
                  - type: 'null'
              summary:
                type: string
              plan:
                anyOf:
                  - type: object
                    properties:
                      goal:
                        type: string
                        minLength: 1
                        maxLength: 20000
                      successCriteria:
                        minItems: 1
                        maxItems: 8
                        type: array
                        items:
                          type: string
                          minLength: 1
                          maxLength: 500
                      steps:
                        minItems: 1
                        maxItems: 8
                        type: array
                        items:
                          type: object
                          properties:
                            stepId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            objective:
                              type: string
                              minLength: 1
                              maxLength: 500
                            agentId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            operationId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            operationRevision:
                              type: integer
                              exclusiveMinimum: 0
                              maximum: 9007199254740991
                            alternativeAgentIds:
                              default: []
                              maxItems: 3
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 200
                                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            dependsOn:
                              default: []
                              maxItems: 8
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 200
                                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            evidenceRequired:
                              type: string
                              minLength: 1
                              maxLength: 500
                            accessRequired:
                              default: []
                              maxItems: 8
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 200
                            approvalRequired:
                              default: true
                              type: boolean
                              const: true
                          required:
                            - stepId
                            - objective
                            - agentId
                            - operationId
                            - operationRevision
                            - alternativeAgentIds
                            - dependsOn
                            - evidenceRequired
                            - accessRequired
                            - approvalRequired
                          additionalProperties: false
                      stoppingPoints:
                        default: []
                        maxItems: 8
                        type: array
                        items:
                          type: string
                          minLength: 1
                          maxLength: 500
                    required:
                      - goal
                      - successCriteria
                      - steps
                      - stoppingPoints
                    additionalProperties: false
                  - type: 'null'
              agents:
                maxItems: 10
                type: array
                items:
                  type: object
                  properties:
                    agentId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    operationId:
                      type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    operationRevision:
                      type: integer
                      exclusiveMinimum: 0
                      maximum: 9007199254740991
                    name:
                      type: string
                    description:
                      anyOf:
                        - type: string
                        - type: 'null'
                    canStartThread:
                      type: boolean
                    canAttemptThread:
                      type: boolean
                    readiness:
                      type: string
                      enum:
                        - ready
                        - authentication_required
                        - recheck_required
                        - unavailable
                  required:
                    - agentId
                    - operationId
                    - operationRevision
                    - name
                    - description
                    - canStartThread
                    - readiness
                  additionalProperties: false
            required:
              - revisionId
              - createdAt
              - searchId
              - summary
              - plan
              - agents
            additionalProperties: false
        latestRevisionId:
          anyOf:
            - type: string
              pattern: ^arev_[a-f0-9-]{36}$
            - type: 'null'
        quote:
          default: null
          anyOf:
            - type: object
              properties:
                quoteId:
                  type: string
                  pattern: ^aqt_[a-f0-9-]{36}$
                revisionId:
                  type: string
                  pattern: ^arev_[a-f0-9-]{36}$
                currency:
                  type: string
                  const: USD
                totalBudgetMinor:
                  type: integer
                  exclusiveMinimum: 0
                  maximum: 9007199254740991
                rateBps:
                  type: integer
                  minimum: 0
                  maximum: 1800
                rateBasis:
                  type: string
                  minLength: 1
                maximumExecutionMinor:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                maximumFeeMinor:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                unallocatedMinor:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                expiresAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                fundingStatus:
                  type: string
                  enum:
                    - not_authorized
                    - authorized
                cancellationTerms:
                  type: string
                  minLength: 1
              required:
                - quoteId
                - revisionId
                - currency
                - totalBudgetMinor
                - rateBps
                - rateBasis
                - maximumExecutionMinor
                - maximumFeeMinor
                - unallocatedMinor
                - createdAt
                - expiresAt
                - fundingStatus
                - cancellationTerms
              additionalProperties: false
            - type: 'null'
        funding:
          default: null
          anyOf:
            - type: object
              properties:
                fundingAuthorizationId:
                  type: string
                  pattern: ^afund_[a-f0-9-]{36}$
                quoteId:
                  type: string
                  pattern: ^aqt_[a-f0-9-]{36}$
                revisionId:
                  type: string
                  pattern: ^arev_[a-f0-9-]{36}$
                totalBudgetMinor:
                  type: integer
                  exclusiveMinimum: 0
                  maximum: 9007199254740991
                currency:
                  type: string
                  const: USD
                status:
                  type: string
                  enum:
                    - reserving
                    - reserved
                    - releasing
                    - released
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              required:
                - fundingAuthorizationId
                - quoteId
                - revisionId
                - totalBudgetMinor
                - currency
                - status
                - createdAt
              additionalProperties: false
            - type: 'null'
        run:
          default: null
          anyOf:
            - type: object
              properties:
                runId:
                  type: string
                  pattern: ^arun_[a-f0-9-]{36}$
                revisionId:
                  type: string
                  pattern: ^arev_[a-f0-9-]{36}$
                quoteId:
                  type: string
                  pattern: ^aqt_[a-f0-9-]{36}$
                actingAiId:
                  default: null
                  anyOf:
                    - type: string
                      minLength: 1
                      maxLength: 200
                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                    - type: 'null'
                status:
                  type: string
                  enum:
                    - starting
                    - running
                    - paused
                    - completed
                    - cancelled
                startedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                settlement:
                  default: null
                  anyOf:
                    - type: object
                      properties:
                        currency:
                          type: string
                          const: USD
                        executionSpendMinor:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        outcomeFeeMinor:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        returnedMinor:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                        - currency
                        - executionSpendMinor
                        - outcomeFeeMinor
                        - returnedMinor
                      additionalProperties: false
                    - type: 'null'
                steps:
                  minItems: 1
                  maxItems: 8
                  type: array
                  items:
                    type: object
                    properties:
                      stepId:
                        type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      agentId:
                        type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      operationId:
                        type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      operationRevision:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 9007199254740991
                      status:
                        type: string
                        enum:
                          - pending
                          - starting
                          - thread_open
                          - waiting
                          - completed
                          - failed
                      threadId:
                        anyOf:
                          - type: string
                            minLength: 1
                            maxLength: 200
                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          - type: 'null'
                      actRequestId:
                        type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      errorCode:
                        anyOf:
                          - type: string
                            minLength: 1
                            maxLength: 200
                            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          - type: 'null'
                      acceptedMessageId:
                        type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      observation:
                        type: object
                        properties:
                          readStatus:
                            type: string
                            enum:
                              - available
                              - unavailable
                          needsAttention:
                            type: boolean
                          pendingRequestIds:
                            type: array
                            items:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          confirmedResultIds:
                            type: array
                            items:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        required:
                          - readStatus
                          - needsAttention
                          - pendingRequestIds
                          - confirmedResultIds
                        additionalProperties: false
                    required:
                      - stepId
                      - agentId
                      - operationId
                      - operationRevision
                      - status
                      - threadId
                      - errorCode
                    additionalProperties: false
              required:
                - runId
                - revisionId
                - quoteId
                - actingAiId
                - status
                - startedAt
                - settlement
                - steps
              additionalProperties: false
            - type: 'null'
        previousRuns:
          default: []
          maxItems: 32
          type: array
          items:
            type: object
            properties:
              run:
                type: object
                properties:
                  runId:
                    type: string
                    pattern: ^arun_[a-f0-9-]{36}$
                  revisionId:
                    type: string
                    pattern: ^arev_[a-f0-9-]{36}$
                  quoteId:
                    type: string
                    pattern: ^aqt_[a-f0-9-]{36}$
                  actingAiId:
                    default: null
                    anyOf:
                      - type: string
                        minLength: 1
                        maxLength: 200
                        pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                      - type: 'null'
                  status:
                    type: string
                    enum:
                      - starting
                      - running
                      - paused
                      - completed
                      - cancelled
                  startedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  settlement:
                    default: null
                    anyOf:
                      - type: object
                        properties:
                          currency:
                            type: string
                            const: USD
                          executionSpendMinor:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          outcomeFeeMinor:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          returnedMinor:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                        required:
                          - currency
                          - executionSpendMinor
                          - outcomeFeeMinor
                          - returnedMinor
                        additionalProperties: false
                      - type: 'null'
                  steps:
                    minItems: 1
                    maxItems: 8
                    type: array
                    items:
                      type: object
                      properties:
                        stepId:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        agentId:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        operationId:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        operationRevision:
                          type: integer
                          exclusiveMinimum: 0
                          maximum: 9007199254740991
                        status:
                          type: string
                          enum:
                            - pending
                            - starting
                            - thread_open
                            - waiting
                            - completed
                            - failed
                        threadId:
                          anyOf:
                            - type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            - type: 'null'
                        actRequestId:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        errorCode:
                          anyOf:
                            - type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            - type: 'null'
                        acceptedMessageId:
                          type: string
                          minLength: 1
                          maxLength: 200
                          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                        observation:
                          type: object
                          properties:
                            readStatus:
                              type: string
                              enum:
                                - available
                                - unavailable
                            needsAttention:
                              type: boolean
                            pendingRequestIds:
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 200
                                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            confirmedResultIds:
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 200
                                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          required:
                            - readStatus
                            - needsAttention
                            - pendingRequestIds
                            - confirmedResultIds
                          additionalProperties: false
                      required:
                        - stepId
                        - agentId
                        - operationId
                        - operationRevision
                        - status
                        - threadId
                        - errorCode
                      additionalProperties: false
                required:
                  - runId
                  - revisionId
                  - quoteId
                  - actingAiId
                  - status
                  - startedAt
                  - settlement
                  - steps
                additionalProperties: false
              quote:
                type: object
                properties:
                  quoteId:
                    type: string
                    pattern: ^aqt_[a-f0-9-]{36}$
                  revisionId:
                    type: string
                    pattern: ^arev_[a-f0-9-]{36}$
                  currency:
                    type: string
                    const: USD
                  totalBudgetMinor:
                    type: integer
                    exclusiveMinimum: 0
                    maximum: 9007199254740991
                  rateBps:
                    type: integer
                    minimum: 0
                    maximum: 1800
                  rateBasis:
                    type: string
                    minLength: 1
                  maximumExecutionMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  maximumFeeMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  unallocatedMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  expiresAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  fundingStatus:
                    type: string
                    enum:
                      - not_authorized
                      - authorized
                  cancellationTerms:
                    type: string
                    minLength: 1
                required:
                  - quoteId
                  - revisionId
                  - currency
                  - totalBudgetMinor
                  - rateBps
                  - rateBasis
                  - maximumExecutionMinor
                  - maximumFeeMinor
                  - unallocatedMinor
                  - createdAt
                  - expiresAt
                  - fundingStatus
                  - cancellationTerms
                additionalProperties: false
            required:
              - run
              - quote
            additionalProperties: false
        createdAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        updatedAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        assistToken:
          type: string
        conversation:
          type: object
          properties:
            turns:
              maxItems: 50
              type: array
              items:
                type: object
                properties:
                  turnId:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  clientMessageId:
                    type: string
                    minLength: 1
                    maxLength: 200
                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                  message:
                    type: string
                  attachments:
                    maxItems: 10
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 200
                        mimeType:
                          type: string
                          maxLength: 100
                      required:
                        - name
                        - mimeType
                      additionalProperties: false
                  contextSummary:
                    maxItems: 10
                    type: array
                    items:
                      type: string
                      maxLength: 8000
                  status:
                    type: string
                    enum:
                      - queued
                      - running
                      - waiting
                      - completed
                      - failed
                      - cancelled
                  blocks:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              const: live_consent
                            text:
                              type: string
                          required:
                            - type
                            - text
                          additionalProperties: false
                        - type: object
                          properties:
                            type:
                              type: string
                              const: live_search
                            sourceTurnId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            snapshot:
                              type: object
                              properties:
                                contractVersion:
                                  type: string
                                  const: live-search/0.1.0
                                sessionId:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                  pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                taskRevision:
                                  type: integer
                                  exclusiveMinimum: 0
                                  maximum: 9007199254740991
                                sequence:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                rankRevision:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                status:
                                  type: string
                                  enum:
                                    - prepared
                                    - running
                                    - completed
                                    - cancelled
                                    - requires_input
                                deadlineAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                uniqueAgentsUsed:
                                  type: integer
                                  minimum: 0
                                  maximum: 50
                                candidates:
                                  maxItems: 50
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      agentId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                      operationId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                      operationRevision:
                                        type: integer
                                        exclusiveMinimum: 0
                                        maximum: 9007199254740991
                                      taskRevision:
                                        type: integer
                                        exclusiveMinimum: 0
                                        maximum: 9007199254740991
                                      evidenceVersion:
                                        type: integer
                                        minimum: 0
                                        maximum: 9007199254740991
                                      progress:
                                        type: string
                                        enum:
                                          - retrieved
                                          - queued
                                          - contacting
                                          - waiting
                                          - replied
                                          - finished
                                      verdict:
                                        type: string
                                        enum:
                                          - fit_confirmed
                                          - conditional
                                          - not_fit
                                          - unknown
                                          - no_response
                                          - requires_input
                                          - requires_identity
                                          - requires_auth
                                          - requires_payment
                                          - unsupported_route
                                          - rate_limited
                                          - transport_error
                                          - cancelled
                                          - budget_exhausted
                                      sends:
                                        type: integer
                                        minimum: 0
                                        maximum: 3
                                      score:
                                        type: integer
                                        minimum: 0
                                        maximum: 10000
                                      evidence:
                                        maxItems: 20
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            requirementId:
                                              type: string
                                              minLength: 1
                                              maxLength: 200
                                              pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                            truth:
                                              type: string
                                              enum:
                                                - PASS
                                                - FAIL
                                                - UNKNOWN
                                                - STALE
                                            kind:
                                              type: string
                                              enum:
                                                - provider_claim
                                                - observed
                                                - completed_work
                                            replyDigest:
                                              type: string
                                              pattern: ^sha256:[a-f0-9]{64}$
                                            quote:
                                              type: string
                                              minLength: 1
                                              maxLength: 500
                                            observedAt:
                                              type: string
                                              format: date-time
                                              pattern: >-
                                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                            validUntil:
                                              type: string
                                              format: date-time
                                              pattern: >-
                                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                          required:
                                            - requirementId
                                            - truth
                                            - kind
                                            - replyDigest
                                            - quote
                                            - observedAt
                                            - validUntil
                                          additionalProperties: false
                                      reason:
                                        type: string
                                        minLength: 1
                                        maxLength: 80
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                    required:
                                      - agentId
                                      - operationId
                                      - operationRevision
                                      - taskRevision
                                      - evidenceVersion
                                      - progress
                                      - verdict
                                      - sends
                                      - score
                                      - evidence
                                      - reason
                                    additionalProperties: false
                                orderedAgentIds:
                                  maxItems: 50
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                    pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                events:
                                  maxItems: 100
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      sequence:
                                        type: integer
                                        exclusiveMinimum: 0
                                        maximum: 9007199254740991
                                      taskRevision:
                                        type: integer
                                        exclusiveMinimum: 0
                                        maximum: 9007199254740991
                                      rankRevision:
                                        type: integer
                                        minimum: 0
                                        maximum: 9007199254740991
                                      kind:
                                        type: string
                                        enum:
                                          - started
                                          - candidate_upsert
                                          - candidate_removed
                                          - ranking
                                          - revised
                                          - completed
                                          - cancelled
                                          - requires_input
                                      occurredAt:
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                      candidate:
                                        anyOf:
                                          - type: object
                                            properties:
                                              agentId:
                                                type: string
                                                minLength: 1
                                                maxLength: 200
                                                pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                              operationId:
                                                type: string
                                                minLength: 1
                                                maxLength: 200
                                                pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                              operationRevision:
                                                type: integer
                                                exclusiveMinimum: 0
                                                maximum: 9007199254740991
                                              taskRevision:
                                                type: integer
                                                exclusiveMinimum: 0
                                                maximum: 9007199254740991
                                              evidenceVersion:
                                                type: integer
                                                minimum: 0
                                                maximum: 9007199254740991
                                              progress:
                                                type: string
                                                enum:
                                                  - retrieved
                                                  - queued
                                                  - contacting
                                                  - waiting
                                                  - replied
                                                  - finished
                                              verdict:
                                                type: string
                                                enum:
                                                  - fit_confirmed
                                                  - conditional
                                                  - not_fit
                                                  - unknown
                                                  - no_response
                                                  - requires_input
                                                  - requires_identity
                                                  - requires_auth
                                                  - requires_payment
                                                  - unsupported_route
                                                  - rate_limited
                                                  - transport_error
                                                  - cancelled
                                                  - budget_exhausted
                                              sends:
                                                type: integer
                                                minimum: 0
                                                maximum: 3
                                              score:
                                                type: integer
                                                minimum: 0
                                                maximum: 10000
                                              evidence:
                                                maxItems: 20
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    requirementId:
                                                      type: string
                                                      minLength: 1
                                                      maxLength: 200
                                                      pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                                    truth:
                                                      type: string
                                                      enum:
                                                        - PASS
                                                        - FAIL
                                                        - UNKNOWN
                                                        - STALE
                                                    kind:
                                                      type: string
                                                      enum:
                                                        - provider_claim
                                                        - observed
                                                        - completed_work
                                                    replyDigest:
                                                      type: string
                                                      pattern: ^sha256:[a-f0-9]{64}$
                                                    quote:
                                                      type: string
                                                      minLength: 1
                                                      maxLength: 500
                                                    observedAt:
                                                      type: string
                                                      format: date-time
                                                      pattern: >-
                                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                                    validUntil:
                                                      type: string
                                                      format: date-time
                                                      pattern: >-
                                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                                  required:
                                                    - requirementId
                                                    - truth
                                                    - kind
                                                    - replyDigest
                                                    - quote
                                                    - observedAt
                                                    - validUntil
                                                  additionalProperties: false
                                              reason:
                                                type: string
                                                minLength: 1
                                                maxLength: 80
                                                pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                            required:
                                              - agentId
                                              - operationId
                                              - operationRevision
                                              - taskRevision
                                              - evidenceVersion
                                              - progress
                                              - verdict
                                              - sends
                                              - score
                                              - evidence
                                              - reason
                                            additionalProperties: false
                                          - type: 'null'
                                      orderedAgentIds:
                                        maxItems: 50
                                        type: array
                                        items:
                                          type: string
                                          minLength: 1
                                          maxLength: 200
                                          pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                      reason:
                                        type: string
                                        minLength: 1
                                        maxLength: 80
                                        pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                    required:
                                      - sequence
                                      - taskRevision
                                      - rankRevision
                                      - kind
                                      - occurredAt
                                      - candidate
                                      - orderedAgentIds
                                      - reason
                                    additionalProperties: false
                                hasMore:
                                  type: boolean
                                nextEventCursor:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                completionReason:
                                  anyOf:
                                    - type: string
                                      minLength: 1
                                      maxLength: 80
                                      pattern: ^[A-Za-z0-9][A-Za-z0-9:._-]*$
                                    - type: 'null'
                              required:
                                - contractVersion
                                - sessionId
                                - taskRevision
                                - sequence
                                - rankRevision
                                - status
                                - deadlineAt
                                - uniqueAgentsUsed
                                - candidates
                                - orderedAgentIds
                                - events
                                - hasMore
                                - nextEventCursor
                                - completionReason
                              additionalProperties: false
                            agents:
                              maxItems: 20
                              type: array
                              items:
                                type: object
                                properties:
                                  agentId:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  agentSlug:
                                    anyOf:
                                      - type: string
                                        minLength: 1
                                        maxLength: 200
                                      - type: 'null'
                                  operationId:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  operationRevision:
                                    type: integer
                                    exclusiveMinimum: 0
                                    maximum: 9007199254740991
                                  providerFamilyRef:
                                    default: null
                                    anyOf:
                                      - type: string
                                        pattern: ^provider-family:sha256:[a-f0-9]{64}$
                                      - type: 'null'
                                  rank:
                                    type: integer
                                    exclusiveMinimum: 0
                                    maximum: 9007199254740991
                                  selected:
                                    type: boolean
                                  name:
                                    type: string
                                    minLength: 1
                                    maxLength: 500
                                  description:
                                    anyOf:
                                      - type: string
                                        maxLength: 8000
                                      - type: 'null'
                                  imageUrl:
                                    anyOf:
                                      - type: string
                                        format: uri
                                      - type: 'null'
                                  avatarUrl:
                                    anyOf:
                                      - type: string
                                        format: uri
                                      - type: 'null'
                                  requiredSetup:
                                    default: null
                                    anyOf:
                                      - type: object
                                        properties:
                                          kind:
                                            type: string
                                            enum:
                                              - credential
                                              - installation
                                              - provider_configuration
                                          suppliedBy:
                                            type: string
                                            enum:
                                              - user
                                              - provider
                                              - runtime
                                          description:
                                            type: string
                                            minLength: 1
                                            maxLength: 500
                                        required:
                                          - kind
                                          - suppliedBy
                                          - description
                                        additionalProperties: false
                                      - type: 'null'
                                  executionRequirements:
                                    default: null
                                    anyOf:
                                      - type: object
                                        properties:
                                          contractVersion:
                                            type: string
                                            const: 1.0.0
                                          providerAuthentication:
                                            type: object
                                            properties:
                                              state:
                                                type: string
                                                enum:
                                                  - REQUIRED
                                                  - NOT_REQUIRED
                                                  - UNKNOWN
                                                  - NOT_APPLICABLE
                                              mechanisms:
                                                maxItems: 20
                                                type: array
                                                items:
                                                  type: string
                                                  enum:
                                                    - BEARER
                                                    - API_KEY
                                                    - OAUTH2
                                                    - HTTP_BASIC
                                                    - MUTUAL_TLS
                                                    - SIGNED_REQUEST
                                                    - SESSION_COOKIE
                                                    - OPERATION_SECRET_INPUT
                                                    - UNSPECIFIED
                                              placements:
                                                maxItems: 20
                                                type: array
                                                items:
                                                  type: string
                                                  enum:
                                                    - HEADER
                                                    - QUERY
                                                    - COOKIE
                                                    - BODY
                                                    - TOOL_ARGUMENT
                                                    - ENVIRONMENT
                                                    - AUTH_CONTINUATION
                                              scopes:
                                                maxItems: 100
                                                type: array
                                                items:
                                                  type: string
                                                  minLength: 1
                                                  maxLength: 200
                                              evidence:
                                                type: string
                                                enum:
                                                  - PROVIDER_DECLARED
                                                  - PROVIDER_OBSERVED
                                                  - DERIVED_FROM_VERIFIED_RECEIPT
                                                  - UNKNOWN
                                            required:
                                              - state
                                              - mechanisms
                                              - placements
                                              - scopes
                                              - evidence
                                            additionalProperties: false
                                          operationCredentials:
                                            type: object
                                            properties:
                                              state:
                                                type: string
                                                enum:
                                                  - REQUIRED
                                                  - NOT_REQUIRED
                                                  - UNKNOWN
                                                  - NOT_APPLICABLE
                                              sensitiveInputNames:
                                                maxItems: 100
                                                type: array
                                                items:
                                                  type: string
                                                  minLength: 1
                                                  maxLength: 200
                                            required:
                                              - state
                                              - sensitiveInputNames
                                            additionalProperties: false
                                          runtime:
                                            type: object
                                            properties:
                                              kind:
                                                type: string
                                                enum:
                                                  - REMOTE_MCP
                                                  - LOCAL_STDIO
                                                  - A2A_JSONRPC
                                                  - HTTP_JSON
                                                  - OPENAPI_HTTP
                                                  - BOUNDED_FETCH
                                                  - BROWSER
                                                  - X402_PAYMENT
                                                  - COMMERCE
                                                  - UNSUPPORTED
                                              package:
                                                anyOf:
                                                  - type: object
                                                    properties:
                                                      ecosystem:
                                                        type: string
                                                        minLength: 1
                                                        maxLength: 40
                                                      identifier:
                                                        type: string
                                                        minLength: 1
                                                        maxLength: 500
                                                      version:
                                                        type: string
                                                        minLength: 1
                                                        maxLength: 200
                                                      runtimeProfile:
                                                        type: string
                                                        minLength: 1
                                                        maxLength: 120
                                                    required:
                                                      - ecosystem
                                                      - identifier
                                                      - version
                                                      - runtimeProfile
                                                    additionalProperties: false
                                                  - type: 'null'
                                              requiredEnvironmentNames:
                                                maxItems: 100
                                                type: array
                                                items:
                                                  type: string
                                                  minLength: 1
                                                  maxLength: 200
                                            required:
                                              - kind
                                              - package
                                              - requiredEnvironmentNames
                                            additionalProperties: false
                                          payment:
                                            type: object
                                            properties:
                                              state:
                                                type: string
                                                enum:
                                                  - REQUIRED
                                                  - NOT_REQUIRED
                                                  - UNKNOWN
                                                  - NOT_APPLICABLE
                                              termsDigest:
                                                anyOf:
                                                  - type: string
                                                    maxLength: 200
                                                  - type: 'null'
                                            required:
                                              - state
                                              - termsDigest
                                            additionalProperties: false
                                          browser:
                                            type: object
                                            properties:
                                              state:
                                                type: string
                                                enum:
                                                  - REQUIRED
                                                  - NOT_REQUIRED
                                                  - UNKNOWN
                                                  - NOT_APPLICABLE
                                              sessionKind:
                                                anyOf:
                                                  - type: string
                                                    enum:
                                                      - ANONYMOUS
                                                      - PROVIDER_SESSION
                                                      - UNKNOWN
                                                  - type: 'null'
                                            required:
                                              - state
                                              - sessionKind
                                            additionalProperties: false
                                          providerContract:
                                            type: object
                                            properties:
                                              route:
                                                type: string
                                                enum:
                                                  - RESOLVED
                                                  - MISSING
                                                  - AMBIGUOUS
                                                  - UNSAFE
                                                  - UNSUPPORTED
                                                  - UNKNOWN
                                              inputSchema:
                                                type: string
                                                enum:
                                                  - CONCRETE
                                                  - DIGEST_ONLY
                                                  - MISSING
                                                  - UNKNOWN
                                              outputSchema:
                                                type: string
                                                enum:
                                                  - CONCRETE
                                                  - DIGEST_ONLY
                                                  - MISSING
                                                  - UNKNOWN
                                            required:
                                              - route
                                              - inputSchema
                                              - outputSchema
                                            additionalProperties: false
                                          providerBlockers:
                                            maxItems: 20
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                code:
                                                  type: string
                                                  enum:
                                                    - PROVIDER_ROUTE_UNSUPPORTED
                                                    - PROVIDER_SCHEMA_MISSING
                                                    - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                    - PROVIDER_METADATA_INCOMPLETE
                                                    - DARWIN_ADAPTER_UNAVAILABLE
                                                    - DARWIN_ROUTE_NOT_APPROVED
                                                    - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                    - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                    - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                                owner:
                                                  type: string
                                                  enum:
                                                    - PROVIDER
                                                    - DARWIN
                                              required:
                                                - code
                                                - owner
                                              additionalProperties: false
                                          derivation:
                                            type: object
                                            properties:
                                              normalizerVersion:
                                                type: string
                                                const: execution-requirements-v1
                                              sourceRevision:
                                                type: string
                                                minLength: 1
                                                maxLength: 240
                                              sourceReceiptDigest:
                                                anyOf:
                                                  - type: string
                                                    maxLength: 200
                                                  - type: 'null'
                                              completeness:
                                                type: string
                                                enum:
                                                  - COMPLETE
                                                  - PARTIAL
                                              derivationKey:
                                                type: string
                                                pattern: ^sha256:[a-f0-9]{64}$
                                            required:
                                              - normalizerVersion
                                              - sourceRevision
                                              - sourceReceiptDigest
                                              - completeness
                                              - derivationKey
                                            additionalProperties: false
                                        required:
                                          - contractVersion
                                          - providerAuthentication
                                          - operationCredentials
                                          - runtime
                                          - payment
                                          - browser
                                          - providerContract
                                          - providerBlockers
                                          - derivation
                                        additionalProperties: false
                                      - type: 'null'
                                  executionGuidance:
                                    default: null
                                    anyOf:
                                      - type: object
                                        properties:
                                          credentialSummaryCode:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                          credentialSummary:
                                            type: string
                                            minLength: 1
                                            maxLength: 1000
                                          setupSummaryCode:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                          setupSummary:
                                            type: string
                                            minLength: 1
                                            maxLength: 1000
                                          recordBlockers:
                                            maxItems: 20
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                code:
                                                  type: string
                                                  enum:
                                                    - PROVIDER_ROUTE_UNSUPPORTED
                                                    - PROVIDER_SCHEMA_MISSING
                                                    - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                    - PROVIDER_METADATA_INCOMPLETE
                                                    - DARWIN_ADAPTER_UNAVAILABLE
                                                    - DARWIN_ROUTE_NOT_APPROVED
                                                    - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                    - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                    - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                                owner:
                                                  type: string
                                                  enum:
                                                    - PROVIDER
                                                    - DARWIN
                                              required:
                                                - code
                                                - owner
                                              additionalProperties: false
                                          primaryBlockerCode:
                                            anyOf:
                                              - type: string
                                                enum:
                                                  - PROVIDER_ROUTE_UNSUPPORTED
                                                  - PROVIDER_SCHEMA_MISSING
                                                  - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                  - PROVIDER_METADATA_INCOMPLETE
                                                  - DARWIN_ADAPTER_UNAVAILABLE
                                                  - DARWIN_ROUTE_NOT_APPROVED
                                                  - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                  - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                  - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                              - type: 'null'
                                          rendererVersion:
                                            type: string
                                            const: execution-guidance-v1
                                        required:
                                          - credentialSummaryCode
                                          - credentialSummary
                                          - setupSummaryCode
                                          - setupSummary
                                          - recordBlockers
                                          - primaryBlockerCode
                                          - rendererVersion
                                        additionalProperties: false
                                      - type: 'null'
                                  readiness:
                                    type: string
                                    enum:
                                      - ready
                                      - authentication_required
                                      - recheck_required
                                      - unavailable
                                  canStartThread:
                                    type: boolean
                                  canAttemptThread:
                                    type: boolean
                                  reasons:
                                    maxItems: 3
                                    type: array
                                    items:
                                      type: string
                                      maxLength: 250
                                  uncertainties:
                                    maxItems: 3
                                    type: array
                                    items:
                                      type: string
                                      maxLength: 250
                                  inquiry:
                                    type: object
                                    properties:
                                      status:
                                        type: string
                                        enum:
                                          - contacting
                                          - waiting
                                          - following_up
                                          - replied
                                          - needs_input
                                          - no_reply
                                          - not_contacted
                                          - outcome_unknown
                                      fit:
                                        type: string
                                        enum:
                                          - matches
                                          - partial
                                          - not_fit
                                          - unknown
                                      expiresAt:
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                      threadId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                      question:
                                        type: string
                                        minLength: 1
                                        maxLength: 2000
                                      replies:
                                        maxItems: 4
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            messageId:
                                              type: string
                                              minLength: 1
                                              maxLength: 200
                                            text:
                                              type: string
                                              minLength: 1
                                              maxLength: 8000
                                            at:
                                              type: string
                                              format: date-time
                                              pattern: >-
                                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                          required:
                                            - messageId
                                            - text
                                            - at
                                          additionalProperties: false
                                      description:
                                        type: string
                                        maxLength: 1200
                                      reason:
                                        type: string
                                        maxLength: 250
                                    required:
                                      - status
                                      - question
                                      - replies
                                    additionalProperties: false
                                  providerCheck:
                                    type: string
                                    enum:
                                      - not_attempted
                                      - confirmed
                                      - unconfirmed
                                      - unavailable
                                  connectionMethods:
                                    default: []
                                    maxItems: 3
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        protocol:
                                          type: string
                                          enum:
                                            - MCP
                                            - A2A
                                            - WEBMCP
                                        environment:
                                          type: string
                                          enum:
                                            - remote_client
                                            - browser_session
                                        endpointUrl:
                                          anyOf:
                                            - type: string
                                              format: uri
                                            - type: 'null'
                                        endpointStatus:
                                          type: string
                                          enum:
                                            - not_published
                                            - verified
                                        documentationUrl:
                                          type: string
                                          format: uri
                                      required:
                                        - protocol
                                        - environment
                                        - endpointUrl
                                        - endpointStatus
                                        - documentationUrl
                                      additionalProperties: false
                                  connectionPrompt:
                                    type: string
                                    minLength: 1
                                    maxLength: 60000
                                required:
                                  - agentId
                                  - agentSlug
                                  - operationId
                                  - operationRevision
                                  - providerFamilyRef
                                  - rank
                                  - selected
                                  - name
                                  - description
                                  - requiredSetup
                                  - executionRequirements
                                  - executionGuidance
                                  - readiness
                                  - canStartThread
                                  - reasons
                                  - uncertainties
                                  - providerCheck
                                  - connectionMethods
                                  - connectionPrompt
                                additionalProperties: false
                          required:
                            - type
                            - sourceTurnId
                            - snapshot
                            - agents
                          additionalProperties: false
                        - type: object
                          properties:
                            type:
                              type: string
                              const: text
                            text:
                              type: string
                          required:
                            - type
                            - text
                          additionalProperties: false
                        - type: object
                          properties:
                            type:
                              type: string
                              const: agents
                            searchId:
                              type: string
                            agents:
                              maxItems: 20
                              type: array
                              items:
                                type: object
                                properties:
                                  agentId:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  agentSlug:
                                    anyOf:
                                      - type: string
                                        minLength: 1
                                        maxLength: 200
                                      - type: 'null'
                                  operationId:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  operationRevision:
                                    type: integer
                                    exclusiveMinimum: 0
                                    maximum: 9007199254740991
                                  providerFamilyRef:
                                    default: null
                                    anyOf:
                                      - type: string
                                        pattern: ^provider-family:sha256:[a-f0-9]{64}$
                                      - type: 'null'
                                  rank:
                                    type: integer
                                    exclusiveMinimum: 0
                                    maximum: 9007199254740991
                                  selected:
                                    type: boolean
                                  name:
                                    type: string
                                    minLength: 1
                                    maxLength: 500
                                  description:
                                    anyOf:
                                      - type: string
                                        maxLength: 8000
                                      - type: 'null'
                                  imageUrl:
                                    anyOf:
                                      - type: string
                                        format: uri
                                      - type: 'null'
                                  avatarUrl:
                                    anyOf:
                                      - type: string
                                        format: uri
                                      - type: 'null'
                                  requiredSetup:
                                    default: null
                                    anyOf:
                                      - type: object
                                        properties:
                                          kind:
                                            type: string
                                            enum:
                                              - credential
                                              - installation
                                              - provider_configuration
                                          suppliedBy:
                                            type: string
                                            enum:
                                              - user
                                              - provider
                                              - runtime
                                          description:
                                            type: string
                                            minLength: 1
                                            maxLength: 500
                                        required:
                                          - kind
                                          - suppliedBy
                                          - description
                                        additionalProperties: false
                                      - type: 'null'
                                  executionRequirements:
                                    default: null
                                    anyOf:
                                      - type: object
                                        properties:
                                          contractVersion:
                                            type: string
                                            const: 1.0.0
                                          providerAuthentication:
                                            type: object
                                            properties:
                                              state:
                                                type: string
                                                enum:
                                                  - REQUIRED
                                                  - NOT_REQUIRED
                                                  - UNKNOWN
                                                  - NOT_APPLICABLE
                                              mechanisms:
                                                maxItems: 20
                                                type: array
                                                items:
                                                  type: string
                                                  enum:
                                                    - BEARER
                                                    - API_KEY
                                                    - OAUTH2
                                                    - HTTP_BASIC
                                                    - MUTUAL_TLS
                                                    - SIGNED_REQUEST
                                                    - SESSION_COOKIE
                                                    - OPERATION_SECRET_INPUT
                                                    - UNSPECIFIED
                                              placements:
                                                maxItems: 20
                                                type: array
                                                items:
                                                  type: string
                                                  enum:
                                                    - HEADER
                                                    - QUERY
                                                    - COOKIE
                                                    - BODY
                                                    - TOOL_ARGUMENT
                                                    - ENVIRONMENT
                                                    - AUTH_CONTINUATION
                                              scopes:
                                                maxItems: 100
                                                type: array
                                                items:
                                                  type: string
                                                  minLength: 1
                                                  maxLength: 200
                                              evidence:
                                                type: string
                                                enum:
                                                  - PROVIDER_DECLARED
                                                  - PROVIDER_OBSERVED
                                                  - DERIVED_FROM_VERIFIED_RECEIPT
                                                  - UNKNOWN
                                            required:
                                              - state
                                              - mechanisms
                                              - placements
                                              - scopes
                                              - evidence
                                            additionalProperties: false
                                          operationCredentials:
                                            type: object
                                            properties:
                                              state:
                                                type: string
                                                enum:
                                                  - REQUIRED
                                                  - NOT_REQUIRED
                                                  - UNKNOWN
                                                  - NOT_APPLICABLE
                                              sensitiveInputNames:
                                                maxItems: 100
                                                type: array
                                                items:
                                                  type: string
                                                  minLength: 1
                                                  maxLength: 200
                                            required:
                                              - state
                                              - sensitiveInputNames
                                            additionalProperties: false
                                          runtime:
                                            type: object
                                            properties:
                                              kind:
                                                type: string
                                                enum:
                                                  - REMOTE_MCP
                                                  - LOCAL_STDIO
                                                  - A2A_JSONRPC
                                                  - HTTP_JSON
                                                  - OPENAPI_HTTP
                                                  - BOUNDED_FETCH
                                                  - BROWSER
                                                  - X402_PAYMENT
                                                  - COMMERCE
                                                  - UNSUPPORTED
                                              package:
                                                anyOf:
                                                  - type: object
                                                    properties:
                                                      ecosystem:
                                                        type: string
                                                        minLength: 1
                                                        maxLength: 40
                                                      identifier:
                                                        type: string
                                                        minLength: 1
                                                        maxLength: 500
                                                      version:
                                                        type: string
                                                        minLength: 1
                                                        maxLength: 200
                                                      runtimeProfile:
                                                        type: string
                                                        minLength: 1
                                                        maxLength: 120
                                                    required:
                                                      - ecosystem
                                                      - identifier
                                                      - version
                                                      - runtimeProfile
                                                    additionalProperties: false
                                                  - type: 'null'
                                              requiredEnvironmentNames:
                                                maxItems: 100
                                                type: array
                                                items:
                                                  type: string
                                                  minLength: 1
                                                  maxLength: 200
                                            required:
                                              - kind
                                              - package
                                              - requiredEnvironmentNames
                                            additionalProperties: false
                                          payment:
                                            type: object
                                            properties:
                                              state:
                                                type: string
                                                enum:
                                                  - REQUIRED
                                                  - NOT_REQUIRED
                                                  - UNKNOWN
                                                  - NOT_APPLICABLE
                                              termsDigest:
                                                anyOf:
                                                  - type: string
                                                    maxLength: 200
                                                  - type: 'null'
                                            required:
                                              - state
                                              - termsDigest
                                            additionalProperties: false
                                          browser:
                                            type: object
                                            properties:
                                              state:
                                                type: string
                                                enum:
                                                  - REQUIRED
                                                  - NOT_REQUIRED
                                                  - UNKNOWN
                                                  - NOT_APPLICABLE
                                              sessionKind:
                                                anyOf:
                                                  - type: string
                                                    enum:
                                                      - ANONYMOUS
                                                      - PROVIDER_SESSION
                                                      - UNKNOWN
                                                  - type: 'null'
                                            required:
                                              - state
                                              - sessionKind
                                            additionalProperties: false
                                          providerContract:
                                            type: object
                                            properties:
                                              route:
                                                type: string
                                                enum:
                                                  - RESOLVED
                                                  - MISSING
                                                  - AMBIGUOUS
                                                  - UNSAFE
                                                  - UNSUPPORTED
                                                  - UNKNOWN
                                              inputSchema:
                                                type: string
                                                enum:
                                                  - CONCRETE
                                                  - DIGEST_ONLY
                                                  - MISSING
                                                  - UNKNOWN
                                              outputSchema:
                                                type: string
                                                enum:
                                                  - CONCRETE
                                                  - DIGEST_ONLY
                                                  - MISSING
                                                  - UNKNOWN
                                            required:
                                              - route
                                              - inputSchema
                                              - outputSchema
                                            additionalProperties: false
                                          providerBlockers:
                                            maxItems: 20
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                code:
                                                  type: string
                                                  enum:
                                                    - PROVIDER_ROUTE_UNSUPPORTED
                                                    - PROVIDER_SCHEMA_MISSING
                                                    - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                    - PROVIDER_METADATA_INCOMPLETE
                                                    - DARWIN_ADAPTER_UNAVAILABLE
                                                    - DARWIN_ROUTE_NOT_APPROVED
                                                    - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                    - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                    - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                                owner:
                                                  type: string
                                                  enum:
                                                    - PROVIDER
                                                    - DARWIN
                                              required:
                                                - code
                                                - owner
                                              additionalProperties: false
                                          derivation:
                                            type: object
                                            properties:
                                              normalizerVersion:
                                                type: string
                                                const: execution-requirements-v1
                                              sourceRevision:
                                                type: string
                                                minLength: 1
                                                maxLength: 240
                                              sourceReceiptDigest:
                                                anyOf:
                                                  - type: string
                                                    maxLength: 200
                                                  - type: 'null'
                                              completeness:
                                                type: string
                                                enum:
                                                  - COMPLETE
                                                  - PARTIAL
                                              derivationKey:
                                                type: string
                                                pattern: ^sha256:[a-f0-9]{64}$
                                            required:
                                              - normalizerVersion
                                              - sourceRevision
                                              - sourceReceiptDigest
                                              - completeness
                                              - derivationKey
                                            additionalProperties: false
                                        required:
                                          - contractVersion
                                          - providerAuthentication
                                          - operationCredentials
                                          - runtime
                                          - payment
                                          - browser
                                          - providerContract
                                          - providerBlockers
                                          - derivation
                                        additionalProperties: false
                                      - type: 'null'
                                  executionGuidance:
                                    default: null
                                    anyOf:
                                      - type: object
                                        properties:
                                          credentialSummaryCode:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                          credentialSummary:
                                            type: string
                                            minLength: 1
                                            maxLength: 1000
                                          setupSummaryCode:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                          setupSummary:
                                            type: string
                                            minLength: 1
                                            maxLength: 1000
                                          recordBlockers:
                                            maxItems: 20
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                code:
                                                  type: string
                                                  enum:
                                                    - PROVIDER_ROUTE_UNSUPPORTED
                                                    - PROVIDER_SCHEMA_MISSING
                                                    - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                    - PROVIDER_METADATA_INCOMPLETE
                                                    - DARWIN_ADAPTER_UNAVAILABLE
                                                    - DARWIN_ROUTE_NOT_APPROVED
                                                    - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                    - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                    - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                                owner:
                                                  type: string
                                                  enum:
                                                    - PROVIDER
                                                    - DARWIN
                                              required:
                                                - code
                                                - owner
                                              additionalProperties: false
                                          primaryBlockerCode:
                                            anyOf:
                                              - type: string
                                                enum:
                                                  - PROVIDER_ROUTE_UNSUPPORTED
                                                  - PROVIDER_SCHEMA_MISSING
                                                  - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                  - PROVIDER_METADATA_INCOMPLETE
                                                  - DARWIN_ADAPTER_UNAVAILABLE
                                                  - DARWIN_ROUTE_NOT_APPROVED
                                                  - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                  - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                  - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                              - type: 'null'
                                          rendererVersion:
                                            type: string
                                            const: execution-guidance-v1
                                        required:
                                          - credentialSummaryCode
                                          - credentialSummary
                                          - setupSummaryCode
                                          - setupSummary
                                          - recordBlockers
                                          - primaryBlockerCode
                                          - rendererVersion
                                        additionalProperties: false
                                      - type: 'null'
                                  readiness:
                                    type: string
                                    enum:
                                      - ready
                                      - authentication_required
                                      - recheck_required
                                      - unavailable
                                  canStartThread:
                                    type: boolean
                                  canAttemptThread:
                                    type: boolean
                                  reasons:
                                    maxItems: 3
                                    type: array
                                    items:
                                      type: string
                                      maxLength: 250
                                  uncertainties:
                                    maxItems: 3
                                    type: array
                                    items:
                                      type: string
                                      maxLength: 250
                                  inquiry:
                                    type: object
                                    properties:
                                      status:
                                        type: string
                                        enum:
                                          - contacting
                                          - waiting
                                          - following_up
                                          - replied
                                          - needs_input
                                          - no_reply
                                          - not_contacted
                                          - outcome_unknown
                                      fit:
                                        type: string
                                        enum:
                                          - matches
                                          - partial
                                          - not_fit
                                          - unknown
                                      expiresAt:
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                      threadId:
                                        type: string
                                        minLength: 1
                                        maxLength: 200
                                      question:
                                        type: string
                                        minLength: 1
                                        maxLength: 2000
                                      replies:
                                        maxItems: 4
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            messageId:
                                              type: string
                                              minLength: 1
                                              maxLength: 200
                                            text:
                                              type: string
                                              minLength: 1
                                              maxLength: 8000
                                            at:
                                              type: string
                                              format: date-time
                                              pattern: >-
                                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                          required:
                                            - messageId
                                            - text
                                            - at
                                          additionalProperties: false
                                      description:
                                        type: string
                                        maxLength: 1200
                                      reason:
                                        type: string
                                        maxLength: 250
                                    required:
                                      - status
                                      - question
                                      - replies
                                    additionalProperties: false
                                  providerCheck:
                                    type: string
                                    enum:
                                      - not_attempted
                                      - confirmed
                                      - unconfirmed
                                      - unavailable
                                  connectionMethods:
                                    default: []
                                    maxItems: 3
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        protocol:
                                          type: string
                                          enum:
                                            - MCP
                                            - A2A
                                            - WEBMCP
                                        environment:
                                          type: string
                                          enum:
                                            - remote_client
                                            - browser_session
                                        endpointUrl:
                                          anyOf:
                                            - type: string
                                              format: uri
                                            - type: 'null'
                                        endpointStatus:
                                          type: string
                                          enum:
                                            - not_published
                                            - verified
                                        documentationUrl:
                                          type: string
                                          format: uri
                                      required:
                                        - protocol
                                        - environment
                                        - endpointUrl
                                        - endpointStatus
                                        - documentationUrl
                                      additionalProperties: false
                                  connectionPrompt:
                                    type: string
                                    minLength: 1
                                    maxLength: 60000
                                required:
                                  - agentId
                                  - agentSlug
                                  - operationId
                                  - operationRevision
                                  - providerFamilyRef
                                  - rank
                                  - selected
                                  - name
                                  - description
                                  - requiredSetup
                                  - executionRequirements
                                  - executionGuidance
                                  - readiness
                                  - canStartThread
                                  - reasons
                                  - uncertainties
                                  - providerCheck
                                  - connectionMethods
                                  - connectionPrompt
                                additionalProperties: false
                            role:
                              type: string
                              enum:
                                - suggested
                                - used
                          required:
                            - type
                            - searchId
                            - agents
                            - role
                          additionalProperties: false
                        - type: object
                          properties:
                            type:
                              type: string
                              const: checkpoint
                            reason:
                              type: string
                              enum:
                                - approval
                                - connection
                                - unavailable
                                - limit
                                - user_control
                                - input
                            text:
                              type: string
                            threadId:
                              type: string
                          required:
                            - type
                            - reason
                            - text
                          additionalProperties: false
                        - type: object
                          properties:
                            type:
                              type: string
                              const: plan
                            presentation:
                              type: object
                              properties:
                                outcome:
                                  type: string
                                  minLength: 1
                                  maxLength: 1200
                                timeline:
                                  anyOf:
                                    - type: string
                                      maxLength: 500
                                    - type: 'null'
                                budget:
                                  anyOf:
                                    - type: string
                                      maxLength: 500
                                    - type: 'null'
                                steps:
                                  minItems: 1
                                  maxItems: 8
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      title:
                                        type: string
                                        minLength: 1
                                        maxLength: 160
                                      description:
                                        type: string
                                        minLength: 1
                                        maxLength: 1200
                                      operationIds:
                                        maxItems: 5
                                        type: array
                                        items:
                                          type: string
                                      alternativeOperationIds:
                                        maxItems: 5
                                        type: array
                                        items:
                                          type: string
                                    required:
                                      - title
                                      - description
                                      - operationIds
                                    additionalProperties: false
                              required:
                                - outcome
                                - timeline
                                - budget
                                - steps
                              additionalProperties: false
                            steps:
                              maxItems: 8
                              type: array
                              items:
                                type: object
                                properties:
                                  stepId:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                  objective:
                                    type: string
                                  agentId:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                    pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                  dependsOn:
                                    type: array
                                    items:
                                      type: string
                                      minLength: 1
                                      maxLength: 200
                                      pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                                required:
                                  - stepId
                                  - objective
                                  - agentId
                                  - dependsOn
                                additionalProperties: false
                          required:
                            - type
                            - steps
                          additionalProperties: false
                        - type: object
                          properties:
                            type:
                              type: string
                              const: handoff
                            agentId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            threadId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            actingAiId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            actRequestId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            url:
                              type: string
                            control:
                              type: string
                              enum:
                                - user
                                - coordinator
                            status:
                              type: string
                              const: thread_created
                            operationId:
                              type: string
                              minLength: 1
                              maxLength: 200
                              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                          required:
                            - type
                            - agentId
                            - threadId
                          additionalProperties: false
                        - type: object
                          properties:
                            type:
                              type: string
                              const: outcome
                            text:
                              type: string
                            messageIds:
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 200
                                pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
                            verification:
                              type: string
                              enum:
                                - provider_reported
                                - criteria_checked
                            partial:
                              type: boolean
                          required:
                            - type
                            - text
                            - messageIds
                            - verification
                            - partial
                          additionalProperties: false
                  searchResult:
                    type: object
                    properties:
                      searchId:
                        type: string
                        pattern: ^srch_[a-f0-9-]{36}$
                      responseId:
                        type: string
                        pattern: ^sresp_[a-f0-9-]{36}$
                      previousResponseId:
                        anyOf:
                          - type: string
                            pattern: ^sresp_[a-f0-9-]{36}$
                          - type: 'null'
                      contractVersion:
                        type: string
                        const: search-v3.0
                      status:
                        type: string
                        enum:
                          - completed
                          - needs_input
                          - no_match
                      response:
                        type: object
                        properties:
                          agents:
                            maxItems: 20
                            type: array
                            items:
                              type: object
                              properties:
                                agentId:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                agentSlug:
                                  anyOf:
                                    - type: string
                                      minLength: 1
                                      maxLength: 200
                                    - type: 'null'
                                operationId:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                operationRevision:
                                  type: integer
                                  exclusiveMinimum: 0
                                  maximum: 9007199254740991
                                providerFamilyRef:
                                  default: null
                                  anyOf:
                                    - type: string
                                      pattern: ^provider-family:sha256:[a-f0-9]{64}$
                                    - type: 'null'
                                rank:
                                  type: integer
                                  exclusiveMinimum: 0
                                  maximum: 9007199254740991
                                selected:
                                  type: boolean
                                name:
                                  type: string
                                  minLength: 1
                                  maxLength: 500
                                description:
                                  anyOf:
                                    - type: string
                                      maxLength: 8000
                                    - type: 'null'
                                imageUrl:
                                  anyOf:
                                    - type: string
                                      format: uri
                                    - type: 'null'
                                avatarUrl:
                                  anyOf:
                                    - type: string
                                      format: uri
                                    - type: 'null'
                                requiredSetup:
                                  default: null
                                  anyOf:
                                    - type: object
                                      properties:
                                        kind:
                                          type: string
                                          enum:
                                            - credential
                                            - installation
                                            - provider_configuration
                                        suppliedBy:
                                          type: string
                                          enum:
                                            - user
                                            - provider
                                            - runtime
                                        description:
                                          type: string
                                          minLength: 1
                                          maxLength: 500
                                      required:
                                        - kind
                                        - suppliedBy
                                        - description
                                      additionalProperties: false
                                    - type: 'null'
                                executionRequirements:
                                  default: null
                                  anyOf:
                                    - type: object
                                      properties:
                                        contractVersion:
                                          type: string
                                          const: 1.0.0
                                        providerAuthentication:
                                          type: object
                                          properties:
                                            state:
                                              type: string
                                              enum:
                                                - REQUIRED
                                                - NOT_REQUIRED
                                                - UNKNOWN
                                                - NOT_APPLICABLE
                                            mechanisms:
                                              maxItems: 20
                                              type: array
                                              items:
                                                type: string
                                                enum:
                                                  - BEARER
                                                  - API_KEY
                                                  - OAUTH2
                                                  - HTTP_BASIC
                                                  - MUTUAL_TLS
                                                  - SIGNED_REQUEST
                                                  - SESSION_COOKIE
                                                  - OPERATION_SECRET_INPUT
                                                  - UNSPECIFIED
                                            placements:
                                              maxItems: 20
                                              type: array
                                              items:
                                                type: string
                                                enum:
                                                  - HEADER
                                                  - QUERY
                                                  - COOKIE
                                                  - BODY
                                                  - TOOL_ARGUMENT
                                                  - ENVIRONMENT
                                                  - AUTH_CONTINUATION
                                            scopes:
                                              maxItems: 100
                                              type: array
                                              items:
                                                type: string
                                                minLength: 1
                                                maxLength: 200
                                            evidence:
                                              type: string
                                              enum:
                                                - PROVIDER_DECLARED
                                                - PROVIDER_OBSERVED
                                                - DERIVED_FROM_VERIFIED_RECEIPT
                                                - UNKNOWN
                                          required:
                                            - state
                                            - mechanisms
                                            - placements
                                            - scopes
                                            - evidence
                                          additionalProperties: false
                                        operationCredentials:
                                          type: object
                                          properties:
                                            state:
                                              type: string
                                              enum:
                                                - REQUIRED
                                                - NOT_REQUIRED
                                                - UNKNOWN
                                                - NOT_APPLICABLE
                                            sensitiveInputNames:
                                              maxItems: 100
                                              type: array
                                              items:
                                                type: string
                                                minLength: 1
                                                maxLength: 200
                                          required:
                                            - state
                                            - sensitiveInputNames
                                          additionalProperties: false
                                        runtime:
                                          type: object
                                          properties:
                                            kind:
                                              type: string
                                              enum:
                                                - REMOTE_MCP
                                                - LOCAL_STDIO
                                                - A2A_JSONRPC
                                                - HTTP_JSON
                                                - OPENAPI_HTTP
                                                - BOUNDED_FETCH
                                                - BROWSER
                                                - X402_PAYMENT
                                                - COMMERCE
                                                - UNSUPPORTED
                                            package:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    ecosystem:
                                                      type: string
                                                      minLength: 1
                                                      maxLength: 40
                                                    identifier:
                                                      type: string
                                                      minLength: 1
                                                      maxLength: 500
                                                    version:
                                                      type: string
                                                      minLength: 1
                                                      maxLength: 200
                                                    runtimeProfile:
                                                      type: string
                                                      minLength: 1
                                                      maxLength: 120
                                                  required:
                                                    - ecosystem
                                                    - identifier
                                                    - version
                                                    - runtimeProfile
                                                  additionalProperties: false
                                                - type: 'null'
                                            requiredEnvironmentNames:
                                              maxItems: 100
                                              type: array
                                              items:
                                                type: string
                                                minLength: 1
                                                maxLength: 200
                                          required:
                                            - kind
                                            - package
                                            - requiredEnvironmentNames
                                          additionalProperties: false
                                        payment:
                                          type: object
                                          properties:
                                            state:
                                              type: string
                                              enum:
                                                - REQUIRED
                                                - NOT_REQUIRED
                                                - UNKNOWN
                                                - NOT_APPLICABLE
                                            termsDigest:
                                              anyOf:
                                                - type: string
                                                  maxLength: 200
                                                - type: 'null'
                                          required:
                                            - state
                                            - termsDigest
                                          additionalProperties: false
                                        browser:
                                          type: object
                                          properties:
                                            state:
                                              type: string
                                              enum:
                                                - REQUIRED
                                                - NOT_REQUIRED
                                                - UNKNOWN
                                                - NOT_APPLICABLE
                                            sessionKind:
                                              anyOf:
                                                - type: string
                                                  enum:
                                                    - ANONYMOUS
                                                    - PROVIDER_SESSION
                                                    - UNKNOWN
                                                - type: 'null'
                                          required:
                                            - state
                                            - sessionKind
                                          additionalProperties: false
                                        providerContract:
                                          type: object
                                          properties:
                                            route:
                                              type: string
                                              enum:
                                                - RESOLVED
                                                - MISSING
                                                - AMBIGUOUS
                                                - UNSAFE
                                                - UNSUPPORTED
                                                - UNKNOWN
                                            inputSchema:
                                              type: string
                                              enum:
                                                - CONCRETE
                                                - DIGEST_ONLY
                                                - MISSING
                                                - UNKNOWN
                                            outputSchema:
                                              type: string
                                              enum:
                                                - CONCRETE
                                                - DIGEST_ONLY
                                                - MISSING
                                                - UNKNOWN
                                          required:
                                            - route
                                            - inputSchema
                                            - outputSchema
                                          additionalProperties: false
                                        providerBlockers:
                                          maxItems: 20
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              code:
                                                type: string
                                                enum:
                                                  - PROVIDER_ROUTE_UNSUPPORTED
                                                  - PROVIDER_SCHEMA_MISSING
                                                  - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                  - PROVIDER_METADATA_INCOMPLETE
                                                  - DARWIN_ADAPTER_UNAVAILABLE
                                                  - DARWIN_ROUTE_NOT_APPROVED
                                                  - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                  - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                  - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                              owner:
                                                type: string
                                                enum:
                                                  - PROVIDER
                                                  - DARWIN
                                            required:
                                              - code
                                              - owner
                                            additionalProperties: false
                                        derivation:
                                          type: object
                                          properties:
                                            normalizerVersion:
                                              type: string
                                              const: execution-requirements-v1
                                            sourceRevision:
                                              type: string
                                              minLength: 1
                                              maxLength: 240
                                            sourceReceiptDigest:
                                              anyOf:
                                                - type: string
                                                  maxLength: 200
                                                - type: 'null'
                                            completeness:
                                              type: string
                                              enum:
                                                - COMPLETE
                                                - PARTIAL
                                            derivationKey:
                                              type: string
                                              pattern: ^sha256:[a-f0-9]{64}$
                                          required:
                                            - normalizerVersion
                                            - sourceRevision
                                            - sourceReceiptDigest
                                            - completeness
                                            - derivationKey
                                          additionalProperties: false
                                      required:
                                        - contractVersion
                                        - providerAuthentication
                                        - operationCredentials
                                        - runtime
                                        - payment
                                        - browser
                                        - providerContract
                                        - providerBlockers
                                        - derivation
                                      additionalProperties: false
                                    - type: 'null'
                                executionGuidance:
                                  default: null
                                  anyOf:
                                    - type: object
                                      properties:
                                        credentialSummaryCode:
                                          type: string
                                          minLength: 1
                                          maxLength: 200
                                        credentialSummary:
                                          type: string
                                          minLength: 1
                                          maxLength: 1000
                                        setupSummaryCode:
                                          type: string
                                          minLength: 1
                                          maxLength: 200
                                        setupSummary:
                                          type: string
                                          minLength: 1
                                          maxLength: 1000
                                        recordBlockers:
                                          maxItems: 20
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              code:
                                                type: string
                                                enum:
                                                  - PROVIDER_ROUTE_UNSUPPORTED
                                                  - PROVIDER_SCHEMA_MISSING
                                                  - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                  - PROVIDER_METADATA_INCOMPLETE
                                                  - DARWIN_ADAPTER_UNAVAILABLE
                                                  - DARWIN_ROUTE_NOT_APPROVED
                                                  - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                  - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                  - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                              owner:
                                                type: string
                                                enum:
                                                  - PROVIDER
                                                  - DARWIN
                                            required:
                                              - code
                                              - owner
                                            additionalProperties: false
                                        primaryBlockerCode:
                                          anyOf:
                                            - type: string
                                              enum:
                                                - PROVIDER_ROUTE_UNSUPPORTED
                                                - PROVIDER_SCHEMA_MISSING
                                                - PROVIDER_AUTH_SCHEME_UNSPECIFIED
                                                - PROVIDER_METADATA_INCOMPLETE
                                                - DARWIN_ADAPTER_UNAVAILABLE
                                                - DARWIN_ROUTE_NOT_APPROVED
                                                - DARWIN_LOCAL_RUNTIME_UNAVAILABLE
                                                - DARWIN_BROWSER_RUNTIME_UNAVAILABLE
                                                - DARWIN_PAYMENT_RUNTIME_UNAVAILABLE
                                            - type: 'null'
                                        rendererVersion:
                                          type: string
                                          const: execution-guidance-v1
                                      required:
                                        - credentialSummaryCode
                                        - credentialSummary
                                        - setupSummaryCode
                                        - setupSummary
                                        - recordBlockers
                                        - primaryBlockerCode
                                        - rendererVersion
                                      additionalProperties: false
                                    - type: 'null'
                                readiness:
                                  type: string
                                  enum:
                                    - ready
                                    - authentication_required
                                    - recheck_required
                                    - unavailable
                                canStartThread:
                                  type: boolean
                                canAttemptThread:
                                  type: boolean
                                reasons:
                                  maxItems: 3
                                  type: array
                                  items:
                                    type: string
                                    maxLength: 250
                                uncertainties:
                                  maxItems: 3
                                  type: array
                                  items:
                                    type: string
                                    maxLength: 250
                                inquiry:
                                  type: object
                                  properties:
                                    status:
                                      type: string
                                      enum:
                                        - contacting
                                        - waiting
                                        - following_up
                                        - replied
                                        - needs_input
                                        - no_reply
                                        - not_contacted
                                        - outcome_unknown
                                    fit:
                                      type: string
                                      enum:
                                        - matches
                                        - partial
                                        - not_fit
                                        - unknown
                                    expiresAt:
                                      type: string
                                      format: date-time
                                      pattern: >-
                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                    threadId:
                                      type: string
                                      minLength: 1
                                      maxLength: 200
                                    question:
                                      type: string
                                      minLength: 1
                                      maxLength: 2000
                                    replies:
                                      maxItems: 4
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          messageId:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                          text:
                                            type: string
                                            minLength: 1
                                            maxLength: 8000
                                          at:
                                            type: string
                                            format: date-time
                                            pattern: >-
                                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                        required:
                                          - messageId
                                          - text
                                          - at
                                        additionalProperties: false
                                    description:
                                      type: string
                                      maxLength: 1200
                                    reason:
                                      type: string
                                      maxLength: 250
                                  required:
                                    - status
                                    - question
                                    - replies
                                  additionalProperties: false
                                providerCheck:
                                  type: string
                                  enum:
                                    - not_attempted
                                    - confirmed
                                    - unconfirmed
                                    - unavailable
                                connectionMethods:
                                  default: []
                                  maxItems: 3
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      protocol:
                                        type: string
                                        enum:
                                          - MCP
                                          - A2A
                                          - WEBMCP
                                      environment:
                                        type: string
                                        enum:
                                          - remote_client
                                          - browser_session
                                      endpointUrl:
                                        anyOf:
                                          - type: string
                                            format: uri
                                          - type: 'null'
                                      endpointStatus:
                                        type: string
                                        enum:
                                          - not_published
                                          - verified
                                      documentationUrl:
                                        type: string
                                        format: uri
                                    required:
                                      - protocol
                                      - environment
                                      - endpointUrl
                                      - endpointStatus
                                      - documentationUrl
                                    additionalProperties: false
                                connectionPrompt:
                                  type: string
                                  minLength: 1
                                  maxLength: 60000
                              required:
                                - agentId
                                - agentSlug
                                - operationId
                                - operationRevision
                                - providerFamilyRef
                                - rank
                                - selected
                                - name
                                - description
                                - requiredSetup
                                - executionRequirements
                                - executionGuidance
                                - readiness
                                - canStartThread
                                - reasons
                                - uncertainties
                                - providerCheck
                                - connectionMethods
                                - connectionPrompt
                              additionalProperties: false
                          assessment:
                            type: object
                            properties:
                              outcome:
                                type: string
                                enum:
                                  - strong
                                  - partial
                                  - clarify
                                  - no_match
                                  - unverified
                              explanation:
                                type: string
                                minLength: 1
                                maxLength: 2000
                            required:
                              - outcome
                              - explanation
                            additionalProperties: false
                          relatedSearches:
                            default: []
                            maxItems: 3
                            type: array
                            items:
                              type: object
                              properties:
                                query:
                                  type: string
                                  minLength: 1
                                  maxLength: 200
                                reason:
                                  type: string
                                  minLength: 1
                                  maxLength: 250
                              required:
                                - query
                                - reason
                              additionalProperties: false
                          plan:
                            anyOf:
                              - type: object
                                properties:
                                  steps:
                                    minItems: 1
                                    maxItems: 8
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        stepId:
                                          type: string
                                          minLength: 1
                                          maxLength: 200
                                        agentId:
                                          type: string
                                          minLength: 1
                                          maxLength: 200
                                        operationId:
                                          type: string
                                          minLength: 1
                                          maxLength: 200
                                        objective:
                                          type: string
                                          minLength: 1
                                          maxLength: 250
                                        dependsOn:
                                          maxItems: 8
                                          type: array
                                          items:
                                            type: string
                                            minLength: 1
                                            maxLength: 200
                                        alternatives:
                                          maxItems: 3
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              agentId:
                                                type: string
                                                minLength: 1
                                                maxLength: 200
                                              operationId:
                                                type: string
                                                minLength: 1
                                                maxLength: 200
                                            required:
                                              - agentId
                                              - operationId
                                            additionalProperties: false
                                      required:
                                        - stepId
                                        - agentId
                                        - operationId
                                        - objective
                                        - dependsOn
                                      additionalProperties: false
                                required:
                                  - steps
                                additionalProperties: false
                              - type: 'null'
                          question:
                            anyOf:
                              - type: string
                                minLength: 1
                                maxLength: 500
                              - type: 'null'
                          noMatchReason:
                            anyOf:
                              - type: string
                                minLength: 1
                                maxLength: 500
                              - type: 'null'
                          overview:
                            anyOf:
                              - type: string
                                maxLength: 32000
                              - type: 'null'
                        required:
                          - agents
                          - relatedSearches
                          - question
                          - noMatchReason
                        additionalProperties: false
                      searchToken:
                        type: string
                    required:
                      - searchId
                      - responseId
                      - previousResponseId
                      - contractVersion
                      - status
                      - response
                    additionalProperties: false
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  updatedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                required:
                  - turnId
                  - clientMessageId
                  - message
                  - status
                  - blocks
                  - createdAt
                  - updatedAt
                additionalProperties: false
            nextBefore:
              anyOf:
                - type: string
                - type: 'null'
            eventCursor:
              type: string
          required:
            - turns
            - nextBefore
            - eventCursor
          additionalProperties: false
      required:
        - assistId
        - status
        - goal
        - messages
        - revisions
        - latestRevisionId
        - quote
        - funding
        - run
        - previousRuns
        - createdAt
        - updatedAt
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
    apiKeyBearer:
      type: http
      scheme: bearer
      description: A Darwin API key supplied as an Authorization Bearer token.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.