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

# Call an Outlit capability



## OpenAPI

````yaml /openapi.json post /api/tools/call
openapi: 3.1.0
info:
  title: Outlit Public API
  version: 1.0.0
  description: >-
    Generated from Outlit Core's capability catalog and public protocol
    transport contracts.
servers:
  - url: https://app.outlit.ai
security:
  - bearerAuth: []
paths:
  /api/tools/call:
    post:
      summary: Call an Outlit capability
      operationId: callTool
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_customers
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_customers'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_users
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_users'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_workspace_users
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_list_workspace_users
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_customer
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_customer'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_customer_relationship
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_customer_relationship
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_assign_customer_owner
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_assign_customer_owner
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_grant_customer_access
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_grant_customer_access
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_update_customer_access
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_update_customer_access
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_revoke_customer_access
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_revoke_customer_access
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_timeline
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_timeline'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_facts
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_facts'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_fact
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_fact'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_source
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_source'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_sources
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_sources'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_search_customer_context
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_search_customer_context
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_query
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_query'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_schema
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_schema'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_destinations
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_destinations'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_destination
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_destination'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_create_destination
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_create_destination'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_update_destination
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_update_destination'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_enable_destination
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_enable_destination'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_disable_destination
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_disable_destination
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_archive_destination
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_archive_destination
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_integration_capabilities
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_integration_capabilities
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_begin_integration_setup
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_begin_integration_setup
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_integration_setup_status
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_integration_setup_status
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_integration_status
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_integration_status
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_setup_integration
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_setup_integration'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_customer_activation
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_customer_activation
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_preview_customer_activation
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_preview_customer_activation
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_update_customer_activation
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_update_customer_activation
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_workspace_settings
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_workspace_settings
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_update_workspace_settings
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_update_workspace_settings
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_features
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_features'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_create_feature
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_create_feature'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_archive_feature
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_archive_feature'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_customer_features
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_customer_features
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_attention_items
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_list_attention_items
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_attention_item
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_attention_item'
                  required:
                    - tool
                  additionalProperties: false
              discriminator:
                propertyName: tool
      responses:
        '200':
          description: Capability output
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_customers'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_users'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_list_workspace_users
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_customer'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_customer_relationship
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_assign_customer_owner
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_grant_customer_access
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_update_customer_access
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_revoke_customer_access
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_timeline'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_facts'
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_fact'
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_source'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_sources'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_search_customer_context
                  - $ref: '#/components/schemas/ToolOutput_outlit_query'
                  - $ref: '#/components/schemas/ToolOutput_outlit_schema'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_destinations'
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_create_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_update_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_enable_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_disable_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_archive_destination'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_integration_capabilities
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_begin_integration_setup
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_integration_setup_status
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_integration_status
                  - $ref: '#/components/schemas/ToolOutput_outlit_setup_integration'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_customer_activation
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_preview_customer_activation
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_update_customer_activation
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_workspace_settings
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_update_workspace_settings
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_features'
                  - $ref: '#/components/schemas/ToolOutput_outlit_create_feature'
                  - $ref: '#/components/schemas/ToolOutput_outlit_archive_feature'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_customer_features
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_list_attention_items
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_attention_item'
        '400':
          description: Invalid tool call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '402':
          description: Billing action required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '403':
          description: Capability not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '404':
          description: Requested resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '409':
          description: Capability request conflicts with current state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '413':
          description: Tool gateway error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '422':
          description: Capability request could not be processed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '429':
          description: Rate or plan limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '500':
          description: Tool gateway failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '502':
          description: Invalid capability implementation output
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '503':
          description: Capability temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
components:
  schemas:
    ToolInput_outlit_list_customers:
      type: object
      properties:
        activatedSince:
          description: Filter customers activated at or after this ISO-8601 datetime
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
        billingStatus:
          description: Filter by billing status
          type: string
          enum:
            - NONE
            - TRIALING
            - PAYING
            - PAST_DUE
            - CHURNED
        hasActivityInLast:
          description: Filter customers with activity in the last N days
          type: string
          enum:
            - 7d
            - 14d
            - 30d
            - 90d
        noActivityInLast:
          description: Filter customers with NO activity in the last N days
          type: string
          enum:
            - 7d
            - 14d
            - 30d
            - 90d
        mrrAbove:
          description: Minimum MRR in cents (e.g., 10000 = $100)
          type: number
          minimum: 0
        mrrBelow:
          description: Maximum MRR in cents
          type: number
          minimum: 0
        traitFilters:
          description: Filter by exact trait values using key/value pairs
          type: object
          propertyNames:
            type: string
            pattern: ^[A-Za-z0-9_-]{1,100}$
          additionalProperties:
            anyOf:
              - type: string
                maxLength: 500
              - type: number
              - type: boolean
        search:
          description: Search by customer name or domain (case-insensitive)
          type: string
          maxLength: 500
        ownerId:
          description: Filter customers by internal owner user ID
          type: string
          maxLength: 500
        ownerEmail:
          description: Filter customers by internal owner email address
          type: string
          maxLength: 500
        hasOwner:
          description: Filter customers by whether they have an owner
          type: boolean
        limit:
          description: Results per page (max 1000)
          default: 50
          type: number
          minimum: 1
          maximum: 1000
        cursor:
          description: Pagination cursor from previous response
          type: string
        orderBy:
          description: Field to order results by
          default: last_activity_at
          type: string
          enum:
            - last_activity_at
            - first_seen_at
            - name
            - mrr_cents
        orderDirection:
          description: Sort direction
          default: desc
          type: string
          enum:
            - asc
            - desc
    ToolInput_outlit_list_users:
      type: object
      properties:
        journeyStage:
          description: Filter by user journey stage
          type: string
          enum:
            - DISCOVERED
            - SIGNED_UP
            - ACTIVATED
            - ENGAGED
            - INACTIVE
        customerId:
          description: Filter users by customer ID
          type: string
          maxLength: 500
        traitFilters:
          description: Filter by exact trait values using key/value pairs
          type: object
          propertyNames:
            type: string
            pattern: ^[A-Za-z0-9_-]{1,100}$
          additionalProperties:
            anyOf:
              - type: string
                maxLength: 500
              - type: number
              - type: boolean
        hasActivityInLast:
          description: >-
            Filter users active within this window. Format: Nd, Nh, or Nm (e.g.,
            '7d', '24h', '90m')
          type: string
          pattern: ^\d+(d|h|m)$
        noActivityInLast:
          description: >-
            Filter users NOT active within this window. Format: Nd, Nh, or Nm
            (e.g., '30d', '2h')
          type: string
          pattern: ^\d+(d|h|m)$
        search:
          description: Search by user email or name (case-insensitive)
          type: string
          maxLength: 500
        limit:
          description: Results per page (max 1000)
          default: 50
          type: number
          minimum: 1
          maximum: 1000
        cursor:
          description: Pagination cursor from previous response
          type: string
        orderBy:
          description: Field to order by
          default: last_activity_at
          type: string
          enum:
            - last_activity_at
            - first_seen_at
            - email
        orderDirection:
          description: Sort direction
          default: desc
          type: string
          enum:
            - asc
            - desc
    ToolInput_outlit_list_workspace_users:
      type: object
      properties:
        search:
          description: >-
            Search internal workspace users by name, email, title, role, or
            territory
          type: string
          maxLength: 500
        role:
          description: Filter internal workspace users by role metadata when available
          type: string
          maxLength: 100
        managerEmail:
          description: >-
            Filter internal workspace users by manager email metadata when
            available
          type: string
          maxLength: 500
        hasOwnedCustomers:
          description: >-
            When true, return only members who own customers; when false, return
            only members who own none
          type: boolean
        limit:
          description: Results per page (max 1000)
          default: 50
          type: number
          minimum: 1
          maximum: 1000
        cursor:
          description: Pagination cursor from previous response
          type: string
        orderBy:
          description: Field to order workspace users by
          default: owned_customer_count
          type: string
          enum:
            - name
            - email
            - owned_customer_count
        orderDirection:
          description: Sort direction
          default: desc
          type: string
          enum:
            - asc
            - desc
    ToolInput_outlit_get_customer:
      type: object
      properties:
        customer:
          type: string
          minLength: 1
          maxLength: 500
          description: Customer ID, domain, or name to look up
        include:
          description: Additional data sections to include in the response
          type: array
          items:
            type: string
            enum:
              - users
              - revenue
              - recentTimeline
              - behaviorMetrics
              - enrichment
        timeframe:
          description: 'Timeframe for timeline and behavior metrics (default: 30d)'
          default: 30d
          type: string
          enum:
            - 7d
            - 14d
            - 30d
            - 90d
      required:
        - customer
    ToolInput_outlit_get_customer_relationship:
      type: object
      properties:
        customer:
          type: string
          minLength: 1
          maxLength: 500
          description: Customer ID, domain, or exact customer name to look up
      required:
        - customer
      additionalProperties: false
    ToolInput_outlit_assign_customer_owner:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        targetUserId:
          type: string
          minLength: 1
          maxLength: 500
      required:
        - customerId
        - targetUserId
    ToolInput_outlit_grant_customer_access:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        targetUserId:
          type: string
          minLength: 1
          maxLength: 500
        role:
          type: string
          enum:
            - VIEWER
            - EDITOR
      required:
        - customerId
        - targetUserId
        - role
    ToolInput_outlit_update_customer_access:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        targetUserId:
          type: string
          minLength: 1
          maxLength: 500
        role:
          type: string
          enum:
            - VIEWER
            - EDITOR
      required:
        - customerId
        - targetUserId
        - role
    ToolInput_outlit_revoke_customer_access:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        targetUserId:
          type: string
          minLength: 1
          maxLength: 500
      required:
        - customerId
        - targetUserId
    ToolInput_outlit_get_timeline:
      type: object
      properties:
        customer:
          type: string
          minLength: 1
          maxLength: 200
          description: Customer ID or domain
        channels:
          description: >-
            Filter by event channel. Use values such as PRODUCT, COMMUNICATION,
            MEETING, CRM, BILLING, SUPPORT, IDENTITY, DOCUMENT, or SYSTEM.
          type: array
          items:
            type: string
            enum:
              - PRODUCT
              - COMMUNICATION
              - MEETING
              - CRM
              - BILLING
              - SUPPORT
              - IDENTITY
              - DOCUMENT
              - SYSTEM
        eventTypes:
          description: Filter by event type
          type: array
          items:
            type: string
        timeframe:
          description: >-
            Relative time window (default: 30d). Cannot be used with
            startDate/endDate.
          type: string
          enum:
            - 7d
            - 14d
            - 30d
            - 90d
            - all
        startDate:
          description: >-
            Start of time window, inclusive (ISO 8601 UTC, e.g.
            '2025-01-01T00:00:00.000Z'). Cannot be used with timeframe.
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        endDate:
          description: >-
            End of time window, inclusive of the instant it names (ISO 8601 UTC,
            e.g. '2025-01-31T23:59:59.999Z'). Use millisecond precision:
            timestamps are stored to the millisecond, so '...T23:59:59Z'
            includes only the first instant of that second and excludes the rest
            of it. Cannot be used with timeframe.
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        limit:
          description: Results per page (max 1000)
          default: 50
          type: number
          minimum: 1
          maximum: 1000
        cursor:
          description: Pagination cursor from previous response
          type: string
      required:
        - customer
    ToolInput_outlit_list_facts:
      type: object
      properties:
        customer:
          type: string
          minLength: 1
          maxLength: 500
          description: Customer ID or domain
        status:
          description: Optional fact status filter
          type: array
          items:
            type: string
            enum:
              - ACTIVE
              - ACKNOWLEDGED
              - RESOLVED
              - SNOOZED
              - CANDIDATE
        sourceTypes:
          description: Optional generic source types to restrict fact results to.
          type: array
          items:
            type: string
            enum:
              - EMAIL
              - CALL
              - CALENDAR_EVENT
              - SUPPORT_TICKET
              - OPPORTUNITY
              - SLACK
              - PERSON_PROFILE
              - CRM
              - CRM_OPPORTUNITY
        factTypes:
          description: >-
            Optional customer-memory fact type filters, such as CHURN_RISK,
            EXPANSION, SENTIMENT, or BUDGET. Anomaly detector fact types are not
            supported.
          type: array
          items:
            type: string
            enum:
              - CUSTOM
              - COMPANY_CHANGE
              - FUNDING_REVENUE
              - TECHNOLOGY
              - STRATEGY
              - COMPETITIVE
              - SENTIMENT
              - CHAMPION_RISK
              - EXPANSION
              - CHURN_RISK
              - TIMELINE
              - BUDGET
              - DECISION_MAKER
              - REQUIREMENTS
              - PRODUCT_USAGE
              - CONTACT_INFO
              - CONTACT_PREFERENCE
              - CONTACT_DEPARTURE
              - CONTACT_POSITION_CHANGE
              - CONTACT_DISENGAGEMENT
        factCategories:
          description: >-
            Optional public fact category filters. Supported values: MEMORY,
            RELATIONSHIP, CUSTOM.
          type: array
          items:
            type: string
            enum:
              - MEMORY
              - RELATIONSHIP
              - CUSTOM
        after:
          description: ISO 8601 datetime lower bound
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        before:
          description: ISO 8601 datetime upper bound
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        limit:
          description: Results per page (max 100)
          default: 50
          type: integer
          minimum: 1
          maximum: 100
        cursor:
          description: Pagination cursor from previous response
          type: string
      required:
        - customer
    ToolInput_outlit_get_fact:
      type: object
      properties:
        factId:
          type: string
          minLength: 1
          maxLength: 500
          description: Exact fact ID to retrieve
        include:
          description: >-
            Optional best-effort expansions. Use include=['evidence'] to request
            evidence when available; unsupported include values are ignored.
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 100
      required:
        - factId
    ToolInput_outlit_get_source:
      type: object
      properties:
        sourceType:
          type: string
          enum:
            - EMAIL
            - CALL
            - CALENDAR_EVENT
            - SUPPORT_TICKET
            - OPPORTUNITY
            - SLACK
            - PERSON_PROFILE
            - CRM
            - CRM_OPPORTUNITY
            - EXTRACTED
        sourceId:
          type: string
          minLength: 1
          maxLength: 500
        limit:
          description: Exact content segments per page (default 10, maximum 100).
          type: integer
          minimum: 1
          maximum: 100
        cursor:
          description: >-
            Opaque cursor returned by a previous exact lookup for the same
            source.
          type: string
          minLength: 1
          maxLength: 2000
      required:
        - sourceType
        - sourceId
    ToolInput_outlit_list_sources:
      type: object
      properties:
        sourceType:
          description: Generic source type to list.
          type: string
          enum:
            - EMAIL
            - CALL
            - CALENDAR_EVENT
            - SUPPORT_TICKET
            - OPPORTUNITY
            - SLACK
            - PERSON_PROFILE
            - CRM
            - CRM_OPPORTUNITY
        customer:
          description: Customer ID, domain, or name to scope source listing.
          type: string
          minLength: 1
          maxLength: 200
        after:
          description: ISO 8601 datetime lower bound.
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        before:
          description: ISO 8601 datetime upper bound.
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        participant:
          description: Participant email or name to filter source records.
          type: string
          minLength: 1
          maxLength: 500
        provider:
          description: Provider identifier such as gmail, gong, or google-calendar.
          type: string
          minLength: 1
          maxLength: 200
        hasTranscript:
          description: Filter call sources by transcript presence.
          type: boolean
        limit:
          description: Results per page.
          default: 50
          type: integer
          minimum: 1
          maximum: 100
        cursor:
          description: Pagination cursor.
          type: string
          minLength: 1
          maxLength: 2000
      additionalProperties: false
    ToolInput_outlit_search_customer_context:
      type: object
      properties:
        customer:
          description: Customer ID, domain, or name. Omit to search across all customers.
          anyOf:
            - type: string
              minLength: 1
              maxLength: 500
            - type: 'null'
        query:
          type: string
          minLength: 2
          maxLength: 2000
          description: Natural language query or topic to search for.
        topK:
          description: Maximum number of artifact results to return (default 20).
          type: integer
          minimum: 1
          maximum: 50
        after:
          description: ISO 8601 datetime lower bound
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        before:
          description: ISO 8601 datetime upper bound
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        sourceTypes:
          description: Optional generic source types to restrict the search to.
          type: array
          items:
            type: string
            enum:
              - EMAIL
              - CALL
              - CALENDAR_EVENT
              - SUPPORT_TICKET
              - OPPORTUNITY
              - SLACK
              - PERSON_PROFILE
              - CRM
              - CRM_OPPORTUNITY
      required:
        - query
      additionalProperties: false
    ToolInput_outlit_query:
      type: object
      properties:
        sql:
          type: string
          minLength: 1
          maxLength: 10000
          description: SQL SELECT query to execute
        limit:
          description: Max rows to return (default 1000, max 10000)
          default: 1000
          type: integer
          minimum: 1
          maximum: 10000
      required:
        - sql
    ToolInput_outlit_schema:
      type: object
      properties:
        table:
          description: Specific analytics view to describe. Omit to list all views.
          type: string
          enum:
            - activity
            - customers
            - users
            - revenue
    ToolInput_outlit_list_destinations:
      type: object
      properties: {}
      additionalProperties: false
    ToolInput_outlit_get_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
      additionalProperties: false
    ToolInput_outlit_create_destination:
      type: object
      properties:
        type:
          type: string
          const: SLACK_CHANNEL
        channelId:
          type: string
          minLength: 1
          maxLength: 191
        label:
          type: string
          minLength: 1
          maxLength: 120
        enabled:
          default: true
          type: boolean
        isDefault:
          default: false
          type: boolean
      required:
        - type
        - channelId
        - label
      additionalProperties: false
    ToolInput_outlit_update_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        type:
          type: string
          const: SLACK_CHANNEL
        label:
          type: string
          minLength: 1
          maxLength: 120
        isDefault:
          type: boolean
          const: true
      required:
        - id
        - type
      additionalProperties: false
    ToolInput_outlit_enable_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
      additionalProperties: false
    ToolInput_outlit_disable_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
      additionalProperties: false
    ToolInput_outlit_archive_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
      additionalProperties: false
    ToolInput_outlit_get_integration_capabilities:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 80
      additionalProperties: false
    ToolInput_outlit_begin_integration_setup:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 80
      required:
        - provider
      additionalProperties: false
    ToolInput_outlit_get_integration_setup_status:
      type: object
      properties:
        sessionId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - sessionId
      additionalProperties: false
    ToolInput_outlit_get_integration_status:
      type: object
      properties:
        provider:
          type: string
          enum:
            - salesforce
            - hubspot
            - attio
            - slack
            - google-calendar
            - google-mail
            - granola
            - gong
            - fireflies
            - pylon
            - stripe
            - mixpanel
            - posthog
            - supabase
            - clerk
      additionalProperties: false
    ToolInput_outlit_setup_integration:
      anyOf:
        - type: object
          properties:
            provider:
              type: string
              enum:
                - salesforce
                - hubspot
                - attio
            configuration:
              type: object
              properties:
                kind:
                  type: string
                  const: crm_mapping
                mappings:
                  minItems: 1
                  type: array
                  items:
                    type: object
                    properties:
                      pipelineId:
                        type: string
                        minLength: 1
                      pipelineName:
                        type: string
                      mappings:
                        type: array
                        items:
                          type: object
                          properties:
                            outlitStage:
                              type: string
                              enum:
                                - Created
                                - Quoting
                                - Negotiation
                                - Won
                                - Lost
                            crmStages:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    minLength: 1
                                  name:
                                    type: string
                                required:
                                  - id
                                  - name
                                additionalProperties: false
                          required:
                            - outlitStage
                            - crmStages
                          additionalProperties: false
                    required:
                      - pipelineId
                      - pipelineName
                      - mappings
                    additionalProperties: false
                confirm:
                  type: boolean
                  const: true
              required:
                - kind
                - mappings
                - confirm
              additionalProperties: false
          required:
            - provider
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              enum:
                - slack
                - google-calendar
                - google-mail
                - gong
          required:
            - provider
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              const: stripe
            connectionMode:
              type: string
              const: oauth
          required:
            - provider
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              const: stripe
            connectionMode:
              type: string
              const: restricted_key
            credentials:
              type: object
              properties:
                apiKey:
                  type: string
                  minLength: 1
                  pattern: ^rk_.*
              required:
                - apiKey
              additionalProperties: false
          required:
            - provider
            - connectionMode
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              const: granola
            credentials:
              type: object
              properties:
                apiKey:
                  type: string
                  minLength: 1
                authScope:
                  default: personal
                  type: string
                  enum:
                    - personal
                    - enterprise
                enterpriseKeyAcknowledged:
                  default: false
                  type: boolean
              required:
                - apiKey
              additionalProperties: false
          required:
            - provider
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              const: fireflies
            credentials:
              type: object
              properties:
                apiKey:
                  type: string
                  minLength: 1
              required:
                - apiKey
              additionalProperties: false
          required:
            - provider
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              const: pylon
            credentials:
              type: object
              properties:
                apiToken:
                  type: string
                  minLength: 1
              required:
                - apiToken
              additionalProperties: false
          required:
            - provider
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              const: mixpanel
            credentials:
              type: object
              properties:
                username:
                  type: string
                  minLength: 1
                secret:
                  type: string
                  minLength: 1
                projectId:
                  type: string
                  minLength: 1
                  maxLength: 64
                region:
                  type: string
                  enum:
                    - us
                    - eu
                    - in
              required:
                - username
                - secret
                - projectId
                - region
              additionalProperties: false
            configuration:
              type: object
              properties:
                kind:
                  type: string
                  const: mixpanel_mapping
                mapping:
                  oneOf:
                    - type: object
                      properties:
                        mode:
                          type: string
                          const: group_key
                        groupKey:
                          type: string
                          minLength: 1
                      required:
                        - mode
                        - groupKey
                      additionalProperties: false
                    - type: object
                      properties:
                        mode:
                          type: string
                          const: event_property
                        propertyName:
                          type: string
                          minLength: 1
                      required:
                        - mode
                        - propertyName
                      additionalProperties: false
                    - type: object
                      properties:
                        mode:
                          type: string
                          const: email_domain
                      required:
                        - mode
                      additionalProperties: false
                confirm:
                  type: boolean
                  const: true
              required:
                - kind
                - mapping
                - confirm
              additionalProperties: false
          required:
            - provider
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              const: posthog
            credentials:
              type: object
              properties:
                apiKey:
                  type: string
                  minLength: 10
                  pattern: ^phx_.*
                region:
                  type: string
                  enum:
                    - us
                    - eu
                projectId:
                  type: string
                  minLength: 1
                  pattern: ^\d+$
              required:
                - apiKey
                - region
                - projectId
              additionalProperties: false
          required:
            - provider
          additionalProperties: false
        - type: object
          properties:
            provider:
              type: string
              enum:
                - clerk
                - supabase
          required:
            - provider
          additionalProperties: false
    ToolInput_outlit_get_customer_activation:
      type: object
      properties: {}
      additionalProperties: false
    ToolInput_outlit_preview_customer_activation:
      type: object
      properties:
        eventName:
          type: string
          minLength: 1
          maxLength: 191
        lookbackDays:
          default: 30
          type: integer
          minimum: 1
          maximum: 90
        exampleLimit:
          default: 10
          type: integer
          minimum: 1
          maximum: 20
      required:
        - eventName
      additionalProperties: false
    ToolInput_outlit_update_customer_activation:
      type: object
      properties:
        eventName:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 191
            - type: 'null'
      required:
        - eventName
      additionalProperties: false
    ToolInput_outlit_get_workspace_settings:
      type: object
      properties: {}
      additionalProperties: false
    ToolInput_outlit_update_workspace_settings:
      type: object
      properties:
        defaultTimezone:
          type: string
          minLength: 1
      required:
        - defaultTimezone
      additionalProperties: false
    ToolInput_outlit_list_features:
      type: object
      properties:
        sourceKey:
          type: string
          pattern: ^metric_source_v1_[a-f0-9]{32}$
        weeks:
          default: 12
          type: integer
          minimum: 1
          maximum: 53
        candidateLimit:
          default: 100
          type: integer
          minimum: 1
          maximum: 100
      additionalProperties: false
    ToolInput_outlit_create_feature:
      type: object
      properties:
        sourceKey:
          type: string
          pattern: ^metric_source_v1_[a-f0-9]{32}$
        eventName:
          type: string
          minLength: 1
          maxLength: 191
        featureKey:
          type: string
          maxLength: 64
          pattern: ^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$
        name:
          type: string
          minLength: 1
          maxLength: 255
        propertyFilters:
          default: []
          maxItems: 5
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  property:
                    type: string
                    minLength: 1
                    maxLength: 191
                  operator:
                    type: string
                    const: equals
                  value:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            const: string
                          value:
                            type: string
                            maxLength: 191
                        required:
                          - type
                          - value
                        additionalProperties: false
                      - type: object
                        properties:
                          type:
                            type: string
                            const: number
                          value:
                            type: number
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                        required:
                          - type
                          - value
                        additionalProperties: false
                      - type: object
                        properties:
                          type:
                            type: string
                            const: boolean
                          value:
                            type: boolean
                        required:
                          - type
                          - value
                        additionalProperties: false
                required:
                  - property
                  - operator
                  - value
                additionalProperties: false
              - type: object
                properties:
                  property:
                    type: string
                    minLength: 1
                    maxLength: 191
                  operator:
                    type: string
                    const: exists
                required:
                  - property
                  - operator
                additionalProperties: false
      required:
        - sourceKey
        - eventName
        - featureKey
        - name
      additionalProperties: false
    ToolInput_outlit_archive_feature:
      type: object
      properties:
        id:
          type: string
          pattern: ^value_feature_v1_[a-f0-9]{32}$
        revision:
          type: string
          pattern: ^value_feature_revision_v1_[a-f0-9]{32}$
      required:
        - id
        - revision
      additionalProperties: false
    ToolInput_outlit_get_customer_features:
      type: object
      properties:
        customer:
          type: string
          minLength: 1
          maxLength: 500
        weeks:
          default: 12
          type: integer
          minimum: 1
          maximum: 53
        includeWeeklyUsage:
          default: false
          type: boolean
      required:
        - customer
      additionalProperties: false
    ToolInput_outlit_list_attention_items:
      type: object
      properties:
        status:
          description: 'Attention lifecycle to list (default: open)'
          default: open
          type: string
          enum:
            - open
            - resolved
        customerId:
          description: Filter by exact customer ID
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        limit:
          description: 'Results per page (default: 25, max: 100)'
          default: 25
          type: integer
          minimum: 1
          maximum: 100
        cursor:
          description: Opaque cursor from a previous response with the same filters
          type: string
          minLength: 1
          maxLength: 2000
      additionalProperties: false
    ToolInput_outlit_get_attention_item:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Exact Attention item ID
      required:
        - id
      additionalProperties: false
    ToolOutput_outlit_list_customers:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                anyOf:
                  - type: string
                  - type: 'null'
              domain:
                anyOf:
                  - type: string
                  - type: 'null'
              billingStatus:
                type: string
                enum:
                  - NONE
                  - TRIALING
                  - PAYING
                  - PAST_DUE
                  - CHURNED
              activatedAt:
                anyOf:
                  - type: string
                  - type: 'null'
              firstSeenAt:
                anyOf:
                  - type: string
                  - type: 'null'
              lastActivityAt:
                anyOf:
                  - type: string
                  - type: 'null'
              contactCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              currentMrr:
                anyOf:
                  - type: number
                  - type: 'null'
              mrrCalculationStatus:
                type: string
                enum:
                  - calculated
                  - mixed_currency
                  - unavailable
              owner:
                anyOf:
                  - type: object
                    properties:
                      id:
                        type: string
                      email:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                      - email
                      - name
                    additionalProperties: false
                  - type: 'null'
              daysSinceActivity:
                anyOf:
                  - type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  - type: 'null'
            required:
              - id
              - name
              - domain
              - billingStatus
              - activatedAt
              - firstSeenAt
              - lastActivityAt
              - contactCount
              - currentMrr
              - mrrCalculationStatus
              - owner
              - daysSinceActivity
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - hasMore
            - nextCursor
            - total
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_list_users:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              email:
                anyOf:
                  - type: string
                  - type: 'null'
              name:
                anyOf:
                  - type: string
                  - type: 'null'
              customerId:
                type: string
              customerName:
                anyOf:
                  - type: string
                  - type: 'null'
              customerDomain:
                anyOf:
                  - type: string
                  - type: 'null'
              journeyStage:
                type: string
                enum:
                  - DISCOVERED
                  - SIGNED_UP
                  - ACTIVATED
                  - ENGAGED
                  - INACTIVE
              lastActivityAt:
                anyOf:
                  - type: string
                  - type: 'null'
              daysSinceActivity:
                anyOf:
                  - type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  - type: 'null'
              relationshipRole:
                anyOf:
                  - type: string
                  - type: 'null'
              jobTitle:
                anyOf:
                  - type: string
                  - type: 'null'
              department:
                anyOf:
                  - type: string
                  - type: 'null'
              employmentStartDate:
                anyOf:
                  - type: string
                    pattern: ^\d{4}-\d{2}-\d{2}$
                  - type: 'null'
            required:
              - id
              - email
              - name
              - customerId
              - customerName
              - customerDomain
              - journeyStage
              - lastActivityAt
              - daysSinceActivity
              - relationshipRole
              - jobTitle
              - department
              - employmentStartDate
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - hasMore
            - nextCursor
            - total
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_list_workspace_users:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              email:
                type: string
              name:
                type: string
              title:
                anyOf:
                  - type: string
                  - type: 'null'
              role:
                anyOf:
                  - type: string
                  - type: 'null'
              managerEmail:
                anyOf:
                  - type: string
                  - type: 'null'
              territory:
                anyOf:
                  - type: string
                  - type: 'null'
              linkedinUrl:
                anyOf:
                  - type: string
                  - type: 'null'
              ownedCustomerCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
            required:
              - id
              - email
              - name
              - title
              - role
              - managerEmail
              - territory
              - linkedinUrl
              - ownedCustomerCount
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - hasMore
            - nextCursor
            - total
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_get_customer:
      type: object
      properties:
        customer:
          type: object
          properties:
            id:
              type: string
            name:
              anyOf:
                - type: string
                - type: 'null'
            domain:
              anyOf:
                - type: string
                - type: 'null'
            billingStatus:
              type: string
              enum:
                - NONE
                - TRIALING
                - PAYING
                - PAST_DUE
                - CHURNED
            activatedAt:
              anyOf:
                - type: string
                - type: 'null'
            firstSeenAt:
              anyOf:
                - type: string
                - type: 'null'
            lastActivityAt:
              anyOf:
                - type: string
                - type: 'null'
            owner:
              anyOf:
                - type: object
                  properties:
                    id:
                      type: string
                    email:
                      type: string
                    name:
                      type: string
                  required:
                    - id
                    - email
                    - name
                  additionalProperties: false
                - type: 'null'
          required:
            - id
            - name
            - domain
            - billingStatus
            - activatedAt
            - firstSeenAt
            - lastActivityAt
            - owner
          additionalProperties: false
        users:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              email:
                anyOf:
                  - type: string
                  - type: 'null'
              name:
                anyOf:
                  - type: string
                  - type: 'null'
              journeyStage:
                type: string
                enum:
                  - DISCOVERED
                  - SIGNED_UP
                  - ACTIVATED
                  - ENGAGED
                  - INACTIVE
              lastActivityAt:
                anyOf:
                  - type: string
                  - type: 'null'
              relationshipRole:
                anyOf:
                  - type: string
                  - type: 'null'
              jobTitle:
                anyOf:
                  - type: string
                  - type: 'null'
              department:
                anyOf:
                  - type: string
                  - type: 'null'
              employmentStartDate:
                anyOf:
                  - type: string
                    pattern: ^\d{4}-\d{2}-\d{2}$
                  - type: 'null'
            required:
              - id
              - email
              - name
              - journeyStage
              - lastActivityAt
              - relationshipRole
              - jobTitle
              - department
              - employmentStartDate
            additionalProperties: false
        revenue:
          type: object
          properties:
            currentMrr:
              anyOf:
                - type: number
                - type: 'null'
            mrrCalculationStatus:
              type: string
              enum:
                - calculated
                - mixed_currency
                - unavailable
            lifetimeRevenue:
              type: number
            activeSubscriptions:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - currentMrr
            - mrrCalculationStatus
            - lifetimeRevenue
            - activeSubscriptions
          additionalProperties: false
        recentTimeline:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              title:
                anyOf:
                  - type: string
                  - type: 'null'
              contact:
                anyOf:
                  - type: string
                  - type: 'null'
              occurredAt:
                type: string
            required:
              - type
              - title
              - contact
              - occurredAt
            additionalProperties: false
        behaviorMetrics:
          type: object
          properties:
            activityCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            activeUsers:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            lastEmailAt:
              anyOf:
                - type: string
                - type: 'null'
            lastMeetingAt:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - activityCount
            - activeUsers
            - lastEmailAt
            - lastMeetingAt
          additionalProperties: false
        enrichment:
          type: object
          properties:
            status:
              type: string
              enum:
                - MISSING
                - FRESH
                - STALE
                - FAILED
                - NO_MATCH
                - INPUT_CHANGED
            provider:
              anyOf:
                - type: string
                - type: 'null'
            providerEntityId:
              anyOf:
                - type: string
                - type: 'null'
            summary:
              anyOf:
                - type: object
                  properties:
                    name:
                      anyOf:
                        - type: string
                        - type: 'null'
                    domain:
                      anyOf:
                        - type: string
                        - type: 'null'
                    websiteUrl:
                      anyOf:
                        - type: string
                        - type: 'null'
                    description:
                      anyOf:
                        - type: string
                        - type: 'null'
                    logoUrl:
                      anyOf:
                        - type: string
                        - type: 'null'
                    linkedinUrl:
                      anyOf:
                        - type: string
                        - type: 'null'
                    yearFounded:
                      anyOf:
                        - type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        - type: 'null'
                    companyType:
                      anyOf:
                        - type: string
                        - type: 'null'
                    employeeCountRange:
                      anyOf:
                        - type: string
                        - type: 'null'
                    headcount:
                      anyOf:
                        - type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        - type: 'null'
                    industry:
                      anyOf:
                        - type: string
                        - type: 'null'
                    categories:
                      type: array
                      items:
                        type: string
                    markets:
                      type: array
                      items:
                        type: string
                    headquarters:
                      anyOf:
                        - type: string
                        - type: 'null'
                    fundingSummary:
                      anyOf:
                        - type: object
                          properties:
                            totalInvestmentUsd:
                              anyOf:
                                - type: number
                                - type: 'null'
                            lastRoundType:
                              anyOf:
                                - type: string
                                - type: 'null'
                            lastRoundAmountUsd:
                              anyOf:
                                - type: number
                                - type: 'null'
                            lastFundraiseDate:
                              anyOf:
                                - type: string
                                - type: 'null'
                            investors:
                              type: array
                              items:
                                type: string
                          required:
                            - totalInvestmentUsd
                            - lastRoundType
                            - lastRoundAmountUsd
                            - lastFundraiseDate
                            - investors
                          additionalProperties: false
                        - type: 'null'
                    hiringSummary:
                      anyOf:
                        - type: object
                          properties:
                            openingsCount:
                              anyOf:
                                - type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                - type: 'null'
                            recentTitles:
                              type: array
                              items:
                                type: string
                          required:
                            - openingsCount
                            - recentTitles
                          additionalProperties: false
                        - type: 'null'
                    followerSummary:
                      anyOf:
                        - type: object
                          properties:
                            count:
                              anyOf:
                                - type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                - type: 'null'
                            growth:
                              type: object
                              propertyNames:
                                type: string
                              additionalProperties:
                                anyOf:
                                  - type: number
                                  - type: 'null'
                          required:
                            - count
                            - growth
                          additionalProperties: false
                        - type: 'null'
                  additionalProperties: false
                - type: 'null'
            match:
              anyOf:
                - type: object
                  propertyNames:
                    type: string
                  additionalProperties: {}
                - type: 'null'
            lastSuccessfulRefreshAt:
              anyOf:
                - type: string
                - type: 'null'
            lastAttemptAt:
              anyOf:
                - type: string
                - type: 'null'
            expiresAt:
              anyOf:
                - type: string
                - type: 'null'
            error:
              anyOf:
                - type: object
                  properties:
                    class:
                      type: string
                    message:
                      type: string
                    retryable:
                      type: boolean
                  required:
                    - class
                    - message
                  additionalProperties: false
                - type: 'null'
          required:
            - status
            - provider
            - providerEntityId
            - summary
            - match
            - lastSuccessfulRefreshAt
            - lastAttemptAt
            - expiresAt
            - error
          additionalProperties: false
      required:
        - customer
      additionalProperties: false
    ToolOutput_outlit_get_customer_relationship:
      type: object
      properties:
        customer:
          type: object
          properties:
            id:
              type: string
            name:
              anyOf:
                - type: string
                - type: 'null'
            domain:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - id
            - name
            - domain
          additionalProperties: false
        relationship:
          type: object
          properties:
            summary:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 240
                - type: 'null'
            items:
              maxItems: 8
              type: array
              items:
                type: object
                properties:
                  category:
                    type: string
                    minLength: 1
                    maxLength: 120
                  statement:
                    type: string
                    minLength: 1
                    maxLength: 500
                  observedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  sourceLabels:
                    maxItems: 4
                    type: array
                    items:
                      type: string
                      minLength: 1
                      maxLength: 100
                required:
                  - category
                  - statement
                  - observedAt
                  - sourceLabels
                additionalProperties: false
            updatedAt:
              anyOf:
                - type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                - type: 'null'
          required:
            - summary
            - items
            - updatedAt
          additionalProperties: false
      required:
        - customer
        - relationship
      additionalProperties: false
    ToolOutput_outlit_assign_customer_owner:
      type: object
      properties:
        customerId:
          type: string
        ownerId:
          type: string
        previousOwnerId:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - customerId
        - ownerId
        - previousOwnerId
      additionalProperties: false
    ToolOutput_outlit_grant_customer_access:
      type: object
      properties:
        access:
          type: object
          properties:
            customerId:
              type: string
            userId:
              type: string
            role:
              type: string
              enum:
                - VIEWER
                - EDITOR
            grantedById:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - customerId
            - userId
            - role
            - grantedById
          additionalProperties: false
      required:
        - access
      additionalProperties: false
    ToolOutput_outlit_update_customer_access:
      type: object
      properties:
        access:
          type: object
          properties:
            customerId:
              type: string
            userId:
              type: string
            role:
              type: string
              enum:
                - VIEWER
                - EDITOR
            grantedById:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - customerId
            - userId
            - role
            - grantedById
          additionalProperties: false
      required:
        - access
      additionalProperties: false
    ToolOutput_outlit_revoke_customer_access:
      type: object
      properties:
        customerId:
          type: string
        userId:
          type: string
      required:
        - customerId
        - userId
      additionalProperties: false
    ToolOutput_outlit_get_timeline:
      type: object
      properties:
        events:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              eventType:
                type: string
              eventName:
                type: string
              channel:
                type: string
                enum:
                  - PRODUCT
                  - COMMUNICATION
                  - MEETING
                  - CRM
                  - BILLING
                  - SUPPORT
                  - IDENTITY
                  - DOCUMENT
                  - SYSTEM
              title:
                anyOf:
                  - type: string
                  - type: 'null'
              summary:
                anyOf:
                  - type: string
                  - type: 'null'
              occurredAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              contact:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceType:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceId:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceRef:
                type: object
                properties:
                  sourceType:
                    type: string
                  sourceId:
                    type: string
                required:
                  - sourceType
                  - sourceId
                additionalProperties: false
              metadata:
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
            required:
              - id
              - eventType
              - eventName
              - channel
              - title
              - summary
              - occurredAt
              - contact
              - sourceType
              - sourceId
              - metadata
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - hasMore
            - nextCursor
          additionalProperties: false
      required:
        - events
        - pagination
      additionalProperties: false
    ToolOutput_outlit_list_facts:
      type: object
      properties:
        customer:
          type: object
          properties:
            id:
              type: string
            name:
              anyOf:
                - type: string
                - type: 'null'
            domain:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - id
            - name
            - domain
          additionalProperties: false
        facts:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                minLength: 1
                maxLength: 500
              assertion:
                type: string
                minLength: 1
                maxLength: 20000
              reasoning:
                anyOf:
                  - type: string
                    maxLength: 20000
                  - type: 'null'
              factType:
                type: string
                minLength: 1
                maxLength: 200
              factCategory:
                type: string
                minLength: 1
                maxLength: 200
              status:
                type: string
                enum:
                  - ACTIVE
                  - ACKNOWLEDGED
                  - RESOLVED
                  - SNOOZED
                  - CANDIDATE
              confidence:
                type: number
                minimum: 0
                maximum: 1
              priority:
                anyOf:
                  - type: string
                    maxLength: 100
                  - type: 'null'
              occurredAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              detectedAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              validFrom:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              validUntil:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              linkedSourceRef:
                anyOf:
                  - type: object
                    properties:
                      sourceType:
                        type: string
                        enum:
                          - EMAIL
                          - CALL
                          - CALENDAR_EVENT
                          - SUPPORT_TICKET
                          - OPPORTUNITY
                          - SLACK
                          - PERSON_PROFILE
                      sourceId:
                        type: string
                        minLength: 1
                        maxLength: 500
                      occurredAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      permalink:
                        anyOf:
                          - type: string
                            maxLength: 2000
                          - type: 'null'
                    required:
                      - sourceType
                      - sourceId
                      - occurredAt
                      - permalink
                    additionalProperties: false
                  - type: 'null'
              sourceMetadata:
                anyOf:
                  - type: object
                    properties:
                      sourceType:
                        anyOf:
                          - type: string
                            enum:
                              - EMAIL
                              - CALL
                              - CALENDAR_EVENT
                              - SUPPORT_TICKET
                              - OPPORTUNITY
                              - SLACK
                              - PERSON_PROFILE
                          - type: 'null'
                      sourceId:
                        anyOf:
                          - type: string
                            maxLength: 500
                          - type: 'null'
                      sourceOccurredAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      sourceQuote:
                        anyOf:
                          - type: string
                            maxLength: 20000
                          - type: 'null'
                      permalink:
                        anyOf:
                          - type: string
                            maxLength: 2000
                          - type: 'null'
                    required:
                      - sourceType
                      - sourceId
                      - sourceOccurredAt
                      - sourceQuote
                      - permalink
                    additionalProperties: false
                  - type: 'null'
              evidenceCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              metricName:
                anyOf:
                  - type: string
                    maxLength: 200
                  - type: 'null'
              metricValue:
                anyOf:
                  - type: number
                  - type: 'null'
              metricPreviousValue:
                anyOf:
                  - type: number
                  - type: 'null'
              metricDelta:
                anyOf:
                  - type: number
                  - type: 'null'
              metricUnit:
                anyOf:
                  - type: string
                    maxLength: 100
                  - type: 'null'
              periodStart:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              periodEnd:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              changePointDate:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              occurrenceCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              lastDetectedAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              severity:
                anyOf:
                  - type: string
                    maxLength: 100
                  - type: 'null'
              evidence:
                anyOf:
                  - type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          maxLength: 500
                        sourceType:
                          anyOf:
                            - type: string
                              enum:
                                - EMAIL
                                - CALL
                                - CALENDAR_EVENT
                                - SUPPORT_TICKET
                                - OPPORTUNITY
                                - SLACK
                                - PERSON_PROFILE
                            - type: 'null'
                        sourceId:
                          anyOf:
                            - type: string
                              maxLength: 500
                            - type: 'null'
                        excerpt:
                          anyOf:
                            - type: string
                              maxLength: 20000
                            - type: 'null'
                        metadata:
                          anyOf:
                            - type: object
                              propertyNames:
                                type: string
                              additionalProperties: {}
                            - type: 'null'
                      required:
                        - id
                        - sourceType
                        - sourceId
                        - excerpt
                        - metadata
                      additionalProperties: false
                  - type: 'null'
            required:
              - id
              - assertion
              - reasoning
              - factType
              - factCategory
              - status
              - confidence
              - priority
              - occurredAt
              - detectedAt
              - validFrom
              - validUntil
              - evidenceCount
              - metricName
              - metricValue
              - metricPreviousValue
              - metricDelta
              - metricUnit
              - periodStart
              - periodEnd
              - changePointDate
              - occurrenceCount
              - lastDetectedAt
              - severity
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - hasMore
            - nextCursor
          additionalProperties: false
      required:
        - customer
        - facts
        - pagination
      additionalProperties: false
    ToolOutput_outlit_get_fact:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 500
        assertion:
          type: string
          minLength: 1
          maxLength: 20000
        reasoning:
          anyOf:
            - type: string
              maxLength: 20000
            - type: 'null'
        factType:
          type: string
          minLength: 1
          maxLength: 200
        factCategory:
          type: string
          minLength: 1
          maxLength: 200
        status:
          type: string
          enum:
            - ACTIVE
            - ACKNOWLEDGED
            - RESOLVED
            - SNOOZED
            - CANDIDATE
        confidence:
          type: number
          minimum: 0
          maximum: 1
        priority:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        occurredAt:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        detectedAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        validFrom:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        validUntil:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        linkedSourceRef:
          anyOf:
            - type: object
              properties:
                sourceType:
                  type: string
                  enum:
                    - EMAIL
                    - CALL
                    - CALENDAR_EVENT
                    - SUPPORT_TICKET
                    - OPPORTUNITY
                    - SLACK
                    - PERSON_PROFILE
                sourceId:
                  type: string
                  minLength: 1
                  maxLength: 500
                occurredAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                permalink:
                  anyOf:
                    - type: string
                      maxLength: 2000
                    - type: 'null'
              required:
                - sourceType
                - sourceId
                - occurredAt
                - permalink
              additionalProperties: false
            - type: 'null'
        sourceMetadata:
          anyOf:
            - type: object
              properties:
                sourceType:
                  anyOf:
                    - type: string
                      enum:
                        - EMAIL
                        - CALL
                        - CALENDAR_EVENT
                        - SUPPORT_TICKET
                        - OPPORTUNITY
                        - SLACK
                        - PERSON_PROFILE
                    - type: 'null'
                sourceId:
                  anyOf:
                    - type: string
                      maxLength: 500
                    - type: 'null'
                sourceOccurredAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                sourceQuote:
                  anyOf:
                    - type: string
                      maxLength: 20000
                    - type: 'null'
                permalink:
                  anyOf:
                    - type: string
                      maxLength: 2000
                    - type: 'null'
              required:
                - sourceType
                - sourceId
                - sourceOccurredAt
                - sourceQuote
                - permalink
              additionalProperties: false
            - type: 'null'
        evidenceCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        metricName:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
        metricValue:
          anyOf:
            - type: number
            - type: 'null'
        metricPreviousValue:
          anyOf:
            - type: number
            - type: 'null'
        metricDelta:
          anyOf:
            - type: number
            - type: 'null'
        metricUnit:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        periodStart:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        periodEnd:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        changePointDate:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        occurrenceCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        lastDetectedAt:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        severity:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        evidence:
          anyOf:
            - type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    maxLength: 500
                  sourceType:
                    anyOf:
                      - type: string
                        enum:
                          - EMAIL
                          - CALL
                          - CALENDAR_EVENT
                          - SUPPORT_TICKET
                          - OPPORTUNITY
                          - SLACK
                          - PERSON_PROFILE
                      - type: 'null'
                  sourceId:
                    anyOf:
                      - type: string
                        maxLength: 500
                      - type: 'null'
                  excerpt:
                    anyOf:
                      - type: string
                        maxLength: 20000
                      - type: 'null'
                  metadata:
                    anyOf:
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      - type: 'null'
                required:
                  - id
                  - sourceType
                  - sourceId
                  - excerpt
                  - metadata
                additionalProperties: false
            - type: 'null'
      required:
        - id
        - assertion
        - reasoning
        - factType
        - factCategory
        - status
        - confidence
        - priority
        - occurredAt
        - detectedAt
        - validFrom
        - validUntil
        - evidenceCount
        - metricName
        - metricValue
        - metricPreviousValue
        - metricDelta
        - metricUnit
        - periodStart
        - periodEnd
        - changePointDate
        - occurrenceCount
        - lastDetectedAt
        - severity
      additionalProperties: false
    ToolOutput_outlit_get_source:
      type: object
      properties:
        sourceType:
          type: string
          enum:
            - EMAIL
            - CALL
            - CALENDAR_EVENT
            - SUPPORT_TICKET
            - OPPORTUNITY
            - SLACK
            - PERSON_PROFILE
        sourceId:
          type: string
          minLength: 1
          maxLength: 500
        occurredAt:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        title:
          anyOf:
            - type: string
              maxLength: 1000
            - type: 'null'
        summary:
          anyOf:
            - type: string
              maxLength: 20000
            - type: 'null'
        permalink:
          anyOf:
            - type: string
              maxLength: 2000
            - type: 'null'
        provider:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
        customer:
          anyOf:
            - type: object
              properties:
                id:
                  type: string
                  minLength: 1
                  maxLength: 500
                name:
                  type: string
                  minLength: 1
                  maxLength: 500
                domain:
                  type: string
                  minLength: 1
                  maxLength: 500
              required:
                - id
                - name
                - domain
              additionalProperties: false
            - type: 'null'
        participants:
          type: array
          items:
            type: object
            properties:
              email:
                anyOf:
                  - type: string
                    format: email
                    pattern: >-
                      ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                  - type: 'null'
              name:
                anyOf:
                  - type: string
                    maxLength: 500
                  - type: 'null'
              role:
                type: string
                maxLength: 100
              affiliation:
                anyOf:
                  - type: string
                    enum:
                      - internal
                      - external
                      - unknown
                  - type: 'null'
              resolvedUserId:
                anyOf:
                  - type: string
                    maxLength: 500
                  - type: 'null'
            required:
              - email
              - name
              - role
              - affiliation
              - resolvedUserId
            additionalProperties: false
        record:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
        contentPage:
          type: object
          properties:
            sourceType:
              type: string
              enum:
                - EMAIL
                - CALL
                - CALENDAR_EVENT
                - SUPPORT_TICKET
                - OPPORTUNITY
                - SLACK
                - PERSON_PROFILE
            sourceId:
              type: string
              minLength: 1
              maxLength: 500
            contentKind:
              type: string
              enum:
                - email_body
                - call_transcript
                - support_thread
                - slack_thread
            segments:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    maxLength: 1000
                  occurredAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  authorLabel:
                    type: string
                    maxLength: 500
                  text:
                    type: string
                required:
                  - id
                  - text
                additionalProperties: false
            page:
              type: object
              properties:
                returned:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                hasMore:
                  type: boolean
                nextCursor:
                  anyOf:
                    - type: string
                      maxLength: 2000
                    - type: 'null'
              required:
                - returned
                - hasMore
                - nextCursor
              additionalProperties: false
            completeness:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - complete
                    - partial
                    - unavailable
                reason:
                  type: string
                  maxLength: 1000
                omittedFields:
                  type: array
                  items:
                    type: string
                    maxLength: 500
              required:
                - status
                - omittedFields
              additionalProperties: false
          required:
            - sourceType
            - sourceId
            - contentKind
            - segments
            - page
            - completeness
          additionalProperties: false
      required:
        - sourceType
        - sourceId
        - occurredAt
        - title
        - summary
        - permalink
        - provider
        - customer
        - participants
        - record
      additionalProperties: false
    ToolOutput_outlit_list_sources:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              sourceType:
                type: string
                enum:
                  - EMAIL
                  - CALL
                  - CALENDAR_EVENT
                  - SUPPORT_TICKET
                  - OPPORTUNITY
                  - SLACK
                  - PERSON_PROFILE
              sourceId:
                type: string
                minLength: 1
                maxLength: 500
              occurredAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              title:
                anyOf:
                  - type: string
                    maxLength: 1000
                  - type: 'null'
              summary:
                anyOf:
                  - type: string
                    maxLength: 20000
                  - type: 'null'
              permalink:
                anyOf:
                  - type: string
                    maxLength: 2000
                  - type: 'null'
              provider:
                anyOf:
                  - type: string
                    maxLength: 200
                  - type: 'null'
              customer:
                anyOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                        maxLength: 500
                      name:
                        type: string
                        minLength: 1
                        maxLength: 500
                      domain:
                        type: string
                        minLength: 1
                        maxLength: 500
                    required:
                      - id
                      - name
                      - domain
                    additionalProperties: false
                  - type: 'null'
              participants:
                type: array
                items:
                  type: object
                  properties:
                    email:
                      anyOf:
                        - type: string
                          format: email
                          pattern: >-
                            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                        - type: 'null'
                    name:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    role:
                      type: string
                      maxLength: 100
                    affiliation:
                      anyOf:
                        - type: string
                          enum:
                            - internal
                            - external
                            - unknown
                        - type: 'null'
                    resolvedUserId:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                  required:
                    - email
                    - name
                    - role
                    - affiliation
                    - resolvedUserId
                  additionalProperties: false
              record:
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
              contentPage:
                type: object
                properties:
                  sourceType:
                    type: string
                    enum:
                      - EMAIL
                      - CALL
                      - CALENDAR_EVENT
                      - SUPPORT_TICKET
                      - OPPORTUNITY
                      - SLACK
                      - PERSON_PROFILE
                  sourceId:
                    type: string
                    minLength: 1
                    maxLength: 500
                  contentKind:
                    type: string
                    enum:
                      - email_body
                      - call_transcript
                      - support_thread
                      - slack_thread
                  segments:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 1000
                        occurredAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        authorLabel:
                          type: string
                          maxLength: 500
                        text:
                          type: string
                      required:
                        - id
                        - text
                      additionalProperties: false
                  page:
                    type: object
                    properties:
                      returned:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      hasMore:
                        type: boolean
                      nextCursor:
                        anyOf:
                          - type: string
                            maxLength: 2000
                          - type: 'null'
                    required:
                      - returned
                      - hasMore
                      - nextCursor
                    additionalProperties: false
                  completeness:
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - complete
                          - partial
                          - unavailable
                      reason:
                        type: string
                        maxLength: 1000
                      omittedFields:
                        type: array
                        items:
                          type: string
                          maxLength: 500
                    required:
                      - status
                      - omittedFields
                    additionalProperties: false
                required:
                  - sourceType
                  - sourceId
                  - contentKind
                  - segments
                  - page
                  - completeness
                additionalProperties: false
            required:
              - sourceType
              - sourceId
              - occurredAt
              - title
              - summary
              - permalink
              - provider
              - customer
              - participants
              - record
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - hasMore
            - nextCursor
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_search_customer_context:
      type: object
      properties:
        customer:
          anyOf:
            - type: object
              properties:
                id:
                  type: string
                name:
                  anyOf:
                    - type: string
                    - type: 'null'
                domain:
                  anyOf:
                    - type: string
                    - type: 'null'
              required:
                - id
                - name
                - domain
              additionalProperties: false
            - type: 'null'
        results:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  kind:
                    type: string
                    const: fact
                  score:
                    type: number
                  matchCount:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  matches:
                    maxItems: 2
                    type: array
                    items:
                      type: object
                      properties:
                        text:
                          type: string
                        occurredAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      required:
                        - text
                      additionalProperties: false
                  fact:
                    type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                        maxLength: 500
                      assertion:
                        type: string
                        minLength: 1
                        maxLength: 20000
                      reasoning:
                        anyOf:
                          - type: string
                            maxLength: 20000
                          - type: 'null'
                      factType:
                        type: string
                        minLength: 1
                        maxLength: 200
                      factCategory:
                        type: string
                        minLength: 1
                        maxLength: 200
                      status:
                        type: string
                        enum:
                          - ACTIVE
                          - ACKNOWLEDGED
                          - RESOLVED
                          - SNOOZED
                          - CANDIDATE
                      confidence:
                        type: number
                        minimum: 0
                        maximum: 1
                      priority:
                        anyOf:
                          - type: string
                            maxLength: 100
                          - type: 'null'
                      occurredAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      detectedAt:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      validFrom:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      validUntil:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      linkedSourceRef:
                        anyOf:
                          - type: object
                            properties:
                              sourceType:
                                type: string
                                enum:
                                  - EMAIL
                                  - CALL
                                  - CALENDAR_EVENT
                                  - SUPPORT_TICKET
                                  - OPPORTUNITY
                                  - SLACK
                                  - PERSON_PROFILE
                              sourceId:
                                type: string
                                minLength: 1
                                maxLength: 500
                              occurredAt:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  - type: 'null'
                              permalink:
                                anyOf:
                                  - type: string
                                    maxLength: 2000
                                  - type: 'null'
                            required:
                              - sourceType
                              - sourceId
                              - occurredAt
                              - permalink
                            additionalProperties: false
                          - type: 'null'
                      sourceMetadata:
                        anyOf:
                          - type: object
                            properties:
                              sourceType:
                                anyOf:
                                  - type: string
                                    enum:
                                      - EMAIL
                                      - CALL
                                      - CALENDAR_EVENT
                                      - SUPPORT_TICKET
                                      - OPPORTUNITY
                                      - SLACK
                                      - PERSON_PROFILE
                                  - type: 'null'
                              sourceId:
                                anyOf:
                                  - type: string
                                    maxLength: 500
                                  - type: 'null'
                              sourceOccurredAt:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  - type: 'null'
                              sourceQuote:
                                anyOf:
                                  - type: string
                                    maxLength: 20000
                                  - type: 'null'
                              permalink:
                                anyOf:
                                  - type: string
                                    maxLength: 2000
                                  - type: 'null'
                            required:
                              - sourceType
                              - sourceId
                              - sourceOccurredAt
                              - sourceQuote
                              - permalink
                            additionalProperties: false
                          - type: 'null'
                      evidenceCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      metricName:
                        anyOf:
                          - type: string
                            maxLength: 200
                          - type: 'null'
                      metricValue:
                        anyOf:
                          - type: number
                          - type: 'null'
                      metricPreviousValue:
                        anyOf:
                          - type: number
                          - type: 'null'
                      metricDelta:
                        anyOf:
                          - type: number
                          - type: 'null'
                      metricUnit:
                        anyOf:
                          - type: string
                            maxLength: 100
                          - type: 'null'
                      periodStart:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      periodEnd:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      changePointDate:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      occurrenceCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      lastDetectedAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      severity:
                        anyOf:
                          - type: string
                            maxLength: 100
                          - type: 'null'
                      evidence:
                        anyOf:
                          - type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  maxLength: 500
                                sourceType:
                                  anyOf:
                                    - type: string
                                      enum:
                                        - EMAIL
                                        - CALL
                                        - CALENDAR_EVENT
                                        - SUPPORT_TICKET
                                        - OPPORTUNITY
                                        - SLACK
                                        - PERSON_PROFILE
                                    - type: 'null'
                                sourceId:
                                  anyOf:
                                    - type: string
                                      maxLength: 500
                                    - type: 'null'
                                excerpt:
                                  anyOf:
                                    - type: string
                                      maxLength: 20000
                                    - type: 'null'
                                metadata:
                                  anyOf:
                                    - type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties: {}
                                    - type: 'null'
                              required:
                                - id
                                - sourceType
                                - sourceId
                                - excerpt
                                - metadata
                              additionalProperties: false
                          - type: 'null'
                    required:
                      - id
                      - assertion
                      - reasoning
                      - factType
                      - factCategory
                      - status
                      - confidence
                      - priority
                      - occurredAt
                      - detectedAt
                      - validFrom
                      - validUntil
                      - evidenceCount
                      - metricName
                      - metricValue
                      - metricPreviousValue
                      - metricDelta
                      - metricUnit
                      - periodStart
                      - periodEnd
                      - changePointDate
                      - occurrenceCount
                      - lastDetectedAt
                      - severity
                    additionalProperties: false
                required:
                  - kind
                  - score
                  - matchCount
                  - matches
                  - fact
                additionalProperties: false
              - type: object
                properties:
                  kind:
                    type: string
                    const: source
                  score:
                    type: number
                  sourceType:
                    type: string
                    enum:
                      - EMAIL
                      - CALL
                      - CALENDAR_EVENT
                      - SUPPORT_TICKET
                      - OPPORTUNITY
                      - SLACK
                      - PERSON_PROFILE
                  sourceId:
                    type: string
                  occurredAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  title:
                    anyOf:
                      - type: string
                      - type: 'null'
                  permalink:
                    anyOf:
                      - type: string
                      - type: 'null'
                  matchCount:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  matches:
                    maxItems: 2
                    type: array
                    items:
                      type: object
                      properties:
                        text:
                          type: string
                        occurredAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      required:
                        - text
                      additionalProperties: false
                  context:
                    type: object
                    properties:
                      text:
                        type: string
                      sourceRef:
                        type: object
                        properties:
                          sourceType:
                            type: string
                            const: SLACK
                          sourceId:
                            type: string
                        required:
                          - sourceType
                          - sourceId
                        additionalProperties: false
                    required:
                      - text
                      - sourceRef
                    additionalProperties: false
                required:
                  - kind
                  - score
                  - sourceType
                  - sourceId
                  - occurredAt
                  - title
                  - permalink
                  - matchCount
                  - matches
                additionalProperties: false
      required:
        - customer
        - results
      additionalProperties: false
    ToolOutput_outlit_query:
      type: object
      properties:
        success:
          type: boolean
          const: true
        data:
          type: array
          items:
            type: object
            propertyNames:
              type: string
            additionalProperties: {}
        metadata:
          type: object
          properties:
            rowsReturned:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            executionTimeMs:
              type: number
              minimum: 0
            truncated:
              type: boolean
          required:
            - rowsReturned
            - executionTimeMs
            - truncated
          additionalProperties: false
      required:
        - success
        - data
        - metadata
      additionalProperties: false
    ToolOutput_outlit_schema:
      anyOf:
        - type: object
          properties:
            name:
              type: string
              enum:
                - activity
                - customers
                - users
                - revenue
            description:
              type: string
            columns:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  description:
                    type: string
                required:
                  - name
                  - type
                  - description
                additionalProperties: false
            exampleQueries:
              type: array
              items:
                type: string
          required:
            - name
            - description
            - columns
            - exampleQueries
          additionalProperties: false
        - type: object
          properties:
            views:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    enum:
                      - activity
                      - customers
                      - users
                      - revenue
                  description:
                    type: string
                  columns:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        type:
                          type: string
                        description:
                          type: string
                      required:
                        - name
                        - type
                        - description
                      additionalProperties: false
                  exampleQueries:
                    type: array
                    items:
                      type: string
                required:
                  - name
                  - description
                  - columns
                  - exampleQueries
                additionalProperties: false
            tables:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    enum:
                      - activity
                      - customers
                      - users
                      - revenue
                  description:
                    type: string
                  columns:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        type:
                          type: string
                        description:
                          type: string
                      required:
                        - name
                        - type
                        - description
                      additionalProperties: false
                  exampleQueries:
                    type: array
                    items:
                      type: string
                required:
                  - name
                  - description
                  - columns
                  - exampleQueries
                additionalProperties: false
          required:
            - views
            - tables
          additionalProperties: false
    ToolOutput_outlit_list_destinations:
      type: object
      properties:
        destinations:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  name:
                    type: string
                    minLength: 1
                  description:
                    anyOf:
                      - type: string
                      - type: 'null'
                  enabled:
                    type: boolean
                  syncStatus:
                    type: string
                    enum:
                      - PENDING_PROVIDER_SYNC
                      - SYNCED
                      - PROVIDER_ERROR
                      - DISABLED_BY_PROVIDER
                  lastSyncedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  isDefault:
                    type: boolean
                  archivedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  updatedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  provider:
                    type: string
                    const: SLACK
                  kind:
                    type: string
                    const: SLACK_CHANNEL
                  maskedConfig:
                    anyOf:
                      - type: object
                        properties:
                          channelId:
                            type: string
                          label:
                            type: string
                        required:
                          - channelId
                        additionalProperties: false
                      - type: 'null'
                required:
                  - id
                  - name
                  - description
                  - enabled
                  - syncStatus
                  - lastSyncedAt
                  - isDefault
                  - archivedAt
                  - createdAt
                  - updatedAt
                  - provider
                  - kind
                  - maskedConfig
                additionalProperties: false
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  name:
                    type: string
                    minLength: 1
                  description:
                    anyOf:
                      - type: string
                      - type: 'null'
                  enabled:
                    type: boolean
                  syncStatus:
                    type: string
                    enum:
                      - PENDING_PROVIDER_SYNC
                      - SYNCED
                      - PROVIDER_ERROR
                      - DISABLED_BY_PROVIDER
                  lastSyncedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  isDefault:
                    type: boolean
                  archivedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  updatedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  provider:
                    type: string
                    enum:
                      - OUTPOST
                      - WEBHOOK
                  kind:
                    type: string
                    const: WEBHOOK_ENDPOINT
                  maskedConfig:
                    type: 'null'
                required:
                  - id
                  - name
                  - description
                  - enabled
                  - syncStatus
                  - lastSyncedAt
                  - isDefault
                  - archivedAt
                  - createdAt
                  - updatedAt
                  - provider
                  - kind
                  - maskedConfig
                additionalProperties: false
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  name:
                    type: string
                    minLength: 1
                  description:
                    anyOf:
                      - type: string
                      - type: 'null'
                  enabled:
                    type: boolean
                  syncStatus:
                    type: string
                    enum:
                      - PENDING_PROVIDER_SYNC
                      - SYNCED
                      - PROVIDER_ERROR
                      - DISABLED_BY_PROVIDER
                  lastSyncedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  isDefault:
                    type: boolean
                  archivedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  updatedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  provider:
                    type: string
                    const: EMAIL
                  kind:
                    type: string
                    const: EMAIL_RECIPIENTS
                  maskedConfig:
                    anyOf:
                      - type: object
                        properties:
                          recipientMode:
                            type: string
                            enum:
                              - org_admins
                              - explicit
                          recipientCount:
                            type: integer
                            minimum: 0
                            maximum: 50
                        required:
                          - recipientMode
                          - recipientCount
                        additionalProperties: false
                      - type: 'null'
                required:
                  - id
                  - name
                  - description
                  - enabled
                  - syncStatus
                  - lastSyncedAt
                  - isDefault
                  - archivedAt
                  - createdAt
                  - updatedAt
                  - provider
                  - kind
                  - maskedConfig
                additionalProperties: false
      required:
        - destinations
      additionalProperties: false
    ToolOutput_outlit_get_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_create_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_update_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_enable_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_disable_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_archive_destination:
      type: object
      properties:
        destination:
          type: object
          properties:
            id:
              type: string
              format: uuid
              pattern: >-
                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
            archivedAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          required:
            - id
            - archivedAt
          additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_get_integration_capabilities:
      type: object
      properties:
        providers:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
                minLength: 1
                maxLength: 80
              name:
                type: string
                minLength: 1
                maxLength: 120
              category:
                type: string
                enum:
                  - crm
                  - communication
                  - storage
                  - calls
                  - calendar
                  - analytics
                  - billing
                  - support
              authType:
                type: string
                enum:
                  - oauth
                  - api_key
                  - basic_auth
              setupMode:
                type: string
                enum:
                  - browser_handoff
                  - human_controlled
              browserHandoffAvailable:
                type: boolean
            required:
              - provider
              - name
              - category
              - authType
              - setupMode
              - browserHandoffAvailable
            additionalProperties: false
        preferredSetupVersion:
          type: number
          const: 1
      required:
        - providers
      additionalProperties: false
    ToolOutput_outlit_begin_integration_setup:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 80
        state:
          type: string
          enum:
            - handoff_ready
            - already_connected
        sessionId:
          anyOf:
            - type: string
              format: uuid
              pattern: >-
                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
            - type: 'null'
        connectUrl:
          anyOf:
            - type: string
              format: uri
            - type: 'null'
        expiresAt:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
      required:
        - provider
        - state
        - sessionId
        - connectUrl
        - expiresAt
      additionalProperties: false
    ToolOutput_outlit_get_integration_setup_status:
      type: object
      properties:
        provider:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 80
            - type: 'null'
        status:
          type: string
          enum:
            - expired
            - pending
            - connected
            - failed
      required:
        - provider
        - status
      additionalProperties: false
    ToolOutput_outlit_get_integration_status:
      type: object
      properties:
        integrations:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
                minLength: 1
                maxLength: 80
              name:
                type: string
                minLength: 1
                maxLength: 120
              category:
                type: string
                enum:
                  - crm
                  - communication
                  - storage
                  - calls
                  - calendar
                  - analytics
                  - billing
                  - support
              status:
                type: string
                enum:
                  - not_connected
                  - awaiting_auth
                  - setup_required
                  - ready
                  - requires_intervention
            required:
              - provider
              - name
              - category
              - status
            additionalProperties: false
      required:
        - integrations
      additionalProperties: false
    ToolOutput_outlit_setup_integration:
      type: object
      properties:
        provider:
          type: string
          enum:
            - salesforce
            - hubspot
            - attio
            - slack
            - google-calendar
            - google-mail
            - granola
            - gong
            - fireflies
            - pylon
            - stripe
            - mixpanel
            - posthog
            - supabase
            - clerk
        name:
          type: string
          minLength: 1
          maxLength: 120
        category:
          type: string
          enum:
            - crm
            - communication
            - storage
            - calls
            - calendar
            - analytics
            - billing
            - support
        status:
          type: string
          enum:
            - not_connected
            - awaiting_auth
            - setup_required
            - ready
            - requires_intervention
        next:
          anyOf:
            - anyOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      const: browser_handoff
                    purpose:
                      type: string
                      enum:
                        - authentication
                        - recovery
                        - external_setup
                    url:
                      type: string
                      format: uri
                    sessionId:
                      anyOf:
                        - type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        - type: 'null'
                    expiresAt:
                      anyOf:
                        - type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        - type: 'null'
                  required:
                    - kind
                    - purpose
                    - url
                    - sessionId
                    - expiresAt
                  additionalProperties: false
                - type: object
                  properties:
                    kind:
                      type: string
                      const: crm_mapping
                    recommendation:
                      minItems: 1
                      type: array
                      items:
                        type: object
                        properties:
                          pipelineId:
                            type: string
                            minLength: 1
                          pipelineName:
                            type: string
                          mappings:
                            type: array
                            items:
                              type: object
                              properties:
                                outlitStage:
                                  type: string
                                  enum:
                                    - Created
                                    - Quoting
                                    - Negotiation
                                    - Won
                                    - Lost
                                crmStages:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                        minLength: 1
                                      name:
                                        type: string
                                    required:
                                      - id
                                      - name
                                    additionalProperties: false
                              required:
                                - outlitStage
                                - crmStages
                              additionalProperties: false
                        required:
                          - pipelineId
                          - pipelineName
                          - mappings
                        additionalProperties: false
                  required:
                    - kind
                    - recommendation
                  additionalProperties: false
                - type: object
                  properties:
                    kind:
                      type: string
                      const: mixpanel_mapping
                    preview:
                      type: object
                      properties:
                        sampleSize:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        sampleWindowStartAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        sampleWindowEndAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        accountKeyCoveragePct:
                          type: number
                          minimum: 0
                          maximum: 100
                        emailOrDomainCoveragePct:
                          type: number
                          minimum: 0
                          maximum: 100
                        unmappedPct:
                          type: number
                          minimum: 0
                          maximum: 100
                        matchedCustomerCount:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        opaqueOnlyUnmappedCount:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        candidateAccountKeys:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                              count:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              coveragePct:
                                type: number
                                minimum: 0
                                maximum: 100
                            required:
                              - key
                              - count
                              - coveragePct
                            additionalProperties: false
                        unmappedReasons:
                          type: array
                          items:
                            type: object
                            properties:
                              reason:
                                type: string
                                enum:
                                  - missing_account_key
                                  - missing_email_or_domain
                                  - no_matching_customer
                              count:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                            required:
                              - reason
                              - count
                            additionalProperties: false
                        warnings:
                          type: array
                          items:
                            type: string
                      required:
                        - sampleSize
                        - sampleWindowStartAt
                        - sampleWindowEndAt
                        - accountKeyCoveragePct
                        - emailOrDomainCoveragePct
                        - unmappedPct
                        - matchedCustomerCount
                        - opaqueOnlyUnmappedCount
                        - candidateAccountKeys
                        - unmappedReasons
                        - warnings
                      additionalProperties: false
                  required:
                    - kind
                    - preview
                  additionalProperties: false
            - type: 'null'
        error:
          anyOf:
            - type: object
              properties:
                code:
                  type: string
                  enum:
                    - OWNER_REQUIRED
                    - CONNECTION_CONFLICT
                    - CREDENTIAL_REQUIRED
                    - CREDENTIAL_REJECTED
                    - LEGACY_CONNECTION_REQUIRED
                    - HANDOFF_UNAVAILABLE
                    - TRANSIENT_FAILURE
                message:
                  type: string
                retryable:
                  type: boolean
              required:
                - code
                - message
                - retryable
              additionalProperties: false
            - type: 'null'
      required:
        - provider
        - name
        - category
        - status
        - next
        - error
      additionalProperties: false
    ToolOutput_outlit_get_customer_activation:
      type: object
      properties:
        activation:
          type: object
          properties:
            eventName:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 191
                - type: 'null'
          required:
            - eventName
          additionalProperties: false
      required:
        - activation
      additionalProperties: false
    ToolOutput_outlit_preview_customer_activation:
      type: object
      properties:
        preview:
          type: object
          properties:
            eventName:
              type: string
              minLength: 1
              maxLength: 191
            evaluatedFrom:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            evaluatedTo:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            evaluatedEventCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            matchedCustomerCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            alreadyActivatedCustomerCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            wouldActivateCustomerCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            evaluatedContactOccurrenceCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            matchedContactCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            alreadyActivatedContactCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            wouldActivateContactCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            contactTruncated:
              type: boolean
            customerTruncated:
              type: boolean
            truncated:
              type: boolean
            examples:
              type: array
              items:
                type: object
                properties:
                  customer:
                    type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                      name:
                        type: string
                        minLength: 1
                      domain:
                        type: string
                        minLength: 1
                    required:
                      - id
                      - name
                      - domain
                    additionalProperties: false
                  activatedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  firstMatchedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  eventId:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                required:
                  - customer
                  - activatedAt
                  - firstMatchedAt
                  - eventId
                additionalProperties: false
          required:
            - eventName
            - evaluatedFrom
            - evaluatedTo
            - evaluatedEventCount
            - matchedCustomerCount
            - alreadyActivatedCustomerCount
            - wouldActivateCustomerCount
            - evaluatedContactOccurrenceCount
            - matchedContactCount
            - alreadyActivatedContactCount
            - wouldActivateContactCount
            - contactTruncated
            - customerTruncated
            - truncated
            - examples
          additionalProperties: false
      required:
        - preview
      additionalProperties: false
    ToolOutput_outlit_update_customer_activation:
      type: object
      properties:
        activation:
          type: object
          properties:
            eventName:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 191
                - type: 'null'
          required:
            - eventName
          additionalProperties: false
        changed:
          type: boolean
      required:
        - activation
        - changed
      additionalProperties: false
    ToolOutput_outlit_get_workspace_settings:
      type: object
      properties:
        settings:
          type: object
          properties:
            defaultTimezone:
              type: string
              minLength: 1
          required:
            - defaultTimezone
          additionalProperties: false
      required:
        - settings
      additionalProperties: false
    ToolOutput_outlit_update_workspace_settings:
      type: object
      properties:
        settings:
          type: object
          properties:
            defaultTimezone:
              type: string
              minLength: 1
          required:
            - defaultTimezone
          additionalProperties: false
      required:
        - settings
      additionalProperties: false
    ToolOutput_outlit_list_features:
      type: object
      properties:
        sources:
          type: array
          items:
            type: object
            properties:
              sourceKey:
                type: string
                pattern: ^metric_source_v1_[a-f0-9]{32}$
              provider:
                type: string
                enum:
                  - outlit_sdk
                  - posthog
                  - mixpanel
              label:
                type: string
                minLength: 1
                maxLength: 255
              readiness:
                type: string
                enum:
                  - READY
                  - WARMING
                  - BLOCKED
            required:
              - sourceKey
              - provider
              - label
              - readiness
            additionalProperties: false
        selectedSourceKey:
          anyOf:
            - type: string
              pattern: ^metric_source_v1_[a-f0-9]{32}$
            - type: 'null'
        workspaceActiveFeatureCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        features:
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                pattern: ^value_feature_v1_[a-f0-9]{32}$
              revision:
                type: string
                pattern: ^value_feature_revision_v1_[a-f0-9]{32}$
              sourceKey:
                type: string
                pattern: ^metric_source_v1_[a-f0-9]{32}$
              featureKey:
                type: string
                maxLength: 64
                pattern: ^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$
              name:
                type: string
                minLength: 1
                maxLength: 255
              rule:
                type: object
                properties:
                  eventName:
                    type: string
                    minLength: 1
                    maxLength: 191
                  propertyFilters:
                    maxItems: 5
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            property:
                              type: string
                              minLength: 1
                              maxLength: 191
                            operator:
                              type: string
                              const: equals
                            value:
                              oneOf:
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: string
                                    value:
                                      type: string
                                      maxLength: 191
                                  required:
                                    - type
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: number
                                    value:
                                      type: number
                                      minimum: -9007199254740991
                                      maximum: 9007199254740991
                                  required:
                                    - type
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: boolean
                                    value:
                                      type: boolean
                                  required:
                                    - type
                                    - value
                                  additionalProperties: false
                          required:
                            - property
                            - operator
                            - value
                          additionalProperties: false
                        - type: object
                          properties:
                            property:
                              type: string
                              minLength: 1
                              maxLength: 191
                            operator:
                              type: string
                              const: exists
                          required:
                            - property
                            - operator
                          additionalProperties: false
                required:
                  - eventName
                  - propertyFilters
                additionalProperties: false
              evidence:
                oneOf:
                  - type: object
                    properties:
                      window:
                        type: object
                        properties:
                          startAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          endAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        required:
                          - startAt
                          - endAt
                        additionalProperties: false
                      coverage:
                        type: string
                        enum:
                          - complete
                          - partial
                      eventCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      activeDays:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      activeWeeks:
                        type: integer
                        minimum: 0
                        maximum: 53
                      firstObservedAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          - type: 'null'
                      lastObservedAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          - type: 'null'
                      distinctCustomers:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                    required:
                      - window
                      - coverage
                      - eventCount
                      - activeDays
                      - activeWeeks
                      - firstObservedAt
                      - lastObservedAt
                      - distinctCustomers
                    additionalProperties: false
                  - type: object
                    properties:
                      window:
                        type: object
                        properties:
                          startAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          endAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        required:
                          - startAt
                          - endAt
                        additionalProperties: false
                      coverage:
                        type: string
                        const: unavailable
                      reason:
                        type: string
                        enum:
                          - SOURCE_BLOCKED
                          - SOURCE_NOT_READY
                          - QUERY_FAILED
                    required:
                      - window
                      - coverage
                      - reason
                    additionalProperties: false
            required:
              - id
              - revision
              - sourceKey
              - featureKey
              - name
              - rule
              - evidence
            additionalProperties: false
        candidates:
          oneOf:
            - type: object
              properties:
                status:
                  type: string
                  const: ready
                items:
                  maxItems: 100
                  type: array
                  items:
                    type: object
                    properties:
                      eventName:
                        type: string
                        minLength: 1
                        maxLength: 191
                      eventCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      distinctCustomers:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      activeWeeks:
                        type: integer
                        minimum: 1
                        maximum: 53
                      propertyKeys:
                        maxItems: 10
                        type: array
                        items:
                          type: string
                          minLength: 1
                          maxLength: 191
                    required:
                      - eventName
                      - eventCount
                      - distinctCustomers
                      - activeWeeks
                      - propertyKeys
                    additionalProperties: false
                truncated:
                  type: boolean
              required:
                - status
                - items
                - truncated
              additionalProperties: false
            - type: object
              properties:
                status:
                  type: string
                  const: partial
                items:
                  maxItems: 100
                  type: array
                  items:
                    type: object
                    properties:
                      eventName:
                        type: string
                        minLength: 1
                        maxLength: 191
                      eventCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      distinctCustomers:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      activeWeeks:
                        type: integer
                        minimum: 1
                        maximum: 53
                      propertyKeys:
                        maxItems: 10
                        type: array
                        items:
                          type: string
                          minLength: 1
                          maxLength: 191
                    required:
                      - eventName
                      - eventCount
                      - distinctCustomers
                      - activeWeeks
                      - propertyKeys
                    additionalProperties: false
                truncated:
                  type: boolean
              required:
                - status
                - items
                - truncated
              additionalProperties: false
            - type: object
              properties:
                status:
                  type: string
                  const: unavailable
                reason:
                  type: string
                  enum:
                    - SOURCE_BLOCKED
                    - SOURCE_NOT_READY
                    - QUERY_FAILED
              required:
                - status
                - reason
              additionalProperties: false
      required:
        - sources
        - selectedSourceKey
        - workspaceActiveFeatureCount
        - features
        - candidates
      additionalProperties: false
    ToolOutput_outlit_create_feature:
      type: object
      properties:
        created:
          type: boolean
        feature:
          type: object
          properties:
            id:
              type: string
              pattern: ^value_feature_v1_[a-f0-9]{32}$
            revision:
              type: string
              pattern: ^value_feature_revision_v1_[a-f0-9]{32}$
            sourceKey:
              type: string
              pattern: ^metric_source_v1_[a-f0-9]{32}$
            featureKey:
              type: string
              maxLength: 64
              pattern: ^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$
            name:
              type: string
              minLength: 1
              maxLength: 255
            rule:
              type: object
              properties:
                eventName:
                  type: string
                  minLength: 1
                  maxLength: 191
                propertyFilters:
                  maxItems: 5
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          property:
                            type: string
                            minLength: 1
                            maxLength: 191
                          operator:
                            type: string
                            const: equals
                          value:
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: string
                                  value:
                                    type: string
                                    maxLength: 191
                                required:
                                  - type
                                  - value
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: number
                                  value:
                                    type: number
                                    minimum: -9007199254740991
                                    maximum: 9007199254740991
                                required:
                                  - type
                                  - value
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    const: boolean
                                  value:
                                    type: boolean
                                required:
                                  - type
                                  - value
                                additionalProperties: false
                        required:
                          - property
                          - operator
                          - value
                        additionalProperties: false
                      - type: object
                        properties:
                          property:
                            type: string
                            minLength: 1
                            maxLength: 191
                          operator:
                            type: string
                            const: exists
                        required:
                          - property
                          - operator
                        additionalProperties: false
              required:
                - eventName
                - propertyFilters
              additionalProperties: false
          required:
            - id
            - revision
            - sourceKey
            - featureKey
            - name
            - rule
          additionalProperties: false
      required:
        - created
        - feature
      additionalProperties: false
    ToolOutput_outlit_archive_feature:
      type: object
      properties:
        archived:
          type: boolean
          const: true
        feature:
          type: object
          properties:
            id:
              type: string
              pattern: ^value_feature_v1_[a-f0-9]{32}$
            revision:
              type: string
              pattern: ^value_feature_revision_v1_[a-f0-9]{32}$
          required:
            - id
            - revision
          additionalProperties: false
      required:
        - archived
        - feature
      additionalProperties: false
    ToolOutput_outlit_get_customer_features:
      type: object
      properties:
        customer:
          type: object
          properties:
            id:
              type: string
              minLength: 1
              maxLength: 191
            name:
              type: string
              minLength: 1
              maxLength: 255
          required:
            - id
            - name
          additionalProperties: false
        features:
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                pattern: ^value_feature_v1_[a-f0-9]{32}$
              revision:
                type: string
                pattern: ^value_feature_revision_v1_[a-f0-9]{32}$
              sourceKey:
                type: string
                pattern: ^metric_source_v1_[a-f0-9]{32}$
              featureKey:
                type: string
                maxLength: 64
                pattern: ^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$
              name:
                type: string
                minLength: 1
                maxLength: 255
              rule:
                type: object
                properties:
                  eventName:
                    type: string
                    minLength: 1
                    maxLength: 191
                  propertyFilters:
                    maxItems: 5
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            property:
                              type: string
                              minLength: 1
                              maxLength: 191
                            operator:
                              type: string
                              const: equals
                            value:
                              oneOf:
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: string
                                    value:
                                      type: string
                                      maxLength: 191
                                  required:
                                    - type
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: number
                                    value:
                                      type: number
                                      minimum: -9007199254740991
                                      maximum: 9007199254740991
                                  required:
                                    - type
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    type:
                                      type: string
                                      const: boolean
                                    value:
                                      type: boolean
                                  required:
                                    - type
                                    - value
                                  additionalProperties: false
                          required:
                            - property
                            - operator
                            - value
                          additionalProperties: false
                        - type: object
                          properties:
                            property:
                              type: string
                              minLength: 1
                              maxLength: 191
                            operator:
                              type: string
                              const: exists
                          required:
                            - property
                            - operator
                          additionalProperties: false
                required:
                  - eventName
                  - propertyFilters
                additionalProperties: false
              evidence:
                oneOf:
                  - type: object
                    properties:
                      window:
                        type: object
                        properties:
                          startAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          endAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        required:
                          - startAt
                          - endAt
                        additionalProperties: false
                      coverage:
                        type: string
                        enum:
                          - complete
                          - partial
                      eventCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      activeDays:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      activeWeeks:
                        type: integer
                        minimum: 0
                        maximum: 53
                      firstObservedAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          - type: 'null'
                      lastObservedAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          - type: 'null'
                      weeklyUsage:
                        maxItems: 53
                        type: array
                        items:
                          oneOf:
                            - type: object
                              properties:
                                weekStartAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                coverage:
                                  type: string
                                  enum:
                                    - complete
                                    - partial
                                eventCount:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                activeDays:
                                  type: integer
                                  minimum: 0
                                  maximum: 7
                              required:
                                - weekStartAt
                                - coverage
                                - eventCount
                                - activeDays
                              additionalProperties: false
                            - type: object
                              properties:
                                weekStartAt:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                coverage:
                                  type: string
                                  const: unavailable
                              required:
                                - weekStartAt
                                - coverage
                              additionalProperties: false
                    required:
                      - window
                      - coverage
                      - eventCount
                      - activeDays
                      - activeWeeks
                      - firstObservedAt
                      - lastObservedAt
                    additionalProperties: false
                  - type: object
                    properties:
                      window:
                        type: object
                        properties:
                          startAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          endAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                        required:
                          - startAt
                          - endAt
                        additionalProperties: false
                      coverage:
                        type: string
                        const: unavailable
                      reason:
                        type: string
                        enum:
                          - SOURCE_BLOCKED
                          - SOURCE_NOT_READY
                          - QUERY_FAILED
                    required:
                      - window
                      - coverage
                      - reason
                    additionalProperties: false
            required:
              - id
              - revision
              - sourceKey
              - featureKey
              - name
              - rule
              - evidence
            additionalProperties: false
      required:
        - customer
        - features
      additionalProperties: false
    ToolOutput_outlit_list_attention_items:
      type: object
      properties:
        items:
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                minLength: 1
                maxLength: 500
              customer:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    maxLength: 500
                  name:
                    type: string
                    minLength: 1
                    maxLength: 500
                  domain:
                    type: string
                    maxLength: 253
                  ownerName:
                    anyOf:
                      - type: string
                        minLength: 1
                        maxLength: 500
                      - type: 'null'
                required:
                  - id
                  - name
                  - domain
                  - ownerName
                additionalProperties: false
              title:
                type: string
                minLength: 1
                maxLength: 240
              priority:
                type: string
                enum:
                  - NORMAL
                  - HIGH
                  - URGENT
              evidenceCount:
                type: integer
                minimum: 0
                maximum: 50
              lifecycle:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - open
                      - resolved
                  customerVisibleAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  resolvedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  reopenedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  updatedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  materialUpdateAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                required:
                  - status
                  - customerVisibleAt
                  - resolvedAt
                  - reopenedAt
                  - createdAt
                  - updatedAt
                  - materialUpdateAt
                additionalProperties: false
              accountImportance:
                type: object
                properties:
                  arrCents:
                    anyOf:
                      - type: number
                        minimum: 0
                      - type: 'null'
                  currency:
                    anyOf:
                      - type: string
                        pattern: ^[A-Z]{3}$
                      - type: 'null'
                  arrShareWithinCurrency:
                    anyOf:
                      - type: number
                        minimum: 0
                        maximum: 1
                      - type: 'null'
                    description: >-
                      Organization ARR share among customers using the same
                      currency
                  arrPercentileWithinCurrency:
                    anyOf:
                      - type: number
                        minimum: 0
                        maximum: 100
                      - type: 'null'
                    description: ARR percentile among customers using the same currency
                  segments:
                    maxItems: 50
                    type: array
                    items:
                      type: string
                      minLength: 1
                      maxLength: 240
                required:
                  - arrCents
                  - currency
                  - arrShareWithinCurrency
                  - arrPercentileWithinCurrency
                  - segments
                additionalProperties: false
              preparedActionUrl:
                anyOf:
                  - type: string
                    maxLength: 2000
                    format: uri
                  - type: 'null'
            required:
              - id
              - customer
              - title
              - priority
              - evidenceCount
              - lifecycle
              - accountImportance
              - preparedActionUrl
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 2000
                - type: 'null'
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - hasMore
            - nextCursor
            - total
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_get_attention_item:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 500
        customer:
          type: object
          properties:
            id:
              type: string
              minLength: 1
              maxLength: 500
            name:
              type: string
              minLength: 1
              maxLength: 500
            domain:
              type: string
              maxLength: 253
            ownerName:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 500
                - type: 'null'
          required:
            - id
            - name
            - domain
            - ownerName
          additionalProperties: false
        title:
          type: string
          minLength: 1
          maxLength: 240
        priority:
          type: string
          enum:
            - NORMAL
            - HIGH
            - URGENT
        evidenceCount:
          type: integer
          minimum: 0
          maximum: 50
        lifecycle:
          type: object
          properties:
            status:
              type: string
              enum:
                - open
                - resolved
            customerVisibleAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            resolvedAt:
              anyOf:
                - type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                - type: 'null'
            reopenedAt:
              anyOf:
                - type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                - type: 'null'
            createdAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            updatedAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            materialUpdateAt:
              anyOf:
                - type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                - type: 'null'
          required:
            - status
            - customerVisibleAt
            - resolvedAt
            - reopenedAt
            - createdAt
            - updatedAt
            - materialUpdateAt
          additionalProperties: false
        accountImportance:
          type: object
          properties:
            arrCents:
              anyOf:
                - type: number
                  minimum: 0
                - type: 'null'
            currency:
              anyOf:
                - type: string
                  pattern: ^[A-Z]{3}$
                - type: 'null'
            arrShareWithinCurrency:
              anyOf:
                - type: number
                  minimum: 0
                  maximum: 1
                - type: 'null'
              description: Organization ARR share among customers using the same currency
            arrPercentileWithinCurrency:
              anyOf:
                - type: number
                  minimum: 0
                  maximum: 100
                - type: 'null'
              description: ARR percentile among customers using the same currency
            segments:
              maxItems: 50
              type: array
              items:
                type: string
                minLength: 1
                maxLength: 240
          required:
            - arrCents
            - currency
            - arrShareWithinCurrency
            - arrPercentileWithinCurrency
            - segments
          additionalProperties: false
        preparedActionUrl:
          anyOf:
            - type: string
              maxLength: 2000
              format: uri
            - type: 'null'
        whatChanged:
          type: string
          minLength: 1
          maxLength: 8000
        whyItMatters:
          type: string
          minLength: 1
          maxLength: 8000
        uncertainty:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 8000
            - type: 'null'
        priorityReason:
          type: string
          minLength: 1
          maxLength: 8000
        timeline:
          maxItems: 20
          type: array
          items:
            type: object
            properties:
              title:
                type: string
                minLength: 1
                maxLength: 240
              explanation:
                type: string
                minLength: 1
                maxLength: 4000
              observedAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            required:
              - title
              - explanation
              - observedAt
            additionalProperties: false
        evidence:
          maxItems: 20
          type: array
          items:
            type: object
            properties:
              role:
                type: string
                enum:
                  - supporting
                  - contradictory
                  - context
              kind:
                type: string
                enum:
                  - metric
                  - communication
                  - record
                  - event
              title:
                type: string
                minLength: 1
                maxLength: 500
              observedAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              window:
                anyOf:
                  - type: object
                    properties:
                      start:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      end:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    required:
                      - start
                      - end
                    additionalProperties: false
                  - type: 'null'
              sourceLabel:
                type: string
                minLength: 1
                maxLength: 240
            required:
              - role
              - kind
              - title
              - observedAt
              - window
              - sourceLabel
            additionalProperties: false
        latestUpdate:
          anyOf:
            - type: object
              properties:
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                summary:
                  type: string
                  minLength: 1
                  maxLength: 8000
              required:
                - updatedAt
                - summary
              additionalProperties: false
            - type: 'null'
      required:
        - id
        - customer
        - title
        - priority
        - evidenceCount
        - lifecycle
        - accountImportance
        - preparedActionUrl
        - whatChanged
        - whyItMatters
        - uncertainty
        - priorityReason
        - timeline
        - evidence
        - latestUpdate
      additionalProperties: false
    GatewayError:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_JSON
            - INVALID_TOOL_CALL
            - INVALID_TOOL_INPUT
            - INVALID_CREDENTIALS
            - TOOL_CALL_FORBIDDEN
            - TOOL_BINDING_MISSING
            - TOOL_IMPLEMENTATION_ERROR
            - TOOL_OUTPUT_INVALID
            - TOOL_RESULT_TOO_LARGE
            - TOOL_GATEWAY_ERROR
            - plan_api_limit_exceeded
            - plan_billing_action_required
        message:
          type: string
        retryable:
          type: boolean
        requestId:
          type: string
        plan:
          type: string
        feature:
          type: string
        resetAt:
          anyOf:
            - type: number
            - type: 'null'
        limitBytes:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        actualBytes:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
      required:
        - code
        - message
        - retryable
        - requestId
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Outlit API key (ok_...).

````