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

# Get a page of activity owned by a task conversation turn



## OpenAPI

````yaml api-reference/openapi.v1.json GET /tasks/{taskID}/conversation/turns/{turnID}/activity
openapi: 3.1.0
info:
  title: Aether Public API
  version: 0.1.0
  description: >-
    The versioned, public Aether REST API. Authenticate with an `aether_`
    platform API key or a session token.
servers:
  - url: https://api.runaether.dev/v1
security:
  - bearerAuth: []
paths:
  /tasks/{taskID}/conversation/turns/{turnID}/activity:
    get:
      tags:
        - tasks
      summary: Get a page of activity owned by a task conversation turn
      operationId: getTaskConversationTurnActivity
      parameters:
        - in: path
          name: taskID
          required: true
          schema:
            format: uuid
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            type: string
        - in: path
          name: turnID
          required: true
          schema:
            format: uuid
            not:
              enum:
                - 00000000-0000-0000-0000-000000000000
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            type: string
        - explode: false
          in: query
          name: before
          schema:
            format: int64
            maximum: 9007199254740991
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: limit
          schema:
            default: 200
            format: int64
            maximum: 200
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  active_conversation_turn_id:
                    format: uuid
                    not:
                      enum:
                        - 00000000-0000-0000-0000-000000000000
                    type:
                      - string
                      - 'null'
                  has_more_older:
                    type: boolean
                  items:
                    items:
                      $ref: '#/components/schemas/TaskTimelineMessage'
                    type: array
                  latest_sequence:
                    format: int64
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                  oldest_sequence_loaded:
                    format: int64
                    maximum: 9007199254740991
                    minimum: 0
                    type:
                      - integer
                      - 'null'
                  task:
                    discriminator:
                      mapping:
                        awaiting_input:
                          $ref: '#/components/schemas/TaskAwaitingInput'
                        errored:
                          $ref: '#/components/schemas/TaskErrored'
                        processing:
                          $ref: '#/components/schemas/TaskProcessing'
                        queued:
                          $ref: '#/components/schemas/TaskQueued'
                      propertyName: status
                    oneOf:
                      - $ref: '#/components/schemas/TaskQueued'
                      - $ref: '#/components/schemas/TaskProcessing'
                      - $ref: '#/components/schemas/TaskAwaitingInput'
                      - $ref: '#/components/schemas/TaskErrored'
                  turn_revision_sequence:
                    format: int64
                    maximum: 9007199254740991
                    minimum: 0
                    type: integer
                required:
                  - task
                  - items
                  - latest_sequence
                  - active_conversation_turn_id
                  - turn_revision_sequence
                  - oldest_sequence_loaded
                  - has_more_older
                type: object
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgAuthorizationErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Unavailable
components:
  schemas:
    TaskTimelineMessage:
      oneOf:
        - $ref: '#/components/schemas/TaskTimelineUserMessage'
        - $ref: '#/components/schemas/TaskTimelineTextMessage'
        - $ref: '#/components/schemas/TaskTimelineThinkingMessage'
        - $ref: '#/components/schemas/TaskTimelineToolMessage'
        - $ref: '#/components/schemas/TaskTimelineSeamMessage'
    TaskAwaitingInput:
      additionalProperties: false
      properties:
        agent_type:
          enum:
            - codex
            - claude-code
            - opencode
            - cursor
          type: string
        archived_at:
          minLength: 1
          type:
            - string
            - 'null'
        auto_fix_ci:
          type: boolean
        auto_fix_pr_comments:
          type: boolean
        auto_rebase:
          type: boolean
        awaiting_input:
          $ref: '#/components/schemas/TaskAwaitingInputPayload'
        base_branch:
          minLength: 1
          pattern: \S
          type: string
        created_at:
          minLength: 1
          type: string
        creator_reauth_required:
          type: boolean
        display_status:
          enum:
            - running
            - awaiting_input
            - awaiting_ci
            - merged
            - unmerged
            - errored
            - archived
          type: string
        feed_updated_at:
          minLength: 1
          type: string
        github_status:
          enum:
            - merged
            - unmerged
            - awaiting_ci
          type:
            - string
            - 'null'
        hardware:
          $ref: '#/components/schemas/HardwareConfig'
        head_branch:
          minLength: 1
          type: string
        id:
          minLength: 1
          type: string
        interaction_mode:
          enum:
            - default
            - plan
          type: string
        last_error:
          type:
            - string
            - 'null'
        latest_sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        latest_status_message:
          type:
            - string
            - 'null'
        latest_status_source:
          type:
            - string
            - 'null'
        model:
          minLength: 1
          type: string
        name:
          minLength: 1
          type: string
        parent_task_id:
          format: uuid
          type:
            - string
            - 'null'
        post_pr_demo_video:
          type: boolean
        post_pr_screenshots:
          type: boolean
        pr_review_mode:
          enum:
            - review_only
            - apply_fixes
          type:
            - string
            - 'null'
        pr_review_summary:
          anyOf:
            - $ref: '#/components/schemas/TaskPRReviewSummary'
            - type: 'null'
        primary_pull_request:
          anyOf:
            - $ref: '#/components/schemas/TaskPullRequest'
            - type: 'null'
        project_id:
          minLength: 1
          type: string
        pull_requests:
          items:
            $ref: '#/components/schemas/TaskPullRequest'
          type: array
        reasoning_effort:
          enum:
            - ultra
            - max
            - xhigh
            - high
            - medium
            - low
            - ultrathink
            - ultracode
            - none
          type:
            - string
            - 'null'
        review_subject_pull_request:
          anyOf:
            - $ref: '#/components/schemas/TaskReviewSubjectPullRequest'
            - type: 'null'
        run_context:
          anyOf:
            - $ref: '#/components/schemas/TaskRunContext'
            - type: 'null'
        runtime_timing:
          $ref: '#/components/schemas/TaskRuntimeTiming'
        slash_commands:
          items:
            $ref: '#/components/schemas/TaskSlashCommand'
          type:
            - array
            - 'null'
        source:
          $ref: '#/components/schemas/TaskSource'
        source_metadata:
          additionalProperties: true
          properties: {}
          type:
            - object
            - 'null'
        status:
          enum:
            - awaiting_input
          type: string
        usage:
          $ref: '#/components/schemas/TaskUsage'
        user_id:
          minLength: 1
          type:
            - string
            - 'null'
      required:
        - id
        - project_id
        - parent_task_id
        - user_id
        - name
        - agent_type
        - model
        - interaction_mode
        - auto_fix_ci
        - auto_fix_pr_comments
        - auto_rebase
        - post_pr_screenshots
        - post_pr_demo_video
        - status
        - display_status
        - github_status
        - pull_requests
        - primary_pull_request
        - review_subject_pull_request
        - pr_review_summary
        - creator_reauth_required
        - usage
        - runtime_timing
        - hardware
        - source
        - created_at
        - feed_updated_at
        - base_branch
        - run_context
        - awaiting_input
      type: object
    TaskErrored:
      additionalProperties: false
      properties:
        agent_type:
          enum:
            - codex
            - claude-code
            - opencode
            - cursor
          type: string
        archived_at:
          minLength: 1
          type:
            - string
            - 'null'
        auto_fix_ci:
          type: boolean
        auto_fix_pr_comments:
          type: boolean
        auto_rebase:
          type: boolean
        base_branch:
          minLength: 1
          pattern: \S
          type: string
        completed_at:
          minLength: 1
          type: string
        created_at:
          minLength: 1
          type: string
        creator_reauth_required:
          type: boolean
        display_status:
          enum:
            - running
            - awaiting_input
            - awaiting_ci
            - merged
            - unmerged
            - errored
            - archived
          type: string
        error:
          minLength: 1
          type: string
        feed_updated_at:
          minLength: 1
          type: string
        github_status:
          enum:
            - merged
            - unmerged
            - awaiting_ci
          type:
            - string
            - 'null'
        hardware:
          $ref: '#/components/schemas/HardwareConfig'
        head_branch:
          minLength: 1
          type: string
        id:
          minLength: 1
          type: string
        interaction_mode:
          enum:
            - default
            - plan
          type: string
        last_error:
          type:
            - string
            - 'null'
        latest_sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        latest_status_message:
          type:
            - string
            - 'null'
        latest_status_source:
          type:
            - string
            - 'null'
        model:
          minLength: 1
          type: string
        name:
          minLength: 1
          type: string
        parent_task_id:
          format: uuid
          type:
            - string
            - 'null'
        post_pr_demo_video:
          type: boolean
        post_pr_screenshots:
          type: boolean
        pr_review_mode:
          enum:
            - review_only
            - apply_fixes
          type:
            - string
            - 'null'
        pr_review_summary:
          anyOf:
            - $ref: '#/components/schemas/TaskPRReviewSummary'
            - type: 'null'
        primary_pull_request:
          anyOf:
            - $ref: '#/components/schemas/TaskPullRequest'
            - type: 'null'
        project_id:
          minLength: 1
          type: string
        pull_requests:
          items:
            $ref: '#/components/schemas/TaskPullRequest'
          type: array
        reasoning_effort:
          enum:
            - ultra
            - max
            - xhigh
            - high
            - medium
            - low
            - ultrathink
            - ultracode
            - none
          type:
            - string
            - 'null'
        review_subject_pull_request:
          anyOf:
            - $ref: '#/components/schemas/TaskReviewSubjectPullRequest'
            - type: 'null'
        run_context:
          anyOf:
            - $ref: '#/components/schemas/TaskRunContext'
            - type: 'null'
        runtime_timing:
          $ref: '#/components/schemas/TaskRuntimeTiming'
        slash_commands:
          items:
            $ref: '#/components/schemas/TaskSlashCommand'
          type:
            - array
            - 'null'
        source:
          $ref: '#/components/schemas/TaskSource'
        source_metadata:
          additionalProperties: true
          properties: {}
          type:
            - object
            - 'null'
        status:
          enum:
            - errored
          type: string
        usage:
          $ref: '#/components/schemas/TaskUsage'
        user_id:
          minLength: 1
          type:
            - string
            - 'null'
      required:
        - id
        - project_id
        - parent_task_id
        - user_id
        - name
        - agent_type
        - model
        - interaction_mode
        - auto_fix_ci
        - auto_fix_pr_comments
        - auto_rebase
        - post_pr_screenshots
        - post_pr_demo_video
        - status
        - display_status
        - github_status
        - pull_requests
        - primary_pull_request
        - review_subject_pull_request
        - pr_review_summary
        - creator_reauth_required
        - usage
        - runtime_timing
        - hardware
        - source
        - created_at
        - feed_updated_at
        - base_branch
        - run_context
        - error
        - completed_at
      type: object
    TaskProcessing:
      additionalProperties: false
      properties:
        agent_type:
          enum:
            - codex
            - claude-code
            - opencode
            - cursor
          type: string
        archived_at:
          minLength: 1
          type:
            - string
            - 'null'
        auto_fix_ci:
          type: boolean
        auto_fix_pr_comments:
          type: boolean
        auto_rebase:
          type: boolean
        base_branch:
          minLength: 1
          pattern: \S
          type: string
        created_at:
          minLength: 1
          type: string
        creator_reauth_required:
          type: boolean
        display_status:
          enum:
            - running
            - awaiting_input
            - awaiting_ci
            - merged
            - unmerged
            - errored
            - archived
          type: string
        feed_updated_at:
          minLength: 1
          type: string
        github_status:
          enum:
            - merged
            - unmerged
            - awaiting_ci
          type:
            - string
            - 'null'
        hardware:
          $ref: '#/components/schemas/HardwareConfig'
        head_branch:
          minLength: 1
          type: string
        id:
          minLength: 1
          type: string
        interaction_mode:
          enum:
            - default
            - plan
          type: string
        last_error:
          type:
            - string
            - 'null'
        latest_sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        latest_status_message:
          type:
            - string
            - 'null'
        latest_status_source:
          type:
            - string
            - 'null'
        model:
          minLength: 1
          type: string
        name:
          minLength: 1
          type: string
        parent_task_id:
          format: uuid
          type:
            - string
            - 'null'
        post_pr_demo_video:
          type: boolean
        post_pr_screenshots:
          type: boolean
        pr_review_mode:
          enum:
            - review_only
            - apply_fixes
          type:
            - string
            - 'null'
        pr_review_summary:
          anyOf:
            - $ref: '#/components/schemas/TaskPRReviewSummary'
            - type: 'null'
        primary_pull_request:
          anyOf:
            - $ref: '#/components/schemas/TaskPullRequest'
            - type: 'null'
        project_id:
          minLength: 1
          type: string
        pull_requests:
          items:
            $ref: '#/components/schemas/TaskPullRequest'
          type: array
        reasoning_effort:
          enum:
            - ultra
            - max
            - xhigh
            - high
            - medium
            - low
            - ultrathink
            - ultracode
            - none
          type:
            - string
            - 'null'
        review_subject_pull_request:
          anyOf:
            - $ref: '#/components/schemas/TaskReviewSubjectPullRequest'
            - type: 'null'
        run_context:
          $ref: '#/components/schemas/TaskRunContext'
        runtime_timing:
          $ref: '#/components/schemas/TaskRuntimeTiming'
        slash_commands:
          items:
            $ref: '#/components/schemas/TaskSlashCommand'
          type:
            - array
            - 'null'
        source:
          $ref: '#/components/schemas/TaskSource'
        source_metadata:
          additionalProperties: true
          properties: {}
          type:
            - object
            - 'null'
        status:
          enum:
            - processing
          type: string
        usage:
          $ref: '#/components/schemas/TaskUsage'
        user_id:
          minLength: 1
          type:
            - string
            - 'null'
      required:
        - id
        - project_id
        - parent_task_id
        - user_id
        - name
        - agent_type
        - model
        - interaction_mode
        - auto_fix_ci
        - auto_fix_pr_comments
        - auto_rebase
        - post_pr_screenshots
        - post_pr_demo_video
        - status
        - display_status
        - github_status
        - pull_requests
        - primary_pull_request
        - review_subject_pull_request
        - pr_review_summary
        - creator_reauth_required
        - usage
        - runtime_timing
        - hardware
        - source
        - created_at
        - feed_updated_at
        - base_branch
        - run_context
      type: object
    TaskQueued:
      additionalProperties: false
      properties:
        agent_type:
          enum:
            - codex
            - claude-code
            - opencode
            - cursor
          type: string
        archived_at:
          minLength: 1
          type:
            - string
            - 'null'
        auto_fix_ci:
          type: boolean
        auto_fix_pr_comments:
          type: boolean
        auto_rebase:
          type: boolean
        base_branch:
          minLength: 1
          pattern: \S
          type: string
        created_at:
          minLength: 1
          type: string
        creator_reauth_required:
          type: boolean
        display_status:
          enum:
            - running
            - awaiting_input
            - awaiting_ci
            - merged
            - unmerged
            - errored
            - archived
          type: string
        feed_updated_at:
          minLength: 1
          type: string
        github_status:
          enum:
            - merged
            - unmerged
            - awaiting_ci
          type:
            - string
            - 'null'
        hardware:
          $ref: '#/components/schemas/HardwareConfig'
        head_branch:
          minLength: 1
          type: string
        id:
          minLength: 1
          type: string
        interaction_mode:
          enum:
            - default
            - plan
          type: string
        last_error:
          type:
            - string
            - 'null'
        latest_sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        latest_status_message:
          type:
            - string
            - 'null'
        latest_status_source:
          type:
            - string
            - 'null'
        model:
          minLength: 1
          type: string
        name:
          minLength: 1
          type: string
        parent_task_id:
          format: uuid
          type:
            - string
            - 'null'
        post_pr_demo_video:
          type: boolean
        post_pr_screenshots:
          type: boolean
        pr_review_mode:
          enum:
            - review_only
            - apply_fixes
          type:
            - string
            - 'null'
        pr_review_summary:
          anyOf:
            - $ref: '#/components/schemas/TaskPRReviewSummary'
            - type: 'null'
        primary_pull_request:
          anyOf:
            - $ref: '#/components/schemas/TaskPullRequest'
            - type: 'null'
        project_id:
          minLength: 1
          type: string
        pull_requests:
          items:
            $ref: '#/components/schemas/TaskPullRequest'
          type: array
        reasoning_effort:
          enum:
            - ultra
            - max
            - xhigh
            - high
            - medium
            - low
            - ultrathink
            - ultracode
            - none
          type:
            - string
            - 'null'
        review_subject_pull_request:
          anyOf:
            - $ref: '#/components/schemas/TaskReviewSubjectPullRequest'
            - type: 'null'
        run_context:
          anyOf:
            - $ref: '#/components/schemas/TaskRunContext'
            - type: 'null'
        runtime_timing:
          $ref: '#/components/schemas/TaskRuntimeTiming'
        slash_commands:
          items:
            $ref: '#/components/schemas/TaskSlashCommand'
          type:
            - array
            - 'null'
        source:
          $ref: '#/components/schemas/TaskSource'
        source_metadata:
          additionalProperties: true
          properties: {}
          type:
            - object
            - 'null'
        status:
          enum:
            - queued
          type: string
        usage:
          $ref: '#/components/schemas/TaskUsage'
        user_id:
          minLength: 1
          type:
            - string
            - 'null'
      required:
        - id
        - project_id
        - parent_task_id
        - user_id
        - name
        - agent_type
        - model
        - interaction_mode
        - auto_fix_ci
        - auto_fix_pr_comments
        - auto_rebase
        - post_pr_screenshots
        - post_pr_demo_video
        - status
        - display_status
        - github_status
        - pull_requests
        - primary_pull_request
        - review_subject_pull_request
        - pr_review_summary
        - creator_reauth_required
        - usage
        - runtime_timing
        - hardware
        - source
        - created_at
        - feed_updated_at
        - base_branch
        - run_context
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        code:
          type: string
        error:
          minLength: 1
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
      required:
        - error
      type: object
    OrgAuthorizationErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - org_membership_required
            - org_role_insufficient
            - org_suspended
            - account_deleting
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    TaskTimelineUserMessage:
      additionalProperties: false
      properties:
        clientMessageId:
          format: uuid
          type: string
        content:
          type: string
        context:
          $ref: '#/components/schemas/PromptContext'
        deliveryStatus:
          enum:
            - queued
            - processing
            - processed
          type: string
        id:
          minLength: 1
          type: string
        messageEvent:
          $ref: '#/components/schemas/TimelineMessageEventCard'
        processingStartedAt:
          minLength: 1
          type: string
        role:
          enum:
            - user
          type: string
        sender_display_name:
          minLength: 1
          type: string
        sender_user_id:
          format: uuid
          type: string
        sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        timestamp:
          minLength: 1
          type: string
        toolResponse:
          discriminator:
            mapping:
              ask_user:
                $ref: '#/components/schemas/AskUserToolResponse'
              propose_plan:
                $ref: '#/components/schemas/ProposePlanToolResponse'
            propertyName: tool_name
          oneOf:
            - $ref: '#/components/schemas/AskUserToolResponse'
            - $ref: '#/components/schemas/ProposePlanToolResponse'
        variant:
          enum:
            - text
          type: string
      required:
        - id
        - role
        - content
        - deliveryStatus
        - timestamp
        - sequence
      type: object
    TaskTimelineTextMessage:
      additionalProperties: false
      properties:
        content:
          type: string
        id:
          minLength: 1
          type: string
        role:
          enum:
            - assistant
          type: string
        sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        timestamp:
          minLength: 1
          type: string
        variant:
          enum:
            - text
          type: string
      required:
        - id
        - role
        - variant
        - timestamp
        - sequence
        - content
      type: object
    TaskTimelineThinkingMessage:
      additionalProperties: false
      properties:
        content:
          type: string
        duration:
          format: double
          minimum: 0
          type: number
        id:
          minLength: 1
          type: string
        isStreaming:
          type: boolean
        role:
          enum:
            - assistant
          type: string
        sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        timestamp:
          minLength: 1
          type: string
        variant:
          enum:
            - thinking
          type: string
      required:
        - id
        - role
        - variant
        - timestamp
        - sequence
        - content
        - isStreaming
      type: object
    TaskTimelineToolMessage:
      additionalProperties: false
      properties:
        id:
          minLength: 1
          type: string
        role:
          enum:
            - assistant
          type: string
        sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        timestamp:
          minLength: 1
          type: string
        tool:
          $ref: '#/components/schemas/TaskTimelineTool'
        variant:
          enum:
            - tool
          type: string
      required:
        - id
        - role
        - variant
        - timestamp
        - sequence
        - tool
      type: object
    TaskTimelineSeamMessage:
      additionalProperties: false
      properties:
        id:
          minLength: 1
          type: string
        role:
          enum:
            - assistant
          type: string
        seam:
          $ref: '#/components/schemas/TaskTimelineSeam'
        sequence:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        timestamp:
          minLength: 1
          type: string
        variant:
          enum:
            - seam
          type: string
      required:
        - id
        - role
        - variant
        - timestamp
        - sequence
        - seam
      type: object
    TaskAwaitingInputPayload:
      discriminator:
        mapping:
          message:
            $ref: '#/components/schemas/TaskAwaitingInputMessage'
          plan:
            $ref: '#/components/schemas/TaskAwaitingInputPlan'
          questions:
            $ref: '#/components/schemas/TaskAwaitingInputQuestions'
        propertyName: kind
      oneOf:
        - $ref: '#/components/schemas/TaskAwaitingInputMessage'
        - $ref: '#/components/schemas/TaskAwaitingInputQuestions'
        - $ref: '#/components/schemas/TaskAwaitingInputPlan'
    HardwareConfig:
      additionalProperties: false
      properties:
        cpu_kind:
          enum:
            - shared
            - performance
          type: string
        cpus:
          format: int64
          maximum: 16
          minimum: 1
          type: integer
        gpu_kind:
          enum:
            - a10
            - l40s
            - a100-40gb
            - a100-80gb
          type:
            - string
            - 'null'
        memory_mb:
          format: int64
          maximum: 32768
          minimum: 256
          type: integer
        volume_size_gb:
          format: int64
          maximum: 500
          minimum: 1
          type: integer
      required:
        - cpu_kind
        - cpus
        - memory_mb
        - volume_size_gb
        - gpu_kind
      type: object
    TaskPRReviewSummary:
      additionalProperties: false
      properties:
        comment_count:
          format: int64
          minimum: 0
          type:
            - integer
            - 'null'
        pull_request_id:
          format: uuid
          type: string
        review_task_id:
          format: uuid
          type: string
        run_count:
          format: int64
          minimum: 1
          type: integer
        run_status:
          $ref: '#/components/schemas/ReviewRunStatus'
        verdict:
          $ref: '#/components/schemas/PRReviewPostedReviewEvent'
      required:
        - review_task_id
        - pull_request_id
        - run_status
        - comment_count
        - run_count
      type: object
    TaskPullRequest:
      additionalProperties: false
      properties:
        additions:
          format: int64
          minimum: 0
          type: integer
        branch_name:
          minLength: 1
          type: string
        checks_failed:
          format: int64
          minimum: 0
          type: integer
        checks_passed:
          format: int64
          minimum: 0
          type: integer
        checks_total:
          format: int64
          minimum: 0
          type: integer
        ci_status:
          enum:
            - pending
            - passed
            - failed
          type: string
        commits:
          format: int64
          minimum: 0
          type: integer
        deletions:
          format: int64
          minimum: 0
          type: integer
        html_url:
          minLength: 1
          type: string
        lines_changed:
          format: int64
          minimum: 0
          type: integer
        merged_at:
          minLength: 1
          type: string
        pr_number:
          format: int64
          minimum: 1
          type: integer
        pull_request_id:
          format: uuid
          type: string
        state:
          enum:
            - open
            - closed
            - merged
          type: string
        title:
          type: string
      required:
        - pull_request_id
        - pr_number
        - html_url
        - title
        - checks_passed
        - checks_failed
        - checks_total
        - commits
        - lines_changed
        - additions
        - deletions
      type: object
    TaskReviewSubjectPullRequest:
      additionalProperties: false
      properties:
        additions:
          format: int64
          minimum: 0
          type: integer
        branch_name:
          minLength: 1
          type: string
        checks_failed:
          format: int64
          minimum: 0
          type: integer
        checks_passed:
          format: int64
          minimum: 0
          type: integer
        checks_total:
          format: int64
          minimum: 0
          type: integer
        ci_status:
          enum:
            - pending
            - passed
            - failed
          type: string
        commits:
          format: int64
          minimum: 0
          type: integer
        deletions:
          format: int64
          minimum: 0
          type: integer
        html_url:
          minLength: 1
          type: string
        lines_changed:
          format: int64
          minimum: 0
          type: integer
        merged_at:
          minLength: 1
          type: string
        origin_task_id:
          format: uuid
          type: string
        pr_number:
          format: int64
          minimum: 1
          type: integer
        pull_request_id:
          format: uuid
          type: string
        review_check_conclusion:
          enum:
            - success
            - failure
            - cancelled
            - neutral
          type: string
        review_trigger:
          enum:
            - automatic
            - comment_command
            - manual
          type: string
        state:
          enum:
            - open
            - closed
            - merged
          type: string
        title:
          type: string
      required:
        - pull_request_id
        - pr_number
        - html_url
        - title
        - checks_passed
        - checks_failed
        - checks_total
        - commits
        - lines_changed
        - additions
        - deletions
        - review_trigger
      type: object
    TaskRunContext:
      additionalProperties: false
      properties:
        started_at:
          minLength: 1
          type: string
        workspace_id:
          minLength: 1
          type: string
      required:
        - workspace_id
        - started_at
      type: object
    TaskRuntimeTiming:
      discriminator:
        mapping:
          active:
            $ref: '#/components/schemas/TaskRuntimeTimingActive'
          inactive:
            $ref: '#/components/schemas/TaskRuntimeTimingInactive'
        propertyName: state
      oneOf:
        - $ref: '#/components/schemas/TaskRuntimeTimingInactive'
        - $ref: '#/components/schemas/TaskRuntimeTimingActive'
    TaskSlashCommand:
      additionalProperties: true
      properties:
        description:
          type: string
        input:
          additionalProperties: true
          properties:
            hint:
              type: string
          required:
            - hint
          type: object
        name:
          type: string
      required:
        - name
        - description
      type: object
    TaskSource:
      enum:
        - manual
        - web
        - mobile
        - cli
        - ci
        - sentry
        - linear
        - slack
        - automation
        - pr_review
        - teleport
        - agent
      type: string
    TaskUsage:
      additionalProperties: false
      properties:
        tokens_in:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        tokens_out:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        vm_uptime_seconds:
          format: int64
          minimum: 0
          type: integer
      required:
        - tokens_in
        - tokens_out
        - vm_uptime_seconds
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    PromptContext:
      additionalProperties: false
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/Attachment'
          maxItems: 10
          type: array
        files:
          items:
            $ref: '#/components/schemas/FileReference'
          type: array
      type: object
    TimelineMessageEventCard:
      discriminator:
        mapping:
          auto_rebase:
            $ref: '#/components/schemas/AutoRebaseMessageEvent'
          ci_failure:
            $ref: '#/components/schemas/CIFailureMessageEvent'
          external:
            $ref: '#/components/schemas/ExternalMessageEvent'
          github_batch:
            $ref: '#/components/schemas/GitHubBatchMessageEvent'
          pr_comment:
            $ref: '#/components/schemas/PRCommentMessageEvent'
          pr_review:
            $ref: '#/components/schemas/PRReviewMessageEvent'
          task_signal_batch:
            $ref: '#/components/schemas/TaskSignalBatchMessageEvent'
          task_stopped:
            $ref: '#/components/schemas/TaskStoppedMessageEvent'
        propertyName: kind
      oneOf:
        - $ref: '#/components/schemas/PRCommentMessageEvent'
        - $ref: '#/components/schemas/CIFailureMessageEvent'
        - $ref: '#/components/schemas/AutoRebaseMessageEvent'
        - $ref: '#/components/schemas/PRReviewMessageEvent'
        - $ref: '#/components/schemas/ExternalMessageEvent'
        - $ref: '#/components/schemas/GitHubBatchMessageEvent'
        - $ref: '#/components/schemas/TaskSignalBatchMessageEvent'
        - $ref: '#/components/schemas/TaskStoppedMessageEvent'
    AskUserToolResponse:
      additionalProperties: false
      properties:
        data:
          additionalProperties: false
          properties:
            answers:
              additionalProperties:
                items:
                  format: int64
                  minimum: -1
                  type: integer
                type: array
              type: object
            customAnswers:
              additionalProperties:
                type: string
              type: object
          required:
            - answers
          type: object
        tool_name:
          enum:
            - ask_user
          type: string
      required:
        - tool_name
        - data
      type: object
    ProposePlanToolResponse:
      additionalProperties: false
      properties:
        data:
          additionalProperties: false
          properties:
            approved:
              type: boolean
            feedback:
              type: string
          required:
            - approved
          type: object
        tool_name:
          enum:
            - propose_plan
          type: string
      required:
        - tool_name
        - data
      type: object
    TaskTimelineTool:
      additionalProperties: false
      properties:
        display:
          $ref: '#/components/schemas/ToolDisplay'
        error:
          type: string
        id:
          minLength: 1
          type: string
        input:
          additionalProperties: true
          properties: {}
          type: object
        itemType:
          enum:
            - user_message
            - assistant_message
            - reasoning
            - plan
            - command_execution
            - file_change
            - file_read
            - mcp_tool_call
            - dynamic_tool_call
            - collab_agent_tool_call
            - web_search
            - web_fetch
            - image_view
            - task_tracking
            - subagent_invocation
            - review_entered
            - review_exited
            - context_compaction
            - error
            - unknown
          type: string
        name:
          minLength: 1
          type: string
        provider:
          enum:
            - codex
            - claude-code
            - opencode
            - cursor
          type: string
        result:
          type: string
        status:
          enum:
            - input-streaming
            - input-available
            - output-available
            - output-error
            - output-denied
            - approval-responded
            - approval-requested
          type: string
      required:
        - id
        - name
        - input
        - status
        - display
      type: object
    TaskTimelineSeam:
      oneOf:
        - $ref: '#/components/schemas/TaskTimelineTeleportSeam'
        - $ref: '#/components/schemas/TaskTimelineCompactionSeam'
    TaskAwaitingInputMessage:
      additionalProperties: false
      properties:
        kind:
          enum:
            - message
          type: string
      required:
        - kind
      type: object
    TaskAwaitingInputPlan:
      additionalProperties: false
      properties:
        input:
          $ref: '#/components/schemas/ProposePlanToolInput'
        kind:
          enum:
            - plan
          type: string
        tool_id:
          minLength: 1
          type: string
      required:
        - kind
        - tool_id
        - input
      type: object
    TaskAwaitingInputQuestions:
      additionalProperties: false
      properties:
        input:
          $ref: '#/components/schemas/AskUserToolInput'
        kind:
          enum:
            - questions
          type: string
        tool_id:
          minLength: 1
          type: string
      required:
        - kind
        - tool_id
        - input
      type: object
    ReviewRunStatus:
      enum:
        - reviewing
        - awaiting_input
        - completed
        - failed
        - cancelled
        - superseded
        - archived
      type: string
    PRReviewPostedReviewEvent:
      enum:
        - COMMENT
        - APPROVE
        - REQUEST_CHANGES
      type: string
    TaskRuntimeTimingActive:
      additionalProperties: false
      properties:
        active_started_at:
          minLength: 1
          type: string
        state:
          enum:
            - active
          type: string
      required:
        - state
        - active_started_at
      type: object
    TaskRuntimeTimingInactive:
      additionalProperties: false
      properties:
        state:
          enum:
            - inactive
          type: string
      required:
        - state
      type: object
    Attachment:
      additionalProperties: false
      properties:
        data:
          minLength: 1
          type: string
        filename:
          minLength: 1
          type: string
        mediaType:
          minLength: 1
          type: string
      required:
        - filename
        - mediaType
        - data
      type: object
    FileReference:
      additionalProperties: false
      properties:
        include:
          type: boolean
        path:
          minLength: 1
          type: string
        selection:
          $ref: '#/components/schemas/FileSelection'
      required:
        - path
        - include
      type: object
    AutoRebaseMessageEvent:
      additionalProperties: false
      properties:
        baseBranch:
          minLength: 1
          pattern: \S
          type: string
        branch:
          minLength: 1
          pattern: \S
          type: string
        headSha:
          minLength: 1
          pattern: \S
          type: string
        kind:
          enum:
            - auto_rebase
          type: string
        mergeableState:
          minLength: 1
          pattern: \S
          type: string
        prNumber:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        reason:
          type: string
        repo:
          $ref: '#/components/schemas/MessageEventRepo'
        url:
          format: uri
          type: string
      required:
        - kind
        - repo
        - prNumber
      type: object
    CIFailureMessageEvent:
      additionalProperties: false
      properties:
        branch:
          minLength: 1
          pattern: \S
          type: string
        checks:
          items:
            additionalProperties: false
            properties:
              conclusion:
                minLength: 1
                pattern: \S
                type: string
              jobId:
                format: int64
                maximum: 9007199254740991
                minimum: 1
                type: integer
              name:
                minLength: 1
                pattern: \S
                type: string
              summary:
                type: string
            required:
              - name
              - conclusion
              - jobId
            type: object
          type: array
        kind:
          enum:
            - ci_failure
          type: string
        prNumber:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        repo:
          $ref: '#/components/schemas/MessageEventRepo'
        url:
          format: uri
          type: string
      required:
        - kind
        - repo
        - prNumber
        - checks
      type: object
    ExternalMessageEvent:
      additionalProperties: false
      properties:
        data:
          additionalProperties:
            type:
              - string
              - number
              - boolean
              - 'null'
          properties:
            actor:
              type: string
            context:
              type: string
            title:
              type: string
            url:
              type: string
          propertyNames:
            pattern: \S
            type: string
          type: object
        kind:
          enum:
            - external
          type: string
        source:
          enum:
            - slack
            - linear
            - sentry
            - email
          type: string
      required:
        - kind
        - source
      type: object
    GitHubBatchMessageEvent:
      additionalProperties: false
      properties:
        events:
          items:
            discriminator:
              mapping:
                ci_failure:
                  $ref: '#/components/schemas/CIFailureMessageEvent'
                pr_comment:
                  $ref: '#/components/schemas/PRCommentMessageEvent'
                pr_review:
                  $ref: '#/components/schemas/PRReviewMessageEvent'
              propertyName: kind
            oneOf:
              - $ref: '#/components/schemas/PRCommentMessageEvent'
              - $ref: '#/components/schemas/CIFailureMessageEvent'
              - $ref: '#/components/schemas/PRReviewMessageEvent'
          minItems: 2
          type: array
        kind:
          enum:
            - github_batch
          type: string
      required:
        - kind
        - events
      type: object
    PRCommentMessageEvent:
      additionalProperties: false
      properties:
        action:
          minLength: 1
          pattern: \S
          type: string
        author:
          additionalProperties: false
          properties:
            association:
              minLength: 1
              pattern: \S
              type: string
            login:
              minLength: 1
              pattern: \S
              type: string
            type:
              minLength: 1
              pattern: \S
              type: string
          required:
            - login
          type: object
        body:
          minLength: 1
          pattern: \S
          type: string
        branch:
          minLength: 1
          pattern: \S
          type: string
        kind:
          enum:
            - pr_comment
          type: string
        line:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        path:
          minLength: 1
          pattern: \S
          type: string
        prNumber:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        repo:
          $ref: '#/components/schemas/MessageEventRepo'
        reviewState:
          minLength: 1
          pattern: \S
          type: string
        url:
          format: uri
          type: string
      required:
        - kind
        - repo
        - prNumber
        - author
        - body
      type: object
    PRReviewMessageEvent:
      additionalProperties: false
      properties:
        action:
          enum:
            - opened
            - synchronize
            - ready_for_review
            - aether_review_comment
            - manual
          type: string
        branch:
          minLength: 1
          pattern: \S
          type: string
        headSha:
          minLength: 1
          pattern: \S
          type: string
        kind:
          enum:
            - pr_review
          type: string
        prNumber:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        repo:
          $ref: '#/components/schemas/MessageEventRepo'
        url:
          format: uri
          type: string
      required:
        - kind
        - repo
        - prNumber
        - headSha
        - action
      type: object
    TaskSignalBatchMessageEvent:
      additionalProperties: false
      properties:
        entries:
          items:
            discriminator:
              mapping:
                auto_rebase:
                  $ref: '#/components/schemas/TaskSignalAutoRebaseMessageEvent'
                child_turn_result:
                  $ref: '#/components/schemas/ChildTurnResultMessageEvent'
                ci_failure:
                  $ref: '#/components/schemas/CIFailureMessageEvent'
                pr_comment:
                  $ref: '#/components/schemas/PRCommentMessageEvent'
                pr_review:
                  $ref: '#/components/schemas/PRReviewMessageEvent'
              propertyName: kind
            oneOf:
              - $ref: '#/components/schemas/PRCommentMessageEvent'
              - $ref: '#/components/schemas/CIFailureMessageEvent'
              - $ref: '#/components/schemas/TaskSignalAutoRebaseMessageEvent'
              - $ref: '#/components/schemas/PRReviewMessageEvent'
              - $ref: '#/components/schemas/ChildTurnResultMessageEvent'
          minItems: 1
          type: array
        kind:
          enum:
            - task_signal_batch
          type: string
      required:
        - kind
        - entries
      type: object
    TaskStoppedMessageEvent:
      additionalProperties: false
      properties:
        initiator:
          discriminator:
            mapping:
              integration:
                $ref: '#/components/schemas/IntegrationStopInitiator'
              system:
                $ref: '#/components/schemas/SystemStopInitiator'
              unknown:
                $ref: '#/components/schemas/UnknownStopInitiator'
              user:
                $ref: '#/components/schemas/UserStopInitiator'
            propertyName: kind
          oneOf:
            - $ref: '#/components/schemas/UserStopInitiator'
            - $ref: '#/components/schemas/IntegrationStopInitiator'
            - $ref: '#/components/schemas/SystemStopInitiator'
            - $ref: '#/components/schemas/UnknownStopInitiator'
        kind:
          enum:
            - task_stopped
          type: string
      required:
        - kind
        - initiator
      type: object
    ToolDisplay:
      additionalProperties: false
      properties:
        blocks:
          items:
            $ref: '#/components/schemas/DisplayBlock'
          type: array
        label:
          minLength: 1
          type: string
        primary:
          minLength: 1
          type: string
        secondary:
          minLength: 1
          type: string
      required:
        - label
      type: object
    TaskTimelineTeleportSeam:
      additionalProperties: false
      properties:
        reason:
          enum:
            - teleport
          type: string
        sessionId:
          minLength: 1
          type: string
      required:
        - reason
        - sessionId
      type: object
    TaskTimelineCompactionSeam:
      additionalProperties: false
      properties:
        boundaryId:
          minLength: 1
          type: string
        postTokens:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        preTokens:
          format: int64
          maximum: 9007199254740991
          minimum: 0
          type: integer
        reason:
          enum:
            - compaction
          type: string
        sessionId:
          minLength: 1
          type: string
        trigger:
          enum:
            - manual
            - auto
          type: string
      required:
        - reason
        - sessionId
        - boundaryId
        - trigger
        - preTokens
      type: object
    ProposePlanToolInput:
      additionalProperties: true
      properties:
        plan:
          type: string
        summary:
          type: string
      required:
        - summary
        - plan
      type: object
    AskUserToolInput:
      additionalProperties: true
      properties:
        questions:
          items:
            $ref: '#/components/schemas/AskUserQuestion'
          minItems: 1
          type: array
      required:
        - questions
      type: object
    FileSelection:
      additionalProperties: false
      properties:
        endLine:
          format: int64
          minimum: 1
          type: integer
        startLine:
          format: int64
          minimum: 1
          type: integer
      required:
        - startLine
        - endLine
      type: object
    MessageEventRepo:
      additionalProperties: false
      properties:
        name:
          minLength: 1
          pattern: \S
          type: string
        owner:
          minLength: 1
          pattern: \S
          type: string
      required:
        - owner
        - name
      type: object
    TaskSignalAutoRebaseMessageEvent:
      additionalProperties: false
      properties:
        baseBranch:
          minLength: 1
          pattern: \S
          type: string
        branch:
          minLength: 1
          pattern: \S
          type: string
        headSha:
          minLength: 1
          pattern: \S
          type: string
        kind:
          enum:
            - auto_rebase
          type: string
        mergeableState:
          enum:
            - behind
            - dirty
          type: string
        prNumber:
          format: int64
          maximum: 9007199254740991
          minimum: 1
          type: integer
        reason:
          minLength: 1
          pattern: \S
          type: string
        repo:
          $ref: '#/components/schemas/MessageEventRepo'
        url:
          format: uri
          type: string
      required:
        - kind
        - repo
        - prNumber
        - branch
        - url
        - baseBranch
        - headSha
        - mergeableState
        - reason
      type: object
    ChildTurnResultMessageEvent:
      additionalProperties: false
      properties:
        childTaskId:
          format: uuid
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
          type: string
        continuation:
          additionalProperties: false
          properties:
            tool:
              enum:
                - read_agent_messages
              type: string
          required:
            - tool
          type: object
        kind:
          enum:
            - child_turn_result
          type: string
        outcome:
          additionalProperties: false
          properties:
            content:
              minLength: 1
              pattern: \S
              type: string
            kind:
              enum:
                - response
                - question
                - error
              type: string
          required:
            - kind
            - content
          type: object
      required:
        - kind
        - childTaskId
        - outcome
      type: object
    IntegrationStopInitiator:
      additionalProperties: false
      properties:
        externalActorId:
          minLength: 1
          type: string
        kind:
          enum:
            - integration
          type: string
        provider:
          enum:
            - linear
          type: string
      required:
        - kind
        - provider
        - externalActorId
      type: object
    SystemStopInitiator:
      additionalProperties: false
      properties:
        kind:
          enum:
            - system
          type: string
        reason:
          enum:
            - history_rollback
            - runtime_billing_failure
            - service_shutdown
          type: string
      required:
        - kind
        - reason
      type: object
    UnknownStopInitiator:
      additionalProperties: false
      properties:
        kind:
          enum:
            - unknown
          type: string
      required:
        - kind
      type: object
    UserStopInitiator:
      additionalProperties: false
      properties:
        kind:
          enum:
            - user
          type: string
        source:
          enum:
            - aether
            - slack
          type: string
        userId:
          format: uuid
          type: string
      required:
        - kind
        - userId
        - source
      type: object
    DisplayBlock:
      discriminator:
        mapping:
          badge:
            $ref: '#/components/schemas/BadgeDisplayBlock'
          code:
            $ref: '#/components/schemas/CodeDisplayBlock'
          file_tree:
            $ref: '#/components/schemas/FileTreeDisplayBlock'
          image:
            $ref: '#/components/schemas/ImageDisplayBlock'
          key_value:
            $ref: '#/components/schemas/KeyValueDisplayBlock'
          link:
            $ref: '#/components/schemas/LinkDisplayBlock'
          markdown:
            $ref: '#/components/schemas/MarkdownDisplayBlock'
          note:
            $ref: '#/components/schemas/NoteDisplayBlock'
          search_results:
            $ref: '#/components/schemas/SearchResultsDisplayBlock'
          terminal:
            $ref: '#/components/schemas/TerminalDisplayBlock'
          todo_list:
            $ref: '#/components/schemas/TodoListDisplayBlock'
          video:
            $ref: '#/components/schemas/VideoDisplayBlock'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/TerminalDisplayBlock'
        - $ref: '#/components/schemas/CodeDisplayBlock'
        - $ref: '#/components/schemas/FileTreeDisplayBlock'
        - $ref: '#/components/schemas/MarkdownDisplayBlock'
        - $ref: '#/components/schemas/KeyValueDisplayBlock'
        - $ref: '#/components/schemas/BadgeDisplayBlock'
        - $ref: '#/components/schemas/LinkDisplayBlock'
        - $ref: '#/components/schemas/SearchResultsDisplayBlock'
        - $ref: '#/components/schemas/TodoListDisplayBlock'
        - $ref: '#/components/schemas/ImageDisplayBlock'
        - $ref: '#/components/schemas/VideoDisplayBlock'
        - $ref: '#/components/schemas/NoteDisplayBlock'
    AskUserQuestion:
      additionalProperties: false
      properties:
        header:
          type: string
        id:
          type: string
        multiSelect:
          type:
            - boolean
            - 'null'
        options:
          items:
            $ref: '#/components/schemas/AskUserQuestionOption'
          type: array
        question:
          minLength: 1
          pattern: \S
          type: string
      required:
        - question
        - options
      type: object
    BadgeDisplayBlock:
      additionalProperties: false
      properties:
        text:
          type: string
        tone:
          enum:
            - muted
            - success
            - error
            - info
            - warning
          type: string
        type:
          enum:
            - badge
          type: string
      required:
        - type
        - text
        - tone
      type: object
    CodeDisplayBlock:
      additionalProperties: false
      properties:
        content:
          type: string
        language:
          type: string
        path:
          type: string
        type:
          enum:
            - code
          type: string
      required:
        - type
        - content
      type: object
    FileTreeDisplayBlock:
      additionalProperties: false
      properties:
        entries:
          items:
            additionalProperties: false
            properties:
              kind:
                enum:
                  - file
                  - directory
                type: string
              path:
                minLength: 1
                type: string
            required:
              - path
              - kind
            type: object
          type: array
        type:
          enum:
            - file_tree
          type: string
      required:
        - type
        - entries
      type: object
    ImageDisplayBlock:
      additionalProperties: false
      properties:
        alt:
          type: string
        type:
          enum:
            - image
          type: string
        url:
          minLength: 1
          type: string
      required:
        - type
        - url
      type: object
    KeyValueDisplayBlock:
      additionalProperties: false
      properties:
        rows:
          items:
            additionalProperties: false
            properties:
              label:
                type: string
              tone:
                enum:
                  - muted
                  - success
                  - error
                  - info
                  - warning
                type: string
              value:
                type: string
            required:
              - label
              - value
            type: object
          type: array
        type:
          enum:
            - key_value
          type: string
      required:
        - type
        - rows
      type: object
    LinkDisplayBlock:
      additionalProperties: false
      properties:
        label:
          type: string
        type:
          enum:
            - link
          type: string
        url:
          minLength: 1
          type: string
      required:
        - type
        - url
      type: object
    MarkdownDisplayBlock:
      additionalProperties: false
      properties:
        text:
          type: string
        type:
          enum:
            - markdown
          type: string
      required:
        - type
        - text
      type: object
    NoteDisplayBlock:
      additionalProperties: false
      properties:
        text:
          type: string
        tone:
          enum:
            - muted
            - success
            - error
            - info
            - warning
          type: string
        type:
          enum:
            - note
          type: string
      required:
        - type
        - text
        - tone
      type: object
    SearchResultsDisplayBlock:
      additionalProperties: false
      properties:
        groups:
          items:
            additionalProperties: false
            properties:
              file:
                minLength: 1
                type: string
              matches:
                items:
                  additionalProperties: false
                  properties:
                    line:
                      format: int64
                      minimum: 0
                      type: integer
                    text:
                      type: string
                  required:
                    - line
                    - text
                  type: object
                type: array
            required:
              - file
              - matches
            type: object
          type: array
        pattern:
          type: string
        type:
          enum:
            - search_results
          type: string
      required:
        - type
        - groups
      type: object
    TerminalDisplayBlock:
      additionalProperties: false
      properties:
        background:
          type: boolean
        command:
          type: string
        cwd:
          type: string
        exitCode:
          format: int64
          type: integer
        stderr:
          type: string
        stdout:
          type: string
        type:
          enum:
            - terminal
          type: string
      required:
        - type
        - command
      type: object
    TodoListDisplayBlock:
      additionalProperties: false
      properties:
        items:
          items:
            additionalProperties: false
            properties:
              status:
                enum:
                  - pending
                  - in_progress
                  - completed
                type: string
              text:
                type: string
            required:
              - text
              - status
            type: object
          type: array
        type:
          enum:
            - todo_list
          type: string
      required:
        - type
        - items
      type: object
    VideoDisplayBlock:
      additionalProperties: false
      properties:
        poster:
          type: string
        type:
          enum:
            - video
          type: string
        url:
          minLength: 1
          type: string
      required:
        - type
        - url
      type: object
    AskUserQuestionOption:
      additionalProperties: false
      properties:
        description:
          type: string
        label:
          minLength: 1
          pattern: \S
          type: string
        preview:
          type: string
      required:
        - label
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````