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

> ## Agent Instructions
> Base URL: https://api.checkfu.com. Current wire version: `2026-08-31` (`Checkfu-Version: 2026-08-31`).
> Mutating HTTP requests require `Authorization: Bearer $CHECKFU_API_KEY`, `Checkfu-Version: 2026-08-31`, `Content-Type: application/json`, and `Idempotency-Key` on retriable writes. Ordinary API keys are Workspace-bound; do not send a Workspace selector header.
> Core workflow: create an Agent (`POST /v1/agents`) and Environment (`POST /v1/environments`), grant `use_environment` (`POST /v1/permission-assignments`), create a Session (`POST /v1/sessions`), send events (`POST /v1/sessions/{id}/events`), stream progress (`GET /v1/sessions/{id}/events/stream`), and read the input result (`GET /v1/sessions/{id}/inputs/{input_id}/result`).
> Domain model: an Agent is mutable configuration; a Session freezes its AgentVersion and Environment at creation and owns its private workspace and ordered event history. Vault stores secret credentials; Connection links an external account; ActionApproval records human approval before an action runs.
> Capability status combines `audience`, `stability`, `availability`, evaluated prerequisites, and release evidence; check https://docs.checkfu.com/getting-started/status (`GET /v1/support/capabilities`) for live `available` status.

# Edit an Automation's draft

> Replace the draft document of an Automation written as blocks under expected_draft_revision.



## OpenAPI

````yaml /openapi.json patch /v1/automations/{id}
openapi: 3.1.0
info:
  title: Checkfu API
  version: '2026-08-31'
  description: >-
    Authentication is declared per operation: API-key, runtime, or connector
    bearer; Automation signature; or credential-free pairing redemption. Every
    general Checkfu REST request requires the dated `Checkfu-Version` header
    (one of: 2026-08-31); the three MCP JSON-RPC transports use
    `MCP-Protocol-Version`, A2A uses `A2A-Version`, and the provider OAuth
    callback carries neither Checkfu header. API keys resolve one Workspace
    without a request selector; authenticated responses identify it with
    `Checkfu-Workspace-Id`.
servers:
  - url: https://api.checkfu.com
security:
  - bearerAuth: []
tags:
  - name: organizations
  - name: sourceRepositories
  - name: tenants
  - name: workspaces
  - name: principals
  - name: principalGroups
  - name: principalAccessCredentials
  - name: apiKeys
  - name: agents
  - name: harnessRuntime
  - name: permissionAssignments
  - name: actionPolicies
  - name: files
  - name: memoryStores
  - name: modelCredentials
  - name: modelRoutingProfiles
  - name: toolSources
  - name: skills
  - name: skillSources
  - name: skillProposals
  - name: instructionProposals
  - name: catalog
  - name: concepts
  - name: support
  - name: connections
  - name: connectionAssignments
  - name: connectedRuntimes
  - name: fileTrees
  - name: collaboration
  - name: automationGraphs
  - name: automations
  - name: actionApprovals
  - name: standingApprovals
  - name: workloadReviewPolicies
  - name: usage
  - name: models
  - name: budgets
  - name: billing
  - name: sessions
  - name: audit
  - name: sessionExports
  - name: runs
  - name: runnerPools
  - name: transcripts
  - name: sessionWatches
  - name: sessionCapsules
  - name: sessionTrajectories
  - name: webhookEndpoints
  - name: integrationGateway
  - name: environments
  - name: vaults
  - name: apiMcp
  - name: a2a
paths:
  /v1/automations/{id}:
    patch:
      tags:
        - automations
      summary: Edit an Automation's draft
      description: >-
        Replace the draft document of an Automation written as blocks under
        `expected_draft_revision`. The draft is saved even when it has problems;
        they are returned on `draft.problems` as plain sentences tied to the
        block they are about, and only publishing refuses them. `runs_as: "me"`
        resolves to the calling person; API keys must name a service account.
        The live version is unchanged until the draft is published. An
        Automation not written as blocks answers 409; update it through POST
        /v1/automations/{id}.


        Checkfu support posture: alpha; hosted. Required evidence journey:
        automation-firing. Deployment-specific readiness and the latest proven
        release are available from GET /v1/support/capabilities.
      operationId: automations.updateAutomationDraft
      parameters:
        - name: id
          in: path
          schema:
            $ref: '#/components/schemas/AutomationId'
          required: true
        - name: checkfu-version
          in: header
          schema:
            type: string
            enum:
              - '2026-08-31'
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAutomationDraft'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicAutomation_4'
          headers:
            checkfu-workspace-id:
              description: The Workspace resolved from the authenticated bearer credential.
              required: true
              schema:
                $ref: '#/components/schemas/WorkspaceId'
        '400':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationMalformedError'
        '401':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - error
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - authentication_error
                      code:
                        type: string
                        enum:
                          - auth.invalid_key
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#auth-invalid-key
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    required:
                      - type
                      - code
                      - message
                      - more
                    additionalProperties: false
                  request_id:
                    type: string
                    allOf:
                      - minLength: 1
                required:
                  - type
                  - error
                  - request_id
                additionalProperties: false
        '403':
          description: >-
            The organization, tenant, or workspace backing this key is
            administratively disabled. | Deployment governance or retention
            policy denied the request.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - error
                      error:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - permission_error
                          code:
                            type: string
                            enum:
                              - auth.disabled_tenancy
                          message:
                            type: string
                          more:
                            type: string
                            enum:
                              - >-
                                https://docs.checkfu.com/reference/errors#auth-disabled-tenancy
                            description: >-
                              Stable public documentation and remedy for this
                              error type.
                        required:
                          - type
                          - code
                          - message
                          - more
                        additionalProperties: false
                      request_id:
                        type: string
                        allOf:
                          - minLength: 1
                    required:
                      - type
                      - error
                      - request_id
                    additionalProperties: false
                  - $ref: '#/components/schemas/PolicyDeniedError'
        '404':
          description: >-
            The requested resource does not exist in the resolved deployment
            boundary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationNotFoundError'
        '409':
          description: The request conflicts with the resource's current state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationConflictError'
        '429':
          description: Typed Checkfu wire error
          headers:
            retry-after:
              description: >-
                Delay in seconds for rate limits or deployment quotas with a
                known release or UTC reset boundary
              required: false
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - error
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - rate_limit_error
                      code:
                        type: string
                        enum:
                          - budget.exceeded
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#budget-exceeded
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    required:
                      - type
                      - code
                      - message
                      - more
                    additionalProperties: false
                  request_id:
                    type: string
                    allOf:
                      - minLength: 1
                required:
                  - type
                  - error
                  - request_id
                additionalProperties: false
        '500':
          description: >-
            An unexpected internal failure occurred; the message contains an
            opaque incident reference.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeInternalError'
      security:
        - bearerAuth: []
components:
  schemas:
    AutomationId:
      type: string
      pattern: ^auto_[0-9a-f]{32}$
    UpdateAutomationDraft:
      type: object
      properties:
        name:
          type: string
          allOf:
            - maxLength: 200
        runs_as:
          type: string
          allOf:
            - maxLength: 128
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        blocks:
          $ref: '#/components/schemas/Arrays_37'
        wires:
          $ref: '#/components/schemas/Arrays_39'
        run_limits:
          type: object
          properties:
            deadline_seconds:
              type: integer
            max_concurrent_children:
              type: integer
            budget:
              type: object
              properties:
                limit:
                  type: number
                metric:
                  type: string
                  enum:
                    - model_spend
                    - model_tokens
              required:
                - limit
              additionalProperties: false
          additionalProperties: false
        expected_draft_revision:
          type: integer
          exclusiveMinimum: 0
      required:
        - name
        - runs_as
        - blocks
        - wires
        - expected_draft_revision
      additionalProperties: false
    PublicAutomation_4:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Literal_5'
        authoring_state:
          $ref: '#/components/schemas/Union_271'
        draft_revision:
          type: integer
          exclusiveMinimum: 0
        published_definition_revision:
          $ref: '#/components/schemas/Union_272'
        readiness:
          $ref: '#/components/schemas/Union_273'
        id:
          $ref: '#/components/schemas/AutomationId'
        workspace_id:
          $ref: '#/components/schemas/WorkspaceId'
        version:
          type: integer
          exclusiveMinimum: 0
        name:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        description:
          $ref: '#/components/schemas/Union_274'
        external_id:
          $ref: '#/components/schemas/Union_275'
        created_by:
          $ref: '#/components/schemas/PrincipalId'
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        connected_runtime:
          $ref: '#/components/schemas/Union_276'
        metadata:
          $ref: '#/components/schemas/ResourceMetadata_2'
        status:
          $ref: '#/components/schemas/Union_258'
        archived_at:
          $ref: '#/components/schemas/Union_278'
        last_session_id:
          $ref: '#/components/schemas/Union_279'
        last_run_id:
          $ref: '#/components/schemas/Union_280'
        created_at:
          type: string
        updated_at:
          type: string
        service_principal_id:
          $ref: '#/components/schemas/PrincipalId'
        agent:
          $ref: '#/components/schemas/Union_281'
        initial_events:
          $ref: '#/components/schemas/Arrays_41'
        resources:
          $ref: '#/components/schemas/Arrays_42'
        vault_ids:
          $ref: '#/components/schemas/Arrays_43'
        budget:
          $ref: '#/components/schemas/Union_289'
        budget_policy:
          $ref: '#/components/schemas/SessionBudgetRequest'
        session_target:
          $ref: '#/components/schemas/AutomationAgentSessionTarget'
        schedule:
          $ref: '#/components/schemas/Union_290'
        paused_reason:
          $ref: '#/components/schemas/Union_291'
        steps:
          type: array
          items:
            $ref: '#/components/schemas/Objects_237'
          allOf:
            - minItems: 1
            - maxItems: 20
        program:
          type: object
          properties:
            nodes:
              type: array
              items:
                anyOf:
                  - $ref: '#/components/schemas/Objects_237'
                  - $ref: '#/components/schemas/Objects_271'
              allOf:
                - minItems: 1
                - maxItems: 20
            edges:
              type: array
              items:
                $ref: '#/components/schemas/Union_318'
              allOf:
                - maxItems: 320
            run_limits:
              $ref: '#/components/schemas/AutomationRunLimitsNonEmpty_3'
          required:
            - nodes
            - edges
          additionalProperties: false
        trigger:
          anyOf:
            - $ref: '#/components/schemas/Objects_283'
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - subscription
                agent_placement_id:
                  $ref: '#/components/schemas/AgentPlacementId'
                source:
                  anyOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - conversation
                        conversation:
                          $ref: '#/components/schemas/Union_322'
                        resource_type: false
                        external_id: false
                      required:
                        - type
                        - conversation
                      additionalProperties: false
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - resource
                        resource_type:
                          type: string
                          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                        external_id:
                          type: string
                          allOf:
                            - minLength: 1
                            - maxLength: 512
                        conversation: false
                      required:
                        - type
                        - resource_type
                        - external_id
                      additionalProperties: false
                cron: false
                timezone: false
                dedupe_key: false
                filter: false
              required:
                - type
                - agent_placement_id
                - source
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - any
                sources:
                  anyOf:
                    - type: array
                      prefixItems:
                        - $ref: '#/components/schemas/Union_323'
                        - $ref: '#/components/schemas/Objects_286'
                      maxItems: 2
                      minItems: 2
                    - type: array
                      prefixItems:
                        - $ref: '#/components/schemas/Objects_286'
                        - $ref: '#/components/schemas/Union_323'
                      maxItems: 2
                      minItems: 2
              required:
                - type
                - sources
              additionalProperties: false
        input_template:
          $ref: '#/components/schemas/AutomationPrompt'
        flow_review:
          type: object
          properties:
            model_routing_profile_key:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            tier:
              $ref: '#/components/schemas/Union_139'
            criteria:
              $ref: '#/components/schemas/UniqueFlowReviewCriteria_3'
          required:
            - model_routing_profile_key
            - criteria
          additionalProperties: false
        delivery_screen:
          anyOf:
            - type: object
              properties:
                model_routing_profile_key:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                tier:
                  $ref: '#/components/schemas/Union_139'
                instructions:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 4096
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - model_routing_profile_key
                - instructions
              additionalProperties: false
            - type: object
              properties:
                evaluation:
                  $ref: '#/components/schemas/Objects_239'
                rule:
                  $ref: '#/components/schemas/Union_299'
                failure:
                  type: string
                  enum:
                    - fail_open
                    - fail_closed
              required:
                - evaluation
                - rule
              additionalProperties: false
        draft:
          $ref: '#/components/schemas/AutomationBlockDraft'
        live_version:
          anyOf:
            - type: integer
            - type: 'null'
      required:
        - type
        - authoring_state
        - draft_revision
        - published_definition_revision
        - readiness
        - id
        - workspace_id
        - version
        - name
        - description
        - external_id
        - created_by
        - environment_id
        - connected_runtime
        - status
        - archived_at
        - last_session_id
        - last_run_id
        - created_at
        - updated_at
        - service_principal_id
        - agent
        - initial_events
        - resources
        - vault_ids
        - budget
        - schedule
        - paused_reason
      additionalProperties: false
    WorkspaceId:
      type: string
      pattern: ^wrkspc_[0-9a-f]{32}$
    ValidationMalformedError:
      type: object
      properties:
        error:
          additionalProperties: false
          type: object
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-malformed
              description: Stable public documentation and remedy for this error type.
            code:
              type: string
              enum:
                - validation.malformed
          required:
            - type
            - message
            - more
            - code
        type:
          type: string
          enum:
            - error
        request_id:
          type: string
          allOf:
            - minLength: 1
      required:
        - error
        - type
        - request_id
      additionalProperties: false
      description: >-
        The request could not be decoded or violated a declared input
        constraint.
    PolicyDeniedError:
      type: object
      properties:
        error:
          additionalProperties: false
          type: object
          properties:
            type:
              type: string
              enum:
                - permission_error
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#policy-denied
              description: Stable public documentation and remedy for this error type.
            code:
              type: string
              enum:
                - policy.denied
          required:
            - type
            - message
            - more
            - code
        type:
          type: string
          enum:
            - error
        request_id:
          type: string
          allOf:
            - minLength: 1
      required:
        - error
        - type
        - request_id
      additionalProperties: false
      description: Deployment governance or retention policy denied the request.
    ValidationNotFoundError:
      type: object
      properties:
        error:
          additionalProperties: false
          type: object
          properties:
            type:
              type: string
              enum:
                - not_found_error
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-not-found
              description: Stable public documentation and remedy for this error type.
            code:
              type: string
              enum:
                - validation.not_found
          required:
            - type
            - message
            - more
            - code
        type:
          type: string
          enum:
            - error
        request_id:
          type: string
          allOf:
            - minLength: 1
      required:
        - error
        - type
        - request_id
      additionalProperties: false
      description: >-
        The requested resource does not exist in the resolved deployment
        boundary.
    ValidationConflictError:
      type: object
      properties:
        error:
          additionalProperties: false
          type: object
          properties:
            type:
              type: string
              enum:
                - conflict_error
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-conflict
              description: Stable public documentation and remedy for this error type.
            code:
              type: string
              enum:
                - validation.conflict
          required:
            - type
            - message
            - more
            - code
        type:
          type: string
          enum:
            - error
        request_id:
          type: string
          allOf:
            - minLength: 1
      required:
        - error
        - type
        - request_id
      additionalProperties: false
      description: The request conflicts with the resource's current state.
    RuntimeInternalError:
      type: object
      properties:
        error:
          additionalProperties: false
          type: object
          properties:
            type:
              type: string
              enum:
                - api_error
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#runtime-internal
              description: Stable public documentation and remedy for this error type.
            code:
              type: string
              enum:
                - runtime.internal
          required:
            - type
            - message
            - more
            - code
        type:
          type: string
          enum:
            - error
        request_id:
          type: string
          allOf:
            - minLength: 1
      required:
        - error
        - type
        - request_id
      additionalProperties: false
      description: >-
        An unexpected internal failure occurred; the message contains an opaque
        incident reference.
    EnvironmentId:
      type: string
      pattern: ^env_[0-9a-f]{32}$
    Arrays_37:
      type: array
      items:
        $ref: '#/components/schemas/AutomationBlock'
      allOf:
        - maxItems: 64
    Arrays_39:
      type: array
      items:
        $ref: '#/components/schemas/AutomationBlockWire'
      allOf:
        - maxItems: 256
    Literal_5:
      type: string
      enum:
        - automation
    Union_271:
      type: string
      enum:
        - draft
        - published
    Union_272:
      anyOf:
        - type: integer
          exclusiveMinimum: 0
        - type: 'null'
    Union_273:
      type: string
      enum:
        - preparing
        - requires_action
        - ready
        - blocked
    Union_274:
      anyOf:
        - type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        - type: 'null'
    Union_275:
      anyOf:
        - type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        - type: 'null'
    PrincipalId:
      type: string
      pattern: ^prin_[0-9a-f]{32}$
    Union_276:
      anyOf:
        - $ref: '#/components/schemas/ConnectedRuntimeId'
        - type: 'null'
    ResourceMetadata_2:
      type: object
      additionalProperties:
        type: string
        allOf:
          - maxLength: 512
      allOf:
        - propertyNames:
            type: string
            allOf:
              - minLength: 1
              - maxLength: 64
        - maxProperties: 16
          description: at most 16 correlation pairs with keys of 1 to 64 characters
    Union_258:
      type: string
      enum:
        - active
        - paused
    Union_278:
      anyOf:
        - type: string
        - type: 'null'
    Union_279:
      anyOf:
        - $ref: '#/components/schemas/SessionId'
        - type: 'null'
    Union_280:
      anyOf:
        - $ref: '#/components/schemas/RunId'
        - type: 'null'
    Union_281:
      anyOf:
        - $ref: '#/components/schemas/ManagedAgentsAgentParams'
        - type: 'null'
    Arrays_41:
      type: array
      items:
        type: object
        properties:
          type:
            type: string
            enum:
              - user.message
          content:
            type: array
            prefixItems:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - text
                  text:
                    $ref: '#/components/schemas/AutomationPrompt'
                required:
                  - type
                  - text
                additionalProperties: false
            maxItems: 1
            minItems: 1
        required:
          - type
          - content
        additionalProperties: false
      allOf:
        - maxItems: 1
    Arrays_42:
      type: array
      items:
        anyOf:
          - anyOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - file_tree
                  file_tree_id:
                    $ref: '#/components/schemas/FileTreeId'
                  mount_path:
                    $ref: '#/components/schemas/MountPath'
                  version_policy:
                    $ref: '#/components/schemas/Union_282'
                  access:
                    $ref: '#/components/schemas/Union_283'
                  writeback:
                    type: 'null'
                required:
                  - type
                  - file_tree_id
                  - mount_path
                  - version_policy
                  - access
                additionalProperties: false
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - file_tree
                  file_tree_id:
                    $ref: '#/components/schemas/FileTreeId'
                  mount_path:
                    $ref: '#/components/schemas/MountPath'
                  version_policy:
                    $ref: '#/components/schemas/Union_282'
                  access:
                    type: string
                    enum:
                      - read_write
                  writeback:
                    $ref: '#/components/schemas/Objects_236'
                required:
                  - type
                  - file_tree_id
                  - mount_path
                  - version_policy
                  - access
                  - writeback
                additionalProperties: false
          - type: object
            properties:
              type:
                type: string
                enum:
                  - file
              file_id:
                $ref: '#/components/schemas/FileId'
              mount_path:
                $ref: '#/components/schemas/MountPath'
              access:
                type: string
                enum:
                  - read_only
            required:
              - type
              - file_id
              - mount_path
              - access
            additionalProperties: false
          - type: object
            properties:
              type:
                type: string
                enum:
                  - memory_store
              memory_store_id:
                $ref: '#/components/schemas/MemoryStoreId'
              access:
                $ref: '#/components/schemas/Union_285'
              selection:
                $ref: '#/components/schemas/Union_287'
              instructions:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 4096
            required:
              - type
              - memory_store_id
              - access
            additionalProperties: false
    Arrays_43:
      type: array
      items:
        $ref: '#/components/schemas/VaultId'
      allOf:
        - maxItems: 0
    Union_289:
      anyOf:
        - $ref: '#/components/schemas/ManagedAgentsBudgetLimit'
        - type: 'null'
    SessionBudgetRequest:
      type: object
      properties:
        limit:
          $ref: '#/components/schemas/SessionBudgetRequestSafeLimit'
        metric:
          type: string
          enum:
            - model_tokens
            - model_spend
            - session_runtime_ms
            - web_search_requests
            - total_spend
      required:
        - limit
      additionalProperties: false
      description: >-
        A create-time Session spending cap compiled into one session-scoped
        pause_session Budget.
    AutomationAgentSessionTarget:
      anyOf:
        - type: object
          properties:
            mode:
              type: string
              enum:
                - start_new
          required:
            - mode
          additionalProperties: false
        - type: object
          properties:
            mode:
              type: string
              enum:
                - continue_selected
            session:
              $ref: '#/components/schemas/SessionId'
          required:
            - mode
            - session
          additionalProperties: false
    Union_290:
      anyOf:
        - anyOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - cron
                expression:
                  type: string
                timezone:
                  type: string
                last_run_at:
                  anyOf:
                    - type: string
                    - type: 'null'
                upcoming_runs_at:
                  type: array
                  items:
                    type: string
              required:
                - type
                - expression
                - timezone
                - last_run_at
                - upcoming_runs_at
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - once
                at:
                  type: string
                next_run_at:
                  anyOf:
                    - type: string
                    - type: 'null'
              required:
                - type
                - at
                - next_run_at
              additionalProperties: false
        - type: 'null'
    Union_291:
      anyOf:
        - anyOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - manual
              required:
                - type
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - error
                error:
                  type: object
                  properties:
                    type:
                      $ref: '#/components/schemas/Union_259'
                  required:
                    - type
                  additionalProperties: false
              required:
                - type
                - error
              additionalProperties: false
        - type: 'null'
    Objects_237:
      type: object
      properties:
        id:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        name:
          type: string
          allOf:
            - maxLength: 255
        condition:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - predicates
                predicates:
                  type: array
                  items:
                    $ref: '#/components/schemas/Union_294'
                  allOf:
                    - minItems: 1
                    - maxItems: 10
                check: false
                input:
                  anyOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - trigger_payload
                      required:
                        - kind
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - previous_step_output
                      required:
                        - kind
                      additionalProperties: false
              required:
                - kind
                - predicates
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - check
                check:
                  $ref: '#/components/schemas/Union_296'
                predicates: false
                input:
                  anyOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - trigger_payload
                      required:
                        - kind
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - previous_step_output
                      required:
                        - kind
                      additionalProperties: false
              required:
                - kind
                - check
              additionalProperties: false
        group:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        action:
          anyOf:
            - $ref: '#/components/schemas/Union_300'
            - $ref: '#/components/schemas/Objects_246'
            - $ref: '#/components/schemas/Objects_248'
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - mark_sessions_processed
                query_step:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 132
                    - pattern: >-
                        ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
                required_effects:
                  type: array
                  items:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 132
                      - pattern: >-
                          ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
                  allOf:
                    - maxItems: 20
              required:
                - action
                - query_step
                - required_effects
              additionalProperties: false
            - $ref: '#/components/schemas/Objects_249'
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - propose_skill_update
                query_step:
                  type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 132
                    - pattern: >-
                        ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
                model_routing_profile_key:
                  type: string
                  pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                parameters:
                  $ref: '#/components/schemas/AutomationSkillProposalParameters'
                input_bindings:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/AutomationAgentOutputBinding'
                  allOf:
                    - maxProperties: 32
                    - maxProperties: 2
                join:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - all_completed
                  required:
                    - kind
                  additionalProperties: false
              required:
                - action
                - query_step
                - model_routing_profile_key
              additionalProperties: false
            - $ref: '#/components/schemas/Objects_251'
            - $ref: '#/components/schemas/Objects_252'
            - $ref: '#/components/schemas/Objects_253'
            - $ref: '#/components/schemas/Objects_254'
            - $ref: '#/components/schemas/Objects_256'
            - $ref: '#/components/schemas/Objects_257'
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - write_memory
                memory_store:
                  $ref: '#/components/schemas/MemoryStoreId'
                publication:
                  type: string
                  enum:
                    - proposal
                parameters:
                  type: object
                  properties:
                    path:
                      $ref: '#/components/schemas/MemoryPath'
                    content:
                      $ref: '#/components/schemas/MemoryDocumentContentUtf8Bytes'
                    media_type:
                      type: string
                      allOf:
                        - minLength: 1
                        - maxLength: 255
                    expected_sha256:
                      anyOf:
                        - type: string
                          pattern: ^sha256:[0-9a-f]{64}$
                        - type: 'null'
                    provenance:
                      $ref: >-
                        #/components/schemas/NullableAutomationMemoryWriteProvenance_3
                  additionalProperties: false
                input_bindings:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/AutomationAgentOutputBinding'
                  allOf:
                    - maxProperties: 32
                    - maxProperties: 5
                join:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - all_completed
                  required:
                    - kind
                  additionalProperties: false
              required:
                - action
                - memory_store
              additionalProperties: false
            - $ref: '#/components/schemas/Objects_258'
            - $ref: '#/components/schemas/Objects_259'
            - $ref: '#/components/schemas/Objects_263'
            - $ref: '#/components/schemas/Objects_264'
            - $ref: '#/components/schemas/Objects_265'
            - $ref: '#/components/schemas/Objects_266'
            - type: object
              properties:
                action:
                  type: string
                  enum:
                    - repeat
                max_attempts:
                  type: integer
                  allOf:
                    - minimum: 1
                      maximum: 20
                input_schema:
                  $ref: '#/components/schemas/AutomationJsonOutputSchema'
                input_bindings:
                  $ref: '#/components/schemas/Objects_268'
                carry_schema:
                  $ref: '#/components/schemas/AutomationJsonOutputSchema'
                initial_carry_bindings:
                  $ref: '#/components/schemas/Objects_268'
                output_schema:
                  $ref: '#/components/schemas/AutomationJsonOutputSchema'
                body:
                  type: object
                  properties:
                    nodes:
                      type: array
                      items:
                        anyOf:
                          - type: object
                            properties:
                              id:
                                type: string
                                allOf:
                                  - minLength: 1
                                  - maxLength: 64
                                  - pattern: ^[A-Za-z0-9_]+$
                              name:
                                type: string
                                allOf:
                                  - maxLength: 255
                              condition:
                                anyOf:
                                  - type: object
                                    properties:
                                      kind:
                                        type: string
                                        enum:
                                          - predicates
                                      predicates:
                                        type: array
                                        items:
                                          $ref: '#/components/schemas/Union_294'
                                        allOf:
                                          - minItems: 1
                                          - maxItems: 10
                                      check: false
                                      input:
                                        anyOf:
                                          - type: object
                                            properties:
                                              kind:
                                                type: string
                                                enum:
                                                  - trigger_payload
                                            required:
                                              - kind
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              kind:
                                                type: string
                                                enum:
                                                  - previous_step_output
                                            required:
                                              - kind
                                            additionalProperties: false
                                    required:
                                      - kind
                                      - predicates
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      kind:
                                        type: string
                                        enum:
                                          - check
                                      check:
                                        $ref: '#/components/schemas/Union_296'
                                      predicates: false
                                      input:
                                        anyOf:
                                          - type: object
                                            properties:
                                              kind:
                                                type: string
                                                enum:
                                                  - trigger_payload
                                            required:
                                              - kind
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              kind:
                                                type: string
                                                enum:
                                                  - previous_step_output
                                            required:
                                              - kind
                                            additionalProperties: false
                                    required:
                                      - kind
                                      - check
                                    additionalProperties: false
                              action:
                                anyOf:
                                  - $ref: '#/components/schemas/Union_300'
                                  - $ref: '#/components/schemas/Objects_246'
                                  - $ref: '#/components/schemas/Objects_249'
                                  - $ref: '#/components/schemas/Objects_253'
                                  - $ref: '#/components/schemas/Objects_254'
                                  - $ref: '#/components/schemas/Objects_256'
                                  - $ref: '#/components/schemas/Objects_258'
                                  - $ref: '#/components/schemas/Objects_259'
                                  - $ref: '#/components/schemas/Objects_265'
                                  - $ref: '#/components/schemas/Objects_266'
                                  - $ref: '#/components/schemas/Objects_269'
                                  - $ref: '#/components/schemas/Objects_270'
                            required:
                              - id
                              - action
                            additionalProperties: false
                          - $ref: '#/components/schemas/Objects_271'
                      allOf:
                        - minItems: 2
                        - maxItems: 29
                    edges:
                      type: array
                      items:
                        $ref: '#/components/schemas/Union_318'
                      allOf:
                        - maxItems: 320
                  required:
                    - nodes
                    - edges
                  additionalProperties: false
              required:
                - action
                - max_attempts
                - input_schema
                - input_bindings
                - carry_schema
                - initial_carry_bindings
                - output_schema
                - body
              additionalProperties: false
            - $ref: '#/components/schemas/Objects_269'
            - $ref: '#/components/schemas/Objects_270'
            - $ref: '#/components/schemas/Objects_282'
      required:
        - id
        - action
      additionalProperties: false
    Objects_271:
      type: object
      properties:
        kind:
          type: string
          enum:
            - decision
        id:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        condition:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - predicates
                predicates:
                  type: array
                  items:
                    anyOf:
                      - $ref: '#/components/schemas/Union_317'
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - any
                          predicates:
                            type: array
                            items:
                              $ref: '#/components/schemas/Union_317'
                            allOf:
                              - minItems: 2
                              - maxItems: 10
                        required:
                          - kind
                          - predicates
                        additionalProperties: false
                      - $ref: '#/components/schemas/Objects_272'
                  allOf:
                    - minItems: 1
                    - maxItems: 10
                check: false
                input:
                  anyOf:
                    - $ref: '#/components/schemas/Objects_273'
                    - $ref: '#/components/schemas/Objects_250'
              required:
                - kind
                - predicates
                - input
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - check
                check:
                  anyOf:
                    - $ref: '#/components/schemas/Objects_274'
                    - type: object
                      properties:
                        evaluation:
                          $ref: '#/components/schemas/Objects_239'
                        rule:
                          $ref: '#/components/schemas/Union_299'
                        failure:
                          type: string
                          enum:
                            - fail_closed
                      required:
                        - evaluation
                        - rule
                        - failure
                      additionalProperties: false
                predicates: false
                input:
                  anyOf:
                    - $ref: '#/components/schemas/Objects_273'
                    - $ref: '#/components/schemas/Objects_275'
                    - $ref: '#/components/schemas/Objects_250'
              required:
                - kind
                - check
                - input
              additionalProperties: false
      required:
        - kind
        - id
        - condition
      additionalProperties: false
    Union_318:
      anyOf:
        - $ref: '#/components/schemas/Objects_276'
        - $ref: '#/components/schemas/Objects_277'
        - $ref: '#/components/schemas/Objects_278'
        - $ref: '#/components/schemas/Objects_279'
        - $ref: '#/components/schemas/Objects_280'
        - $ref: '#/components/schemas/Objects_281'
        - type: object
          properties:
            kind:
              type: string
              enum:
                - failure
            from:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 64
                - pattern: ^[A-Za-z0-9_]+$
            to:
              anyOf:
                - type: string
                  allOf:
                    - minLength: 1
                    - maxLength: 64
                    - pattern: ^[A-Za-z0-9_]+$
                - type: 'null'
            when:
              type: array
              items:
                $ref: '#/components/schemas/Union_232'
              allOf:
                - minItems: 1
          required:
            - kind
            - from
            - to
            - when
          additionalProperties: false
    AutomationRunLimitsNonEmpty_3:
      type: object
      properties:
        deadline_seconds:
          type: integer
          allOf:
            - minimum: 60
              maximum: 604800
        max_concurrent_children:
          type: integer
          allOf:
            - minimum: 1
              maximum: 8
        budget:
          $ref: '#/components/schemas/Objects_156'
      additionalProperties: false
      allOf:
        - minProperties: 1
    Objects_283:
      type: object
      properties:
        type:
          type: string
          enum:
            - webhook
        provider:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        mcp_events:
          type: boolean
          enum:
            - true
        dedupe_key:
          $ref: '#/components/schemas/Objects_284'
        filter:
          type: object
          properties:
            predicates:
              type: array
              items:
                $ref: '#/components/schemas/Union_294'
              allOf:
                - maxItems: 32
            check:
              anyOf:
                - $ref: '#/components/schemas/Objects_238'
                - type: object
                  properties:
                    evaluation:
                      type: object
                      properties:
                        schema_version:
                          type: number
                          enum:
                            - 1
                        model_routing_profile_key:
                          type: string
                          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
                        tier:
                          $ref: '#/components/schemas/Union_139'
                        timeout_ms:
                          type: number
                          allOf:
                            - minimum: 100
                            - maximum: 30000
                        questions:
                          type: array
                          items:
                            anyOf:
                              - $ref: '#/components/schemas/Objects_240'
                              - type: object
                                properties:
                                  key:
                                    $ref: '#/components/schemas/CheckQuestionKey'
                                  type:
                                    type: string
                                    enum:
                                      - choice
                                  instructions:
                                    type: string
                                    allOf:
                                      - minLength: 1
                                      - maxLength: 4096
                                  options:
                                    $ref: '#/components/schemas/CheckChoiceOptions_6'
                                required:
                                  - key
                                  - type
                                  - instructions
                                  - options
                                additionalProperties: false
                              - type: object
                                properties:
                                  key:
                                    $ref: '#/components/schemas/CheckQuestionKey'
                                  type:
                                    type: string
                                    enum:
                                      - score
                                  instructions:
                                    type: string
                                    allOf:
                                      - minLength: 1
                                      - maxLength: 4096
                                  levels:
                                    $ref: '#/components/schemas/CheckScoreLevels_6'
                                required:
                                  - key
                                  - type
                                  - instructions
                                  - levels
                                additionalProperties: false
                          allOf:
                            - minItems: 1
                            - maxItems: 8
                      required:
                        - schema_version
                        - model_routing_profile_key
                        - questions
                      additionalProperties: false
                    rule:
                      anyOf:
                        - $ref: '#/components/schemas/CheckBooleanRuleThresholds_1'
                        - $ref: '#/components/schemas/Objects_285'
                        - $ref: '#/components/schemas/CheckScoreTailRuleThresholds_1'
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - all
                            rules:
                              type: array
                              items:
                                anyOf:
                                  - $ref: >-
                                      #/components/schemas/CheckBooleanRuleThresholds_1
                                  - $ref: '#/components/schemas/Objects_285'
                                  - $ref: >-
                                      #/components/schemas/CheckScoreTailRuleThresholds_1
                              allOf:
                                - minItems: 1
                                - maxItems: 8
                          required:
                            - type
                            - rules
                          additionalProperties: false
                    failure:
                      $ref: '#/components/schemas/Union_297'
                  required:
                    - evaluation
                    - rule
                    - failure
                  additionalProperties: false
          required:
            - predicates
          additionalProperties: false
        cron: false
        timezone: false
        source: false
      required:
        - type
        - dedupe_key
      additionalProperties: false
    AgentPlacementId:
      type: string
      pattern: ^aplace_[0-9a-f]{32}$
    Union_322:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - ambient
                - direct
            root_external_id:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 512
            thread_external_id:
              type: 'null'
          required:
            - kind
            - root_external_id
            - thread_external_id
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - thread
            root_external_id:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 512
            thread_external_id:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 512
          required:
            - kind
            - root_external_id
            - thread_external_id
          additionalProperties: false
    AutomationPrompt:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 65536
    Union_139:
      type: string
      enum:
        - default
        - planning
        - tool_loop
    UniqueFlowReviewCriteria_3:
      type: array
      items:
        $ref: '#/components/schemas/Objects_118'
      allOf:
        - minItems: 1
        - maxItems: 16
    Objects_239:
      type: object
      properties:
        schema_version:
          type: number
          enum:
            - 1
        model_routing_profile_key:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        tier:
          $ref: '#/components/schemas/Union_139'
        timeout_ms:
          type: number
          allOf:
            - minimum: 100
            - maximum: 30000
        questions:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/Objects_240'
              - type: object
                properties:
                  key:
                    $ref: '#/components/schemas/CheckQuestionKey'
                  type:
                    type: string
                    enum:
                      - choice
                  instructions:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 4096
                  options:
                    $ref: '#/components/schemas/CheckChoiceOptions_5'
                required:
                  - key
                  - type
                  - instructions
                  - options
                additionalProperties: false
              - type: object
                properties:
                  key:
                    $ref: '#/components/schemas/CheckQuestionKey'
                  type:
                    type: string
                    enum:
                      - score
                  instructions:
                    type: string
                    allOf:
                      - minLength: 1
                      - maxLength: 4096
                  levels:
                    $ref: '#/components/schemas/CheckScoreLevels_5'
                required:
                  - key
                  - type
                  - instructions
                  - levels
                additionalProperties: false
          allOf:
            - minItems: 1
            - maxItems: 8
      required:
        - schema_version
        - model_routing_profile_key
        - questions
      additionalProperties: false
    Union_299:
      anyOf:
        - $ref: '#/components/schemas/CheckBooleanRuleThresholds'
        - $ref: '#/components/schemas/Objects_242'
        - $ref: '#/components/schemas/CheckScoreTailRuleThresholds'
        - type: object
          properties:
            type:
              type: string
              enum:
                - all
            rules:
              type: array
              items:
                anyOf:
                  - $ref: '#/components/schemas/CheckBooleanRuleThresholds'
                  - $ref: '#/components/schemas/Objects_242'
                  - $ref: '#/components/schemas/CheckScoreTailRuleThresholds'
              allOf:
                - minItems: 1
                - maxItems: 8
          required:
            - type
            - rules
          additionalProperties: false
    AutomationBlockDraft:
      type: object
      properties:
        revision:
          type: integer
        document:
          $ref: '#/components/schemas/AutomationBlockDocument'
        problems:
          type: array
          items:
            $ref: '#/components/schemas/AutomationBlockProblem'
        updated_at:
          type: string
      required:
        - revision
        - document
        - problems
        - updated_at
      additionalProperties: false
    AutomationBlock:
      anyOf:
        - type: object
          properties:
            id:
              type: string
              allOf:
                - maxLength: 128
            name:
              type: string
              allOf:
                - maxLength: 200
            type:
              type: string
              enum:
                - trigger
            trigger:
              $ref: '#/components/schemas/AutomationBlockTrigger'
          required:
            - id
            - type
            - trigger
          additionalProperties: false
        - $ref: '#/components/schemas/Objects_216'
        - type: object
          properties:
            id:
              type: string
              allOf:
                - maxLength: 128
            name:
              type: string
              allOf:
                - maxLength: 200
            type:
              type: string
              enum:
                - model
            route:
              $ref: '#/components/schemas/Objects_217'
            prompt:
              type: string
              allOf:
                - maxLength: 65536
            format:
              anyOf:
                - $ref: '#/components/schemas/Objects_218'
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - pick_one
                    options:
                      type: array
                      items:
                        type: string
                        allOf:
                          - maxLength: 128
                      allOf:
                        - maxItems: 20
                  required:
                    - type
                    - options
                  additionalProperties: false
                - $ref: '#/components/schemas/Objects_219'
                - $ref: '#/components/schemas/Objects_220'
                - $ref: '#/components/schemas/Objects_221'
          required:
            - id
            - type
            - route
            - prompt
            - format
          additionalProperties: false
        - type: object
          properties:
            id:
              type: string
              allOf:
                - maxLength: 128
            name:
              type: string
              allOf:
                - maxLength: 200
            type:
              type: string
              enum:
                - if
            cases:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    allOf:
                      - maxLength: 128
                  when:
                    anyOf:
                      - type: object
                        properties:
                          all:
                            $ref: '#/components/schemas/Arrays_38'
                          any: false
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            $ref: '#/components/schemas/Arrays_38'
                          all: false
                        required:
                          - any
                        additionalProperties: false
                required:
                  - id
                  - when
                additionalProperties: false
              allOf:
                - maxItems: 20
          required:
            - id
            - type
            - cases
          additionalProperties: false
        - $ref: '#/components/schemas/Objects_222'
    AutomationBlockWire:
      type: object
      properties:
        from:
          type: string
          allOf:
            - maxLength: 128
        to:
          type: string
          allOf:
            - maxLength: 128
        port:
          type: string
          allOf:
            - maxLength: 128
        max_attempts:
          type: integer
      required:
        - from
        - to
      additionalProperties: false
    ConnectedRuntimeId:
      type: string
      pattern: ^crt_[0-9a-f]{32}$
    SessionId:
      type: string
      pattern: ^sess_[0-9a-f]{32}$
    RunId:
      type: string
      pattern: ^run_[0-9a-f]{32}$
    ManagedAgentsAgentParams:
      type: object
      properties:
        type:
          type: string
          enum:
            - agent
        id:
          $ref: '#/components/schemas/AgentId'
        version:
          type: integer
          exclusiveMinimum: 0
      required:
        - type
        - id
      additionalProperties: false
    FileTreeId:
      type: string
      pattern: ^ftree_[0-9a-f]{32}$
    MountPath:
      type: string
      allOf:
        - minLength: 2
        - maxLength: 1024
    Union_282:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - latest
          required:
            - kind
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - pinned
            version:
              type: integer
              exclusiveMinimum: 0
          required:
            - kind
            - version
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - ref
            ref:
              $ref: '#/components/schemas/GitReference'
          required:
            - kind
            - ref
          additionalProperties: false
    Union_283:
      type: string
      enum:
        - read_only
        - read_write
    Objects_236:
      type: object
      properties:
        kind:
          type: string
          enum:
            - pull_request
        commit_message:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        pull_request_title:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 256
        pull_request_body:
          type: string
          allOf:
            - maxLength: 16384
        allow_workflow_changes:
          type: boolean
          enum:
            - true
      required:
        - kind
      additionalProperties: false
    FileId:
      type: string
      pattern: ^file_[0-9a-f]{32}$
    MemoryStoreId:
      type: string
      pattern: ^memstore_[0-9a-f]{32}$
    Union_285:
      type: string
      enum:
        - read_only
        - read_write
    Union_287:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - ref
            ref:
              $ref: '#/components/schemas/Union_124'
          required:
            - kind
            - ref
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - version
            version:
              $ref: '#/components/schemas/Union_118'
          required:
            - kind
            - version
          additionalProperties: false
    VaultId:
      type: string
      pattern: ^vlt_[0-9a-f]{32}$
    ManagedAgentsBudgetLimit:
      type: object
      properties:
        type:
          type: string
          enum:
            - limit
        max_list_cost:
          type: object
          properties:
            amount:
              type: string
              pattern: ^[1-9][0-9]*$
            currency:
              type: string
              enum:
                - USD
          required:
            - amount
            - currency
          additionalProperties: false
      required:
        - type
        - max_list_cost
      additionalProperties: false
    SessionBudgetRequestSafeLimit:
      type: integer
      exclusiveMinimum: 0
    Union_259:
      type: string
      enum:
        - validation.malformed
        - validation.prompt_integrity_review_required
        - validation.not_found
        - validation.conflict
        - automation.source_event_conflict
        - automation.original_pending
        - automation.original_unavailable
        - automation.draft_has_problems
        - validation.idempotency_conflict
        - validation.idempotency_in_progress
        - validation.payload_too_large
        - validation.range_too_large
        - auth.invalid_key
        - auth.authorization_unavailable
        - auth.request_admission_unavailable
        - auth.disabled_tenancy
        - policy.denied
        - budget.exceeded
        - model.no_eligible_model
        - model.credential_rejected
        - model.platform_supply_unavailable
        - model.platform_capacity_reached
        - billing.entitlement_unavailable
        - billing.usage_limit_reached
        - billing.payment_required
        - billing.seat_activation_unavailable
        - memory.not_found
        - memory.conflict
        - memory.read_only
        - memory.invalid_path
        - memory.backend_unavailable
        - memory.curation_failed
        - runtime.invalid_transition
        - runtime.primary_thread
        - retention.zdr_unsupported
        - retention.evidence_content_unavailable
        - runtime.checkpoint_expired
        - runtime.session_history_unavailable
        - runtime.session_event_index_preparing
        - runtime.harness_unavailable
        - runtime.harness_failed
        - runtime.runner_unavailable
        - runtime.provider_host_unavailable
        - runtime.lease_lost
        - runtime.start_timeout
        - runtime.allocation_failed
        - runtime.allocation_not_ready
        - runtime.provisioning_suspended
        - runtime.computer_unavailable
        - runtime.turn_deadline_exceeded
        - runtime.observation_gap
        - runtime.observation_conflict
        - runtime.attestation_invalid
        - runtime.harness_incompatible
        - runtime.target_mismatch
        - runtime.transcript_index_unavailable
        - runtime.internal
    Union_294:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - exists
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            value: false
          required:
            - kind
            - pointer
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - equals
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            value:
              $ref: '#/components/schemas/Union_195'
          required:
            - kind
            - pointer
            - value
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - contains
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            value:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 4096
          required:
            - kind
            - pointer
            - value
          additionalProperties: false
    Union_296:
      anyOf:
        - $ref: '#/components/schemas/Objects_238'
        - type: object
          properties:
            evaluation:
              $ref: '#/components/schemas/Objects_239'
            rule:
              $ref: '#/components/schemas/Union_299'
            failure:
              $ref: '#/components/schemas/Union_297'
          required:
            - evaluation
            - rule
            - failure
          additionalProperties: false
    Union_300:
      anyOf:
        - $ref: '#/components/schemas/Objects_243'
        - $ref: '#/components/schemas/Objects_244'
        - $ref: '#/components/schemas/Objects_245'
        - type: object
          properties:
            action:
              type: string
              enum:
                - run_agent
            budget:
              $ref: '#/components/schemas/SessionBudgetRequest'
            session_target:
              $ref: '#/components/schemas/AutomationAgentSessionTarget'
            agent:
              $ref: '#/components/schemas/ManagedAgentsAgentParams'
            agent_deployment_revision_selection: false
            retry:
              $ref: '#/components/schemas/AutomationStepRetry'
            prompt:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 16384
            input:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - mapped
                bindings:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/AutomationAgentOutputBinding'
                  allOf:
                    - maxProperties: 32
                    - minProperties: 1
              required:
                - kind
                - bindings
              additionalProperties: false
            join:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - all_completed
              required:
                - kind
              additionalProperties: false
            for_each: false
            prompt_rendering:
              type: string
              enum:
                - in_place
          required:
            - action
            - agent
            - prompt
            - input
          additionalProperties: false
    Objects_246:
      type: object
      properties:
        action:
          type: string
          enum:
            - parse_json
        input_bindings:
          $ref: '#/components/schemas/Objects_247'
        output_schema:
          $ref: '#/components/schemas/AutomationJsonOutputSchema'
        policy_version:
          type: number
          enum:
            - 1
      required:
        - action
        - input_bindings
        - output_schema
        - policy_version
      additionalProperties: false
    Objects_248:
      type: object
      properties:
        action:
          type: string
          enum:
            - query_sessions
        agent:
          $ref: '#/components/schemas/AgentId'
        limit:
          type: integer
          allOf:
            - minimum: 1
              maximum: 100
        scan_limit:
          type: integer
          allOf:
            - minimum: 1
              maximum: 1000
        max_event_positions:
          type: integer
          allOf:
            - minimum: 1
              maximum: 1000
      required:
        - action
        - agent
        - limit
        - scan_limit
      additionalProperties: false
    Objects_249:
      type: object
      properties:
        action:
          type: string
          enum:
            - check
        check:
          $ref: '#/components/schemas/Union_296'
        input:
          $ref: '#/components/schemas/Objects_250'
      required:
        - action
        - check
      additionalProperties: false
    AutomationSkillProposalParameters:
      type: object
      properties:
        instructions:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        skill_name:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
      additionalProperties: false
    AutomationAgentOutputBinding:
      type: object
      properties:
        source:
          $ref: '#/components/schemas/Union_303'
        pointer:
          type: string
          allOf:
            - maxLength: 512
            - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
      required:
        - source
        - pointer
      additionalProperties: false
    Objects_251:
      type: object
      properties:
        action:
          type: string
          enum:
            - observe_skill_proposal
        proposal_step:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 132
            - pattern: >-
                ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
      required:
        - action
        - proposal_step
      additionalProperties: false
    Objects_252:
      type: object
      properties:
        action:
          type: string
          enum:
            - read_skill
        skill:
          $ref: '#/components/schemas/SkillId'
        version:
          anyOf:
            - type: string
              pattern: ^skillver_[0-9a-f]{64}$
            - type: string
              enum:
                - latest
            - type: integer
              allOf:
                - minimum: 1
                  maximum: 9007199254740991
      required:
        - action
        - skill
      additionalProperties: false
    Objects_253:
      type: object
      properties:
        action:
          type: string
          enum:
            - read_file
        file_id:
          $ref: '#/components/schemas/FileId'
        expected_sha256:
          type: string
          pattern: ^sha256:[0-9a-f]{64}$
        expected_size_bytes:
          type: integer
          minimum: 0
        input_bindings: false
      required:
        - action
        - file_id
        - expected_sha256
        - expected_size_bytes
      additionalProperties: false
    Objects_254:
      type: object
      properties:
        action:
          type: string
          enum:
            - read_file
        input_bindings:
          $ref: '#/components/schemas/Objects_255'
        file_id: false
        expected_sha256: false
        expected_size_bytes: false
      required:
        - action
        - input_bindings
      additionalProperties: false
    Objects_256:
      type: object
      properties:
        action:
          type: string
          enum:
            - write_file
        filename:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
            - pattern: ^(?!\.{1,2}$)[^/\\\p{Cc}]+$
        mime_type:
          $ref: '#/components/schemas/Union_219'
        input_bindings:
          $ref: '#/components/schemas/Objects_247'
      required:
        - action
        - filename
        - mime_type
        - input_bindings
      additionalProperties: false
    Objects_257:
      type: object
      properties:
        action:
          type: string
          enum:
            - read_memory
        memory_store:
          $ref: '#/components/schemas/MemoryStoreId'
        path:
          $ref: '#/components/schemas/MemoryPath'
      required:
        - action
        - memory_store
        - path
      additionalProperties: false
    MemoryPath:
      type: string
      allOf:
        - maxLength: 1024
    MemoryDocumentContentUtf8Bytes:
      type: string
      allOf:
        - maxLength: 102400
          description: >-
            Memory document text no larger than 102400 bytes when encoded as
            UTF-8
    NullableAutomationMemoryWriteProvenance_3:
      anyOf:
        - $ref: '#/components/schemas/AutomationMemoryWriteProvenance_3'
        - type: 'null'
    Objects_258:
      type: object
      properties:
        action:
          type: string
          enum:
            - call_connection
        connection:
          $ref: '#/components/schemas/ConnectionId'
        tool:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        arguments:
          $ref: '#/components/schemas/AutomationStepArguments'
        argument_bindings:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AutomationAgentOutputBinding'
          allOf:
            - maxProperties: 32
        join:
          type: object
          properties:
            kind:
              type: string
              enum:
                - all_completed
          required:
            - kind
          additionalProperties: false
        acted_as: false
        retry:
          $ref: '#/components/schemas/AutomationConnectionStepRetry'
        output_schema:
          $ref: '#/components/schemas/AutomationJsonOutputSchema'
        file_bindings:
          type: object
          additionalProperties:
            type: object
            properties:
              input_bindings:
                $ref: '#/components/schemas/Objects_255'
              mime_type:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 255
                  - pattern: ^[^\p{Cc}]+$
            required:
              - input_bindings
              - mime_type
            additionalProperties: false
          allOf:
            - minProperties: 1
            - maxProperties: 1
      required:
        - action
        - connection
        - tool
      additionalProperties: false
    Objects_259:
      type: object
      properties:
        action:
          type: string
          enum:
            - request_approval
        context:
          anyOf:
            - $ref: '#/components/schemas/Objects_260'
            - $ref: '#/components/schemas/Objects_261'
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - business_review
                version:
                  type: number
                  enum:
                    - 1
                input_bindings:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/AutomationAgentOutputBinding'
                  allOf:
                    - maxProperties: 32
                    - minProperties: 1
                    - maxProperties: 8
                join:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - all_completed
                  required:
                    - kind
                  additionalProperties: false
                choices:
                  $ref: '#/components/schemas/AutomationReviewChoiceKeysUnique_3'
                feedback_schema:
                  $ref: '#/components/schemas/AutomationJsonOutputSchema'
              required:
                - type
                - version
                - input_bindings
                - choices
              additionalProperties: false
            - $ref: '#/components/schemas/Objects_262'
        approver:
          $ref: '#/components/schemas/PrincipalId'
        message:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 16384
        timeout_seconds:
          type: integer
          allOf:
            - exclusiveMinimum: 0
            - maximum: 604800
      required:
        - action
        - approver
        - message
      additionalProperties: false
    Objects_263:
      type: object
      properties:
        action:
          type: string
          enum:
            - respond_memory_proposal
        proposal_step:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 132
            - pattern: >-
                ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
        approval_step:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 132
            - pattern: >-
                ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
      required:
        - action
        - proposal_step
        - approval_step
      additionalProperties: false
    Objects_264:
      type: object
      properties:
        action:
          type: string
          enum:
            - respond_skill_proposal
        proposal_step:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 132
            - pattern: >-
                ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
        approval_step:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 132
            - pattern: >-
                ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
        skill_source:
          $ref: '#/components/schemas/SkillSourceId'
        verification:
          $ref: '#/components/schemas/Objects_134'
      required:
        - action
        - proposal_step
        - approval_step
        - verification
      additionalProperties: false
    Objects_265:
      type: object
      properties:
        action:
          type: string
          enum:
            - wait
        seconds:
          type: integer
          allOf:
            - exclusiveMinimum: 0
            - maximum: 604800
      required:
        - action
        - seconds
      additionalProperties: false
    Objects_266:
      type: object
      properties:
        action:
          type: string
          enum:
            - await_event
        match:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Union_311'
          allOf:
            - minProperties: 1
            - maxProperties: 8
        select:
          $ref: '#/components/schemas/AutomationEventSelect'
        timeout_seconds:
          type: integer
          allOf:
            - exclusiveMinimum: 0
            - maximum: 604800
        join:
          type: object
          properties:
            kind:
              type: string
              enum:
                - all_completed
          required:
            - kind
          additionalProperties: false
      required:
        - action
        - match
        - select
        - timeout_seconds
      additionalProperties: false
    AutomationJsonOutputSchema:
      type: object
      additionalProperties:
        description: >-
          A value in the JSON data model: null, boolean, finite number, string,
          array, or object.
        allOf:
          - x-checkfu-json-budget:
              maximumBytes: 8192
              maximumDepth: 64
              maximumNodes: 5000
              maximumInspectionWork: 10000
            x-checkfu-unicode-scalar-values: true
      allOf:
        - x-checkfu-json-budget:
            maximumBytes: 8192
            maximumDepth: 64
            maximumNodes: 5000
            maximumInspectionWork: 10000
          x-checkfu-unicode-scalar-values: true
        - maxProperties: 5000
          description: >-
            A standard Draft-07 JSON Schema declaration of at most 8 KiB;
            pattern, patternProperties, format, uniqueItems, multipleOf,
            dependencies, unsupported dialects and recursive references are
            refused. Local references use structural schema locations with ASCII
            keys. Execution is subject to a bounded validation-work budget.
    Objects_268:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/Union_311'
      allOf:
        - maxProperties: 32
    Objects_269:
      type: object
      properties:
        action:
          type: string
          enum:
            - repeat_open
        repeat:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        iteration:
          type: integer
          allOf:
            - minimum: 1
              maximum: 20
        max_attempts:
          type: integer
          allOf:
            - minimum: 1
              maximum: 20
        input_schema:
          $ref: '#/components/schemas/AutomationJsonOutputSchema'
        carry_schema:
          $ref: '#/components/schemas/AutomationJsonOutputSchema'
        input_bindings:
          $ref: '#/components/schemas/Objects_268'
        initial_carry_bindings:
          $ref: '#/components/schemas/Objects_268'
      required:
        - action
      additionalProperties: false
    Objects_270:
      type: object
      properties:
        action:
          type: string
          enum:
            - repeat_return
        return:
          $ref: '#/components/schemas/Union_316'
        reason:
          type: string
          pattern: ^[a-z][a-z0-9_]{0,63}$
        bindings:
          $ref: '#/components/schemas/Objects_268'
        repeat:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        iteration:
          type: integer
          allOf:
            - minimum: 1
              maximum: 20
      required:
        - action
        - return
        - bindings
      additionalProperties: false
    Objects_282:
      type: object
      properties:
        action:
          type: string
          enum:
            - repeat_result
        max_attempts:
          type: integer
          allOf:
            - minimum: 1
              maximum: 20
        output_schema:
          $ref: '#/components/schemas/AutomationJsonOutputSchema'
        carry_schema:
          $ref: '#/components/schemas/AutomationJsonOutputSchema'
      required:
        - action
        - max_attempts
        - output_schema
        - carry_schema
      additionalProperties: false
    Union_317:
      anyOf:
        - $ref: '#/components/schemas/Union_294'
        - type: object
          properties:
            kind:
              type: string
              enum:
                - equals_field
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            other_pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            value: false
          required:
            - kind
            - pointer
            - other_pointer
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - compare
            pointer:
              type: string
              allOf:
                - maxLength: 512
                - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
            op:
              type: string
              enum:
                - lt
                - lte
                - gt
                - gte
            value:
              type: number
              allOf:
                - minimum: -9007199254740991
                  maximum: 9007199254740991
          required:
            - kind
            - pointer
            - op
            - value
          additionalProperties: false
    Objects_272:
      type: object
      properties:
        kind:
          type: string
          enum:
            - not
        predicate:
          $ref: '#/components/schemas/Union_317'
      required:
        - kind
        - predicate
      additionalProperties: false
    Objects_273:
      type: object
      properties:
        kind:
          type: string
          enum:
            - previous_step_output
      required:
        - kind
      additionalProperties: false
    Objects_250:
      type: object
      properties:
        kind:
          type: string
          enum:
            - mapped
        bindings:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AutomationAgentOutputBinding'
          allOf:
            - maxProperties: 32
            - minProperties: 1
        join:
          type: object
          properties:
            kind:
              type: string
              enum:
                - all_completed
          required:
            - kind
          additionalProperties: false
      required:
        - kind
        - bindings
      additionalProperties: false
    Objects_274:
      type: object
      properties:
        model_routing_profile_key:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        tier:
          $ref: '#/components/schemas/Union_139'
        instructions:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        failure:
          type: string
          enum:
            - fail_closed
      required:
        - model_routing_profile_key
        - instructions
        - failure
      additionalProperties: false
    Objects_275:
      type: object
      properties:
        kind:
          type: string
          enum:
            - trigger_payload
      required:
        - kind
      additionalProperties: false
    Objects_276:
      type: object
      properties:
        kind:
          type: string
          enum:
            - then
        from:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        to:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
      required:
        - kind
        - from
        - to
      additionalProperties: false
    Objects_277:
      type: object
      properties:
        kind:
          type: string
          enum:
            - output
        from:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        to:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
      required:
        - kind
        - from
        - to
      additionalProperties: false
    Objects_278:
      type: object
      properties:
        kind:
          type: string
          enum:
            - continue
        from:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        to:
          anyOf:
            - type: string
              allOf:
                - minLength: 1
                - maxLength: 64
                - pattern: ^[A-Za-z0-9_]+$
            - type: 'null'
      required:
        - kind
        - from
        - to
      additionalProperties: false
    Objects_279:
      type: object
      properties:
        kind:
          type: string
          enum:
            - otherwise
        from:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        to:
          anyOf:
            - type: string
              allOf:
                - minLength: 1
                - maxLength: 64
                - pattern: ^[A-Za-z0-9_]+$
            - type: 'null'
      required:
        - kind
        - from
        - to
      additionalProperties: false
    Objects_280:
      type: object
      properties:
        kind:
          type: string
          enum:
            - uncertain
        from:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        to:
          anyOf:
            - type: string
              allOf:
                - minLength: 1
                - maxLength: 64
                - pattern: ^[A-Za-z0-9_]+$
            - type: 'null'
      required:
        - kind
        - from
        - to
      additionalProperties: false
    Objects_281:
      type: object
      properties:
        kind:
          type: string
          enum:
            - error
        from:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[A-Za-z0-9_]+$
        to:
          anyOf:
            - type: string
              allOf:
                - minLength: 1
                - maxLength: 64
                - pattern: ^[A-Za-z0-9_]+$
            - type: 'null'
      required:
        - kind
        - from
        - to
      additionalProperties: false
    Union_232:
      type: string
      enum:
        - refused
        - failed
        - timeout
        - denied
        - unconfirmed
    Objects_156:
      type: object
      properties:
        limit:
          $ref: '#/components/schemas/AutomationRunBudgetSafeLimit'
        metric:
          type: string
          enum:
            - model_spend
            - model_tokens
      required:
        - limit
      additionalProperties: false
    Objects_284:
      type: object
      properties:
        type:
          type: string
          enum:
            - json_pointer
        pointer:
          type: string
          allOf:
            - maxLength: 512
            - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
      required:
        - type
        - pointer
      additionalProperties: false
    Objects_238:
      type: object
      properties:
        model_routing_profile_key:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        tier:
          $ref: '#/components/schemas/Union_139'
        instructions:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        failure:
          $ref: '#/components/schemas/Union_297'
      required:
        - model_routing_profile_key
        - instructions
        - failure
      additionalProperties: false
    Objects_240:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/CheckQuestionKey'
        type:
          type: string
          enum:
            - boolean
        instructions:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 4096
        true_description:
          $ref: '#/components/schemas/CheckDescription_1'
        false_description:
          $ref: '#/components/schemas/CheckDescription_1'
      required:
        - key
        - type
        - instructions
      additionalProperties: false
    CheckQuestionKey:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 64
    CheckChoiceOptions_6:
      type: array
      items:
        $ref: '#/components/schemas/Objects_241'
      allOf:
        - minItems: 2
        - maxItems: 32
    CheckScoreLevels_6:
      type: array
      items:
        $ref: '#/components/schemas/CheckDescription_1'
      allOf:
        - minItems: 2
        - maxItems: 10
    CheckBooleanRuleThresholds_1:
      type: object
      properties:
        type:
          type: string
          enum:
            - boolean
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        expected:
          type: boolean
        false_max:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        true_min:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - expected
        - false_max
        - true_min
      additionalProperties: false
    Objects_285:
      type: object
      properties:
        type:
          type: string
          enum:
            - choice_matches
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        option_keys:
          $ref: '#/components/schemas/CheckChoiceMatchesOptions_6'
        min_probability:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        min_margin:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - option_keys
        - min_probability
        - min_margin
      additionalProperties: false
    CheckScoreTailRuleThresholds_1:
      type: object
      properties:
        type:
          type: string
          enum:
            - score_tail
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        at_or_above_level:
          type: integer
          minimum: 0
        false_max:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        true_min:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - at_or_above_level
        - false_max
        - true_min
      additionalProperties: false
    Union_297:
      type: string
      enum:
        - fail_open
        - fail_closed
    Objects_118:
      type: object
      properties:
        key:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 64
            - pattern: ^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$
        description:
          $ref: '#/components/schemas/FlowReviewCriterionDescription'
        severity:
          type: string
          enum:
            - low
            - medium
            - high
      required:
        - key
        - description
        - severity
      additionalProperties: false
    CheckChoiceOptions_5:
      type: array
      items:
        $ref: '#/components/schemas/Objects_241'
      allOf:
        - minItems: 2
        - maxItems: 32
    CheckScoreLevels_5:
      type: array
      items:
        $ref: '#/components/schemas/CheckDescription_1'
      allOf:
        - minItems: 2
        - maxItems: 10
    CheckBooleanRuleThresholds:
      type: object
      properties:
        type:
          type: string
          enum:
            - boolean
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        expected:
          type: boolean
        false_max:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        true_min:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - expected
        - false_max
        - true_min
      additionalProperties: false
    Objects_242:
      type: object
      properties:
        type:
          type: string
          enum:
            - choice_matches
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        option_keys:
          $ref: '#/components/schemas/CheckChoiceMatchesOptions_5'
        min_probability:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        min_margin:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - option_keys
        - min_probability
        - min_margin
      additionalProperties: false
    CheckScoreTailRuleThresholds:
      type: object
      properties:
        type:
          type: string
          enum:
            - score_tail
        question_key:
          $ref: '#/components/schemas/CheckQuestionKey'
        at_or_above_level:
          type: integer
          minimum: 0
        false_max:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
        true_min:
          type: number
          allOf:
            - minimum: 0
            - maximum: 1
      required:
        - type
        - question_key
        - at_or_above_level
        - false_max
        - true_min
      additionalProperties: false
    AutomationBlockDocument:
      type: object
      properties:
        name:
          type: string
          allOf:
            - maxLength: 200
        runs_as:
          type: string
          allOf:
            - maxLength: 128
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/AutomationBlock_1'
          allOf:
            - maxItems: 64
        wires:
          type: array
          items:
            $ref: '#/components/schemas/AutomationBlockWire'
          allOf:
            - maxItems: 256
        run_limits:
          type: object
          properties:
            deadline_seconds:
              type: integer
            max_concurrent_children:
              type: integer
            budget:
              type: object
              properties:
                limit:
                  type: number
                metric:
                  type: string
                  enum:
                    - model_spend
                    - model_tokens
              required:
                - limit
              additionalProperties: false
          additionalProperties: false
      required:
        - name
        - runs_as
        - blocks
        - wires
      additionalProperties: false
      description: >-
        An automation document: a trigger block and the blocks it starts,
        connected by wires.
    AutomationBlockProblem:
      type: object
      properties:
        code:
          type: string
        block:
          type: string
        message:
          type: string
      required:
        - code
        - message
      additionalProperties: false
    AutomationBlockTrigger:
      anyOf:
        - $ref: '#/components/schemas/Objects_212'
        - $ref: '#/components/schemas/Objects_213'
        - type: object
          properties:
            type:
              type: string
              enum:
                - webhook
            dedupe_pointer:
              type: string
              allOf:
                - maxLength: 512
            filter:
              $ref: '#/components/schemas/Arrays_38'
          required:
            - type
            - dedupe_pointer
          additionalProperties: false
        - $ref: '#/components/schemas/Objects_214'
        - $ref: '#/components/schemas/Objects_215'
    Objects_216:
      type: object
      properties:
        id:
          type: string
          allOf:
            - maxLength: 128
        name:
          type: string
          allOf:
            - maxLength: 200
        type:
          type: string
          enum:
            - agent
        agent:
          type: string
          allOf:
            - maxLength: 128
        prompt:
          type: string
          allOf:
            - maxLength: 65536
        output_schema:
          $ref: '#/components/schemas/AutomationBlockJsonObject'
        budget:
          type: object
          properties:
            limit:
              type: number
            metric:
              type: string
              enum:
                - model_tokens
                - model_spend
                - session_runtime_ms
                - web_search_requests
                - total_spend
          required:
            - limit
          additionalProperties: false
        for_each:
          type: object
          properties:
            items:
              type: string
              allOf:
                - maxLength: 1024
            max_items:
              type: integer
            concurrency:
              type: integer
          required:
            - items
            - max_items
          additionalProperties: false
      required:
        - id
        - type
        - agent
        - prompt
      additionalProperties: false
    Objects_217:
      type: object
      properties:
        profile:
          type: string
          allOf:
            - maxLength: 128
        tier:
          type: string
          enum:
            - default
            - planning
            - tool_loop
      required:
        - profile
      additionalProperties: false
    Objects_218:
      type: object
      properties:
        type:
          type: string
          enum:
            - yes_no
      required:
        - type
      additionalProperties: false
    Objects_219:
      type: object
      properties:
        type:
          type: string
          enum:
            - score
        levels:
          type: integer
        pass_at:
          type: integer
      required:
        - type
        - levels
      additionalProperties: false
    Objects_220:
      type: object
      properties:
        type:
          type: string
          enum:
            - extract
        schema:
          $ref: '#/components/schemas/AutomationBlockJsonObject'
      required:
        - type
        - schema
      additionalProperties: false
    Objects_221:
      type: object
      properties:
        type:
          type: string
          enum:
            - text
      required:
        - type
      additionalProperties: false
    Arrays_38:
      type: array
      items:
        $ref: '#/components/schemas/AutomationBlockComparison'
      allOf:
        - maxItems: 20
    Objects_222:
      type: object
      properties:
        id:
          type: string
          allOf:
            - maxLength: 128
        name:
          type: string
          allOf:
            - maxLength: 200
        type:
          type: string
          enum:
            - resource
        resource:
          $ref: '#/components/schemas/AutomationBlockResource'
        ask_first:
          type: object
          properties:
            approver:
              type: string
              allOf:
                - maxLength: 128
          required:
            - approver
          additionalProperties: false
      required:
        - id
        - type
        - resource
      additionalProperties: false
    AgentId:
      type: string
      pattern: ^agent_[0-9a-f]{32}$
    GitReference:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 1024
        - pattern: ^\S+$
    Union_124:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - canonical
          required:
            - kind
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - session
            session:
              $ref: '#/components/schemas/SessionId'
          required:
            - kind
            - session
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - proposal
            proposal:
              $ref: '#/components/schemas/MemoryProposalId'
          required:
            - kind
            - proposal
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - curation
            run:
              $ref: '#/components/schemas/CurationRunId'
          required:
            - kind
            - run
          additionalProperties: false
    Union_118:
      anyOf:
        - $ref: '#/components/schemas/MemoryVersionId'
        - $ref: '#/components/schemas/MemorySnapshotId'
    Union_195:
      anyOf:
        - type: string
          allOf:
            - maxLength: 4096
        - type: boolean
        - type: number
          allOf:
            - minimum: -9007199254740991
              maximum: 9007199254740991
    Objects_243:
      type: object
      properties:
        action:
          type: string
          enum:
            - run_agent
        budget:
          $ref: '#/components/schemas/SessionBudgetRequest'
        session_target:
          $ref: '#/components/schemas/AutomationAgentSessionTarget'
        agent:
          $ref: '#/components/schemas/ManagedAgentsAgentParams'
        agent_deployment_revision_selection: false
        retry:
          $ref: '#/components/schemas/AutomationStepRetry'
        prompt:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 16384
        input: false
        for_each: false
      required:
        - action
        - agent
        - prompt
      additionalProperties: false
    Objects_244:
      type: object
      properties:
        action:
          type: string
          enum:
            - run_agent
        budget:
          $ref: '#/components/schemas/SessionBudgetRequest'
        session_target:
          $ref: '#/components/schemas/AutomationAgentSessionTarget'
        agent:
          $ref: '#/components/schemas/ManagedAgentsAgentParams'
        agent_deployment_revision_selection: false
        retry:
          $ref: '#/components/schemas/AutomationStepRetry'
        prompt:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 16384
        input:
          type: object
          properties:
            kind:
              type: string
              enum:
                - trigger_payload
          required:
            - kind
          additionalProperties: false
        for_each:
          $ref: '#/components/schemas/AutomationStepForEach'
        prompt_rendering:
          type: string
          enum:
            - in_place
      required:
        - action
        - agent
        - prompt
        - input
      additionalProperties: false
    Objects_245:
      type: object
      properties:
        action:
          type: string
          enum:
            - run_agent
        budget:
          $ref: '#/components/schemas/SessionBudgetRequest'
        session_target:
          $ref: '#/components/schemas/AutomationAgentSessionTarget'
        agent:
          $ref: '#/components/schemas/ManagedAgentsAgentParams'
        agent_deployment_revision_selection: false
        retry:
          $ref: '#/components/schemas/AutomationStepRetry'
        input:
          type: object
          properties:
            kind:
              type: string
              enum:
                - previous_step_output
          required:
            - kind
          additionalProperties: false
        prompt: false
        for_each: false
      required:
        - action
        - agent
        - input
      additionalProperties: false
    AutomationStepRetry:
      type: object
      properties:
        max_attempts:
          type: integer
          allOf:
            - minimum: 2
              maximum: 5
        wait_seconds:
          type: integer
          allOf:
            - minimum: 0
              maximum: 3600
      required:
        - max_attempts
        - wait_seconds
      additionalProperties: false
    Objects_247:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AutomationAgentOutputBinding'
      allOf:
        - maxProperties: 32
    Union_303:
      anyOf:
        - type: object
          properties:
            kind:
              type: string
              enum:
                - trigger_payload
          required:
            - kind
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - agent_output
            step_id:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 132
                - pattern: >-
                    ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
          required:
            - kind
            - step_id
          additionalProperties: false
        - type: object
          properties:
            kind:
              type: string
              enum:
                - data_output
            step_id:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 132
                - pattern: >-
                    ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
          required:
            - kind
            - step_id
          additionalProperties: false
    SkillId:
      type: string
      pattern: ^skl_[0-9a-f]{32}$
    Objects_255:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AutomationAgentOutputBinding'
      allOf:
        - maxProperties: 32
    Union_219:
      type: string
      enum:
        - application/json
        - text/plain
        - text/markdown
    AutomationMemoryWriteProvenance_3:
      type: object
      properties:
        source_event_ids:
          type: array
          items:
            $ref: '#/components/schemas/EventId'
          allOf:
            - maxItems: 65536
        source_version_ids:
          type: array
          items:
            $ref: '#/components/schemas/Union_118'
          allOf:
            - maxItems: 65536
        source_refs:
          type: array
          items:
            type: string
            allOf:
              - minLength: 1
              - maxLength: 1024
          allOf:
            - maxItems: 65536
        curation_run:
          $ref: '#/components/schemas/CurationRunId'
        confidence:
          $ref: '#/components/schemas/Union_122'
        valid_from:
          type: string
          allOf:
            - maxLength: 65536
        supersedes:
          type: object
          properties:
            path:
              $ref: '#/components/schemas/MemoryPath'
            version:
              $ref: '#/components/schemas/Union_118'
          required:
            - path
            - version
          additionalProperties: false
      required:
        - source_event_ids
        - source_version_ids
        - source_refs
        - confidence
        - valid_from
      additionalProperties: false
    ConnectionId:
      type: string
      pattern: ^conn_[0-9a-f]{32}$
    AutomationStepArguments:
      type: object
      additionalProperties:
        description: >-
          A value in the JSON data model: null, boolean, finite number, string,
          array, or object.
        allOf:
          - x-checkfu-json-budget:
              maximumBytes: 8192
              maximumDepth: 64
              maximumNodes: 8192
              maximumInspectionWork: 8192
            x-checkfu-unicode-scalar-values: true
      allOf:
        - x-checkfu-json-budget:
            maximumBytes: 8192
            maximumDepth: 64
            maximumNodes: 8192
            maximumInspectionWork: 8192
          x-checkfu-unicode-scalar-values: true
        - maxProperties: 8192
          description: JSON tool arguments of at most 8192 bytes
    AutomationConnectionStepRetry:
      type: object
      properties:
        max_attempts:
          type: integer
          allOf:
            - minimum: 2
              maximum: 5
        wait_seconds:
          type: integer
          allOf:
            - minimum: 0
              maximum: 3600
        repeat_safety:
          $ref: '#/components/schemas/AutomationConnectionRetrySafety'
      required:
        - max_attempts
        - wait_seconds
        - repeat_safety
      additionalProperties: false
    Objects_260:
      type: object
      properties:
        type:
          type: string
          enum:
            - memory_proposal
        proposal_step:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 132
            - pattern: >-
                ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
      required:
        - type
        - proposal_step
      additionalProperties: false
    Objects_261:
      type: object
      properties:
        type:
          type: string
          enum:
            - skill_proposal
        proposal_step:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 132
            - pattern: >-
                ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
        skill_source:
          $ref: '#/components/schemas/SkillSourceId'
      required:
        - type
        - proposal_step
      additionalProperties: false
    AutomationReviewChoiceKeysUnique_3:
      type: array
      items:
        $ref: '#/components/schemas/Objects_133'
      allOf:
        - minItems: 2
        - maxItems: 4
    Objects_262:
      type: object
      properties:
        type:
          type: string
          enum:
            - connection_call
        call_step:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 132
            - pattern: >-
                ^[A-Za-z0-9_]{1,64}(?:\.(?:[1-9]|1[0-9]|20)\.[A-Za-z0-9_]{1,64})?$
      required:
        - type
        - call_step
      additionalProperties: false
    SkillSourceId:
      type: string
      pattern: ^sksrc_[0-9a-f]{32}$
    Objects_134:
      type: object
      properties:
        principal:
          $ref: '#/components/schemas/PrincipalId'
        environment_id:
          $ref: '#/components/schemas/EnvironmentId'
        evaluator_model_routing_profile_key:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
      required:
        - principal
        - environment_id
        - evaluator_model_routing_profile_key
      additionalProperties: false
    Union_311:
      anyOf:
        - $ref: '#/components/schemas/AutomationAgentOutputBinding'
        - type: object
          properties:
            source:
              $ref: '#/components/schemas/Objects_267'
            value:
              $ref: '#/components/schemas/AutomationRepeatValue_5'
          required:
            - source
            - value
          additionalProperties: false
    AutomationEventSelect:
      type: object
      additionalProperties:
        type: string
        allOf:
          - maxLength: 512
          - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
      allOf:
        - maxProperties: 32
        - propertyNames:
            pattern: ^[A-Za-z0-9_]{1,64}$
    Union_316:
      type: string
      enum:
        - complete
        - repeat
        - stopped
    AutomationRunBudgetSafeLimit:
      type: integer
      exclusiveMinimum: 0
    CheckDescription_1:
      type: string
      allOf:
        - minLength: 1
    Objects_241:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/CheckQuestionKey'
        description:
          $ref: '#/components/schemas/CheckDescription_1'
      required:
        - key
        - description
      additionalProperties: false
    CheckChoiceMatchesOptions_6:
      type: array
      items:
        $ref: '#/components/schemas/CheckQuestionKey'
      allOf:
        - minItems: 1
    FlowReviewCriterionDescription:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 1024
    CheckChoiceMatchesOptions_5:
      type: array
      items:
        $ref: '#/components/schemas/CheckQuestionKey'
      allOf:
        - minItems: 1
    AutomationBlock_1:
      anyOf:
        - type: object
          properties:
            id:
              type: string
              allOf:
                - maxLength: 128
            name:
              type: string
              allOf:
                - maxLength: 200
            type:
              type: string
              enum:
                - trigger
            trigger:
              $ref: '#/components/schemas/AutomationBlockTrigger_1'
          required:
            - id
            - type
            - trigger
          additionalProperties: false
        - $ref: '#/components/schemas/Objects_216'
        - type: object
          properties:
            id:
              type: string
              allOf:
                - maxLength: 128
            name:
              type: string
              allOf:
                - maxLength: 200
            type:
              type: string
              enum:
                - model
            route:
              $ref: '#/components/schemas/Objects_217'
            prompt:
              type: string
              allOf:
                - maxLength: 65536
            format:
              anyOf:
                - $ref: '#/components/schemas/Objects_218'
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - pick_one
                    options:
                      type: array
                      items:
                        type: string
                        allOf:
                          - maxLength: 128
                      allOf:
                        - maxItems: 20
                  required:
                    - type
                    - options
                  additionalProperties: false
                - $ref: '#/components/schemas/Objects_219'
                - $ref: '#/components/schemas/Objects_220'
                - $ref: '#/components/schemas/Objects_221'
          required:
            - id
            - type
            - route
            - prompt
            - format
          additionalProperties: false
        - type: object
          properties:
            id:
              type: string
              allOf:
                - maxLength: 128
            name:
              type: string
              allOf:
                - maxLength: 200
            type:
              type: string
              enum:
                - if
            cases:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    allOf:
                      - maxLength: 128
                  when:
                    anyOf:
                      - type: object
                        properties:
                          all:
                            $ref: '#/components/schemas/Arrays_44'
                          any: false
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            $ref: '#/components/schemas/Arrays_44'
                          all: false
                        required:
                          - any
                        additionalProperties: false
                required:
                  - id
                  - when
                additionalProperties: false
              allOf:
                - maxItems: 20
          required:
            - id
            - type
            - cases
          additionalProperties: false
        - $ref: '#/components/schemas/Objects_222'
    Objects_212:
      type: object
      properties:
        type:
          type: string
          enum:
            - schedule
        cron:
          type: string
          allOf:
            - maxLength: 255
        timezone:
          type: string
          allOf:
            - maxLength: 64
      required:
        - type
        - cron
        - timezone
      additionalProperties: false
    Objects_213:
      type: object
      properties:
        type:
          type: string
          enum:
            - once
        at:
          type: string
          allOf:
            - maxLength: 64
      required:
        - type
        - at
      additionalProperties: false
    Objects_214:
      type: object
      properties:
        type:
          type: string
          enum:
            - app_event
        connection_id:
          type: string
          allOf:
            - maxLength: 128
        event:
          type: string
          allOf:
            - maxLength: 256
        arguments:
          $ref: '#/components/schemas/AutomationBlockJsonObject'
        resource:
          type: string
          allOf:
            - maxLength: 512
      required:
        - type
        - connection_id
        - event
      additionalProperties: false
    Objects_215:
      type: object
      properties:
        type:
          type: string
          enum:
            - manual
      required:
        - type
      additionalProperties: false
    AutomationBlockJsonObject:
      type: object
      additionalProperties:
        description: >-
          A value in the JSON data model: null, boolean, finite number, string,
          array, or object.
        allOf:
          - x-checkfu-json-budget:
              maximumBytes: 65536
              maximumDepth: 64
              maximumNodes: 5000
              maximumInspectionWork: 20000
            x-checkfu-unicode-scalar-values: true
      allOf:
        - x-checkfu-json-budget:
            maximumBytes: 65536
            maximumDepth: 64
            maximumNodes: 5000
            maximumInspectionWork: 20000
          x-checkfu-unicode-scalar-values: true
        - maxProperties: 5000
          description: A JSON object, such as tool arguments or a JSON Schema.
    AutomationBlockComparison:
      type: object
      properties:
        field:
          type: string
          allOf:
            - maxLength: 1024
        op:
          $ref: '#/components/schemas/Union_262'
        value:
          anyOf:
            - $ref: '#/components/schemas/Union_263'
            - type: array
              items:
                $ref: '#/components/schemas/Union_263'
              allOf:
                - maxItems: 50
      required:
        - field
        - op
      additionalProperties: false
    AutomationBlockResource:
      anyOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - sessions
            agent:
              type: string
              allOf:
                - maxLength: 128
            limit:
              type: integer
          required:
            - type
            - agent
            - limit
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - memory_store
            action:
              type: string
              enum:
                - read
            id:
              type: string
              allOf:
                - maxLength: 128
            path:
              type: string
              allOf:
                - maxLength: 1024
          required:
            - type
            - action
            - id
            - path
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - memory_store
            action:
              type: string
              enum:
                - write
            id:
              type: string
              allOf:
                - maxLength: 128
            path:
              type: string
              allOf:
                - maxLength: 1024
            content:
              type: string
              allOf:
                - maxLength: 65536
            mode:
              type: string
              enum:
                - create
                - update
            expected_sha256:
              type: string
              allOf:
                - maxLength: 1024
          required:
            - type
            - action
            - id
            - path
            - content
            - mode
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - skill
            action:
              type: string
              enum:
                - read
            id:
              type: string
              allOf:
                - maxLength: 128
            version:
              type: string
              allOf:
                - maxLength: 128
          required:
            - type
            - id
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - file
            action:
              type: string
              enum:
                - read
            file_id:
              type: string
              allOf:
                - maxLength: 1024
          required:
            - type
            - action
            - file_id
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - file
            action:
              type: string
              enum:
                - write
            filename:
              type: string
              allOf:
                - maxLength: 256
            mime_type:
              type: string
              enum:
                - application/json
                - text/plain
                - text/markdown
            content:
              type: string
              allOf:
                - maxLength: 65536
          required:
            - type
            - action
            - filename
            - mime_type
            - content
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - connection
            connection_id:
              type: string
              allOf:
                - maxLength: 128
            tool:
              type: string
              allOf:
                - maxLength: 256
            arguments:
              $ref: '#/components/schemas/AutomationBlockJsonObject'
          required:
            - type
            - connection_id
            - tool
          additionalProperties: false
    MemoryProposalId:
      type: string
      pattern: ^mprop_[0-9a-f]{32}$
    CurationRunId:
      type: string
      pattern: ^mcur_[0-9a-f]{32}$
    MemoryVersionId:
      type: string
      pattern: ^memver_[0-9a-f]{32}$
    MemorySnapshotId:
      type: string
      pattern: ^memsnap_[0-9a-f]{32}$
    AutomationStepForEach:
      type: object
      properties:
        items:
          type: string
          allOf:
            - maxLength: 512
            - pattern: ^(?:\/(?:[^~/]|~[01])*)*$
        max_items:
          type: integer
          allOf:
            - minimum: 1
              maximum: 50
        concurrency:
          type: integer
          allOf:
            - minimum: 1
              maximum: 8
      required:
        - items
        - max_items
      additionalProperties: false
    EventId:
      type: string
      pattern: ^evt_[0-9a-f]{32}$
    Union_122:
      type: string
      enum:
        - observed
        - inferred
        - uncertain
    AutomationConnectionRetrySafety:
      type: string
      enum:
        - tool_declared
        - idempotency_key
    Objects_133:
      type: object
      properties:
        key:
          type: string
          pattern: ^[a-z][a-z0-9_]{0,31}$
        description:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 200
      required:
        - key
        - description
      additionalProperties: false
    Objects_267:
      type: object
      properties:
        kind:
          type: string
          enum:
            - value
      required:
        - kind
      additionalProperties: false
    AutomationRepeatValue_5:
      x-checkfu-json-budget:
        maximumBytes: 8192
        maximumDepth: 4096
        maximumNodes: 4096
        maximumInspectionWork: 8192
    AutomationBlockTrigger_1:
      anyOf:
        - $ref: '#/components/schemas/Objects_212'
        - $ref: '#/components/schemas/Objects_213'
        - type: object
          properties:
            type:
              type: string
              enum:
                - webhook
            dedupe_pointer:
              type: string
              allOf:
                - maxLength: 512
            filter:
              $ref: '#/components/schemas/Arrays_44'
          required:
            - type
            - dedupe_pointer
          additionalProperties: false
        - $ref: '#/components/schemas/Objects_214'
        - $ref: '#/components/schemas/Objects_215'
    Arrays_44:
      type: array
      items:
        $ref: '#/components/schemas/AutomationBlockComparison_1'
      allOf:
        - maxItems: 20
    Union_262:
      type: string
      enum:
        - equals
        - not_equals
        - contains
        - exists
        - gt
        - gte
        - lt
        - lte
        - one_of
    Union_263:
      anyOf:
        - type: string
        - type: number
        - type: boolean
    AutomationBlockComparison_1:
      type: object
      properties:
        field:
          type: string
          allOf:
            - maxLength: 1024
        op:
          $ref: '#/components/schemas/Union_262'
        value:
          anyOf:
            - $ref: '#/components/schemas/Union_263'
            - type: array
              items:
                $ref: '#/components/schemas/Union_263'
              allOf:
                - maxItems: 50
      required:
        - field
        - op
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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