@alvera-ai/platform-sdk 0.19.1 → 0.19.2-next.gd6873f7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -157,7 +157,7 @@ trail this trap leaves.
157
157
 
158
158
  SQL is the second consumer-author surface: WHERE clauses on
159
159
  dataset searches (`api.datasets.createUserSearch.search_query`,
160
- see `data_activation_clients.md` §6.5). Liquid renders some of
160
+ see `data_activation_clients.md` §6.6). Liquid renders some of
161
161
  these from templates; others arrive directly as raw SQL
162
162
  fragments. Either path lands at the same boundary.
163
163
 
@@ -165,7 +165,7 @@ fragments. Either path lands at the same boundary.
165
165
 
166
166
  - SELECT against the tables exposed by the dataset search aliases
167
167
  (`le` for legal entities, `m` for messages, `al` for action logs
168
- — see `data_activation_clients.md` §6.5 SQL aliases).
168
+ — see `data_activation_clients.md` §6.6 SQL aliases).
169
169
  - Filter results into the platform's `search_results`
170
170
  accumulator scoped to the materialised search id. This is the
171
171
  one write the query path performs, and the platform builds it
@@ -305,5 +305,5 @@ guarantees it captures back-stop Layer 1.
305
305
  - `account_management.md` §3 — session role vocabularies (Layer 1)
306
306
  - `interoperability_contracts.md` §2 — template_config body shape (Layer 2)
307
307
  - `workflows.md` gotcha 9 — the `| to_json` vs `| json` trap (Layer 2)
308
- - `data_activation_clients.md` §6.5 — dataset search SQL aliases (Layer 3)
308
+ - `data_activation_clients.md` §6.6 — dataset search SQL aliases (Layer 3)
309
309
  - `mdm.md` — verification surface that composes with Layer 1
@@ -377,7 +377,7 @@ Three run shapes exist, selected by the bound tool's
377
377
  All three produce **log rows** observable through
378
378
  `api.dataActivationClients.logs.*` (§6.4), and the canonical way
379
379
  to **verify** that ingestion worked is the two-step
380
- dataset-search pattern in §6.5.
380
+ dataset-search pattern in §6.6.
381
381
 
382
382
  ### 6.1 Inline JSON ingestion — `.ingest`
383
383
 
@@ -397,7 +397,7 @@ const { data } = await api.dataActivationClients.ingest(
397
397
  The response returns **immediately after enqueueing**, not
398
398
  after ingestion completes. To know when the row has actually
399
399
  been written, poll the logs (§6.4) or use the verification
400
- pattern (§6.5).
400
+ pattern (§6.6).
401
401
 
402
402
  The `batch_id` is the most important field on the response —
403
403
  every downstream log row and dataset row carries the same
@@ -534,7 +534,110 @@ merge step has committed the ndjson archive. Use
534
534
  `output_files.length > 0` as the "this batch's rows are fully
535
535
  durable" signal — not just the presence of the log row.
536
536
 
537
- ### 6.5 Verifying ingestion: the two-step dataset search
537
+ ### 6.5 Runs subresource — `.batches.list` / `.batches.get`
538
+
539
+ A **run** is one record; the log rows of §6.4 are one record per
540
+ dataset table that run wrote into. Read the run to answer *"is this
541
+ over, and how did it end"*; read the logs for the per-table detail,
542
+ filtered on the same `batch_id`.
543
+
544
+ Before this record existed, the only way to ask whether a run had
545
+ finished was to count log rows and guess — which cannot tell a run
546
+ still going from one that produced nothing and never will. A run
547
+ that was skipped or that died looked exactly like a slow one until
548
+ the caller's timeout expired.
549
+
550
+ ```
551
+ batch_id UUID — the run identifier, the same one `.ingest`,
552
+ `.ingestFile` and `.runManually` hand back, and the
553
+ one stamped on every per-table log row of this run
554
+ client_id UUID — the owning activation client
555
+ closed_at ISO timestamp | null — when the run was attempted and
556
+ exhausted. Null while it is still going. It does NOT
557
+ mean rows landed and it does NOT mean the archive was
558
+ merged — read `status` for the outcome, and only once
559
+ this is set.
560
+ status 'processing' | 'succeeded' | 'partial' | 'skipped' | 'failed'
561
+ rows_total number — source rows enqueued for this run. The run's own
562
+ count; each per-table log keeps its own.
563
+ inserted_at ISO timestamp — when the run started
564
+ ```
565
+
566
+ **`status` means nothing until `closed_at` is set.** A run in flight
567
+ always reads `processing`. Once it is closed:
568
+
569
+ | status | what happened |
570
+ |---|---|
571
+ | `succeeded` | it ran and nothing was refused |
572
+ | `partial` | it ran and at least one row was refused on the way in; the rows that landed are still there |
573
+ | `skipped` | it ran and there was nothing to do — empty file, every row filtered out, or the client has no contracts |
574
+ | `failed` | it died before writing anything |
575
+
576
+ ```typescript
577
+ // Paginated list of runs for an activation client. Takes the full Flop
578
+ // query (page / page_size / order_by / order_directions / filters —
579
+ // type_naming.md); without it, page 1 only.
580
+ const { data } = await api.dataActivationClients.batches.list(
581
+ tenantSlug, datalakeSlug, activationClientSlug,
582
+ { page: 1, page_size: 50, order_by: ['inserted_at'], order_directions: ['desc'] },
583
+ )
584
+ // data.data — array of run records; data.meta — pagination
585
+
586
+ // Fetch one run by its batch_id.
587
+ const { data: run } = await api.dataActivationClients.batches.get(
588
+ tenantSlug, datalakeSlug, activationClientSlug, batchId,
589
+ )
590
+ ```
591
+
592
+ > **The fourth argument is the `batch_id`, not the record's `id`.**
593
+ > A run record carries both, and both are UUIDs. The route looks the
594
+ > run up by its `batch_id` — the identifier the ingest handed you — so
595
+ > passing the record's own `id` is a **404**, not a type error.
596
+
597
+ #### Waiting on a run
598
+
599
+ This is what the run record is for. Poll until `closed_at` is set,
600
+ then branch on `status` — never poll `status` alone, because a run
601
+ in flight reads `processing` forever and tells you nothing:
602
+
603
+ ```typescript
604
+ const { data: ingest } = await api.dataActivationClients.ingest(
605
+ tenantSlug, datalakeSlug, activationClientSlug, { data: row },
606
+ )
607
+
608
+ const deadline = Date.now() + 120_000
609
+ let run
610
+ for (;;) {
611
+ const { data } = await api.dataActivationClients.batches.get(
612
+ tenantSlug, datalakeSlug, activationClientSlug, ingest.batch_id,
613
+ )
614
+ if (data.closed_at != null) { run = data; break }
615
+ if (Date.now() > deadline) throw new Error(`run ${ingest.batch_id} never closed`)
616
+ await new Promise((r) => setTimeout(r, 1_000))
617
+ }
618
+
619
+ if (run.status === 'failed') {
620
+ throw new Error(`run ${ingest.batch_id} failed before writing anything`)
621
+ }
622
+ if (run.status === 'skipped') {
623
+ throw new Error(`run ${ingest.batch_id} had nothing to do — check the row filter and the client's contracts`)
624
+ }
625
+ // 'succeeded' or 'partial' — the run is over and rows were written.
626
+ // For a partial, read the log rows (§6.4) for which table refused what.
627
+ ```
628
+
629
+ A run that failed or was skipped **ends the wait immediately, carrying
630
+ why**. That is the whole difference from counting rows: a blind poll
631
+ spends its full timeout and then reports nothing about the cause.
632
+
633
+ > **`closed_at` is not the same as "my row is queryable".** It says the
634
+ > run is over. It does not say the archive was merged (that is
635
+ > `output_files` on the log rows, §6.4), and for one specific row it
636
+ > does not replace the landing check in §6.6 — it makes that check a
637
+ > single read after the run is known finished, instead of a guess
638
+ > against a deadline.
639
+
640
+ ### 6.6 Verifying ingestion: the two-step dataset search
538
641
 
539
642
  > **Simplest landing check — `executeSql`.** Ingestion is async (the row
540
643
  > commits a moment after the `202`). When you just need to know a row
@@ -701,7 +804,7 @@ screen. Pick the mode by which of those two readers you are serving.
701
804
  response carries `batch_id` + `jobs_count`, signalling that
702
805
  downstream jobs have been enqueued — not that they've
703
806
  completed. Poll logs (or use the search verification
704
- pattern in §6.5) before treating the row as ingested.
807
+ pattern in §6.6) before treating the row as ingested.
705
808
 
706
809
  7. **`dataset_updated > 0` is the load-bearing freshness
707
810
  gate.** `rows_ingested` flips as soon as the per-row job
@@ -110,7 +110,7 @@ The platform does NOT expose a query API over the archive itself —
110
110
  cold reads happen externally so the platform's processes aren't
111
111
  responsible for analytical workloads. Live data lives in the
112
112
  datalake's Postgres halves (queryable via the dataset search
113
- two-step pattern in `data_activation_clients.md` §6.5); historical
113
+ two-step pattern in `data_activation_clients.md` §6.6); historical
114
114
  data lives in the cloud-storage buckets configured here.
115
115
 
116
116
  ### Canonical create body
@@ -299,7 +299,7 @@ in the datalake and there is nothing to search afterwards. The
299
299
  contract's `resource_type` destination) runs only when the DAC
300
300
  worker ingests a row — i.e. on `dataActivationClients.ingest`, not
301
301
  on `.run`. To prove a row *landed*, ingest and then query by
302
- `batch_id` (see `data_activation_clients.md` §6.5).
302
+ `batch_id` (see `data_activation_clients.md` §6.6).
303
303
 
304
304
  ```typescript
305
305
  const { data: result } = await api.interoperabilityContracts.run(
package/.agent/mdm.md CHANGED
@@ -339,7 +339,7 @@ SDK surface:
339
339
 
340
340
  Today there is no `.list`, `.get`, or `.metadata` on the MDM
341
341
  namespace — subjects themselves are queried through the dataset
342
- search surface (see `data_activation_clients.md` §6.5), not
342
+ search surface (see `data_activation_clients.md` §6.6), not
343
343
  through `api.mdm`.
344
344
 
345
345
  ## 6. Gotchas
@@ -95,21 +95,21 @@ flowchart TD
95
95
  end
96
96
  ```
97
97
 
98
- **It lives in this repo**, at `cloudflare-workers/mock/`. Deploy from a normal checkout:
98
+ **It lives in this repo**, at `cloudflare/workers/mock/`. Deploy from a normal checkout:
99
99
 
100
100
  ```bash
101
- cd cloudflare-workers/mock && wrangler deploy
101
+ cd cloudflare/workers/mock && wrangler deploy
102
102
  ```
103
103
 
104
104
  The single line that makes this work without a vendored copy of the corpus:
105
105
 
106
106
  ```jsonc
107
- "image_build_context": ".."
107
+ "image_build_context": "../../.."
108
108
  ```
109
109
 
110
110
  That sets the Docker build context to the repo root, so the Dockerfile copies
111
111
  `wm_mappings/` and `wm_response_files/` from where they already live. Without it
112
- the context is `cloudflare-workers/mock/` and the corpus would have to be duplicated there —
112
+ the context is `cloudflare/workers/mock/` and the corpus would have to be duplicated there —
113
113
  two directories that look identical until they quietly aren't.
114
114
 
115
115
  ### There is no authentication
@@ -714,7 +714,7 @@ an error to retry.
714
714
  tables. For a **platform dataset** the server assigns the alias
715
715
  (`le` legal entities, `m` messages, `al` action logs, `d` documents,
716
716
  `bo` beneficial owners — same scheme as `data_activation_clients.md`
717
- §6.5), and `id` is ambiguous across the base query's joins, so always
717
+ §6.6), and `id` is ambiguous across the base query's joins, so always
718
718
  prefix it: `le.id`.
719
719
 
720
720
  For a **generic-table** workflow there is no alias — the run selects
package/dist/index.d.mts CHANGED
@@ -567,9 +567,9 @@ type DataActivationClientLogResponse = {
567
567
  */
568
568
  rows_ingested?: number;
569
569
  /**
570
- * `failed` when the batch died before enqueueing any row — the fetch itself errored, and `rows_ingested` and `input_files` are 0/[] on such a row. `partial` when the batch ran and at least one row was refused on the way in; the rows that landed are still there. Read `error` for the reason in both cases.
570
+ * `processing` from the moment the slice is enqueued until the batch finishes — the column has no default, so this is written, not assumed. `succeeded` is written once by the batch callback, and only over `processing`. `failed` when the batch died before enqueueing any row — the fetch or the enqueue itself errored, and `rows_ingested` and `input_files` are 0/[] on such a row. `partial` when the batch ran and at least one row was refused on the way in; the rows that landed are still there. Read `error` for the reason in the last two.
571
571
  */
572
- status?: 'succeeded' | 'partial' | 'failed';
572
+ status?: 'processing' | 'succeeded' | 'partial' | 'failed';
573
573
  readonly updated_at?: string;
574
574
  };
575
575
  /**
@@ -2150,6 +2150,42 @@ type AiAgentInvokeRequest = {
2150
2150
  [key: string]: unknown;
2151
2151
  };
2152
2152
  };
2153
+ /**
2154
+ * DataActivationClientBatchResponse
2155
+ *
2156
+ * One record per run. A run fans out into one `DataActivationClientLog` per dataset table it writes into; this is the run itself. To wait on a run, read `closed_at` here rather than reconstructing it from those logs — it is set exactly once, however the run ended.
2157
+ */
2158
+ type DataActivationClientBatchResponse = {
2159
+ /**
2160
+ * Run identifier, stamped on every Oban job and every per-table log row of this run
2161
+ */
2162
+ batch_id: string;
2163
+ /**
2164
+ * Owning Data Activation Client ID
2165
+ */
2166
+ readonly client_id: string;
2167
+ /**
2168
+ * When the run was attempted and exhausted. Null while it is still going. It does not mean rows landed and it does not mean the archive was merged — read `status` for the outcome, and only once this is set.
2169
+ */
2170
+ readonly closed_at?: string | null;
2171
+ /**
2172
+ * Run record ID
2173
+ */
2174
+ readonly id?: string;
2175
+ /**
2176
+ * When the run started
2177
+ */
2178
+ readonly inserted_at?: string;
2179
+ /**
2180
+ * Source rows enqueued for this run. The run's own count; each per-table log keeps its own.
2181
+ */
2182
+ rows_total?: number;
2183
+ /**
2184
+ * How the run ended. **It means nothing until `closed_at` is set** — a run still in flight always reads `processing`. `failed` when the run died before writing anything; `partial` when it ran and at least one row was refused on the way in; `skipped` when it ran and there was nothing to do, because the file was empty, every row was filtered out, or the client has no contracts.
2185
+ */
2186
+ status?: 'processing' | 'succeeded' | 'partial' | 'skipped' | 'failed';
2187
+ readonly updated_at?: string;
2188
+ };
2153
2189
  /**
2154
2190
  * AdvancedMigrationResponse
2155
2191
  *
@@ -3445,6 +3481,18 @@ type SqsResponse = {
3445
3481
  */
3446
3482
  region: string;
3447
3483
  };
3484
+ /**
3485
+ * DataActivationClientBatchListResponse
3486
+ *
3487
+ * Paginated list of data activation client runs
3488
+ */
3489
+ type DataActivationClientBatchListResponse = {
3490
+ /**
3491
+ * List of data activation client runs
3492
+ */
3493
+ data: Array<DataActivationClientBatchResponse>;
3494
+ meta: PaginationMeta;
3495
+ };
3448
3496
  /**
3449
3497
  * PaginationMeta
3450
3498
  *
@@ -6593,6 +6641,59 @@ type PlatformApiAdvancedMigrationControllerIndexData = {
6593
6641
  };
6594
6642
  url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations';
6595
6643
  };
6644
+ type PlatformApiDataActivationClientControllerBatchesIndexData = {
6645
+ body?: never;
6646
+ path: {
6647
+ /**
6648
+ * Tenant slug
6649
+ */
6650
+ tenant_slug: string;
6651
+ /**
6652
+ * Datalake slug
6653
+ */
6654
+ datalake_slug: string;
6655
+ /**
6656
+ * Data Activation Client slug
6657
+ */
6658
+ slug: string;
6659
+ };
6660
+ query?: {
6661
+ /**
6662
+ * Items per page (1-100). Defaults to the resource's Flop default when omitted.
6663
+ */
6664
+ page_size?: number;
6665
+ /**
6666
+ * Page number (1-indexed). Defaults to 1 when omitted.
6667
+ */
6668
+ page?: number;
6669
+ /**
6670
+ * Fields to sort by, in order of precedence. Must appear in the resource schema's Flop `sortable:` list — unknown fields return 422.
6671
+ */
6672
+ order_by?: Array<string>;
6673
+ /**
6674
+ * Sort direction(s), pair-wise with `order_by`. `asc` or `desc`. Defaults to `asc` per unpaired `order_by` entry.
6675
+ */
6676
+ order_directions?: Array<'asc' | 'desc'>;
6677
+ /**
6678
+ * Flop-native filter array. URL shape: `?filters[][field]=status&filters[][op]=%3D%3D&filters[][value]=pending` (empty brackets — consecutive `[]` entries group into one filter object per element; indexed brackets parse as a map and fail the array cast with 422). `op` is the symbol, percent-encoded — `%3D%3D` for `==`, `%3E%3D` for `>=` — not a word like `equal`; anything outside the enum above is a 422 before the request reaches Flop. Omit `op` entirely for equality. Unknown fields return 422 via Flop validation at the context layer.
6679
+ */
6680
+ filters?: Array<{
6681
+ /**
6682
+ * Filterable field name (must be in the resource's `filterable:`)
6683
+ */
6684
+ field: string;
6685
+ /**
6686
+ * Comparison operator. Defaults to `==` when omitted.
6687
+ */
6688
+ op?: '==' | '!=' | '<' | '<=' | '>' | '>=' | 'empty' | 'not_empty' | 'like' | 'ilike' | 'like_and' | 'like_or' | 'ilike_and' | 'ilike_or' | 'in' | 'not_in' | 'contains' | 'not_contains';
6689
+ /**
6690
+ * Filter value — shape depends on `field` and `op`.
6691
+ */
6692
+ value: unknown;
6693
+ }>;
6694
+ };
6695
+ url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/batches';
6696
+ };
6596
6697
  type PlatformApiAiAgentControllerIndexData = {
6597
6698
  body?: never;
6598
6699
  path: {
@@ -8353,6 +8454,18 @@ declare function _buildApi(myClient: Client): {
8353
8454
  response: Response;
8354
8455
  }>;
8355
8456
  };
8457
+ batches: {
8458
+ list: (tenantSlug: string, datalakeSlug: string, slug: string, query?: PlatformApiDataActivationClientControllerBatchesIndexData["query"]) => Promise<{
8459
+ data: DataActivationClientBatchListResponse;
8460
+ request: Request;
8461
+ response: Response;
8462
+ }>;
8463
+ get: (tenantSlug: string, datalakeSlug: string, slug: string, batchId: string) => Promise<{
8464
+ data: DataActivationClientBatchResponse;
8465
+ request: Request;
8466
+ response: Response;
8467
+ }>;
8468
+ };
8356
8469
  };
8357
8470
  interoperabilityContracts: {
8358
8471
  list: (tenantSlug: string, datalakeSlug: string, query?: PlatformApiInteroperabilityContractControllerIndexData["query"]) => Promise<{
@@ -8535,5 +8648,5 @@ declare function _buildApi(myClient: Client): {
8535
8648
  //#region src/index.d.ts
8536
8649
  declare function isEnvironmentName(name: string): name is EnvironmentName;
8537
8650
  //#endregion
8538
- export { type ActionStatusUpdaterCloudWatchQueryRequest, type ActionStatusUpdaterRequestWritable, type ActionStatusUpdaterResponse, type ActionStatusUpdaterRestCallRequest, ActionType, type AdvancedMigrationListResponse, type AdvancedMigrationRequest, type AdvancedMigrationResponse, type AgenticWorkflowListResponse, type AgenticWorkflowRequestWritable, type AgenticWorkflowResponse, type AiAgentRequestWritable, type AiAgentResponse, type AlveraApiError, type AlveraClient, type ApiConfig, type ApiDebugConfig, type BatchLogListResponse, type BatchLogResponse, type ConnectedAppListResponse, type ConnectedAppRequestWritable, type ConnectedAppResponse, type CreateActionStatusUpdaterRequest, type CreateAiAgentRequest, type CreateGenericTableRequest, type CreateSessionParams, DEFAULT_ENVIRONMENT, type DataActivationClientListResponse, type DataActivationClientLogListResponse, type DataActivationClientLogResponse, type DataActivationClientRequestWritable, type DataActivationClientResponse, type DataSourceRequest, type DataSourceRequestWritable, type DataSourceResponse, type DatalakeRequestWritable, type DatalakeResponse, type DatasetMetadataOptions, type DatasetSearchOptions, type DatasetSearchResponse, type DerivedLakeTablesResponse, type DownloadUrlResponse, ENVIRONMENTS, type EnvironmentName, type ErrorResponse, type ExecuteActionRequest, type ExecuteActionResponse, type ExecuteSqlMeta, type ExecuteSqlRequest, type ExecuteSqlResponse, type GenericTableColumnRequest, type GenericTableColumnResponse, type GenericTableResponse, type IngestFileRequest, type IngestRequest, type InteroperabilityContractAiAgentRequestWritable, type InteroperabilityContractListResponse, type InteroperabilityContractRequestWritable, type InteroperabilityContractResponse, type InteroperabilityRunRequest, type InteroperabilityRunResponse, type MdmVerifyRequest, type MdmVerifyResponse, type PaginationMeta, type PlatformApi, type ResolvePageRequest, type ResyncTableRequest, type ResyncTableResponse, type RunManuallyRequestWritable, type RunManuallyResponse, type RunWorkflowRequest, type RunWorkflowResponse, type SessionResponse, type SessionResult, type SyncRoutesResponse, type TemplateConfig, type TenantListResponse, type TenantResponse, type TextToSqlRequest, type TextToSqlResponse, ToolIntent, type ToolListResponse, type ToolRequest, type ToolRequestWritable, type ToolResponse, type ToolTwilioRequest, type ToolTwilioRequestWritable, type ToolTwilioResponse, type TwilioRequest, type TwilioRequestWritable, type TwilioResponse, type UpdatePageRequest, type UploadLinkRequest, type UploadLinkResponse, type WorkflowAiAgentRequestWritable, type WorkflowLogListResponse, type WorkflowLogResponse, type WorkflowRunListResponse, type WorkflowRunResponse, createBootstrapSession, createIsolatedPlatformApi, createPlatformApi, createSession, isEnvironmentName, revokeSession };
8651
+ export { type ActionStatusUpdaterCloudWatchQueryRequest, type ActionStatusUpdaterRequestWritable, type ActionStatusUpdaterResponse, type ActionStatusUpdaterRestCallRequest, ActionType, type AdvancedMigrationListResponse, type AdvancedMigrationRequest, type AdvancedMigrationResponse, type AgenticWorkflowListResponse, type AgenticWorkflowRequestWritable, type AgenticWorkflowResponse, type AiAgentRequestWritable, type AiAgentResponse, type AlveraApiError, type AlveraClient, type ApiConfig, type ApiDebugConfig, type BatchLogListResponse, type BatchLogResponse, type ConnectedAppListResponse, type ConnectedAppRequestWritable, type ConnectedAppResponse, type CreateActionStatusUpdaterRequest, type CreateAiAgentRequest, type CreateGenericTableRequest, type CreateSessionParams, DEFAULT_ENVIRONMENT, type DataActivationClientBatchListResponse, type DataActivationClientBatchResponse, type DataActivationClientListResponse, type DataActivationClientLogListResponse, type DataActivationClientLogResponse, type DataActivationClientRequestWritable, type DataActivationClientResponse, type DataSourceRequest, type DataSourceRequestWritable, type DataSourceResponse, type DatalakeRequestWritable, type DatalakeResponse, type DatasetMetadataOptions, type DatasetSearchOptions, type DatasetSearchResponse, type DerivedLakeTablesResponse, type DownloadUrlResponse, ENVIRONMENTS, type EnvironmentName, type ErrorResponse, type ExecuteActionRequest, type ExecuteActionResponse, type ExecuteSqlMeta, type ExecuteSqlRequest, type ExecuteSqlResponse, type GenericTableColumnRequest, type GenericTableColumnResponse, type GenericTableResponse, type IngestFileRequest, type IngestRequest, type InteroperabilityContractAiAgentRequestWritable, type InteroperabilityContractListResponse, type InteroperabilityContractRequestWritable, type InteroperabilityContractResponse, type InteroperabilityRunRequest, type InteroperabilityRunResponse, type MdmVerifyRequest, type MdmVerifyResponse, type PaginationMeta, type PlatformApi, type ResolvePageRequest, type ResyncTableRequest, type ResyncTableResponse, type RunManuallyRequestWritable, type RunManuallyResponse, type RunWorkflowRequest, type RunWorkflowResponse, type SessionResponse, type SessionResult, type SyncRoutesResponse, type TemplateConfig, type TenantListResponse, type TenantResponse, type TextToSqlRequest, type TextToSqlResponse, ToolIntent, type ToolListResponse, type ToolRequest, type ToolRequestWritable, type ToolResponse, type ToolTwilioRequest, type ToolTwilioRequestWritable, type ToolTwilioResponse, type TwilioRequest, type TwilioRequestWritable, type TwilioResponse, type UpdatePageRequest, type UploadLinkRequest, type UploadLinkResponse, type WorkflowAiAgentRequestWritable, type WorkflowLogListResponse, type WorkflowLogResponse, type WorkflowRunListResponse, type WorkflowRunResponse, createBootstrapSession, createIsolatedPlatformApi, createPlatformApi, createSession, isEnvironmentName, revokeSession };
8539
8652
  //# sourceMappingURL=index.d.mts.map