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

# Get Check Record Fix



## OpenAPI

````yaml api-reference/speakeasy/textql-api-with-code-samples.yaml POST /textql.rpc.public.observe.ObservabilityService/GetCheckRecordFix
openapi: 3.1.0
info:
  title: TextQL API
  version: 1.0.0
  description: |
    TextQL public API. Generated from protobuf service definitions; internal
    endpoints are excluded via google.api.visibility / file_visibility.
servers:
  - url: https://app.textql.com
security:
  - apiKey: []
tags:
  - name: DashboardService
  - name: AppService
    description: |-
      AppService manages data apps: the generative app execution primitive.
       An app is agent-authored single-file HTML/JS/CSS executing in a CSP sandbox,
       fed a snapshot of its declared data sources. First-class resource, not a dashboard.
  - name: ConnectorService
  - name: PowerBIService
  - name: TableauService
  - name: DatasetService
  - name: OntologyManagementService
  - name: ChatService
  - name: AgentService
  - name: AuditLogService
  - name: MCPService
  - name: MetricsExportService
  - name: ObservabilityService
  - name: PlaybookService
  - name: RBACService
    description: RBAC service for managing roles, permissions, and access control
  - name: SandboxAdminService
  - name: SandboxQueryService
  - name: SandboxCapabilityService
  - name: ScimService
  - name: SecretService
  - name: SlackService
  - name: TeamsService
paths:
  /textql.rpc.public.observe.ObservabilityService/GetCheckRecordFix:
    post:
      tags:
        - ObservabilityService
      summary: GetCheckRecordFix
      operationId: ObservabilityService_GetCheckRecordFix
      parameters:
        - name: Connect-Protocol-Version
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/connect-protocol-version'
        - name: Connect-Timeout-Ms
          in: header
          schema:
            $ref: '#/components/schemas/connect-timeout-header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/textql.rpc.public.observe.GetCheckRecordFixRequest
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/textql.rpc.public.observe.GetCheckRecordFixResponse
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            import os
            from textql_sdk import Textql


            with Textql(
                api_key=os.getenv("TEXTQL_API_KEY", ""),
            ) as textql:

                res = textql.observability.get_check_record_fix()

                # Handle response
                print(res)
        - lang: typescript
          label: TypeScript (SDK)
          source: |-
            import { Textql } from "@textql/sdk";

            const textql = new Textql({
              apiKey: process.env["TEXTQL_API_KEY"] ?? "",
            });

            async function run() {
              const result = await textql.observability.getCheckRecordFix({
                body: {},
              });

              console.log(result);
            }

            run();
components:
  schemas:
    connect-protocol-version:
      type: number
      title: Connect-Protocol-Version
      enum:
        - 1
      description: Define the version of the Connect protocol
      const: 1
      default: 1
    connect-timeout-header:
      type: number
      title: Connect-Timeout-Ms
      description: Define the timeout, in ms
    textql.rpc.public.observe.GetCheckRecordFixRequest:
      type: object
      properties:
        recordId:
          type: string
          title: record_id
      title: GetCheckRecordFixRequest
      additionalProperties: false
    textql.rpc.public.observe.GetCheckRecordFixResponse:
      type: object
      properties:
        fixChatId:
          type: string
          title: fix_chat_id
          nullable: true
        fixPatchCell:
          $ref: '#/components/schemas/textql.rpc.public.chat.Cell'
          title: fix_patch_cell
          nullable: true
        fixRunActive:
          type: boolean
          title: fix_run_active
        fixStatus:
          type: string
          title: fix_status
          nullable: true
      title: GetCheckRecordFixResponse
      additionalProperties: false
    connect.error:
      type: object
      properties:
        code:
          type: string
          examples:
            - not_found
          enum:
            - canceled
            - unknown
            - invalid_argument
            - deadline_exceeded
            - not_found
            - already_exists
            - permission_denied
            - resource_exhausted
            - failed_precondition
            - aborted
            - out_of_range
            - unimplemented
            - internal
            - unavailable
            - data_loss
            - unauthenticated
          description: >-
            The status code, which should be an enum value of
            [google.rpc.Code][google.rpc.Code].
        message:
          type: string
          description: >-
            A developer-facing error message, which should be in English. Any
            user-facing error message should be localized and sent in the
            [google.rpc.Status.details][google.rpc.Status.details] field, or
            localized by the client.
        details:
          type: array
          items:
            $ref: '#/components/schemas/connect.error_details.Any'
          description: >-
            A list of messages that carry the error details. There is no limit
            on the number of messages.
      title: Connect Error
      additionalProperties: true
      description: >-
        Error type returned by Connect:
        https://connectrpc.com/docs/go/errors/#http-representation
    textql.rpc.public.chat.Cell:
      type: object
      allOf:
        - type: object
          properties:
            id:
              type: string
              title: id
              description: UUID
            timestamp:
              $ref: '#/components/schemas/google.protobuf.Timestamp'
              title: timestamp
            complete:
              type: boolean
              title: complete
            generated:
              type: boolean
              title: generated
              description: whether it was created by a human or robot
            lifecycle:
              $ref: '#/components/schemas/textql.rpc.public.chat.CellLifecycle'
              title: lifecycle
            toolCallId:
              type: string
              title: tool_call_id
              nullable: true
            execError:
              type: string
              title: exec_error
              nullable: true
            senderMemberId:
              type: string
              title: sender_member_id
              nullable: true
            toolSummary:
              type: string
              title: tool_summary
              description: LLM-generated summary of what this tool call does
              nullable: true
            durationMs:
              type:
                - integer
                - string
              title: duration_ms
              format: int64
              description: cells_v5.duration_ms — wall-clock this cell took
              nullable: true
        - oneOf:
            - type: object
              properties:
                ansCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.AnswerCell'
                  title: ans_cell
              title: ans_cell
              required:
                - ansCell
            - type: object
              properties:
                appCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.AppCell'
                  title: app_cell
              title: app_cell
              required:
                - appCell
            - type: object
              properties:
                bashCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.BashCell'
                  title: bash_cell
              title: bash_cell
              required:
                - bashCell
            - type: object
              properties:
                compactionCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.CompactionCell'
                  title: compaction_cell
              title: compaction_cell
              required:
                - compactionCell
            - type: object
              properties:
                connectorsCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.ConnectorsCell'
                  title: connectors_cell
              title: connectors_cell
              required:
                - connectorsCell
            - type: object
              properties:
                contextPromptEditorCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.ContextPromptEditorCell
                  title: context_prompt_editor_cell
              title: context_prompt_editor_cell
              required:
                - contextPromptEditorCell
            - type: object
              properties:
                dashboardCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.DashboardCell'
                  title: dashboard_cell
              title: dashboard_cell
              required:
                - dashboardCell
            - type: object
              properties:
                documentCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.DocumentCell'
                  title: document_cell
              title: document_cell
              required:
                - documentCell
            - type: object
              properties:
                emailCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.EmailCell'
                  title: email_cell
              title: email_cell
              required:
                - emailCell
            - type: object
              properties:
                feedCommentCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.FeedCommentCell'
                  title: feed_comment_cell
              title: feed_comment_cell
              required:
                - feedCommentCell
            - type: object
              properties:
                feedCreateCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.FeedCreateCell'
                  title: feed_create_cell
                  description: 55 is tool_summary outside the oneof
              title: feed_create_cell
              required:
                - feedCreateCell
            - type: object
              properties:
                feedEngageCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.FeedEngageCell'
                  title: feed_engage_cell
              title: feed_engage_cell
              required:
                - feedEngageCell
            - type: object
              properties:
                feedExplorerCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.FeedExplorerCell
                  title: feed_explorer_cell
              title: feed_explorer_cell
              required:
                - feedExplorerCell
            - type: object
              properties:
                feedPostCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.FeedPostCell'
                  title: feed_post_cell
              title: feed_post_cell
              required:
                - feedPostCell
            - type: object
              properties:
                formCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.FormCell'
                  title: form_cell
              title: form_cell
              required:
                - formCell
            - type: object
              properties:
                formEditorCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.FormEditorCell'
                  title: form_editor_cell
              title: form_editor_cell
              required:
                - formEditorCell
            - type: object
              properties:
                gmailEmailContentCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.GmailEmailContentCell
                  title: gmail_email_content_cell
              title: gmail_email_content_cell
              required:
                - gmailEmailContentCell
            - type: object
              properties:
                gmailEmailSearchCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.GmailEmailSearchCell
                  title: gmail_email_search_cell
              title: gmail_email_search_cell
              required:
                - gmailEmailSearchCell
            - type: object
              properties:
                googleCalendarSearchCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.GoogleCalendarSearchCell
                  title: google_calendar_search_cell
              title: google_calendar_search_cell
              required:
                - googleCalendarSearchCell
            - type: object
              properties:
                googleDriveContentCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.GoogleDriveContentCell
                  title: google_drive_content_cell
              title: google_drive_content_cell
              required:
                - googleDriveContentCell
            - type: object
              properties:
                googleDriveSearchCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.GoogleDriveSearchCell
                  title: google_drive_search_cell
              title: google_drive_search_cell
              required:
                - googleDriveSearchCell
            - type: object
              properties:
                imageCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.ImageCell'
                  title: image_cell
              title: image_cell
              required:
                - imageCell
            - type: object
              properties:
                javascriptCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.JavaScriptCell'
                  title: javascript_cell
              title: javascript_cell
              required:
                - javascriptCell
            - type: object
              properties:
                linkedinSearchCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.LinkedinSearchCell
                  title: linkedin_search_cell
              title: linkedin_search_cell
              required:
                - linkedinSearchCell
            - type: object
              properties:
                listAppsCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.ListAppsCell'
                  title: list_apps_cell
                  description: 66 is duration_ms outside the oneof
              title: list_apps_cell
              required:
                - listAppsCell
            - type: object
              properties:
                listDashboardsCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.ListDashboardsCell
                  title: list_dashboards_cell
              title: list_dashboards_cell
              required:
                - listDashboardsCell
            - type: object
              properties:
                listUsersCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.ListUsersCell'
                  title: list_users_cell
              title: list_users_cell
              required:
                - listUsersCell
            - type: object
              properties:
                mcpToolCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.MCPToolCell'
                  title: mcp_tool_cell
              title: mcp_tool_cell
              required:
                - mcpToolCell
            - type: object
              properties:
                mdCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.MarkdownCell'
                  title: md_cell
              title: md_cell
              required:
                - mdCell
            - type: object
              properties:
                metricsCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.MetricsCell'
                  title: metrics_cell
              title: metrics_cell
              required:
                - metricsCell
            - type: object
              properties:
                microsoft365CalendarCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.Microsoft365CalendarCell
                  title: microsoft365_calendar_cell
              title: microsoft365_calendar_cell
              required:
                - microsoft365CalendarCell
            - type: object
              properties:
                microsoft365EmailContentCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.Microsoft365EmailContentCell
                  title: microsoft365_email_content_cell
              title: microsoft365_email_content_cell
              required:
                - microsoft365EmailContentCell
            - type: object
              properties:
                microsoft365EmailSearchCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.Microsoft365EmailSearchCell
                  title: microsoft365_email_search_cell
              title: microsoft365_email_search_cell
              required:
                - microsoft365EmailSearchCell
            - type: object
              properties:
                ontologyEditorCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.OntologyEditorCell
                  title: ontology_editor_cell
              title: ontology_editor_cell
              required:
                - ontologyEditorCell
            - type: object
              properties:
                ontologyOpenObjectCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.OntologyOpenObjectCell
                  title: ontology_open_object_cell
              title: ontology_open_object_cell
              required:
                - ontologyOpenObjectCell
            - type: object
              properties:
                ontologyQueryCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.OntologyQueryCell
                  title: ontology_query_cell
              title: ontology_query_cell
              required:
                - ontologyQueryCell
            - type: object
              properties:
                ontologySearchMetricsCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.OntologySearchMetricsCell
                  title: ontology_search_metrics_cell
              title: ontology_search_metrics_cell
              required:
                - ontologySearchMetricsCell
            - type: object
              properties:
                patchCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.PatchCell'
                  title: patch_cell
              title: patch_cell
              required:
                - patchCell
            - type: object
              properties:
                playbookEditorCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.PlaybookEditorCell
                  title: playbook_editor_cell
              title: playbook_editor_cell
              required:
                - playbookEditorCell
            - type: object
              properties:
                powerbiCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.PowerBICell'
                  title: powerbi_cell
              title: powerbi_cell
              required:
                - powerbiCell
            - type: object
              properties:
                powerbiDaxCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.PowerBIDAXCell'
                  title: powerbi_dax_cell
              title: powerbi_dax_cell
              required:
                - powerbiDaxCell
            - type: object
              properties:
                previewCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.PreviewCell'
                  title: preview_cell
              title: preview_cell
              required:
                - previewCell
            - type: object
              properties:
                pyCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.PythonCell'
                  title: py_cell
              title: py_cell
              required:
                - pyCell
            - type: object
              properties:
                questionsCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.QuestionsCell'
                  title: questions_cell
              title: questions_cell
              required:
                - questionsCell
            - type: object
              properties:
                reportCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.ReportCell'
                  title: report_cell
              title: report_cell
              required:
                - reportCell
            - type: object
              properties:
                reportHistoryCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.ReportHistoryCell
                  title: report_history_cell
              title: report_history_cell
              required:
                - reportHistoryCell
            - type: object
              properties:
                sqlCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.SQLCell'
                  title: sql_cell
              title: sql_cell
              required:
                - sqlCell
            - type: object
              properties:
                statusCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.StatusCell'
                  title: status_cell
                  description: 'Deprecated: use tool_summary instead'
                  deprecated: true
              title: status_cell
              required:
                - statusCell
            - type: object
              properties:
                streamlitCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.StreamlitCell'
                  title: streamlit_cell
              title: streamlit_cell
              required:
                - streamlitCell
            - type: object
              properties:
                summaryCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.SummaryCell'
                  title: summary_cell
              title: summary_cell
              required:
                - summaryCell
            - type: object
              properties:
                tableauCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.TableauCell'
                  title: tableau_cell
              title: tableau_cell
              required:
                - tableauCell
            - type: object
              properties:
                tableauSearchFieldsCell:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.cells.TableauSearchFieldsCell
                  title: tableau_search_fields_cell
              title: tableau_search_fields_cell
              required:
                - tableauSearchFieldsCell
            - type: object
              properties:
                tableauSqlCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.TableauSQLCell'
                  title: tableau_sql_cell
              title: tableau_sql_cell
              required:
                - tableauSqlCell
            - type: object
              properties:
                tabularFileCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.TabularFileCell'
                  title: tabular_file_cell
              title: tabular_file_cell
              required:
                - tabularFileCell
            - type: object
              properties:
                textCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.TextCell'
                  title: text_cell
              title: text_cell
              required:
                - textCell
            - type: object
              properties:
                thinkingCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.ThinkingCell'
                  title: thinking_cell
              title: thinking_cell
              required:
                - thinkingCell
            - type: object
              properties:
                useSkillCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.UseSkillCell'
                  title: use_skill_cell
              title: use_skill_cell
              required:
                - useSkillCell
            - type: object
              properties:
                wsCell:
                  $ref: '#/components/schemas/textql.rpc.public.cells.WebSearchCell'
                  title: ws_cell
              title: ws_cell
              required:
                - wsCell
      title: Cell
      additionalProperties: false
    connect.error_details.Any:
      type: object
      properties:
        type:
          type: string
          description: >-
            A URL that acts as a globally unique identifier for the type of the
            serialized message. For example:
            `type.googleapis.com/google.rpc.ErrorInfo`. This is used to
            determine the schema of the data in the `value` field and is the
            discriminator for the `debug` field.
        value:
          type: string
          format: binary
          description: >-
            The Protobuf message, serialized as bytes and base64-encoded. The
            specific message type is identified by the `type` field.
        debug:
          oneOf:
            - type: object
              title: Any
              additionalProperties: true
              description: Detailed error information.
          discriminator:
            propertyName: type
          title: Debug
          description: >-
            Deserialized error detail payload. The 'type' field indicates the
            schema. This field is for easier debugging and should not be relied
            upon for application logic.
      additionalProperties: true
      description: >-
        Contains an arbitrary serialized message along with a @type that
        describes the type of the serialized message, with an additional debug
        field for ConnectRPC error details.
    google.protobuf.Timestamp:
      type: string
      examples:
        - '2023-01-15T01:30:15.01Z'
        - '2024-12-25T12:00:00Z'
      format: date-time
      description: >-
        A Timestamp represents a point in time independent of any time zone or
        local
         calendar, encoded as a count of seconds and fractions of seconds at
         nanosecond resolution. The count is relative to an epoch at UTC midnight on
         January 1, 1970, in the proleptic Gregorian calendar which extends the
         Gregorian calendar backwards to year one.

         All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
         second table is needed for interpretation, using a [24-hour linear
         smear](https://developers.google.com/time/smear).

         The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
         restricting to that range, we ensure that we can convert to and from [RFC
         3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.

         # Examples

         Example 1: Compute Timestamp from POSIX `time()`.

             Timestamp timestamp;
             timestamp.set_seconds(time(NULL));
             timestamp.set_nanos(0);

         Example 2: Compute Timestamp from POSIX `gettimeofday()`.

             struct timeval tv;
             gettimeofday(&tv, NULL);

             Timestamp timestamp;
             timestamp.set_seconds(tv.tv_sec);
             timestamp.set_nanos(tv.tv_usec * 1000);

         Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.

             FILETIME ft;
             GetSystemTimeAsFileTime(&ft);
             UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

             // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
             // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
             Timestamp timestamp;
             timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
             timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

         Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.

             long millis = System.currentTimeMillis();

             Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
                 .setNanos((int) ((millis % 1000) * 1000000)).build();

         Example 5: Compute Timestamp from Java `Instant.now()`.

             Instant now = Instant.now();

             Timestamp timestamp =
                 Timestamp.newBuilder().setSeconds(now.getEpochSecond())
                     .setNanos(now.getNano()).build();

         Example 6: Compute Timestamp from current time in Python.

             timestamp = Timestamp()
             timestamp.GetCurrentTime()

         # JSON Mapping

         In JSON format, the Timestamp type is encoded as a string in the
         [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
         format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
         where {year} is always expressed using four digits while {month}, {day},
         {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
         seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
         are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
         is required. A proto3 JSON serializer should always use UTC (as indicated by
         "Z") when printing the Timestamp type and a proto3 JSON parser should be
         able to accept both UTC and other timezones (as indicated by an offset).

         For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
         01:30 UTC on January 15, 2017.

         In JavaScript, one can convert a Date object to this format using the
         standard
         [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
         method. In Python, a standard `datetime.datetime` object can be converted
         to this format using
         [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
         the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
         the Joda Time's [`ISODateTimeFormat.dateTime()`](
         http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
         ) to obtain a formatter capable of generating timestamps in this format.
    textql.rpc.public.chat.CellLifecycle:
      type: string
      title: CellLifecycle
      enum:
        - LIFECYCLE_UNKNOWN
        - LIFECYCLE_CREATING
        - LIFECYCLE_CREATED
        - LIFECYCLE_EXECUTING
        - LIFECYCLE_EXECUTED
        - LIFECYCLE_HALTED
        - LIFECYCLE_HANDOFF_PENDING
    textql.rpc.public.cells.AnswerCell:
      type: object
      properties:
        content:
          type: string
          title: content
        images:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ImageReference'
          title: images
        sql:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.SQLReference'
          title: sql
      title: AnswerCell
      additionalProperties: false
    textql.rpc.public.cells.AppCell:
      type: object
      properties:
        action:
          type: string
          title: action
          description: create | update | publish
        appId:
          type: string
          title: app_id
        name:
          type: string
          title: name
        errorMessage:
          type: string
          title: error_message
          nullable: true
        screenshotUrl:
          type: string
          title: screenshot_url
          nullable: true
        lastRunAt:
          type: string
          title: last_run_at
          nullable: true
        buildLineCount:
          type: integer
          title: build_line_count
          format: int32
          description: >-
            Size of the app being written, updated live as the tool args stream
            so the
             builder loader can show real "N lines / M files" progress during generation.
          nullable: true
        buildFileCount:
          type: integer
          title: build_file_count
          format: int32
          nullable: true
      title: AppCell
      additionalProperties: false
      description: >-
        AppCell records an agent action on a data app (the generative app
        execution primitive; apps are first-class rows in the apps table).
    textql.rpc.public.cells.BashCell:
      type: object
      properties:
        script:
          type: string
          title: script
        stdout:
          type: string
          title: stdout
        stderr:
          type: string
          title: stderr
        exitCode:
          type: integer
          title: exit_code
          format: int32
      title: BashCell
      additionalProperties: false
    textql.rpc.public.cells.CompactionCell:
      type: object
      properties:
        content:
          type: string
          title: content
        executedPython:
          type: boolean
          title: executed_python
        pythonCells:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.PythonCell'
          title: python_cells
      title: CompactionCell
      additionalProperties: false
    textql.rpc.public.cells.ConnectorsCell:
      type: object
      properties:
        action:
          type: string
          title: action
          description: list | get
        totalCount:
          type: integer
          title: total_count
          format: int32
      title: ConnectorsCell
      additionalProperties: false
      description: >-
        ConnectorsCell is the agent-only "connectors" inspect tool. The frontend
        only
         shows that the tool ran (and a count); connector detail goes to the LLM, never
         to the browser, and never carries secrets.
    textql.rpc.public.cells.ContextPromptEditorCell:
      type: object
      properties:
        action:
          $ref: >-
            #/components/schemas/textql.rpc.public.cells.ContextPromptEditorAction
          title: action
        currentContext:
          type: string
          title: current_context
          nullable: true
        proposedContext:
          type: string
          title: proposed_context
          nullable: true
        diff:
          type: string
          title: diff
          nullable: true
        status:
          $ref: >-
            #/components/schemas/textql.rpc.public.cells.ContextPromptChangeStatus
          title: status
        errorMessage:
          type: string
          title: error_message
          nullable: true
        contextId:
          type: string
          title: context_id
          nullable: true
      title: ContextPromptEditorCell
      additionalProperties: false
    textql.rpc.public.cells.DashboardCell:
      type: object
      properties:
        name:
          type: string
          title: name
        dashboardId:
          type: string
          title: dashboard_id
        code:
          type: string
          title: code
        dataSources:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.dashboard.DataSource'
          title: data_sources
        errorMessage:
          type: string
          title: error_message
          nullable: true
        screenshotUrl:
          type: string
          title: screenshot_url
          nullable: true
        lastRunAt:
          type: string
          title: last_run_at
          nullable: true
        action:
          $ref: '#/components/schemas/textql.rpc.public.cells.DashboardAction'
          title: action
        type:
          type: string
          title: type
          description: 'Dashboard type: "streamlit" or "dash"'
          nullable: true
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: updated_at
          description: Last update timestamp
          nullable: true
      title: DashboardCell
      additionalProperties: false
    textql.rpc.public.cells.DocumentCell:
      type: object
      properties:
        name:
          type: string
          title: name
        url:
          type: string
          title: url
        preview:
          type: string
          title: preview
        datasetSourceId:
          type: string
          title: dataset_source_id
        pageCount:
          type: integer
          title: page_count
          format: int32
      title: DocumentCell
      additionalProperties: false
    textql.rpc.public.cells.EmailCell:
      type: object
      properties:
        to:
          type: array
          items:
            type: string
          title: to
          description: Inputs (set by the LLM at cell creation time)
        subject:
          type: string
          title: subject
        body:
          type: string
          title: body
          description: markdown — rendered to HTML at send time
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.EmailRecipient'
          title: recipients
          description: Resolved recipients after internal-only enforcement
        status:
          type: string
          title: status
          description: Result fields (populated by Execute) "sent" | "failed" | "blocked"
        sentAt:
          type: string
          title: sent_at
          nullable: true
        messageId:
          type: string
          title: message_id
          nullable: true
        errorMessage:
          type: string
          title: error_message
          nullable: true
        errorClass:
          type: string
          title: error_class
          description: machine-readable error category
          nullable: true
        sentCount:
          type: integer
          title: sent_count
          format: int32
          description: >-
            Number of recipients to which the provider call succeeded during
            this
             Execute pass. Not derivable from Status — a partial-failure cell has
             Status=failed with sent_count > 0. Drives the per-run cap when chat
             history is replayed.
        renderedBodyHtml:
          type: string
          title: rendered_body_html
          description: >-
            The rendered HTML body of the email — exactly what landed in
            inboxes,
             including the actor signature footer. The frontend's EmailCell renders
             this verbatim via {@html ...} in its preview, so a viewer sees what
             recipients saw without the FE having to repeat the render pipeline.
             Already sanitized server-side (sanitizeEmailHTML) and self-contained
             for inline use within the chat thread.
          nullable: true
      title: EmailCell
      additionalProperties: false
      description: >-
        EmailCell is the agent's "send an email" output. It is an executable
        cell:
         the LLM emits the input (to/subject/body) and the framework executes the
         send, mutating the result fields. The cell renders as a transcript ("Email
         sent to maya@acme.com at 2:14pm") with the body visible after the fact.
    textql.rpc.public.cells.FeedCommentCell:
      type: object
      properties:
        postId:
          type: string
          title: post_id
        content:
          type: string
          title: content
        commentId:
          type: string
          title: comment_id
        commentUrl:
          type: string
          title: comment_url
        timestamp:
          type: string
          title: timestamp
        error:
          type: string
          title: error
        postTitle:
          type: string
          title: post_title
          description: Parent post metadata
        postAuthor:
          type: string
          title: post_author
        postUpvoteCount:
          type: integer
          title: post_upvote_count
          format: int32
        postDownvoteCount:
          type: integer
          title: post_downvote_count
          format: int32
      title: FeedCommentCell
      additionalProperties: false
    textql.rpc.public.cells.FeedCreateCell:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/textql.rpc.public.cells.FeedAgentAction'
          title: action
        agent:
          $ref: '#/components/schemas/textql.rpc.public.cells.FeedAgentInfo'
          title: agent
          nullable: true
        errorMessage:
          type: string
          title: error_message
          nullable: true
        updatedFields:
          type: array
          items:
            type: string
          title: updated_fields
        fieldChanges:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.FieldChange'
          title: field_changes
        connectors:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ConnectorRef'
          title: connectors
      title: FeedCreateCell
      additionalProperties: false
    textql.rpc.public.cells.FeedEngageCell:
      type: object
      properties:
        thingId:
          type: string
          title: thing_id
        voteType:
          type: string
          title: vote_type
        upvoteCount:
          type: integer
          title: upvote_count
          format: int32
        downvoteCount:
          type: integer
          title: downvote_count
          format: int32
        timestamp:
          type: string
          title: timestamp
        error:
          type: string
          title: error
        url:
          type: string
          title: url
        thingTitle:
          type: string
          title: thing_title
          description: Title/preview of the post or comment that was voted on
      title: FeedEngageCell
      additionalProperties: false
    textql.rpc.public.cells.FeedExplorerCell:
      type: object
      properties:
        operation:
          type: string
          title: operation
          description: '"get_feed", "get_post", "get_comments"'
        postId:
          type: string
          title: post_id
          nullable: true
        filter:
          type: string
          title: filter
          nullable: true
        limit:
          type: integer
          title: limit
          format: int32
          nullable: true
        result:
          type: string
          title: result
          description: JSON-serialized result
        channelId:
          type: string
          title: channel_id
          description: when set, get results for specific feed channel
          nullable: true
      title: FeedExplorerCell
      additionalProperties: false
    textql.rpc.public.cells.FeedPostCell:
      type: object
      properties:
        title:
          type: string
          title: title
        content:
          type: string
          title: content
        imageUrls:
          type: array
          items:
            type: string
          title: image_urls
        dashboardIds:
          type: array
          items:
            type: string
          title: dashboard_ids
        reportIds:
          type: array
          items:
            type: string
          title: report_ids
        chatIds:
          type: array
          items:
            type: string
          title: chat_ids
        postId:
          type: string
          title: post_id
        postUrl:
          type: string
          title: post_url
        timestamp:
          type: string
          title: timestamp
        error:
          type: string
          title: error
        mentionedMemberIds:
          type: array
          items:
            type: string
          title: mentioned_member_ids
        mentionedAgentIds:
          type: array
          items:
            type: string
          title: mentioned_agent_ids
      title: FeedPostCell
      additionalProperties: false
    textql.rpc.public.cells.FormCell:
      type: object
      properties:
        action:
          type: string
          title: action
          description: list | info | create | edit | view | update | test
        formId:
          type: string
          title: form_id
          nullable: true
        formType:
          type: string
          title: form_type
          description: cached for inline display (e.g. "connector")
          nullable: true
        status:
          type: string
          title: status
          description: cached submission status (draft|submitting|submitted|rejected)
          nullable: true
        testStatus:
          type: string
          title: test_status
          description: cached test status (not_run|running|passed|failed)
          nullable: true
        name:
          type: string
          title: name
          nullable: true
        approvalOutcome:
          type: string
          title: approval_outcome
          description: >-
            ask_approval outcome once the user acts: submitted | submit_failed |
            rejected | changes_requested.
          nullable: true
        testMessage:
          type: string
          title: test_message
          description: this test's result message (shown by the test row)
          nullable: true
      title: FormCell
      additionalProperties: false
      description: >-
        FormCell is the v2 form editor cell. It only references a form_v5 row by
        id;
         the frontend loads the full form via FormService (no chat-cell scanning). The
         cached fields let the inline chat cell render without a round-trip.
    textql.rpc.public.cells.FormEditorCell:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/textql.rpc.public.cells.FormEditorAction'
          title: action
        formSnapshot:
          $ref: '#/components/schemas/textql.rpc.public.cells.EditableForm'
          title: form_snapshot
          nullable: true
        form:
          $ref: '#/components/schemas/textql.rpc.public.cells.EditableForm'
          title: form
          nullable: true
        formId:
          type: string
          title: form_id
          nullable: true
      title: FormEditorCell
      additionalProperties: false
    textql.rpc.public.cells.GmailEmailContentCell:
      type: object
      properties:
        emailId:
          type: string
          title: email_id
          nullable: true
        subject:
          type: string
          title: subject
          nullable: true
        sender:
          type: string
          title: sender
          nullable: true
        syntheticToolUseId:
          type: string
          title: synthetic_tool_use_id
          nullable: true
      title: GmailEmailContentCell
      additionalProperties: false
    textql.rpc.public.cells.GmailEmailSearchCell:
      type: object
      properties:
        emailCount:
          type: integer
          title: email_count
          format: int32
        emailSummary:
          type: string
          title: email_summary
          nullable: true
        syntheticToolUseId:
          type: string
          title: synthetic_tool_use_id
          nullable: true
      title: GmailEmailSearchCell
      additionalProperties: false
    textql.rpc.public.cells.GoogleCalendarSearchCell:
      type: object
      properties:
        eventCount:
          type: integer
          title: event_count
          format: int32
        eventSummary:
          type: string
          title: event_summary
          nullable: true
        syntheticToolUseId:
          type: string
          title: synthetic_tool_use_id
          nullable: true
      title: GoogleCalendarSearchCell
      additionalProperties: false
    textql.rpc.public.cells.GoogleDriveContentCell:
      type: object
      properties:
        fileName:
          type: string
          title: file_name
          nullable: true
        contentType:
          type: string
          title: content_type
          nullable: true
        content:
          type: string
          title: content
          nullable: true
        fileId:
          type: string
          title: file_id
          nullable: true
        errorMessage:
          type: string
          title: error_message
          nullable: true
      title: GoogleDriveContentCell
      additionalProperties: false
    textql.rpc.public.cells.GoogleDriveSearchCell:
      type: object
      properties:
        files:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.GoogleDriveFile'
          title: files
        dataframePreview:
          type: string
          title: dataframe_preview
          nullable: true
        errorMessage:
          type: string
          title: error_message
          nullable: true
        fileCount:
          type: integer
          title: file_count
          format: int32
      title: GoogleDriveSearchCell
      additionalProperties: false
    textql.rpc.public.cells.ImageCell:
      type: object
      properties:
        name:
          type: string
          title: name
        url:
          type: string
          title: url
        mimeType:
          type: string
          title: mime_type
        width:
          type: integer
          title: width
          format: int32
        height:
          type: integer
          title: height
          format: int32
        sizeBytes:
          type:
            - integer
            - string
          title: size_bytes
          format: int64
        datasetSourceId:
          type: string
          title: dataset_source_id
        altText:
          type: string
          title: alt_text
        caption:
          type: string
          title: caption
      title: ImageCell
      additionalProperties: false
    textql.rpc.public.cells.JavaScriptCell:
      type: object
      properties:
        code:
          type: string
          title: code
        title:
          type: string
          title: title
        files:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.FileReference'
          title: files
        images:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ImageReference'
          title: images
        stdout:
          type: string
          title: stdout
      title: JavaScriptCell
      additionalProperties: false
    textql.rpc.public.cells.LinkedinSearchCell:
      type: object
      properties:
        query:
          type: string
          title: query
        exaResults:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ExaSearchResult'
          title: exa_results
        costDollars:
          type: number
          title: cost_dollars
          format: double
          nullable: true
        executionTimeMs:
          type:
            - integer
            - string
          title: execution_time_ms
          format: int64
          nullable: true
      title: LinkedinSearchCell
      additionalProperties: false
    textql.rpc.public.cells.ListAppsCell:
      type: object
      properties:
        searchTerm:
          type: string
          title: search_term
        appId:
          type: string
          title: app_id
          description: Set for single-app lookup
        totalCount:
          type: integer
          title: total_count
          format: int32
        errorMessage:
          type: string
          title: error_message
          nullable: true
        apps:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.AppInfo'
          title: apps
      title: ListAppsCell
      additionalProperties: false
    textql.rpc.public.cells.ListDashboardsCell:
      type: object
      properties:
        searchTerm:
          type: string
          title: search_term
        dashboardId:
          type: string
          title: dashboard_id
          description: Set for single-dashboard lookup
        totalCount:
          type: integer
          title: total_count
          format: int32
        sandboxAvailable:
          type: boolean
          title: sandbox_available
        errorMessage:
          type: string
          title: error_message
          nullable: true
        dashboards:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.DashboardInfo'
          title: dashboards
      title: ListDashboardsCell
      additionalProperties: false
    textql.rpc.public.cells.ListUsersCell:
      type: object
      properties:
        searchTerm:
          type: string
          title: search_term
        userType:
          type: string
          title: user_type
          description: '"all", "bots", or "humans"'
        totalCount:
          type: integer
          title: total_count
          format: int32
        sandboxAvailable:
          type: boolean
          title: sandbox_available
        errorMessage:
          type: string
          title: error_message
          nullable: true
        agents:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.AgentInfo'
          title: agents
      title: ListUsersCell
      additionalProperties: false
    textql.rpc.public.cells.MCPToolCell:
      type: object
      properties:
        serverName:
          type: string
          title: server_name
        toolName:
          type: string
          title: tool_name
        argumentsJson:
          type: string
          title: arguments_json
        contentJson:
          type: string
          title: content_json
          nullable: true
        isError:
          type: boolean
          title: is_error
          nullable: true
        errorMessage:
          type: string
          title: error_message
          nullable: true
        executionTimeMs:
          type:
            - integer
            - string
          title: execution_time_ms
          format: int64
          nullable: true
      title: MCPToolCell
      additionalProperties: false
    textql.rpc.public.cells.MarkdownCell:
      type: object
      properties:
        content:
          type: string
          title: content
        renderedHtml:
          type: string
          title: rendered_html
        citations:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.Citation'
          title: citations
      title: MarkdownCell
      additionalProperties: false
    textql.rpc.public.cells.MetricsCell:
      type: object
      properties:
        query:
          type: string
          title: query
        dataset:
          type: string
          title: dataset
        ontologyId:
          type: integer
          title: ontology_id
          format: int32
        dataframe:
          $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameWithInfo'
          title: dataframe
        dataframePreview:
          type: string
          title: dataframe_preview
        generatedSql:
          type: string
          title: generated_sql
        queryId:
          type: string
          title: query_id
        errorMessage:
          type: string
          title: error_message
      title: MetricsCell
      additionalProperties: false
    textql.rpc.public.cells.Microsoft365CalendarCell:
      type: object
      properties:
        eventCount:
          type: integer
          title: event_count
          format: int32
        eventSummary:
          type: string
          title: event_summary
          nullable: true
        syntheticToolUseId:
          type: string
          title: synthetic_tool_use_id
          nullable: true
      title: Microsoft365CalendarCell
      additionalProperties: false
    textql.rpc.public.cells.Microsoft365EmailContentCell:
      type: object
      properties:
        emailId:
          type: string
          title: email_id
          nullable: true
        subject:
          type: string
          title: subject
          nullable: true
        sender:
          type: string
          title: sender
          nullable: true
        syntheticToolUseId:
          type: string
          title: synthetic_tool_use_id
          nullable: true
      title: Microsoft365EmailContentCell
      additionalProperties: false
    textql.rpc.public.cells.Microsoft365EmailSearchCell:
      type: object
      properties:
        emailCount:
          type: integer
          title: email_count
          format: int32
        emailSummary:
          type: string
          title: email_summary
          nullable: true
        syntheticToolUseId:
          type: string
          title: synthetic_tool_use_id
          nullable: true
      title: Microsoft365EmailSearchCell
      additionalProperties: false
    textql.rpc.public.cells.OntologyEditorCell:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/textql.rpc.public.cells.OntologyEditorAction'
          title: action
        listType:
          $ref: '#/components/schemas/textql.rpc.public.cells.OntologyEditorListType'
          title: list_type
          nullable: true
        operation:
          $ref: '#/components/schemas/textql.rpc.public.cells.OntologyEditorOperation'
          title: operation
          nullable: true
        status:
          $ref: '#/components/schemas/textql.rpc.public.cells.OntologyEditorStatus'
          title: status
        listFilter:
          $ref: >-
            #/components/schemas/textql.rpc.public.cells.OntologyEditorListFilter
          title: list_filter
          description: For list operations
          nullable: true
        listCount:
          type: integer
          title: list_count
          format: int32
          description: Number of items returned by list operation
          nullable: true
        listObjects:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyObject'
          title: list_objects
        listAttributes:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyAttribute'
          title: list_attributes
        listRelations:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyRelation'
          title: list_relations
        listMetrics:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyMetric'
          title: list_metrics
        createdObject:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyObject'
          title: created_object
          description: For object operations
          nullable: true
        createdAttributes:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyAttribute'
          title: created_attributes
        updatedObject:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyObject'
          title: updated_object
          nullable: true
        deletedObject:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyObject'
          title: deleted_object
          nullable: true
        createdAttribute:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyAttribute'
          title: created_attribute
          description: For attribute operations
          nullable: true
        updatedAttribute:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyAttribute'
          title: updated_attribute
          nullable: true
        deletedAttribute:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyAttribute'
          title: deleted_attribute
          nullable: true
        createdLink:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyRelation'
          title: created_link
          description: For link operations
          nullable: true
        updatedLink:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyRelation'
          title: updated_link
          nullable: true
        deletedLink:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyRelation'
          title: deleted_link
          nullable: true
        createdMetric:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyMetric'
          title: created_metric
          description: For metric operations
          nullable: true
        updatedMetric:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyMetric'
          title: updated_metric
          nullable: true
        deletedMetric:
          $ref: '#/components/schemas/textql.rpc.public.ontology.OntologyMetric'
          title: deleted_metric
          nullable: true
      title: OntologyEditorCell
      additionalProperties: false
    textql.rpc.public.cells.OntologyOpenObjectCell:
      type: object
      properties:
        requestedObject:
          type: string
          title: requested_object
        ontologyId:
          type: integer
          title: ontology_id
          format: int32
        objectId:
          type: string
          title: object_id
        objectName:
          type: string
          title: object_name
        objectDescription:
          type: string
          title: object_description
          nullable: true
        dimensionCount:
          type: integer
          title: dimension_count
          format: int32
        dimensionReturnedCount:
          type: integer
          title: dimension_returned_count
          format: int32
        metricCount:
          type: integer
          title: metric_count
          format: int32
        metricReturnedCount:
          type: integer
          title: metric_returned_count
          format: int32
        dimensionsTruncated:
          type: boolean
          title: dimensions_truncated
        metricsTruncated:
          type: boolean
          title: metrics_truncated
        dimensions:
          type: array
          items:
            $ref: >-
              #/components/schemas/textql.rpc.public.cells.OntologyObjectDimensionLite
          title: dimensions
        metrics:
          type: array
          items:
            $ref: >-
              #/components/schemas/textql.rpc.public.cells.OntologyObjectMetricLite
          title: metrics
      title: OntologyOpenObjectCell
      additionalProperties: false
    textql.rpc.public.cells.OntologyQueryCell:
      type: object
      properties:
        action:
          type: string
          title: action
          description: input "inspect" | "render" | "execute"
        path:
          type: string
          title: path
        paramsJson:
          type: string
          title: params_json
          description: JSON-encoded map of param name → value
        connectorId:
          type: integer
          title: connector_id
          format: int32
          nullable: true
        declaredParams:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.OntologyQueryParam'
          title: declared_params
          description: result
        sql:
          type: string
          title: sql
        usedConnectorId:
          type: integer
          title: used_connector_id
          format: int32
          nullable: true
        dataframe:
          $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameWithInfo'
          title: dataframe
        dataframePreview:
          type: string
          title: dataframe_preview
        authRequired:
          type: boolean
          title: auth_required
          description: auth hold
        authConnectorName:
          type: string
          title: auth_connector_name
        authLocator:
          type: string
          title: auth_locator
        authClientId:
          type: string
          title: auth_client_id
        authRole:
          type: string
          title: auth_role
        authCompleted:
          type: boolean
          title: auth_completed
        authConnectorType:
          $ref: '#/components/schemas/textql.rpc.public.connector.ConnectorType'
          title: auth_connector_type
        authWorkspaceUrl:
          type: string
          title: auth_workspace_url
          nullable: true
      title: OntologyQueryCell
      additionalProperties: false
    textql.rpc.public.cells.OntologySearchMetricsCell:
      type: object
      properties:
        query:
          type: string
          title: query
        ontologyId:
          type: integer
          title: ontology_id
          format: int32
        matchCount:
          type: integer
          title: match_count
          format: int32
        returnedCount:
          type: integer
          title: returned_count
          format: int32
        truncated:
          type: boolean
          title: truncated
        matches:
          type: array
          items:
            $ref: >-
              #/components/schemas/textql.rpc.public.cells.OntologyMetricSearchMatch
          title: matches
      title: OntologySearchMetricsCell
      additionalProperties: false
    textql.rpc.public.cells.PatchCell:
      type: object
      properties:
        title:
          type: string
          title: title
        description:
          type: string
          title: description
        number:
          type: integer
          title: number
          format: int32
        hasConflicts:
          type: boolean
          title: has_conflicts
        conflictView:
          type: string
          title: conflict_view
        status:
          $ref: '#/components/schemas/textql.rpc.public.patches.PatchStatus'
          title: status
        diffs:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.patches.PatchDiff'
          title: diffs
        patchId:
          type: string
          title: patch_id
        gitRef:
          type: string
          title: git_ref
        autoApproved:
          type: boolean
          title: auto_approved
        autoApprovedRuleDirectory:
          type: string
          title: auto_approved_rule_directory
      title: PatchCell
      additionalProperties: false
    textql.rpc.public.cells.PlaybookEditorCell:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/textql.rpc.public.cells.PlaybookEditorAction'
          title: action
        playbooks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.PlaybookInfo'
          title: playbooks
          description: results
        errorMessage:
          type: string
          title: error_message
          nullable: true
        totalCount:
          type: integer
          title: total_count
          format: int32
        slackChannels:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.SlackChannelRef'
          title: slack_channels
        slackUsers:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.SlackUserRef'
          title: slack_users
        connectors:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ConnectorRef'
          title: connectors
        orgMembers:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.OrgMemberRef'
          title: org_members
        hasSlack:
          type: boolean
          title: has_slack
        fieldChanges:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.FieldChange'
          title: field_changes
        teamsChannels:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.TeamsChannelRef'
          title: teams_channels
        teamsUsers:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.TeamsUserRef'
          title: teams_users
        hasTeams:
          type: boolean
          title: has_teams
      title: PlaybookEditorCell
      additionalProperties: false
    textql.rpc.public.cells.PowerBICell:
      type: object
      properties:
        datasetId:
          type: string
          title: dataset_id
        reportIds:
          type: array
          items:
            type: string
          title: report_ids
        powerbiDatasetIds:
          type: array
          items:
            type: string
          title: powerbi_dataset_ids
        messageBlocks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.PowerBIMessageBlock'
          title: message_blocks
      title: PowerBICell
      additionalProperties: false
    textql.rpc.public.cells.PowerBIDAXCell:
      type: object
      properties:
        datasetId:
          type: string
          title: dataset_id
        daxQuery:
          type: string
          title: dax_query
        dataframe:
          $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameWithInfo'
          title: dataframe
        dataframePreview:
          type: string
          title: dataframe_preview
        authRequired:
          type: boolean
          title: auth_required
        authConnectorName:
          type: string
          title: auth_connector_name
        authConnectorId:
          type: integer
          title: auth_connector_id
          format: int32
        authTenantId:
          type: string
          title: auth_tenant_id
        authClientId:
          type: string
          title: auth_client_id
        authCompleted:
          type: boolean
          title: auth_completed
      title: PowerBIDAXCell
      additionalProperties: false
    textql.rpc.public.cells.PreviewCell:
      type: object
      properties:
        target:
          type: string
          title: target
        previewType:
          type: string
          title: preview_type
          description: '"image", "table", "pdf", "html", "dataframe", "download"'
        name:
          type: string
          title: name
        url:
          type: string
          title: url
          nullable: true
        content:
          type: string
          title: content
          nullable: true
        error:
          type: string
          title: error
          nullable: true
      title: PreviewCell
      additionalProperties: false
      description: primary interface for ana to render sandbox assets client side
    textql.rpc.public.cells.PythonCell:
      type: object
      properties:
        code:
          type: string
          title: code
        output:
          type: array
          items:
            type: string
          title: output
        dataframeInfo:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameInfo'
          title: dataframe_info
        dataframePreview:
          type: array
          items:
            type: string
          title: dataframe_preview
        images:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ImageReference'
          title: images
        files:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.FileReference'
          title: files
        htmlScreenshots:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ImageReference'
          title: html_screenshots
        charts:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ChartReference'
          title: charts
        authRequired:
          type: boolean
          title: auth_required
          description: Per-member API OAuth auth hold fields
        authApiAccessKeyId:
          type: string
          title: auth_api_access_key_id
        authProviderName:
          type: string
          title: auth_provider_name
        authCompleted:
          type: boolean
          title: auth_completed
        authMember:
          type: string
          title: auth_member
        authPermissionRequired:
          type: boolean
          title: auth_permission_required
        authGrantType:
          type: string
          title: auth_grant_type
        executionTimeMs:
          type:
            - integer
            - string
          title: execution_time_ms
          format: int64
          nullable: true
      title: PythonCell
      additionalProperties: false
    textql.rpc.public.cells.QuestionsCell:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/textql.rpc.public.cells.QuestionsStatus'
          title: status
        questions:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.QuestionSpec'
          title: questions
        answers:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.QuestionAnswer'
          title: answers
          description: prefill (pending) / summary (answered); sensitive values blanked
        answeredCount:
          type: integer
          title: answered_count
          format: int32
      title: QuestionsCell
      additionalProperties: false
      description: >-
        QuestionsCell is the agent's "ask the user structured questions" tool.
        It is a
         haltable cell: the agent pauses until the user submits or dismisses inline.
         On submit the answers go to the agent; on dismiss only the answered count does
         and the agent waits for the user's next message (the dismissal reason).
    textql.rpc.public.cells.ReportCell:
      type: object
      properties:
        subject:
          type: string
          title: subject
        summary:
          type: string
          title: summary
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.reports.ReportBlock'
          title: blocks
        htmlPreview:
          type: string
          title: html_preview
        chatId:
          type: string
          title: chat_id
        reportId:
          type: string
          title: report_id
      title: ReportCell
      additionalProperties: false
    textql.rpc.public.cells.ReportHistoryCell:
      type: object
      properties:
        reports:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ReportHistoryInfo'
          title: reports
        totalCount:
          type: integer
          title: total_count
          format: int32
        errorMessage:
          type: string
          title: error_message
          nullable: true
      title: ReportHistoryCell
      additionalProperties: false
    textql.rpc.public.cells.SQLCell:
      type: object
      properties:
        query:
          type: string
          title: query
        connectorId:
          type: integer
          title: connector_id
          format: int32
        dataframe:
          $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameWithInfo'
          title: dataframe
        dataframePreview:
          type: string
          title: dataframe_preview
        authRequired:
          type: boolean
          title: auth_required
          description: Per-member auth hold fields
        authConnectorName:
          type: string
          title: auth_connector_name
        authLocator:
          type: string
          title: auth_locator
        authClientId:
          type: string
          title: auth_client_id
        authRole:
          type: string
          title: auth_role
        authCompleted:
          type: boolean
          title: auth_completed
        authConnectorType:
          $ref: '#/components/schemas/textql.rpc.public.connector.ConnectorType'
          title: auth_connector_type
        authWorkspaceUrl:
          type: string
          title: auth_workspace_url
          description: Databricks workspace URL for OAuth
          nullable: true
        executionTimeMs:
          type:
            - integer
            - string
          title: execution_time_ms
          format: int64
          nullable: true
        agentMemory:
          type: boolean
          title: agent_memory
      title: SQLCell
      additionalProperties: false
    textql.rpc.public.cells.StatusCell:
      type: object
      properties:
        status:
          type: string
          title: status
      title: StatusCell
      additionalProperties: false
      description: 'Deprecated: use tool_summary on Cell instead.'
    textql.rpc.public.cells.StreamlitCell:
      type: object
      properties:
        code:
          type: string
          title: code
        url:
          type: string
          title: url
          nullable: true
        errorMessage:
          type: string
          title: error_message
          nullable: true
        screenshotUrl:
          type: string
          title: screenshot_url
          nullable: true
        executionTimeMs:
          type:
            - integer
            - string
          title: execution_time_ms
          format: int64
          nullable: true
      title: StreamlitCell
      additionalProperties: false
    textql.rpc.public.cells.SummaryCell:
      type: object
      properties:
        summary:
          type: string
          title: summary
      title: SummaryCell
      additionalProperties: false
    textql.rpc.public.cells.TableauCell:
      type: object
      properties:
        datasetId:
          type: string
          title: dataset_id
        messageBlocks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.TableauMessageBlock'
          title: message_blocks
      title: TableauCell
      additionalProperties: false
    textql.rpc.public.cells.TableauSearchFieldsCell:
      type: object
      properties:
        searchTerm:
          type: string
          title: search_term
        resultText:
          type: string
          title: result_text
      title: TableauSearchFieldsCell
      additionalProperties: false
    textql.rpc.public.cells.TableauSQLCell:
      type: object
      properties:
        tableauDatasourceLuid:
          type: string
          title: tableau_datasource_luid
        query:
          type: string
          title: query
        dataframe:
          $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameWithInfo'
          title: dataframe
        dataframePreview:
          type: string
          title: dataframe_preview
      title: TableauSQLCell
      additionalProperties: false
    textql.rpc.public.cells.TabularFileCell:
      type: object
      properties:
        fileName:
          type: string
          title: file_name
        category:
          $ref: '#/components/schemas/textql.rpc.public.dataset.TabularFileCategory'
          title: category
        dataframes:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameInfo'
          title: dataframes
        datasetSourceId:
          type: string
          title: dataset_source_id
        previewAvailable:
          type: boolean
          title: preview_available
          nullable: true
      title: TabularFileCell
      additionalProperties: false
    textql.rpc.public.cells.TextCell:
      type: object
      properties:
        fileName:
          type: string
          title: file_name
        content:
          type: string
          title: content
        mimeType:
          type: string
          title: mime_type
        sizeBytes:
          type:
            - integer
            - string
          title: size_bytes
          format: int64
        datasetSourceId:
          type: string
          title: dataset_source_id
        lineCount:
          type: integer
          title: line_count
          format: int32
      title: TextCell
      additionalProperties: false
    textql.rpc.public.cells.ThinkingCell:
      type: object
      properties:
        content:
          type: string
          title: content
          description: summarized thinking text; empty for redacted blocks
        redacted:
          type: boolean
          title: redacted
          description: provider returned an encrypted redacted_thinking block
      title: ThinkingCell
      additionalProperties: false
    textql.rpc.public.cells.UseSkillCell:
      type: object
      properties:
        trigger:
          type: string
          title: trigger
        name:
          type: string
          title: name
        ok:
          type: boolean
          title: ok
      title: UseSkillCell
      additionalProperties: false
      description: |-
        UseSkillCell is the client projection of a `use_skill` auto-invoke. It
         deliberately carries no body field: the skill's instructions are LLM-facing
         prompt scaffolding (see compute/pkg/chat/cells/use_skill.go), never sent to
         the transcript. The frontend renders provenance only ("Using skill /trigger").
    textql.rpc.public.cells.WebSearchCell:
      type: object
      properties:
        query:
          type: string
          title: query
        searchType:
          $ref: '#/components/schemas/textql.rpc.public.cells.WebSearchType'
          title: search_type
        dateRange:
          $ref: '#/components/schemas/textql.rpc.public.cells.DateRange'
          title: date_range
        answer:
          type: string
          title: answer
          nullable: true
        exaResults:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.ExaSearchResult'
          title: exa_results
        costDollars:
          type: number
          title: cost_dollars
          format: double
          nullable: true
        executionTimeMs:
          type:
            - integer
            - string
          title: execution_time_ms
          format: int64
          nullable: true
      title: WebSearchCell
      additionalProperties: false
    textql.rpc.public.cells.ImageReference:
      type: object
      properties:
        name:
          type: string
          title: name
        url:
          type: string
          title: url
      title: ImageReference
      additionalProperties: false
    textql.rpc.public.cells.SQLReference:
      type: object
      properties:
        toolId:
          type: string
          title: tool_id
      title: SQLReference
      additionalProperties: false
    textql.rpc.public.cells.ContextPromptEditorAction:
      type: string
      title: ContextPromptEditorAction
      enum:
        - ACTION_UNKNOWN
        - ACTION_GET
        - ACTION_PROPOSE
        - ACTION_CREATE
    textql.rpc.public.cells.ContextPromptChangeStatus:
      type: string
      title: ContextPromptChangeStatus
      enum:
        - STATUS_UNKNOWN
        - STATUS_DRAFT
        - STATUS_PENDING
        - STATUS_REJECTED
        - STATUS_APPLIED
    textql.rpc.public.dashboard.DataSource:
      type: object
      allOf:
        - type: object
          properties:
            type:
              type: string
              title: type
              description: >-
                "sql_query", "file", "python_code", "ontology_sql", or
                "library_tql"
            name:
              type: string
              title: name
            parameters:
              type: array
              items:
                $ref: >-
                  #/components/schemas/textql.rpc.public.dashboard.QueryParameter
              title: parameters
              description: Parameters for live parameterized queries (sql_query type only)
            grant:
              $ref: '#/components/schemas/textql.rpc.public.dashboard.Grant'
              title: grant
              description: >-
                Optional author allowlist gating this source to specific org
                roles / members.
                 Presence forces the source out of the published snapshot (live-only, viewer-enforced).
        - oneOf:
            - type: object
              properties:
                file:
                  $ref: '#/components/schemas/textql.rpc.public.dashboard.FileSource'
                  title: file
              title: file
              required:
                - file
            - type: object
              properties:
                libraryTql:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dashboard.LibraryTQLSource
                  title: library_tql
              title: library_tql
              required:
                - libraryTql
            - type: object
              properties:
                ontologySql:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dashboard.OntologySqlSource
                  title: ontology_sql
              title: ontology_sql
              required:
                - ontologySql
            - type: object
              properties:
                pythonCode:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dashboard.PythonCodeSource
                  title: python_code
              title: python_code
              required:
                - pythonCode
            - type: object
              properties:
                sqlQuery:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dashboard.SqlQuerySource
                  title: sql_query
              title: sql_query
              required:
                - sqlQuery
      title: DataSource
      additionalProperties: false
      description: Unified data source for dashboards
    textql.rpc.public.cells.DashboardAction:
      type: string
      title: DashboardAction
      enum:
        - DASHBOARD_ACTION_UNKNOWN
        - DASHBOARD_ACTION_CREATE
        - DASHBOARD_ACTION_UPDATE
        - DASHBOARD_ACTION_PUBLISH
    textql.rpc.public.cells.EmailRecipient:
      type: object
      properties:
        address:
          type: string
          title: address
        class:
          type: string
          title: class
          description: '"internal" or "external"'
        memberId:
          type: string
          title: member_id
          description: populated when class == "internal"
          nullable: true
        displayName:
          type: string
          title: display_name
          nullable: true
      title: EmailRecipient
      additionalProperties: false
      description: |-
        EmailRecipient is one resolved recipient of an EmailCell. The frontend
         renders these as chips; the backend uses the resolution to enforce the
         internal-only policy at cell creation time.
    textql.rpc.public.cells.FeedAgentAction:
      type: string
      title: FeedAgentAction
      enum:
        - FEED_AGENT_ACTION_UNKNOWN
        - FEED_AGENT_ACTION_CREATE
        - FEED_AGENT_ACTION_UPDATE
    textql.rpc.public.cells.FeedAgentInfo:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        prompt:
          type: string
          title: prompt
        isActive:
          type: boolean
          title: is_active
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        paradigmOptions:
          $ref: '#/components/schemas/textql.rpc.public.paradigm.ParadigmOptions'
          title: paradigm_options
          nullable: true
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        llmModel:
          $ref: '#/components/schemas/textql.rpc.public.chat.LlmModel'
          title: llm_model
          nullable: true
        fastMode:
          type: boolean
          title: fast_mode
          nullable: true
        postingFrequencyCrons:
          type: array
          items:
            type: string
          title: posting_frequency_crons
      title: FeedAgentInfo
      additionalProperties: false
    textql.rpc.public.cells.FieldChange:
      type: object
      properties:
        fieldName:
          type: string
          title: field_name
        oldValue:
          type: string
          title: old_value
        newValue:
          type: string
          title: new_value
      title: FieldChange
      additionalProperties: false
      description: |-
        Represents a before/after change to a field during an update.
         Used by both PlaybookEditorCell and FeedCreateCell.
    textql.rpc.public.cells.ConnectorRef:
      type: object
      properties:
        id:
          type: integer
          title: id
          format: int32
        name:
          type: string
          title: name
        type:
          type: string
          title: type
      title: ConnectorRef
      additionalProperties: false
      description: Reference types for context data
    textql.rpc.public.cells.FormEditorAction:
      type: string
      title: FormEditorAction
      enum:
        - FORM_EDITOR_ACTION_UNKNOWN
        - FORM_EDITOR_ACTION_INFO
        - FORM_EDITOR_ACTION_VIEW
        - FORM_EDITOR_ACTION_CREATE
        - FORM_EDITOR_ACTION_UPDATE
    textql.rpc.public.cells.EditableForm:
      type: object
      properties:
        formName:
          type: string
          title: form_name
        fields:
          $ref: '#/components/schemas/google.protobuf.Struct'
          title: fields
        status:
          $ref: '#/components/schemas/textql.rpc.public.cells.EditableFormStatus'
          title: status
        id:
          type: string
          title: id
        submitError:
          type: string
          title: submit_error
          nullable: true
        submitResult:
          type: string
          title: submit_result
          nullable: true
        validationError:
          type: string
          title: validation_error
          nullable: true
      title: EditableForm
      additionalProperties: false
    textql.rpc.public.cells.GoogleDriveFile:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        mimeType:
          type: string
          title: mime_type
        size:
          type:
            - integer
            - string
          title: size
          format: int64
          nullable: true
        modifiedTime:
          type: string
          title: modified_time
          nullable: true
        webViewLink:
          type: string
          title: web_view_link
          nullable: true
      title: GoogleDriveFile
      additionalProperties: false
    textql.rpc.public.cells.FileReference:
      type: object
      properties:
        name:
          type: string
          title: name
        url:
          type: string
          title: url
        fileType:
          type: string
          title: file_type
      title: FileReference
      additionalProperties: false
    textql.rpc.public.cells.ExaSearchResult:
      type: object
      properties:
        title:
          type: string
          title: title
        url:
          type: string
          title: url
        text:
          type: string
          title: text
        author:
          type: string
          title: author
        publishedDate:
          type: string
          title: published_date
        favicon:
          type: string
          title: favicon
        image:
          type: string
          title: image
        score:
          type: number
          title: score
          format: double
        highlights:
          type: array
          items:
            type: string
          title: highlights
        highlightScores:
          type: array
          items:
            type: number
            format: double
          title: highlight_scores
        summary:
          type: string
          title: summary
      title: ExaSearchResult
      additionalProperties: false
    textql.rpc.public.cells.AppInfo:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        description:
          type: string
          title: description
          nullable: true
        status:
          type: string
          title: status
          description: '"draft" or "published" (derived from published_at)'
        creatorId:
          type: string
          title: creator_id
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: updated_at
        refreshedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: refreshed_at
          nullable: true
        publishedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: published_at
          nullable: true
      title: AppInfo
      additionalProperties: false
    textql.rpc.public.cells.DashboardInfo:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        description:
          type: string
          title: description
          nullable: true
        status:
          type: string
          title: status
        creatorId:
          type: string
          title: creator_id
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: updated_at
        refreshedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: refreshed_at
          nullable: true
      title: DashboardInfo
      additionalProperties: false
    textql.rpc.public.cells.AgentInfo:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        avatarUrl:
          type: string
          title: avatar_url
        type:
          type: string
          title: type
          description: '"human" or "bot"'
        email:
          type: string
          title: email
          nullable: true
      title: AgentInfo
      additionalProperties: false
    textql.rpc.public.cells.Citation:
      type: object
      properties:
        id:
          type: string
          title: id
        claim:
          type: string
          title: claim
        sourceCellId:
          type: string
          title: source_cell_id
          nullable: true
        sourceRef:
          type: string
          title: source_ref
          nullable: true
        sourceLocator:
          type: string
          title: source_locator
          nullable: true
        anchor:
          type: string
          title: anchor
        quotedText:
          type: string
          title: quoted_text
          nullable: true
        rationale:
          type: string
          title: rationale
          nullable: true
        lineage:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.CitationLineageNode'
          title: lineage
      title: Citation
      additionalProperties: false
    textql.rpc.public.dataframe.DataFrameWithInfo:
      type: object
      properties:
        df:
          $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrame'
          title: df
        info:
          $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameInfo'
          title: info
        preview:
          type: boolean
          title: preview
          description: whether df is merely a preview
      title: DataFrameWithInfo
      additionalProperties: false
    textql.rpc.public.cells.OntologyEditorAction:
      type: string
      title: OntologyEditorAction
      enum:
        - ONTOLOGY_ACTION_UNKNOWN
        - ONTOLOGY_ACTION_LIST
        - ONTOLOGY_ACTION_OBJECT
        - ONTOLOGY_ACTION_LINK
        - ONTOLOGY_ACTION_ATTRIBUTE
        - ONTOLOGY_ACTION_METRIC
    textql.rpc.public.cells.OntologyEditorListType:
      type: string
      title: OntologyEditorListType
      enum:
        - LIST_TYPE_UNKNOWN
        - LIST_TYPE_OBJECTS
        - LIST_TYPE_LINKS
        - LIST_TYPE_ATTRIBUTES
        - LIST_TYPE_METRICS
    textql.rpc.public.cells.OntologyEditorOperation:
      type: string
      title: OntologyEditorOperation
      enum:
        - OPERATION_UNKNOWN
        - OPERATION_CREATE
        - OPERATION_UPDATE
        - OPERATION_DELETE
    textql.rpc.public.cells.OntologyEditorStatus:
      type: string
      title: OntologyEditorStatus
      enum:
        - ONTOLOGY_STATUS_UNKNOWN
        - ONTOLOGY_STATUS_DRAFT
        - ONTOLOGY_STATUS_APPLIED
        - ONTOLOGY_STATUS_REJECTED
        - ONTOLOGY_STATUS_ERROR
    textql.rpc.public.cells.OntologyEditorListFilter:
      type: object
      properties:
        objectId:
          type: string
          title: object_id
          nullable: true
      title: OntologyEditorListFilter
      additionalProperties: false
    textql.rpc.public.ontology.OntologyObject:
      type: object
      allOf:
        - type: object
          properties:
            id:
              type: string
              title: id
            name:
              type: string
              title: name
            description:
              type: string
              title: description
            primaryKeyAttribute:
              $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeRef'
              title: primary_key_attribute
            titleAttribute:
              $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeRef'
              title: title_attribute
            interestingAttributes:
              type: array
              items:
                $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeRef'
              title: interesting_attributes
            graphProperties:
              $ref: '#/components/schemas/textql.rpc.public.ontology.GraphProperties'
              title: graph_properties
            accessTime:
              $ref: '#/components/schemas/google.protobuf.Timestamp'
              title: access_time
        - oneOf:
            - type: object
              properties:
                backingQuery:
                  type: string
                  title: backing_query
              title: backing_query
              required:
                - backingQuery
            - type: object
              properties:
                backingTable:
                  $ref: '#/components/schemas/textql.rpc.public.ontology.TableName'
                  title: backing_table
              title: backing_table
              required:
                - backingTable
      title: OntologyObject
      additionalProperties: false
      description: Ontology entities
    textql.rpc.public.ontology.OntologyAttribute:
      type: object
      properties:
        id:
          type: string
          title: id
        objectId:
          type: string
          title: object_id
        name:
          type: string
          title: name
        description:
          type: string
          title: description
        type:
          $ref: >-
            #/components/schemas/textql.rpc.public.ontology.OntologyAttributeType
          title: type
        isInherent:
          type: boolean
          title: is_inherent
        isMeasure:
          type: boolean
          title: is_measure
        isDimension:
          type: boolean
          title: is_dimension
        data:
          $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeData'
          title: data
        accessTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: access_time
      title: OntologyAttribute
      additionalProperties: false
    textql.rpc.public.ontology.OntologyRelation:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        description:
          type: string
          title: description
        type:
          $ref: '#/components/schemas/textql.rpc.public.ontology.RelationType'
          title: type
        objectA:
          $ref: '#/components/schemas/textql.rpc.public.ontology.ObjectRef'
          title: object_a
        objectB:
          $ref: '#/components/schemas/textql.rpc.public.ontology.ObjectRef'
          title: object_b
        joinKeyA:
          $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeRef'
          title: join_key_a
        joinKeyB:
          $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeRef'
          title: join_key_b
        intermediateJoin:
          $ref: '#/components/schemas/textql.rpc.public.ontology.IntermediateJoin'
          title: intermediate_join
        joinFormula:
          type: string
          title: join_formula
      title: OntologyRelation
      additionalProperties: false
    textql.rpc.public.ontology.OntologyMetric:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        description:
          type: string
          title: description
        objectId:
          type: string
          title: object_id
        attribute:
          $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeRef'
          title: attribute
        formula:
          type: string
          title: formula
        timeDimension:
          $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeRef'
          title: time_dimension
        breakdowns:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.ontology.AttributeRef'
          title: breakdowns
        aggregation:
          $ref: '#/components/schemas/textql.rpc.public.ontology.MetricAggregation'
          title: aggregation
        lod:
          type: array
          items:
            type: string
          title: lod
        accessTime:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: access_time
      title: OntologyMetric
      additionalProperties: false
    textql.rpc.public.cells.OntologyObjectDimensionLite:
      type: object
      properties:
        dimensionId:
          type: string
          title: dimension_id
        dimensionName:
          type: string
          title: dimension_name
        dimensionDescription:
          type: string
          title: dimension_description
        dimensionType:
          type: string
          title: dimension_type
      title: OntologyObjectDimensionLite
      additionalProperties: false
    textql.rpc.public.cells.OntologyObjectMetricLite:
      type: object
      properties:
        metricId:
          type: string
          title: metric_id
        metricName:
          type: string
          title: metric_name
        metricDescription:
          type: string
          title: metric_description
        metricAggregation:
          type: string
          title: metric_aggregation
      title: OntologyObjectMetricLite
      additionalProperties: false
    textql.rpc.public.cells.OntologyQueryParam:
      type: object
      properties:
        name:
          type: string
          title: name
        type:
          type: string
          title: type
        nullable:
          type: boolean
          title: nullable
        description:
          type: string
          title: description
          nullable: true
        defaultValue:
          type: string
          title: default_value
          nullable: true
      title: OntologyQueryParam
      additionalProperties: false
    textql.rpc.public.connector.ConnectorType:
      type: string
      title: ConnectorType
      enum:
        - CONNECTOR_TYPE_UNSPECIFIED
        - REDSHIFT
        - SNOWFLAKE
        - BIGQUERY
        - AZURE_SYNAPSE
        - AURORA
        - TABLEAU
        - DATABRICKS
        - SUPABASE
        - POSTGRES
        - MOTHERDUCK
        - CLICKHOUSE
        - MYSQL
        - ATHENA
        - GOOGLE_DRIVE
        - POWERBI
        - SQL_SERVER
        - MICROSOFT_365
        - SAP_HANA
        - ORACLE
        - GMAIL
        - ANA_INTERNAL
        - TRINO
        - GOOGLE_CALENDAR
        - GOOGLE
        - DREMIO
        - EXASOL
        - FIREBOLT
        - KDB
        - MONGODB
    textql.rpc.public.cells.OntologyMetricSearchMatch:
      type: object
      properties:
        metricId:
          type: string
          title: metric_id
        metricName:
          type: string
          title: metric_name
        metricDescription:
          type: string
          title: metric_description
        metricAggregation:
          type: string
          title: metric_aggregation
        objectId:
          type: string
          title: object_id
        objectName:
          type: string
          title: object_name
      title: OntologyMetricSearchMatch
      additionalProperties: false
    textql.rpc.public.patches.PatchStatus:
      type: string
      title: PatchStatus
      enum:
        - PATCH_STATUS_UNKNOWN
        - PATCH_STATUS_RESERVED
        - PATCH_STATUS_DRAFT
        - PATCH_STATUS_OPEN
        - PATCH_STATUS_APPROVED
        - PATCH_STATUS_DENIED
    textql.rpc.public.patches.PatchDiff:
      type: object
      properties:
        name:
          type: string
          title: name
        oldPath:
          type: string
          title: old_path
        newPath:
          type: string
          title: new_path
        hunks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.patches.PatchHunk'
          title: hunks
        additions:
          type:
            - integer
            - string
          title: additions
          format: int64
        deletions:
          type:
            - integer
            - string
          title: deletions
          format: int64
        isBinary:
          type: boolean
          title: is_binary
        isNew:
          type: boolean
          title: is_new
        isCopy:
          type: boolean
          title: is_copy
        isRename:
          type: boolean
          title: is_rename
        isDelete:
          type: boolean
          title: is_delete
        oldContent:
          type: string
          title: old_content
          description: 'optional: provide full file content for easy navigation'
          nullable: true
        newContent:
          type: string
          title: new_content
          nullable: true
      title: PatchDiff
      additionalProperties: false
    textql.rpc.public.cells.PlaybookEditorAction:
      type: string
      title: PlaybookEditorAction
      enum:
        - PLAYBOOK_ACTION_UNKNOWN
        - PLAYBOOK_ACTION_LIST
        - PLAYBOOK_ACTION_GET
        - PLAYBOOK_ACTION_CREATE
        - PLAYBOOK_ACTION_UPDATE
        - PLAYBOOK_ACTION_RUN
    textql.rpc.public.cells.PlaybookInfo:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        prompt:
          type: string
          title: prompt
        ownerId:
          type: string
          title: owner_id
        ownerEmail:
          type: string
          title: owner_email
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: updated_at
        cronString:
          type: string
          title: cron_string
        datasets:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.dataset.Dataset'
          title: datasets
        emailAddresses:
          type: array
          items:
            type: string
          title: email_addresses
        slackChannelId:
          type: string
          title: slack_channel_id
          nullable: true
        taggedSlackUserIds:
          type: array
          items:
            type: string
          title: tagged_slack_user_ids
        status:
          $ref: '#/components/schemas/textql.rpc.public.cells.PlaybookStatusLight'
          title: status
        connectorId:
          type: integer
          title: connector_id
          format: int32
          description: 'Deprecated: use connector_ids instead'
          nullable: true
          deprecated: true
        paradigmType:
          $ref: '#/components/schemas/textql.rpc.paradigm_params.ParadigmType'
          title: paradigm_type
          nullable: true
        reportOutputStyle:
          $ref: >-
            #/components/schemas/textql.rpc.public.cells.PlaybookReportStyleLight
          title: report_output_style
          nullable: true
        isSubscribed:
          type: boolean
          title: is_subscribed
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        teamsChannelId:
          type: string
          title: teams_channel_id
          nullable: true
        taggedTeamsUserAadIds:
          type: array
          items:
            type: string
          title: tagged_teams_user_aad_ids
      title: PlaybookInfo
      additionalProperties: false
      description: Simplified playbook info for display in cells
    textql.rpc.public.cells.SlackChannelRef:
      type: object
      properties:
        channelId:
          type: string
          title: channel_id
        name:
          type: string
          title: name
      title: SlackChannelRef
      additionalProperties: false
    textql.rpc.public.cells.SlackUserRef:
      type: object
      properties:
        userId:
          type: string
          title: user_id
        name:
          type: string
          title: name
      title: SlackUserRef
      additionalProperties: false
    textql.rpc.public.cells.OrgMemberRef:
      type: object
      properties:
        email:
          type: string
          title: email
        name:
          type: string
          title: name
      title: OrgMemberRef
      additionalProperties: false
    textql.rpc.public.cells.TeamsChannelRef:
      type: object
      properties:
        channelId:
          type: string
          title: channel_id
        name:
          type: string
          title: name
      title: TeamsChannelRef
      additionalProperties: false
    textql.rpc.public.cells.TeamsUserRef:
      type: object
      properties:
        userAadId:
          type: string
          title: user_aad_id
        name:
          type: string
          title: name
      title: TeamsUserRef
      additionalProperties: false
    textql.rpc.public.cells.PowerBIMessageBlock:
      type: object
      properties:
        content:
          type: string
          title: content
        imageBase64:
          type: string
          title: image_base64
      title: PowerBIMessageBlock
      additionalProperties: false
    textql.rpc.public.dataframe.DataFrameInfo:
      type: object
      properties:
        name:
          type: string
          title: name
        external:
          type: boolean
          title: external
        numRows:
          type:
            - integer
            - string
          title: num_rows
          format: int64
        numCols:
          type:
            - integer
            - string
          title: num_cols
          format: int64
        memoryUsage:
          type:
            - integer
            - string
          title: memory_usage
          format: int64
          description: in bytes
      title: DataFrameInfo
      additionalProperties: false
    textql.rpc.public.cells.ChartReference:
      type: object
      properties:
        name:
          type: string
          title: name
          description: Internal filename (e.g. echarts_chart_<slug>.html)
        url:
          type: string
          title: url
          description: Backwards-compat alias for html_url
        htmlUrl:
          type: string
          title: html_url
          description: s3 URL of the interactive HTML page
        pngUrl:
          type: string
          title: png_url
          description: s3 URL of the rasterised PNG screenshot
        title:
          type: string
          title: title
          description: Human-readable title from the chart's option spec
        specUrl:
          type: string
          title: spec_url
          description: >-
            s3 URL of the declarative ECharts option JSON sidecar; empty when
            the chart uses JsCode and is HTML-only
      title: ChartReference
      additionalProperties: false
      description: |-
        ChartReference points to an interactive HTML chart produced by sandbox
         code via the python cell's chart library (currently pyecharts). The chart
         is a self-contained HTML page (`html_url`) that loads its JS chart library
         from a same-origin self-hosted asset; the FE iframes this URL. A PNG
         rasterisation (`png_url`) is produced by the existing HTML→PNG screenshot
         service for the LLM's vision review, the in-chat PreviewCell thumbnail,
         downloads, and any non-JS surface.
    textql.rpc.public.cells.QuestionsStatus:
      type: string
      title: QuestionsStatus
      enum:
        - QUESTIONS_STATUS_UNKNOWN
        - QUESTIONS_STATUS_PENDING
        - QUESTIONS_STATUS_ANSWERED
        - QUESTIONS_STATUS_DISMISSED
    textql.rpc.public.cells.QuestionSpec:
      type: object
      properties:
        question:
          type: string
          title: question
        explanation:
          type: string
          title: explanation
          nullable: true
        kind:
          $ref: '#/components/schemas/textql.rpc.public.cells.QuestionKind'
          title: kind
        options:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.QuestionOption'
          title: options
          description: choice / multichoice
        allowCustom:
          type: boolean
          title: allow_custom
          description: adds a free-text "Other" option
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.QuestionInput'
          title: inputs
          description: inputs
      title: QuestionSpec
      additionalProperties: false
    textql.rpc.public.cells.QuestionAnswer:
      type: object
      properties:
        selected:
          type: array
          items:
            type: string
          title: selected
          description: chosen option names
        custom:
          type: string
          title: custom
          description: free-text entered for the "Other" option
          nullable: true
        inputs:
          type: array
          items:
            type: string
          title: inputs
          description: value per input (sensitive values blanked in the broadcast)
        provided:
          type: array
          items:
            type: boolean
          title: provided
          description: >-
            per input: was it filled? lets the summary show provided/empty for
            sensitive inputs without their value
      title: QuestionAnswer
      additionalProperties: false
    textql.rpc.public.reports.ReportBlock:
      type: object
      oneOf:
        - type: object
          properties:
            card:
              $ref: '#/components/schemas/textql.rpc.public.reports.CardBlock'
              title: card
          title: card
          required:
            - card
        - type: object
          properties:
            divider:
              $ref: '#/components/schemas/textql.rpc.public.reports.DividerBlock'
              title: divider
          title: divider
          required:
            - divider
        - type: object
          properties:
            hero:
              $ref: '#/components/schemas/textql.rpc.public.reports.HeroBlock'
              title: hero
          title: hero
          required:
            - hero
        - type: object
          properties:
            image:
              $ref: '#/components/schemas/textql.rpc.public.reports.ImageBlock'
              title: image
          title: image
          required:
            - image
        - type: object
          properties:
            imageText:
              $ref: '#/components/schemas/textql.rpc.public.reports.ImageTextBlock'
              title: image_text
          title: image_text
          required:
            - imageText
        - type: object
          properties:
            list:
              $ref: '#/components/schemas/textql.rpc.public.reports.ListBlock'
              title: list
          title: list
          required:
            - list
        - type: object
          properties:
            spacer:
              $ref: '#/components/schemas/textql.rpc.public.reports.SpacerBlock'
              title: spacer
          title: spacer
          required:
            - spacer
        - type: object
          properties:
            text:
              $ref: '#/components/schemas/textql.rpc.public.reports.TextBlock'
              title: text
          title: text
          required:
            - text
      title: ReportBlock
      additionalProperties: false
    textql.rpc.public.cells.ReportHistoryInfo:
      type: object
      properties:
        id:
          type: string
          title: id
        chatId:
          type: string
          title: chat_id
        cellId:
          type: string
          title: cell_id
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        subject:
          type: string
          title: subject
        summary:
          type: string
          title: summary
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.reports.ReportBlock'
          title: blocks
        readAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: read_at
          nullable: true
        previewCells:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.cells.PreviewCellRef'
          title: preview_cells
        htmlPreview:
          type: string
          title: html_preview
      title: ReportHistoryInfo
      additionalProperties: false
      description: Simplified report info for report history cell
    textql.rpc.public.cells.TableauMessageBlock:
      type: object
      properties:
        content:
          type: string
          title: content
        imageBase64:
          type: string
          title: image_base64
          description: optional, only present for blocks with images
        pdfBase64:
          type: string
          title: pdf_base64
          description: optional, only present for blocks with PDFs
      title: TableauMessageBlock
      additionalProperties: false
    textql.rpc.public.dataset.TabularFileCategory:
      type: string
      title: TabularFileCategory
      enum:
        - CATEGORY_UNKNOWN
        - CATEGORY_CSV
        - CATEGORY_TSV
        - CATEGORY_XLSX
        - CATEGORY_XLS
        - CATEGORY_PARQUET
        - CATEGORY_ODS
      description: never change the names or numbers of existing tabular file categories!
    textql.rpc.public.cells.WebSearchType:
      type: string
      title: WebSearchType
      enum:
        - TYPE_UNKNOWN
        - TYPE_RESEARCH
        - TYPE_QUESTION
        - TYPE_CONTENTS
    textql.rpc.public.cells.DateRange:
      type: string
      title: DateRange
      enum:
        - RANGE_UNKNOWN
        - RANGE_ALL
        - RANGE_PAST_DAY
        - RANGE_PAST_WEEK
        - RANGE_PAST_MONTH
        - RANGE_PAST_YEAR
    textql.rpc.public.dashboard.QueryParameter:
      type: object
      properties:
        name:
          type: string
          title: name
        type:
          type: string
          title: type
          description: '"string", "int", "float", "date"'
        default:
          type: string
          title: default
          nullable: true
      title: QueryParameter
      additionalProperties: false
    textql.rpc.public.dashboard.Grant:
      type: object
      properties:
        roles:
          type: array
          items:
            type: string
          title: roles
          description: org role names
        members:
          type: array
          items:
            type: string
          title: members
          description: explicit member ids
      title: Grant
      additionalProperties: false
      description: >-
        Grant is an author allowlist gating a data source or compute function. A
        viewer whose
         effective role names intersect roles, or whose member id is listed in members, may call it.
         Absent grant = org-visible (today's behavior); an empty grant object is invalid.
    textql.rpc.public.dashboard.FileSource:
      type: object
      properties:
        datasetId:
          type: string
          title: dataset_id
        fileName:
          type: string
          title: file_name
          description: Original filename for display
        sheetIndex:
          type: integer
          title: sheet_index
          format: int32
          description: Zero-based sheet index for multi-sheet files (default 0)
      title: FileSource
      additionalProperties: false
    textql.rpc.public.dashboard.LibraryTQLSource:
      type: object
      properties:
        tqlPath:
          type: string
          title: tql_path
          description: path to the .tql file in the Context Library (must end in .tql)
        connectorId:
          type: integer
          title: connector_id
          format: int32
          description: SQL connector to execute the rendered query against
        paramsJson:
          type: string
          title: params_json
          description: JSON object mapping parameter names to values; "" means no params
      title: LibraryTQLSource
      additionalProperties: false
      description: >-
        References a .tql file stored in the Context Library. The file is
        rendered
         to SQL at fetch time and executed against the provided connector. Template
         parameter values are JSON-encoded in `params_json` (e.g. {"region":"EU"}).
    textql.rpc.public.dashboard.OntologySqlSource:
      type: object
      properties:
        query:
          type: string
          title: query
        dataset:
          type: string
          title: dataset
        ontologyId:
          type: integer
          title: ontology_id
          format: int32
      title: OntologySqlSource
      additionalProperties: false
    textql.rpc.public.dashboard.PythonCodeSource:
      type: object
      properties:
        code:
          type: string
          title: code
      title: PythonCodeSource
      additionalProperties: false
    textql.rpc.public.dashboard.SqlQuerySource:
      type: object
      properties:
        query:
          type: string
          title: query
        connectorId:
          type: integer
          title: connector_id
          format: int32
        predicate:
          type: string
          title: predicate
          description: >-
            Optional viewer row-filter appended server-side at live-query time;
            binds :viewer_member_id / :viewer_email. Presence forces the source
            out of the published snapshot.
      title: SqlQuerySource
      additionalProperties: false
    textql.rpc.public.paradigm.ParadigmOptions:
      type: object
      oneOf:
        - type: object
          properties:
            universal:
              $ref: '#/components/schemas/textql.rpc.public.paradigm.UniversalOptions'
              title: universal
          title: universal
          required:
            - universal
      title: ParadigmOptions
      additionalProperties: false
    textql.rpc.public.chat.LlmModel:
      type: string
      title: LlmModel
      enum:
        - MODEL_UNKNOWN
        - MODEL_DEFAULT_SMALL
        - MODEL_DEFAULT
        - MODEL_DEFAULT_LARGE
        - MODEL_DEFAULT_REASONING
        - MODEL_HAIKU_4_5
        - MODEL_OPUS_4_8
        - MODEL_FABLE_5
        - MODEL_SONNET_5
        - MODEL_GPT_5_6_SOL
        - MODEL_GEMINI_3_FLASH
        - MODEL_GEMINI_3_PRO
        - MODEL_GEMINI_3_1_PRO
        - MODEL_GEMINI_3_5_FLASH
        - MODEL_GPT_5_6_TERRA
        - MODEL_GPT_5_6_LUNA
        - MODEL_DEEPSEEK_3_2
        - MODEL_GLM_5
        - MODEL_VLLM
        - MODEL_KIMI_K2_6
        - MODEL_GLM_5_2
        - MODEL_KIMI_K2_7_CODE
        - MODEL_QWEN3_7_PLUS
        - MODEL_MUSE_SPARK_1_1
    google.protobuf.Struct:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/google.protobuf.Value'
      description: |-
        `Struct` represents a structured data value, consisting of fields
         which map to dynamically typed values. In some languages, `Struct`
         might be supported by a native representation. For example, in
         scripting languages like JS a struct is represented as an
         object. The details of that representation are described together
         with the proto support for the language.

         The JSON representation for `Struct` is JSON object.
    textql.rpc.public.cells.EditableFormStatus:
      type: string
      title: EditableFormStatus
      enum:
        - EDITABLE_FORM_STATUS_UNKNOWN
        - EDITABLE_FORM_STATUS_DRAFT
        - EDITABLE_FORM_STATUS_MODIFIED
        - EDITABLE_FORM_STATUS_SUBMITTING
        - EDITABLE_FORM_STATUS_SUBMITTED
        - EDITABLE_FORM_STATUS_REJECTED
    textql.rpc.public.cells.CitationLineageNode:
      type: object
      properties:
        cellId:
          type: string
          title: cell_id
        kind:
          type: string
          title: kind
          description: '"sql" | "python"'
        dataframeName:
          type: string
          title: dataframe_name
          description: Produced dataframe name, if applicable
          nullable: true
        connectorId:
          type: integer
          title: connector_id
          format: int32
          description: 'SQL only: connector ID; display name resolves client-side'
          nullable: true
        tables:
          type: array
          items:
            type: string
          title: tables
          description: 'SQL only: referenced tables'
        inputCellIds:
          type: array
          items:
            type: string
          title: input_cell_ids
          description: upstream cell(s), for graph lineage
      title: CitationLineageNode
      additionalProperties: false
    textql.rpc.public.dataframe.DataFrame:
      type: object
      properties:
        schema:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameField'
          title: schema
        records:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameRecord'
          title: records
      title: DataFrame
      additionalProperties: false
    textql.rpc.public.ontology.AttributeRef:
      type: object
      properties:
        attributeRef:
          type: string
          title: attribute_ref
      title: AttributeRef
      additionalProperties: false
    textql.rpc.public.ontology.GraphProperties:
      type: object
      properties:
        position:
          $ref: '#/components/schemas/textql.rpc.public.ontology.GraphPosition'
          title: position
        icon:
          type: string
          title: icon
        color:
          type: string
          title: color
      title: GraphProperties
      additionalProperties: false
    textql.rpc.public.ontology.TableName:
      type: object
      properties:
        schema:
          type: string
          title: schema
        table:
          type: string
          title: table
        database:
          type: string
          title: database
      title: TableName
      additionalProperties: false
      description: Core data types
    textql.rpc.public.ontology.OntologyAttributeType:
      type: string
      title: OntologyAttributeType
      enum:
        - ONTOLOGY_ATTRIBUTE_TYPE_UNSPECIFIED
        - ONTOLOGY_ATTRIBUTE_TYPE_STRING
        - ONTOLOGY_ATTRIBUTE_TYPE_NUMBER
        - ONTOLOGY_ATTRIBUTE_TYPE_INT
        - ONTOLOGY_ATTRIBUTE_TYPE_BOOLEAN
        - ONTOLOGY_ATTRIBUTE_TYPE_DATE
        - ONTOLOGY_ATTRIBUTE_TYPE_DATE_TIME
        - ONTOLOGY_ATTRIBUTE_TYPE_TIMESTAMP
        - ONTOLOGY_ATTRIBUTE_TYPE_ENUM
        - ONTOLOGY_ATTRIBUTE_TYPE_JSON
        - ONTOLOGY_ATTRIBUTE_TYPE_JSONB
        - ONTOLOGY_ATTRIBUTE_TYPE_UUID
    textql.rpc.public.ontology.AttributeData:
      type: object
      oneOf:
        - type: object
          properties:
            linked:
              $ref: >-
                #/components/schemas/textql.rpc.public.ontology.LinkedAttributeData
              title: linked
          title: linked
          required:
            - linked
        - type: object
          properties:
            unlinked:
              $ref: >-
                #/components/schemas/textql.rpc.public.ontology.UnlinkedAttributeData
              title: unlinked
          title: unlinked
          required:
            - unlinked
      title: AttributeData
      additionalProperties: false
    textql.rpc.public.ontology.RelationType:
      type: string
      title: RelationType
      enum:
        - RELATION_TYPE_UNSPECIFIED
        - RELATION_TYPE_ONE_TO_MANY
        - RELATION_TYPE_MANY_TO_ONE
        - RELATION_TYPE_ONE_TO_ONE
        - RELATION_TYPE_MANY_TO_MANY
    textql.rpc.public.ontology.ObjectRef:
      type: object
      properties:
        objectRef:
          type: string
          title: object_ref
      title: ObjectRef
      additionalProperties: false
    textql.rpc.public.ontology.IntermediateJoin:
      type: object
      properties:
        tableName:
          type: string
          title: table_name
        leftColumn:
          type: string
          title: left_column
        rightColumn:
          type: string
          title: right_column
      title: IntermediateJoin
      additionalProperties: false
    textql.rpc.public.ontology.MetricAggregation:
      type: string
      title: MetricAggregation
      enum:
        - METRIC_AGGREGATION_SUM
        - METRIC_AGGREGATION_COUNT
        - METRIC_AGGREGATION_AVG
        - METRIC_AGGREGATION_MIN
        - METRIC_AGGREGATION_MAX
        - METRIC_AGGREGATION_COUNT_DISTINCT
        - METRIC_AGGREGATION_MEDIAN
        - METRIC_AGGREGATION_ARRAY_AGG
    textql.rpc.public.patches.PatchHunk:
      type: object
      properties:
        comment:
          type: string
          title: comment
        oldPosition:
          type:
            - integer
            - string
          title: old_position
          format: int64
        oldLines:
          type:
            - integer
            - string
          title: old_lines
          format: int64
        newPosition:
          type:
            - integer
            - string
          title: new_position
          format: int64
        newLines:
          type:
            - integer
            - string
          title: new_lines
          format: int64
        linesAdded:
          type:
            - integer
            - string
          title: lines_added
          format: int64
        linesDeleted:
          type:
            - integer
            - string
          title: lines_deleted
          format: int64
        leadingContext:
          type:
            - integer
            - string
          title: leading_context
          format: int64
        trailingContext:
          type:
            - integer
            - string
          title: trailing_context
          format: int64
        lines:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.patches.PatchLine'
          title: lines
      title: PatchHunk
      additionalProperties: false
    textql.rpc.public.dataset.Dataset:
      type: object
      allOf:
        - type: object
          properties:
            id:
              type: string
              title: id
            type:
              $ref: '#/components/schemas/textql.rpc.public.dataset.DatasetType'
              title: type
            name:
              type: string
              title: name
            version:
              type: integer
              title: version
              format: int32
            path:
              type: string
              title: path
              description: folder structure to reach this file
            owner:
              $ref: '#/components/schemas/textql.rpc.identity.MemberPreview'
              title: owner
            userPermissions:
              $ref: '#/components/schemas/textql.rpc.public.dataset.DatasetPermission'
              title: user_permissions
              description: for logged in user
            createdAt:
              $ref: '#/components/schemas/google.protobuf.Timestamp'
              title: created_at
            updatedAt:
              $ref: '#/components/schemas/google.protobuf.Timestamp'
              title: updated_at
            expiresAt:
              $ref: '#/components/schemas/google.protobuf.Timestamp'
              title: expires_at
              nullable: true
            ephemeral:
              type: boolean
              title: ephemeral
        - oneOf:
            - type: object
              properties:
                dataframe:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dataset.SandboxDataFrame
                  title: dataframe
              title: dataframe
              required:
                - dataframe
            - type: object
              properties:
                document:
                  $ref: '#/components/schemas/textql.rpc.public.dataset.Document'
                  title: document
              title: document
              required:
                - document
            - type: object
              properties:
                powerbiData:
                  $ref: '#/components/schemas/textql.rpc.public.dataset.PowerBIData'
                  title: powerbi_data
              title: powerbi_data
              required:
                - powerbiData
            - type: object
              properties:
                tableauData:
                  $ref: '#/components/schemas/textql.rpc.public.dataset.TableauData'
                  title: tableau_data
              title: tableau_data
              required:
                - tableauData
            - type: object
              properties:
                tabularFile:
                  $ref: '#/components/schemas/textql.rpc.public.dataset.TabularFile'
                  title: tabular_file
              title: tabular_file
              required:
                - tabularFile
      title: Dataset
      additionalProperties: false
    textql.rpc.public.cells.PlaybookStatusLight:
      type: string
      title: PlaybookStatusLight
      enum:
        - PLAYBOOK_STATUS_UNKNOWN
        - PLAYBOOK_STATUS_ACTIVE
        - PLAYBOOK_STATUS_INACTIVE
      description: 'TODO(joseph): Clean up base enums // messages etc.'
    textql.rpc.paradigm_params.ParadigmType:
      type: string
      title: ParadigmType
      enum:
        - TYPE_UNKNOWN
        - TYPE_UNIVERSAL
    textql.rpc.public.cells.PlaybookReportStyleLight:
      type: string
      title: PlaybookReportStyleLight
      enum:
        - REPORT_STYLE_LIGHT_UNKNOWN
        - REPORT_STYLE_LIGHT_EXECUTIVE
        - REPORT_STYLE_LIGHT_VERBOSE
        - REPORT_STYLE_LIGHT_CONCISE
      description: >-
        Playbook report output style - matches parseReportStyle in
        playbook_helpers.go
         REPORT_STYLE_EXECUTIVE = "Executive_Report" or "Executive"
         REPORT_STYLE_VERBOSE = "Verbose" or "Thorough"
         REPORT_STYLE_CONCISE = "Concise" or "Brief"
    textql.rpc.public.cells.QuestionKind:
      type: string
      title: QuestionKind
      enum:
        - QUESTION_KIND_UNKNOWN
        - QUESTION_KIND_CHOICE
        - QUESTION_KIND_MULTICHOICE
        - QUESTION_KIND_INPUTS
    textql.rpc.public.cells.QuestionOption:
      type: object
      properties:
        name:
          type: string
          title: name
        description:
          type: string
          title: description
          description: short gray subtitle, max one line
          nullable: true
        explanation:
          type: string
          title: explanation
          description: longer hover tooltip
          nullable: true
      title: QuestionOption
      additionalProperties: false
    textql.rpc.public.cells.QuestionInput:
      type: object
      properties:
        kind:
          $ref: '#/components/schemas/textql.rpc.public.cells.QuestionInputKind'
          title: kind
        label:
          type: string
          title: label
        explanation:
          type: string
          title: explanation
          nullable: true
        sensitive:
          type: boolean
          title: sensitive
          description: 'formfield inputs: the value is never shown to the agent'
        formPathLabel:
          type: string
          title: form_path_label
          description: pretty destination path, for the user to verify
          nullable: true
      title: QuestionInput
      additionalProperties: false
    textql.rpc.public.reports.CardBlock:
      type: object
      properties:
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.reports.ReportBlock'
          title: blocks
      title: CardBlock
      additionalProperties: false
    textql.rpc.public.reports.DividerBlock:
      type: object
      title: DividerBlock
      additionalProperties: false
    textql.rpc.public.reports.HeroBlock:
      type: object
      properties:
        imageUrl:
          type: string
          title: image_url
        imageAlt:
          type: string
          title: image_alt
          nullable: true
      title: HeroBlock
      additionalProperties: false
    textql.rpc.public.reports.ImageBlock:
      type: object
      properties:
        imageUrl:
          type: string
          title: image_url
        imageAlt:
          type: string
          title: image_alt
          nullable: true
        variant:
          $ref: '#/components/schemas/textql.rpc.public.reports.ImageVariant'
          title: variant
          nullable: true
      title: ImageBlock
      additionalProperties: false
    textql.rpc.public.reports.ImageTextBlock:
      type: object
      properties:
        imageUrl:
          type: string
          title: image_url
        imageAlt:
          type: string
          title: image_alt
          nullable: true
        variant:
          $ref: '#/components/schemas/textql.rpc.public.reports.ImageVariant'
          title: variant
          nullable: true
        heading:
          type: string
          title: heading
          nullable: true
        content:
          type: string
          title: content
          nullable: true
      title: ImageTextBlock
      additionalProperties: false
    textql.rpc.public.reports.ListBlock:
      type: object
      properties:
        heading:
          type: string
          title: heading
          nullable: true
        items:
          type: array
          items:
            type: string
          title: items
      title: ListBlock
      additionalProperties: false
    textql.rpc.public.reports.SpacerBlock:
      type: object
      properties:
        height:
          type: integer
          title: height
          format: int32
          nullable: true
      title: SpacerBlock
      additionalProperties: false
    textql.rpc.public.reports.TextBlock:
      type: object
      properties:
        heading:
          type: string
          title: heading
          nullable: true
        content:
          type: string
          title: content
          nullable: true
      title: TextBlock
      additionalProperties: false
    textql.rpc.public.cells.PreviewCellRef:
      type: object
      properties:
        target:
          type: string
          title: target
        previewType:
          type: string
          title: preview_type
        name:
          type: string
          title: name
        url:
          type: string
          title: url
          nullable: true
      title: PreviewCellRef
      additionalProperties: false
      description: Preview cell reference for report history
    textql.rpc.public.paradigm.UniversalOptions:
      type: object
      properties:
        connectorIds:
          type: array
          items:
            type: integer
            format: int32
          title: connector_ids
        datasetId:
          type: string
          title: dataset_id
          nullable: true
        webSearchEnabled:
          type: boolean
          title: web_search_enabled
        sqlEnabled:
          type: boolean
          title: sql_enabled
        ontologyEnabled:
          type: boolean
          title: ontology_enabled
        ontologyEditingEnabled:
          type: boolean
          title: ontology_editing_enabled
        pythonEnabled:
          type: boolean
          title: python_enabled
        autoApproveEnabled:
          type: boolean
          title: auto_approve_enabled
        googleDriveEnabled:
          type: boolean
          title: google_drive_enabled
        powerbiEnabled:
          type: boolean
          title: powerbi_enabled
        contextEditingEnabled:
          type: boolean
          title: context_editing_enabled
        formEditorEnabled:
          type: boolean
          title: form_editor_enabled
        playbookToolsEnabled:
          type: boolean
          title: playbook_tools_enabled
        microsoft365Enabled:
          type: boolean
          title: microsoft365_enabled
        feedExplorerEnabled:
          type: boolean
          title: feed_explorer_enabled
        bashEnabled:
          type: boolean
          title: bash_enabled
        javascriptEnabled:
          type: boolean
          title: javascript_enabled
        feedPostEnabled:
          type: boolean
          title: feed_post_enabled
        feedCommentEnabled:
          type: boolean
          title: feed_comment_enabled
        feedEngageEnabled:
          type: boolean
          title: feed_engage_enabled
        streamlitEnabled:
          type: boolean
          title: streamlit_enabled
        compactionDisabled:
          type: boolean
          title: compaction_disabled
        gmailEnabled:
          type: boolean
          title: gmail_enabled
        chatHistorySearchEnabled:
          type: boolean
          title: chat_history_search_enabled
        googleCalendarEnabled:
          type: boolean
          title: google_calendar_enabled
        emailOutputEnabled:
          type: boolean
          title: email_output_enabled
        powerbiSelections:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.powerbi_selection.PowerBISelection'
          title: powerbi_selections
        smsMode:
          type: boolean
          title: sms_mode
        apiAccessKeyIds:
          type: array
          items:
            type: string
          title: api_access_key_ids
      title: UniversalOptions
      additionalProperties: false
    google.protobuf.Value:
      oneOf:
        - type: 'null'
        - type: number
        - type: string
        - type: boolean
        - type: array
        - type: object
          additionalProperties: true
      description: |-
        `Value` represents a dynamically typed value which can be either
         null, a number, a string, a boolean, a recursive struct value, or a
         list of values. A producer of value is expected to set one of these
         variants. Absence of any variant indicates an error.

         The JSON representation for `Value` is JSON value.
    textql.rpc.public.dataframe.DataFrameField:
      type: object
      properties:
        columnName:
          type: string
          title: column_name
        columnType:
          type: string
          title: column_type
        columnIndex:
          type: integer
          title: column_index
          format: int32
      title: DataFrameField
      additionalProperties: false
    textql.rpc.public.dataframe.DataFrameRecord:
      type: object
      properties:
        columns:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameColumn'
          title: columns
      title: DataFrameRecord
      additionalProperties: false
    textql.rpc.public.ontology.GraphPosition:
      type: object
      properties:
        x:
          type: number
          title: x
          format: double
        'y':
          type: number
          title: 'y'
          format: double
      title: GraphPosition
      additionalProperties: false
    textql.rpc.public.ontology.LinkedAttributeData:
      type: object
      properties:
        relationId:
          type: string
          title: relation_id
        targetAttributeId:
          type: string
          title: target_attribute_id
      title: LinkedAttributeData
      additionalProperties: false
    textql.rpc.public.ontology.UnlinkedAttributeData:
      type: object
      properties:
        columnName:
          type: string
          title: column_name
      title: UnlinkedAttributeData
      additionalProperties: false
    textql.rpc.public.patches.PatchLine:
      type: object
      properties:
        op:
          $ref: '#/components/schemas/textql.rpc.public.patches.PatchLineOp'
          title: op
        line:
          type: string
          title: line
      title: PatchLine
      additionalProperties: false
    textql.rpc.public.dataset.DatasetType:
      type: string
      title: DatasetType
      enum:
        - TYPE_UNKNOWN
        - TYPE_TABULAR
        - TYPE_DATAFRAME
        - TYPE_DOCUMENT
        - TYPE_TABLEAU
        - TYPE_IMAGE
        - TYPE_TEXT
        - TYPE_POWERBI
      description: never change the names or numbers of existing dataset types!
    textql.rpc.identity.MemberPreview:
      type: object
      properties:
        memberId:
          type: string
          title: member_id
        memberEmail:
          type: string
          title: member_email
          description: |-
            the fields are optionally populated, depending on the context
             may require RPC fields such as `include_owner` to be set to true
          nullable: true
        memberName:
          type: string
          title: member_name
          nullable: true
        memberPictureUrl:
          type: string
          title: member_picture_url
          nullable: true
      title: MemberPreview
      additionalProperties: false
    textql.rpc.public.dataset.DatasetPermission:
      type: string
      title: DatasetPermission
      enum:
        - PERMISSION_UNKNOWN
        - PERMISSION_READ
        - PERMISSION_EDIT
        - PERMISSION_ADMIN
    textql.rpc.public.dataset.SandboxDataFrame:
      type: object
      properties:
        info:
          $ref: '#/components/schemas/textql.rpc.public.dataframe.DataFrameInfo'
          title: info
      title: SandboxDataFrame
      additionalProperties: false
    textql.rpc.public.dataset.Document:
      type: object
      properties:
        previewUrl:
          type: string
          title: preview_url
        pageCount:
          type: integer
          title: page_count
          format: int32
      title: Document
      additionalProperties: false
    textql.rpc.public.dataset.PowerBIData:
      type: object
      properties:
        connectorId:
          type: integer
          title: connector_id
          format: int32
        reportIds:
          type: array
          items:
            type: string
          title: report_ids
        datasetIds:
          type: array
          items:
            type: string
          title: dataset_ids
        reportNames:
          type: array
          items:
            type: string
          title: report_names
        datasetNames:
          type: array
          items:
            type: string
          title: dataset_names
        workspaceId:
          type: string
          title: workspace_id
        workspaceName:
          type: string
          title: workspace_name
      title: PowerBIData
      additionalProperties: false
    textql.rpc.public.dataset.TableauData:
      type: object
      properties:
        connectorId:
          type: integer
          title: connector_id
          format: int32
        projectId:
          type: string
          title: project_id
        projectName:
          type: string
          title: project_name
        views:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.tableau.TableauView'
          title: views
        datasources:
          type: array
          items:
            $ref: '#/components/schemas/textql.rpc.public.tableau.TableauDatasource'
          title: datasources
      title: TableauData
      additionalProperties: false
    textql.rpc.public.dataset.TabularFile:
      type: object
      properties:
        category:
          $ref: '#/components/schemas/textql.rpc.public.dataset.TabularFileCategory'
          title: category
        rowCount:
          type:
            - integer
            - string
          title: row_count
          format: int64
        columnCount:
          type:
            - integer
            - string
          title: column_count
          format: int64
        sheetCount:
          type: integer
          title: sheet_count
          format: int32
      title: TabularFile
      additionalProperties: false
    textql.rpc.public.cells.QuestionInputKind:
      type: string
      title: QuestionInputKind
      enum:
        - QUESTION_INPUT_KIND_UNKNOWN
        - QUESTION_INPUT_KIND_TEXT
        - QUESTION_INPUT_KIND_FORMFIELD
        - QUESTION_INPUT_KIND_MULTILINE
    textql.rpc.public.reports.ImageVariant:
      type: string
      title: ImageVariant
      enum:
        - IMAGE_VARIANT_CIRCULAR
        - IMAGE_VARIANT_ROUNDED
        - IMAGE_VARIANT_PILL
        - IMAGE_VARIANT_NONE
    textql.rpc.powerbi_selection.PowerBISelection:
      type: object
      properties:
        workspaceId:
          type: string
          title: workspace_id
        reportIds:
          type: array
          items:
            type: string
          title: report_ids
        datasetIds:
          type: array
          items:
            type: string
          title: dataset_ids
        workspaceName:
          type: string
          title: workspace_name
        connectorId:
          type: integer
          title: connector_id
          format: int32
      title: PowerBISelection
      additionalProperties: false
      description: |-
        PowerBISelection captures a chosen PowerBI workspace (and optionally the
         specific reports/datasets within it) for attaching to a chat. Field shape
         mirrors textql.rpc.public.paradigm.PowerBISelection; kept in a standalone
         package so it can be shared by paradigm_params without an import cycle
         (public/paradigm.proto already imports paradigm_params.proto).
    textql.rpc.public.dataframe.DataFrameColumn:
      type: object
      allOf:
        - type: object
          properties:
            columnIndex:
              type: integer
              title: column_index
              format: int32
        - oneOf:
            - type: object
              properties:
                bools:
                  $ref: '#/components/schemas/textql.rpc.public.dataframe.BoolValues'
                  title: bools
              title: bools
              required:
                - bools
            - type: object
              properties:
                bytes:
                  $ref: '#/components/schemas/textql.rpc.public.dataframe.ByteValues'
                  title: bytes
              title: bytes
              required:
                - bytes
            - type: object
              properties:
                doubles:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dataframe.DoubleValues
                  title: doubles
              title: doubles
              required:
                - doubles
            - type: object
              properties:
                floats:
                  $ref: '#/components/schemas/textql.rpc.public.dataframe.FloatValues'
                  title: floats
              title: floats
              required:
                - floats
            - type: object
              properties:
                int32:
                  $ref: '#/components/schemas/textql.rpc.public.dataframe.Int32Values'
                  title: int32
              title: int32
              required:
                - int32
            - type: object
              properties:
                int64:
                  $ref: '#/components/schemas/textql.rpc.public.dataframe.Int64Values'
                  title: int64
              title: int64
              required:
                - int64
            - type: object
              properties:
                strings:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dataframe.StringValues
                  title: strings
              title: strings
              required:
                - strings
            - type: object
              properties:
                timestamps:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dataframe.TimestampValues
                  title: timestamps
              title: timestamps
              required:
                - timestamps
            - type: object
              properties:
                uint32:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dataframe.Uint32Values
                  title: uint32
              title: uint32
              required:
                - uint32
            - type: object
              properties:
                uint64:
                  $ref: >-
                    #/components/schemas/textql.rpc.public.dataframe.Uint64Values
                  title: uint64
              title: uint64
              required:
                - uint64
      title: DataFrameColumn
      additionalProperties: false
    textql.rpc.public.patches.PatchLineOp:
      type: string
      title: PatchLineOp
      enum:
        - PATCH_LINE_OP_CONTEXT
        - PATCH_LINE_OP_DELETE
        - PATCH_LINE_OP_ADD
    textql.rpc.public.tableau.TableauView:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        contentUrl:
          type: string
          title: content_url
        workbookId:
          type: string
          title: workbook_id
        workbookName:
          type: string
          title: workbook_name
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: updated_at
        embedUrl:
          type: string
          title: embed_url
      title: TableauView
      additionalProperties: false
    textql.rpc.public.tableau.TableauDatasource:
      type: object
      properties:
        id:
          type: string
          title: id
        name:
          type: string
          title: name
        type:
          type: string
          title: type
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: updated_at
        isPublished:
          type: boolean
          title: is_published
        projectId:
          type: string
          title: project_id
        projectName:
          type: string
          title: project_name
      title: TableauDatasource
      additionalProperties: false
      description: 'TODO: Add datasources support'
    textql.rpc.public.dataframe.BoolValues:
      type: object
      properties:
        values:
          type: array
          items:
            type: boolean
          title: values
      title: BoolValues
      additionalProperties: false
    textql.rpc.public.dataframe.ByteValues:
      type: object
      properties:
        values:
          type: array
          items:
            type: string
            format: byte
          title: values
      title: ByteValues
      additionalProperties: false
    textql.rpc.public.dataframe.DoubleValues:
      type: object
      properties:
        values:
          type: array
          items:
            type: number
            format: double
          title: values
      title: DoubleValues
      additionalProperties: false
    textql.rpc.public.dataframe.FloatValues:
      type: object
      properties:
        values:
          type: array
          items:
            type: number
            format: float
          title: values
      title: FloatValues
      additionalProperties: false
    textql.rpc.public.dataframe.Int32Values:
      type: object
      properties:
        values:
          type: array
          items:
            type: integer
            format: int32
          title: values
      title: Int32Values
      additionalProperties: false
    textql.rpc.public.dataframe.Int64Values:
      type: object
      properties:
        values:
          type: array
          items:
            type:
              - integer
              - string
            format: int64
          title: values
      title: Int64Values
      additionalProperties: false
    textql.rpc.public.dataframe.StringValues:
      type: object
      properties:
        values:
          type: array
          items:
            type: string
          title: values
      title: StringValues
      additionalProperties: false
    textql.rpc.public.dataframe.TimestampValues:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: values
      title: TimestampValues
      additionalProperties: false
    textql.rpc.public.dataframe.Uint32Values:
      type: object
      properties:
        values:
          type: array
          items:
            type: integer
          title: values
      title: Uint32Values
      additionalProperties: false
    textql.rpc.public.dataframe.Uint64Values:
      type: object
      properties:
        values:
          type: array
          items:
            type:
              - integer
              - string
            format: int64
          title: values
      title: Uint64Values
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: tql_api_key

````