@alvera-ai/platform-sdk 0.17.0 → 0.18.0
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.
- package/.agent/AGENTS.md +82 -144
- package/.agent/account_management.md +2 -2
- package/.agent/action_logs.md +4 -4
- package/.agent/ai_agents.md +28 -21
- package/.agent/ai_sandbox.md +49 -39
- package/.agent/connected_apps.md +3 -3
- package/.agent/cookbook/_fixtures/README.md +1 -1
- package/.agent/cookbook/_fixtures/{foundation → organic-marketing}/_lead_submissions_foundation_generic_table.liquid +1 -1
- package/.agent/cookbook/_fixtures/organic-marketing/_lead_submissions_foundation_legal_entity.liquid +80 -0
- package/.agent/cookbook/_fixtures/{foundation → organic-marketing}/_lead_submissions_foundation_mdm.liquid +2 -1
- package/.agent/cookbook/_fixtures/payments-compliance/_compliance_screenings_generic_table.liquid +57 -0
- package/.agent/cookbook/_fixtures/payments-compliance/_compliance_screenings_legal_entity.liquid +30 -0
- package/.agent/cookbook/_fixtures/payments-compliance/_compliance_screenings_mdm.liquid +44 -0
- package/.agent/cookbook/_fixtures/payments-compliance/_payment_accounts_generic_table.liquid +57 -0
- package/.agent/cookbook/_fixtures/payments-compliance/_payment_accounts_legal_entity.liquid +36 -0
- package/.agent/cookbook/_fixtures/payments-compliance/_payment_accounts_mdm.liquid +41 -0
- package/.agent/cookbook/_fixtures/primary-care-feedback/_cahps_appointments_generic_table.liquid +70 -0
- package/.agent/cookbook/_fixtures/primary-care-feedback/_cahps_appointments_legal_entity.liquid +52 -0
- package/.agent/cookbook/_fixtures/primary-care-feedback/_cahps_appointments_mdm.liquid +42 -0
- package/.agent/cookbook/_fixtures/subscription-saas/_customers_subscription_generic_table.liquid +38 -0
- package/.agent/cookbook/_fixtures/subscription-saas/_customers_subscription_legal_entity.liquid +48 -0
- package/.agent/cookbook/_fixtures/subscription-saas/_customers_subscription_mdm.liquid +49 -0
- package/.agent/cookbook/organic-marketing.md +2801 -0
- package/.agent/cookbook/payments-compliance.md +2180 -0
- package/.agent/cookbook/primary-care.md +2175 -0
- package/.agent/cookbook/subscription-saas.md +2403 -0
- package/.agent/data_activation_clients.md +65 -52
- package/.agent/datalakes.md +338 -171
- package/.agent/errors.md +3 -3
- package/.agent/generic_tables.md +151 -62
- package/.agent/interoperability_contracts.md +57 -22
- package/.agent/mdm.md +136 -153
- package/.agent/messages.md +36 -34
- package/.agent/mock-services.md +1 -1
- package/.agent/mutations.md +2 -2
- package/.agent/templates.md +14 -13
- package/.agent/tools.md +63 -21
- package/.agent/type_naming.md +13 -13
- package/.agent/workflows.md +99 -53
- package/README.md +2 -2
- package/dist/bin/platform-sdk.mjs +33 -47
- package/dist/bin/platform-sdk.mjs.map +1 -1
- package/dist/index.d.mts +565 -379
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +494 -59
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -3
- package/.agent/cookbook/_fixtures/foundation/_lead_submissions_foundation_legal_entity.liquid +0 -88
- package/.agent/cookbook/_fixtures/healthcare/_cahps_appointments_healthcare_appointment.liquid +0 -47
- package/.agent/cookbook/_fixtures/healthcare/_cahps_appointments_healthcare_mdm.liquid +0 -24
- package/.agent/cookbook/_fixtures/healthcare/_cahps_appointments_healthcare_patient.liquid +0 -38
- package/.agent/cookbook/_fixtures/payments/_compliance_screenings_payments_compliance_screening.liquid +0 -59
- package/.agent/cookbook/_fixtures/payments/_compliance_screenings_payments_mdm.liquid +0 -36
- package/.agent/cookbook/_fixtures/payments/_payment_accounts_payments_mdm.liquid +0 -30
- package/.agent/cookbook/_fixtures/payments/_payment_accounts_payments_payment_account.liquid +0 -55
- package/.agent/cookbook/_fixtures/subscription/_customers_subscription_mdm.liquid +0 -20
- package/.agent/cookbook/_setup/foundation.md +0 -359
- package/.agent/cookbook/_setup/healthcare.md +0 -361
- package/.agent/cookbook/_setup/payments.md +0 -365
- package/.agent/cookbook/_setup/subscription.md +0 -364
- package/.agent/cookbook/action-status-updaters.md +0 -278
- package/.agent/cookbook/ai-agent-invoke.md +0 -279
- package/.agent/cookbook/appointment-review-sms-workflow.md +0 -801
- package/.agent/cookbook/birthday-greeting-sms-trigger.md +0 -696
- package/.agent/cookbook/bulk-ingest.md +0 -302
- package/.agent/cookbook/contact-us-triage-with-llm.md +0 -663
- package/.agent/cookbook/dunning-sms-for-delinquent.md +0 -659
- package/.agent/cookbook/generic-tables.md +0 -244
- package/.agent/cookbook/invite-team.md +0 -200
- package/.agent/cookbook/kyc-notification-on-account-activation.md +0 -661
- package/.agent/cookbook/marketing-campaign-send.md +0 -1044
- package/.agent/cookbook/paginated-restapi-poller.md +0 -383
- package/.agent/cookbook/rest-fetch.md +0 -273
- package/.agent/cookbook/sanctions-screening-with-agent-review.md +0 -773
- package/.agent/cookbook/score-leads-with-llm-categorization.md +0 -665
- package/.agent/cookbook/system-templates.md +0 -165
- package/.agent/cookbook/talk-to-data.md +0 -178
- package/.agent/cookbook/triage-prospects-by-priority.md +0 -571
- package/.agent/cookbook/welcome-sms-for-customers.md +0 -647
- /package/.agent/cookbook/_fixtures/{healthcare → primary-care-feedback}/memorandum-of-association-01.png +0 -0
- /package/.agent/cookbook/_fixtures/{healthcare → primary-care-feedback}/sample_two_page.pdf +0 -0
- /package/.agent/cookbook/_fixtures/{subscription → subscription-saas}/_customers_subscription_customer.liquid +0 -0
- /package/.agent/cookbook/_fixtures/{subscription → subscription-saas}/stripe_customers_batch1.csv +0 -0
package/dist/index.mjs
CHANGED
|
@@ -817,6 +817,23 @@ const platformApiDatalakeControllerTextToSql = (options) => (options.client ?? c
|
|
|
817
817
|
}
|
|
818
818
|
});
|
|
819
819
|
/**
|
|
820
|
+
* Get the advanced migrations catalog as markdown
|
|
821
|
+
*
|
|
822
|
+
* Returns one page of this datalake's advanced migrations, rendered as markdown for AI context. Accepts the same pagination, filtering and ordering parameters as `index`; each migration appears with its version, checksum and both SQL statements.
|
|
823
|
+
*/
|
|
824
|
+
const platformApiAdvancedMigrationControllerMetadata = (options) => (options.client ?? client).get({
|
|
825
|
+
querySerializer: { parameters: { filters: { array: { style: "deepObject" } } } },
|
|
826
|
+
security: [{
|
|
827
|
+
name: "X-API-Key",
|
|
828
|
+
type: "apiKey"
|
|
829
|
+
}, {
|
|
830
|
+
scheme: "bearer",
|
|
831
|
+
type: "http"
|
|
832
|
+
}],
|
|
833
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations/metadata",
|
|
834
|
+
...options
|
|
835
|
+
});
|
|
836
|
+
/**
|
|
820
837
|
* Verify an X-API-Key credential
|
|
821
838
|
*
|
|
822
839
|
* Returns the API-key session's tenant, role, and key information — the
|
|
@@ -841,21 +858,31 @@ const platformApiSessionControllerVerifyApiKey = (options) => (options?.client ?
|
|
|
841
858
|
/**
|
|
842
859
|
* Enqueue datalake migrations
|
|
843
860
|
*
|
|
844
|
-
* Enqueues a `
|
|
845
|
-
* per-tenant database to the current schema version
|
|
846
|
-
*
|
|
847
|
-
*
|
|
848
|
-
*
|
|
849
|
-
*
|
|
850
|
-
* `
|
|
861
|
+
* Enqueues a `Platform.Datalakes.Workers.Migrator` Oban job that brings the
|
|
862
|
+
* datalake's per-tenant database to the current schema version, **and one
|
|
863
|
+
* more for every lake derived from it**. Asking a *derived* lake to migrate
|
|
864
|
+
* enqueues only that lake. Required after `POST /datalakes`, which only
|
|
865
|
+
* persists the metadata row — it does NOT run migrations against the
|
|
866
|
+
* per-tenant DB. Without this step, every downstream resource that touches
|
|
867
|
+
* per-datalake tables (`data_activation_logs`, MDM tables, dataset tables)
|
|
868
|
+
* will fail with `relation … does not exist`.
|
|
851
869
|
*
|
|
852
|
-
* Asynchronous: returns 202 Accepted as soon as the
|
|
870
|
+
* Asynchronous: returns 202 Accepted as soon as the jobs are enqueued.
|
|
853
871
|
* Callers poll `GET /datalakes/:id` and watch for `status: :ready`.
|
|
854
|
-
* Idempotent at the job level — re-enqueueing on a migrated datalake
|
|
855
|
-
* is a no-op once the worker completes.
|
|
856
872
|
*
|
|
857
|
-
* The
|
|
858
|
-
*
|
|
873
|
+
* **The response describes one job — this datalake's own.** It is the first
|
|
874
|
+
* of the batch; the derived lakes' jobs queue behind it and are not reported
|
|
875
|
+
* here.
|
|
876
|
+
*
|
|
877
|
+
* Deduplicated rather than idempotent: uniqueness is keyed on
|
|
878
|
+
* `(datalake_id, mode)` across incomplete states, so a second call while the
|
|
879
|
+
* first job is still queued or executing comes back with **that** job instead
|
|
880
|
+
* of inserting a new one — `job_id` and `enqueued_at` are then the earlier
|
|
881
|
+
* job's, and `status` still reads `enqueued`. Once the job has completed a
|
|
882
|
+
* fresh one is inserted, runs, and finds nothing left to migrate.
|
|
883
|
+
*
|
|
884
|
+
* The LiveView "Migrate Datalake" button enqueues the same jobs through the
|
|
885
|
+
* same helper. Neither path migrates inside the calling process.
|
|
859
886
|
*
|
|
860
887
|
* Requires a tenant-scoped Bearer with membership role `admin`.
|
|
861
888
|
*
|
|
@@ -985,7 +1012,7 @@ const platformApiDataActivationClientControllerUpdate = (options) => (options.cl
|
|
|
985
1012
|
/**
|
|
986
1013
|
* Create datalake download link
|
|
987
1014
|
*
|
|
988
|
-
* Returns a presigned GET URL for an object stored in one of the datalake's cloud storage buckets (
|
|
1015
|
+
* Returns a presigned GET URL for an object stored in one of the datalake's cloud storage buckets (raw or tokenized). Typical use: read a `DACRawLogFile.object_key` (`s3://bucket/key`) off a data-activation log row, split it into `bucket` and `key`, then POST here to obtain a short-lived download URL.
|
|
989
1016
|
*/
|
|
990
1017
|
const platformApiDatalakeControllerCreateDownloadLink = (options) => (options.client ?? client).post({
|
|
991
1018
|
security: [{
|
|
@@ -1050,7 +1077,7 @@ const platformApiDatalakeControllerShow = (options) => (options.client ?? client
|
|
|
1050
1077
|
* can resend a full manifest unchanged.
|
|
1051
1078
|
*
|
|
1052
1079
|
* The platform performs the same gates as create before persisting: DB
|
|
1053
|
-
* connection probes against every
|
|
1080
|
+
* connection probes against every raw/tokenized reader/writer
|
|
1054
1081
|
* declared in the body, plus a cloud-storage reachability probe. Any
|
|
1055
1082
|
* probe failure surfaces as `422 Unprocessable Entity` with the failing
|
|
1056
1083
|
* field annotated in the changeset.
|
|
@@ -1343,7 +1370,7 @@ const platformApiWorkflowRunControllerCancel = (options) => (options.client ?? c
|
|
|
1343
1370
|
/**
|
|
1344
1371
|
* Create datalake upload link
|
|
1345
1372
|
*
|
|
1346
|
-
* Returns a presigned PUT URL for uploading a file (NDJSON or CSV) directly to the datalake's
|
|
1373
|
+
* Returns a presigned PUT URL for uploading a file (NDJSON or CSV) directly to the datalake's raw cloud storage. The returned key lives under `uploads/<datalake_id>/` and can be passed to downstream endpoints (e.g. data activation client ingest-file) that accept a pre-uploaded storage key.
|
|
1347
1374
|
*/
|
|
1348
1375
|
const platformApiDatalakeControllerCreateUploadLink = (options) => (options.client ?? client).post({
|
|
1349
1376
|
querySerializer: { parameters: { filters: { array: { style: "deepObject" } } } },
|
|
@@ -1566,12 +1593,12 @@ const platformApiActionStatusUpdaterControllerRefresh = (options) => (options.cl
|
|
|
1566
1593
|
* Resolve a short URL token to a page
|
|
1567
1594
|
*
|
|
1568
1595
|
* Given a connected app slug and a Puid short URL token, resolves the token to
|
|
1569
|
-
* the pre-stored route path and
|
|
1596
|
+
* the pre-stored route path and legal entity id. The Cloudflare app calls this
|
|
1570
1597
|
* endpoint when a customer clicks a short URL, forwarding the original client
|
|
1571
1598
|
* headers (user-agent, IP, country) in the request body.
|
|
1572
1599
|
*
|
|
1573
1600
|
* When the page token is linked to a message (via workflow action execution),
|
|
1574
|
-
* the
|
|
1601
|
+
* the raw message details (raw body, channel, status) are included in
|
|
1575
1602
|
* the response.
|
|
1576
1603
|
*
|
|
1577
1604
|
* **Requires X-API-Key authentication.**
|
|
@@ -1625,9 +1652,9 @@ const platformApiDatalakeControllerChecksum = (options) => (options.client ?? cl
|
|
|
1625
1652
|
*
|
|
1626
1653
|
* | Field | Bucket | Body |
|
|
1627
1654
|
* | --------------- | ------------ | ---------------------------------------------------------------------------------------- |
|
|
1628
|
-
* | `key` (response)|
|
|
1629
|
-
* | `input_files` |
|
|
1630
|
-
* | `output_files` |
|
|
1655
|
+
* | `key` (response)| raw | the raw JSON payload uploaded by THIS request |
|
|
1656
|
+
* | `input_files` | raw | source artifacts consumed by the batch (one per ingest call merged into the batch) |
|
|
1657
|
+
* | `output_files` | raw | the merged NDJSON archive as `{object_key, mode}` |
|
|
1631
1658
|
*
|
|
1632
1659
|
* ### Fetching diagnostic artifacts
|
|
1633
1660
|
*
|
|
@@ -1635,24 +1662,35 @@ const platformApiDatalakeControllerChecksum = (options) => (options.client ?? cl
|
|
|
1635
1662
|
* (`POST /api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/download-link`):
|
|
1636
1663
|
*
|
|
1637
1664
|
* # raw payload that this ingest call uploaded
|
|
1638
|
-
* { "bucket": "<
|
|
1665
|
+
* { "bucket": "<raw>", "key": "<response.key>" }
|
|
1639
1666
|
*
|
|
1640
|
-
* #
|
|
1641
|
-
* { "bucket": "<
|
|
1667
|
+
* # merged archive (after batch completes)
|
|
1668
|
+
* { "bucket": "<raw>", "key": "<output_files[0].object_key>" }
|
|
1642
1669
|
*
|
|
1643
|
-
*
|
|
1644
|
-
*
|
|
1645
|
-
*
|
|
1646
|
-
* `regulated_cloud_storage.bucket` / `unregulated_cloud_storage.bucket`.
|
|
1670
|
+
* The lake has one bucket, so there is one archive and
|
|
1671
|
+
* `output_files[0].mode` is always `raw`. The bucket name is exposed on the
|
|
1672
|
+
* datalake response as `cloud_storage.bucket`.
|
|
1647
1673
|
*
|
|
1648
1674
|
* ### Failure surfacing
|
|
1649
1675
|
*
|
|
1650
1676
|
* On a `{:error, _}` ingest response the platform returns `422` with an
|
|
1651
|
-
* `error` string.
|
|
1652
|
-
*
|
|
1653
|
-
*
|
|
1654
|
-
*
|
|
1655
|
-
*
|
|
1677
|
+
* `error` string.
|
|
1678
|
+
*
|
|
1679
|
+
* For pipeline failures (a row the contract refused), read the
|
|
1680
|
+
* `DataActivationLog` row's **`status` and `error`**: a refused row moves
|
|
1681
|
+
* `status` to `partial` and writes the reason into `error`. Those two are the
|
|
1682
|
+
* failure signal.
|
|
1683
|
+
*
|
|
1684
|
+
* **`rows_ingested` is not.** It is seeded to the submitted total when the
|
|
1685
|
+
* batch is enqueued and is never lowered — a batch that took ten rows and
|
|
1686
|
+
* persisted nine still reads ten. `dataset_updated`, maintained by a database
|
|
1687
|
+
* trigger, counts only the rows whose checksum actually changed, so it sits
|
|
1688
|
+
* below `rows_ingested` on clean batches too and cannot be used to infer a
|
|
1689
|
+
* failure either.
|
|
1690
|
+
*
|
|
1691
|
+
* Per-row diagnostics live in the Oban job table (`oban_jobs.errors`) keyed by
|
|
1692
|
+
* `batch_id`. There is no `error.json` artifact on the DAC path — that
|
|
1693
|
+
* convention is workflow-only.
|
|
1656
1694
|
*
|
|
1657
1695
|
*/
|
|
1658
1696
|
const platformApiDataActivationClientControllerIngest = (options) => (options.client ?? client).post({
|
|
@@ -1721,6 +1759,43 @@ const platformApiActionStatusUpdaterControllerUpdate = (options) => (options.cli
|
|
|
1721
1759
|
}
|
|
1722
1760
|
});
|
|
1723
1761
|
/**
|
|
1762
|
+
* List advanced migrations
|
|
1763
|
+
*
|
|
1764
|
+
* Returns a paginated list of the datalake's advanced migrations, oldest version first. A migration belongs to exactly one datalake, so this is the whole list for it.
|
|
1765
|
+
*/
|
|
1766
|
+
const platformApiAdvancedMigrationControllerIndex = (options) => (options.client ?? client).get({
|
|
1767
|
+
querySerializer: { parameters: { filters: { array: { style: "deepObject" } } } },
|
|
1768
|
+
security: [{
|
|
1769
|
+
name: "X-API-Key",
|
|
1770
|
+
type: "apiKey"
|
|
1771
|
+
}, {
|
|
1772
|
+
scheme: "bearer",
|
|
1773
|
+
type: "http"
|
|
1774
|
+
}],
|
|
1775
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations",
|
|
1776
|
+
...options
|
|
1777
|
+
});
|
|
1778
|
+
/**
|
|
1779
|
+
* Create an advanced migration
|
|
1780
|
+
*
|
|
1781
|
+
* Writes a new advanced migration for the datalake. It is stored, not executed — the migrator applies it on the datalake's next migration run, in version order. The version is assigned by the platform; `datalake_id` comes from the URL, not the body.
|
|
1782
|
+
*/
|
|
1783
|
+
const platformApiAdvancedMigrationControllerCreate = (options) => (options.client ?? client).post({
|
|
1784
|
+
security: [{
|
|
1785
|
+
name: "X-API-Key",
|
|
1786
|
+
type: "apiKey"
|
|
1787
|
+
}, {
|
|
1788
|
+
scheme: "bearer",
|
|
1789
|
+
type: "http"
|
|
1790
|
+
}],
|
|
1791
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations",
|
|
1792
|
+
...options,
|
|
1793
|
+
headers: {
|
|
1794
|
+
"Content-Type": "application/json",
|
|
1795
|
+
...options.headers
|
|
1796
|
+
}
|
|
1797
|
+
});
|
|
1798
|
+
/**
|
|
1724
1799
|
* Tools catalog as markdown
|
|
1725
1800
|
*
|
|
1726
1801
|
* Returns one page of the tools catalog for the current datalake, rendered as markdown. Accepts the same pagination, filtering, and ordering parameters as `index`; each tool appears with its wrapper fields, body-side schema, and the test-invocation block. The page's pagination state is written into a narrative line at the top of the body. Trailing `Shared Types` section documents `TemplateConfig` + Solid filters.
|
|
@@ -1802,27 +1877,31 @@ const platformApiWorkflowRunControllerShow = (options) => (options.client ?? cli
|
|
|
1802
1877
|
...options
|
|
1803
1878
|
});
|
|
1804
1879
|
/**
|
|
1805
|
-
* List
|
|
1880
|
+
* List the datasets the platform registers
|
|
1806
1881
|
*
|
|
1807
|
-
* Returns the
|
|
1808
|
-
*
|
|
1809
|
-
*
|
|
1810
|
-
* name is a valid argument to
|
|
1882
|
+
* Returns the dataset name strings the platform registers:
|
|
1883
|
+
* `action_log`, `beneficial_owner`, `document`, `legal_entity`, `message`.
|
|
1884
|
+
* Each name is a valid argument to
|
|
1811
1885
|
* `GET /api/v1/datasets/:dataset_type/metadata` for the rendered
|
|
1812
1886
|
* schema docs, and to `GET /api/v1/datasets/:dataset_type/search` for
|
|
1813
1887
|
* row data.
|
|
1814
1888
|
*
|
|
1889
|
+
* **The list does not vary by datalake or by tenant.** It is the key set of a
|
|
1890
|
+
* literal map in `Platform.Datasets`, read through
|
|
1891
|
+
* `Platform.Datasets.registered_datasets/0` — every datalake answers the same
|
|
1892
|
+
* five names, and the datalake in the path scopes the request for
|
|
1893
|
+
* authorisation only. There is no per-industry registry behind it.
|
|
1894
|
+
*
|
|
1815
1895
|
* **This endpoint does not list user-defined generic tables.** Concern
|
|
1816
1896
|
* separation: generic tables are CRUD-able resources with their own
|
|
1817
1897
|
* lifecycle and live under
|
|
1818
1898
|
* `GET /api/v1/tenants/:tenant_slug/datalakes/:datalake_slug/generic-tables`.
|
|
1819
1899
|
* To enumerate the full set of queryable datasets a caller must hit
|
|
1820
|
-
* both endpoints (`system-datasets` for
|
|
1900
|
+
* both endpoints (`system-datasets` for the platform-registered five and
|
|
1821
1901
|
* `generic-tables` for operator-defined ones). Each surface owns one
|
|
1822
1902
|
* concern: enumeration here, lifecycle there.
|
|
1823
1903
|
*
|
|
1824
|
-
* Pure read — no DB access on the platform side.
|
|
1825
|
-
* `Platform.Dataset.get_registered_datasets/1`.
|
|
1904
|
+
* Pure read — no DB access on the platform side.
|
|
1826
1905
|
*
|
|
1827
1906
|
*/
|
|
1828
1907
|
const platformApiDatalakeControllerSystemDatasets = (options) => (options.client ?? client).get({
|
|
@@ -2028,7 +2107,7 @@ const platformApiDatasetControllerSearch = (options) => (options.client ?? clien
|
|
|
2028
2107
|
/**
|
|
2029
2108
|
* Create and execute a SQL search for a dataset
|
|
2030
2109
|
*
|
|
2031
|
-
* Creates a `UserSearch` row, runs `INSERT INTO search_results SELECT ... WHERE <search_query>` against the
|
|
2110
|
+
* Creates a `UserSearch` row, runs `INSERT INTO search_results SELECT ... WHERE <search_query>` against the lake, and returns the `UserSearch` resource (including `status`, `results_count`, and `error_message`). The session's `data_access_mode` controls which schema is queried.
|
|
2032
2111
|
*/
|
|
2033
2112
|
const platformApiDatasetControllerCreateUserSearch = (options) => (options.client ?? client).post({
|
|
2034
2113
|
security: [{
|
|
@@ -2046,6 +2125,45 @@ const platformApiDatasetControllerCreateUserSearch = (options) => (options.clien
|
|
|
2046
2125
|
}
|
|
2047
2126
|
});
|
|
2048
2127
|
/**
|
|
2128
|
+
* How far each table in a derived lake's copy has got
|
|
2129
|
+
*
|
|
2130
|
+
* Every table the tokenized or redacted copy carries, and how far each one has
|
|
2131
|
+
* got. The same list, in the same words, that the platform's own Tokenization
|
|
2132
|
+
* screen shows — a table reading `copying` there never reads something else here.
|
|
2133
|
+
*
|
|
2134
|
+
* **Every table, not only the ones behind.** A caller cannot ask to re-copy a
|
|
2135
|
+
* table it cannot see, and a table someone merely suspects has to be listed even
|
|
2136
|
+
* when the copy says it is fine.
|
|
2137
|
+
*
|
|
2138
|
+
* Only `caught_up` has arrived. `finished_copy` sounds like it has and has not:
|
|
2139
|
+
* the first pass is done and the changes since have not been applied yet, so a
|
|
2140
|
+
* table sitting there is still behind.
|
|
2141
|
+
*
|
|
2142
|
+
* For tables that are behind, `resync_empties` says what `POST .../resync` would
|
|
2143
|
+
* actually empty — the table plus anything that points at it. Postgres will not
|
|
2144
|
+
* empty a table anything references, so re-copying a parent means re-copying its
|
|
2145
|
+
* children too, and a caller offering that action should be able to say how many
|
|
2146
|
+
* before it happens.
|
|
2147
|
+
*
|
|
2148
|
+
* `:mode` is `tokenized` or `redacted` and names the COPY. The path names the
|
|
2149
|
+
* primary lake, because a derived lake is reached by naming its primary and a
|
|
2150
|
+
* data-access mode — it has a slug, but a slug is not an address.
|
|
2151
|
+
*
|
|
2152
|
+
* Requires a tenant-scoped Bearer with membership role `admin`.
|
|
2153
|
+
*
|
|
2154
|
+
*/
|
|
2155
|
+
const platformApiDatalakeControllerDerivedLakeTables = (options) => (options.client ?? client).get({
|
|
2156
|
+
security: [{
|
|
2157
|
+
name: "X-API-Key",
|
|
2158
|
+
type: "apiKey"
|
|
2159
|
+
}, {
|
|
2160
|
+
scheme: "bearer",
|
|
2161
|
+
type: "http"
|
|
2162
|
+
}],
|
|
2163
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/tokenization/{mode}/tables",
|
|
2164
|
+
...options
|
|
2165
|
+
});
|
|
2166
|
+
/**
|
|
2049
2167
|
* Compute the drift checksum for a generic table config
|
|
2050
2168
|
*
|
|
2051
2169
|
* Returns the server-computed drift fingerprint a create/update would stamp for the submitted config, without persisting anything. `alvera plan` posts the operator's desired config here and compares the result against the deployed table's `checksum` (from GET) to decide absent / unchanged / edited.
|
|
@@ -2627,9 +2745,29 @@ const platformApiAgenticWorkflowOperationsControllerBatchLogsIndex = (options) =
|
|
|
2627
2745
|
...options
|
|
2628
2746
|
});
|
|
2629
2747
|
/**
|
|
2748
|
+
* Compute the drift checksum for an advanced migration config
|
|
2749
|
+
*
|
|
2750
|
+
* Returns the server-computed drift fingerprint a create/replace would stamp for the submitted config, without persisting anything. `alvera plan` posts the desired config here and compares the result against the stored `checksum` (from GET) to decide absent / unchanged / edited. The version is server-assigned and is deliberately not part of the fingerprint.
|
|
2751
|
+
*/
|
|
2752
|
+
const platformApiAdvancedMigrationControllerChecksum = (options) => (options.client ?? client).post({
|
|
2753
|
+
security: [{
|
|
2754
|
+
name: "X-API-Key",
|
|
2755
|
+
type: "apiKey"
|
|
2756
|
+
}, {
|
|
2757
|
+
scheme: "bearer",
|
|
2758
|
+
type: "http"
|
|
2759
|
+
}],
|
|
2760
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations/checksum",
|
|
2761
|
+
...options,
|
|
2762
|
+
headers: {
|
|
2763
|
+
"Content-Type": "application/json",
|
|
2764
|
+
...options.headers
|
|
2765
|
+
}
|
|
2766
|
+
});
|
|
2767
|
+
/**
|
|
2630
2768
|
* Get datalakes catalog as markdown
|
|
2631
2769
|
*
|
|
2632
|
-
* Returns one page of the datalake catalog for the tenant, rendered as markdown — each entry carries slug, name,
|
|
2770
|
+
* Returns one page of the datalake catalog for the tenant, rendered as markdown — each entry carries slug, name, status, repo_version and points at the per-datalake metadata endpoint for the full domain inventory. Accepts the same pagination, filtering, and ordering parameters as the datalake `index`; the page's pagination state is written into a narrative line at the top.
|
|
2633
2771
|
*/
|
|
2634
2772
|
const platformApiDatalakeControllerMetadata = (options) => (options.client ?? client).get({
|
|
2635
2773
|
querySerializer: { parameters: { filters: { array: { style: "deepObject" } } } },
|
|
@@ -2644,6 +2782,54 @@ const platformApiDatalakeControllerMetadata = (options) => (options.client ?? cl
|
|
|
2644
2782
|
...options
|
|
2645
2783
|
});
|
|
2646
2784
|
/**
|
|
2785
|
+
* Empty one table in a derived lake's copy and copy it again
|
|
2786
|
+
*
|
|
2787
|
+
* The repair for a table that stopped arriving because the copy already held
|
|
2788
|
+
* rows it was being sent. Restarting the copy cannot fix that one — it restarts a
|
|
2789
|
+
* worker and discards nothing, so a copy that broke on a row it cannot insert
|
|
2790
|
+
* breaks on the same row again.
|
|
2791
|
+
*
|
|
2792
|
+
* **It empties the table, then copies it from the start.** Every row in a derived
|
|
2793
|
+
* lake can be produced again from the original, which is what makes emptying one
|
|
2794
|
+
* a repair rather than a loss. Nothing is written to the original lake — the only
|
|
2795
|
+
* thing that changes there is which tables its publication names, and only for
|
|
2796
|
+
* the tables being repaired.
|
|
2797
|
+
*
|
|
2798
|
+
* **It may empty more than one table.** Postgres will not empty a table anything
|
|
2799
|
+
* points at, however few rows the referencing tables hold, so repairing a parent
|
|
2800
|
+
* empties its children too — all of them re-copied by the same run. The response
|
|
2801
|
+
* says exactly which tables were emptied, and `GET .../tables` says beforehand.
|
|
2802
|
+
*
|
|
2803
|
+
* **It refuses a name it did not give you.** The table must be one this copy
|
|
2804
|
+
* carries or one the original can send. That gate is what stands between a typo
|
|
2805
|
+
* and an emptied table.
|
|
2806
|
+
*
|
|
2807
|
+
* **It does not roll back.** A failure part-way leaves the table empty and says
|
|
2808
|
+
* so, because the rows to put back are the ones that broke the copy in the first
|
|
2809
|
+
* place.
|
|
2810
|
+
*
|
|
2811
|
+
* Returns **202**: a fresh first pass has started and finishes later. Poll
|
|
2812
|
+
* `GET .../tables` and wait for the table to read `caught_up`.
|
|
2813
|
+
*
|
|
2814
|
+
* Requires a tenant-scoped Bearer with membership role `admin`.
|
|
2815
|
+
*
|
|
2816
|
+
*/
|
|
2817
|
+
const platformApiDatalakeControllerResyncTable = (options) => (options.client ?? client).post({
|
|
2818
|
+
security: [{
|
|
2819
|
+
name: "X-API-Key",
|
|
2820
|
+
type: "apiKey"
|
|
2821
|
+
}, {
|
|
2822
|
+
scheme: "bearer",
|
|
2823
|
+
type: "http"
|
|
2824
|
+
}],
|
|
2825
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/tokenization/{mode}/resync",
|
|
2826
|
+
...options,
|
|
2827
|
+
headers: {
|
|
2828
|
+
"Content-Type": "application/json",
|
|
2829
|
+
...options.headers
|
|
2830
|
+
}
|
|
2831
|
+
});
|
|
2832
|
+
/**
|
|
2647
2833
|
* Single action status updater metadata as markdown
|
|
2648
2834
|
*
|
|
2649
2835
|
* Returns markdown for one action status updater — wrapper + cron + updater body + template configs + bound tools. Drill into a bound tool's full metadata via `GET /datalakes/:datalake_slug/tools/:id/metadata`.
|
|
@@ -2771,12 +2957,12 @@ const platformApiDataActivationClientControllerCreate = (options) => (options.cl
|
|
|
2771
2957
|
}
|
|
2772
2958
|
});
|
|
2773
2959
|
/**
|
|
2774
|
-
* Verify
|
|
2960
|
+
* Verify legal entity identity
|
|
2775
2961
|
*
|
|
2776
|
-
* Verify a
|
|
2962
|
+
* Verify a legal entity's identity against its master record using the
|
|
2777
2963
|
* datalake's data-domain matching rules.
|
|
2778
2964
|
*
|
|
2779
|
-
* The body carries `
|
|
2965
|
+
* The body carries `legal_entity_id` plus the legal entity's identity fields in the
|
|
2780
2966
|
* **datalake's native vocabulary** — see the `MDMVerifyRequest` schema for
|
|
2781
2967
|
* the field set per data domain (person identity, company identity, and
|
|
2782
2968
|
* universal fields such as `identifiers`/`phone`/`email`). String fields are
|
|
@@ -2879,6 +3065,61 @@ const platformApiDatasetControllerDatasetMetadata = (options) => (options.client
|
|
|
2879
3065
|
...options
|
|
2880
3066
|
});
|
|
2881
3067
|
/**
|
|
3068
|
+
* Turn tokenization on for a datalake
|
|
3069
|
+
*
|
|
3070
|
+
* Provisions the two lakes derived from a raw one — the tokenized lake and
|
|
3071
|
+
* the redacted lake — and enqueues a migration for each. Returns the raw
|
|
3072
|
+
* lake with `derived_datalakes` preloaded.
|
|
3073
|
+
*
|
|
3074
|
+
* **Tokenization does not run in production, and needs a manual flag to
|
|
3075
|
+
* enable.** The setting naming where the derived databases run exists in
|
|
3076
|
+
* development and test configuration and nowhere else, so in an environment
|
|
3077
|
+
* where nobody has stood those databases up and pointed the platform at them,
|
|
3078
|
+
* this call cannot succeed — the two databases have to exist first. The
|
|
3079
|
+
* console's button is gated on the same check and does not render there.
|
|
3080
|
+
*
|
|
3081
|
+
* **Intended as both or neither** — they are created, destroyed and paid for
|
|
3082
|
+
* together. **Not atomic today.** The two are provisioned in sequence and each
|
|
3083
|
+
* commits on its own, so a run that provisions the tokenized lake and then
|
|
3084
|
+
* cannot provision the redacted one reports the failure and leaves the first in
|
|
3085
|
+
* place. Making the pair transactional is filed tech debt.
|
|
3086
|
+
*
|
|
3087
|
+
* A caller that gets an error here should re-read the lake and check
|
|
3088
|
+
* `derived_datalakes` rather than assume nothing was created. Note that the
|
|
3089
|
+
* console's "Turn on tokenization" button only appears when there are none, so a
|
|
3090
|
+
* half-provisioned lake is repaired through this endpoint or not at all.
|
|
3091
|
+
*
|
|
3092
|
+
* **Idempotent.** Already-provisioned lakes are returned exactly as they are,
|
|
3093
|
+
* so this is safe to call twice.
|
|
3094
|
+
*
|
|
3095
|
+
* The migration is not optional and not a second call: a derived lake is
|
|
3096
|
+
* provisioned EMPTY, and it needs the same tables the primary has before a
|
|
3097
|
+
* single row can land in it. Migrating is what labels its columns and starts
|
|
3098
|
+
* the copy. Those migrations are asynchronous — poll `GET /datalakes` and
|
|
3099
|
+
* watch the derived lakes for `status: :ready`.
|
|
3100
|
+
*
|
|
3101
|
+
* A derived lake is otherwise fully managed: nothing writes to one but the
|
|
3102
|
+
* replication apply, and there is no endpoint that creates, configures or
|
|
3103
|
+
* deletes one directly.
|
|
3104
|
+
*
|
|
3105
|
+
* The LiveView "Turn on tokenization" button does the same two things in the
|
|
3106
|
+
* same order.
|
|
3107
|
+
*
|
|
3108
|
+
* Requires a tenant-scoped Bearer with membership role `admin`.
|
|
3109
|
+
*
|
|
3110
|
+
*/
|
|
3111
|
+
const platformApiDatalakeControllerProvisionTokenization = (options) => (options.client ?? client).post({
|
|
3112
|
+
security: [{
|
|
3113
|
+
name: "X-API-Key",
|
|
3114
|
+
type: "apiKey"
|
|
3115
|
+
}, {
|
|
3116
|
+
scheme: "bearer",
|
|
3117
|
+
type: "http"
|
|
3118
|
+
}],
|
|
3119
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/tokenization",
|
|
3120
|
+
...options
|
|
3121
|
+
});
|
|
3122
|
+
/**
|
|
2882
3123
|
* Delete a connected app
|
|
2883
3124
|
*
|
|
2884
3125
|
* Deletes a connected app (addressed by id) within the authenticated datalake. For managed apps, infrastructure cleanup is queued before the record is removed.
|
|
@@ -3020,7 +3261,7 @@ const platformApiToolControllerChecksum = (options) => (options.client ?? client
|
|
|
3020
3261
|
/**
|
|
3021
3262
|
* Get single system template details as markdown
|
|
3022
3263
|
*
|
|
3023
|
-
* Returns markdown for one system template, identified by its basename (`filename`) + `intent` query parameter. The datalake
|
|
3264
|
+
* Returns markdown for one system template, identified by its basename (`filename`) + `intent` query parameter. The datalake (derived from `:datalake_slug`) is combined with `intent` to compute the search prefix; the server then resolves `filename` uniquely under that prefix. Out-of-domain templates are unreachable by URL construction. Returns 404 if no match, 409 if the basename is ambiguous within the resolved scope.
|
|
3024
3265
|
*/
|
|
3025
3266
|
const platformApiTemplatesControllerMetadataDetails = (options) => (options.client ?? client).get({
|
|
3026
3267
|
security: [{
|
|
@@ -3100,7 +3341,7 @@ const platformApiDatalakeControllerExecuteSql = (options) => (options.client ??
|
|
|
3100
3341
|
* ## Per-step artifacts (audit trail)
|
|
3101
3342
|
*
|
|
3102
3343
|
* Each per-row WorkflowExecutionLog (WEL) writes a fixed set of JSON
|
|
3103
|
-
* artifacts to the datalake's
|
|
3344
|
+
* artifacts to the datalake's cloud-storage bucket. The path is
|
|
3104
3345
|
* deterministic and convention-driven — there is no separate listing
|
|
3105
3346
|
* endpoint:
|
|
3106
3347
|
*
|
|
@@ -3125,13 +3366,13 @@ const platformApiDatalakeControllerExecuteSql = (options) => (options.client ??
|
|
|
3125
3366
|
*
|
|
3126
3367
|
* Use the standard datalake download-link endpoint
|
|
3127
3368
|
* (`POST /api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/download-link`)
|
|
3128
|
-
* with `bucket = <
|
|
3369
|
+
* with `bucket = <the datalake's bucket>` and the convention key above. Example:
|
|
3129
3370
|
*
|
|
3130
3371
|
* POST /api/v1/tenants/acme/datalakes/clinical/download-link
|
|
3131
|
-
* { "bucket": "clinical-
|
|
3372
|
+
* { "bucket": "clinical-lake", "key": "workflows/<wf_id>/executions/<wel_id>/error.json" }
|
|
3132
3373
|
*
|
|
3133
|
-
* The response carries a short-lived signed URL. The
|
|
3134
|
-
* exposed on the datalake response as `
|
|
3374
|
+
* The response carries a short-lived signed URL. The raw bucket is
|
|
3375
|
+
* exposed on the datalake response as `cloud_storage.bucket`.
|
|
3135
3376
|
*
|
|
3136
3377
|
*/
|
|
3137
3378
|
const platformApiAgenticWorkflowOperationsControllerRunWorkflow = (options) => (options.client ?? client).post({
|
|
@@ -3218,9 +3459,14 @@ const platformApiAgenticWorkflowOperationsControllerBatchLogStart = (options) =>
|
|
|
3218
3459
|
*
|
|
3219
3460
|
* Returns a single execution log with action execution details. Each action
|
|
3220
3461
|
* execution log carries a `message_body` virtual field populated from the
|
|
3221
|
-
* datalake message linked via `message_id`.
|
|
3222
|
-
*
|
|
3223
|
-
*
|
|
3462
|
+
* datalake message linked via `message_id`.
|
|
3463
|
+
*
|
|
3464
|
+
* **This surface is raw-only.** There is one message body, nothing masks it,
|
|
3465
|
+
* and the message is read from the raw lake. The endpoint used to take a
|
|
3466
|
+
* `data_access_mode` query parameter and publish it as selecting which
|
|
3467
|
+
* database was read; it was checked in a function guard and never used, and
|
|
3468
|
+
* because the guard consumed the variable no unused-variable warning was ever
|
|
3469
|
+
* emitted. It is gone rather than made to work.
|
|
3224
3470
|
*
|
|
3225
3471
|
*/
|
|
3226
3472
|
const platformApiAgenticWorkflowOperationsControllerWorkflowLogShow = (options) => (options.client ?? client).get({
|
|
@@ -3235,6 +3481,22 @@ const platformApiAgenticWorkflowOperationsControllerWorkflowLogShow = (options)
|
|
|
3235
3481
|
...options
|
|
3236
3482
|
});
|
|
3237
3483
|
/**
|
|
3484
|
+
* Get one advanced migration as markdown
|
|
3485
|
+
*
|
|
3486
|
+
* Returns a single advanced migration rendered as markdown for AI context.
|
|
3487
|
+
*/
|
|
3488
|
+
const platformApiAdvancedMigrationControllerMetadataDetails = (options) => (options.client ?? client).get({
|
|
3489
|
+
security: [{
|
|
3490
|
+
name: "X-API-Key",
|
|
3491
|
+
type: "apiKey"
|
|
3492
|
+
}, {
|
|
3493
|
+
scheme: "bearer",
|
|
3494
|
+
type: "http"
|
|
3495
|
+
}],
|
|
3496
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations/{id}/metadata",
|
|
3497
|
+
...options
|
|
3498
|
+
});
|
|
3499
|
+
/**
|
|
3238
3500
|
* Delete an interoperability contract
|
|
3239
3501
|
*
|
|
3240
3502
|
* Deletes a contract (addressed by id). System-created contracts are rejected with 422. DAC mappings to this contract are removed via DB cascade.
|
|
@@ -3290,9 +3552,61 @@ const platformApiInteroperabilityContractControllerUpdate = (options) => (option
|
|
|
3290
3552
|
}
|
|
3291
3553
|
});
|
|
3292
3554
|
/**
|
|
3555
|
+
* Delete an advanced migration
|
|
3556
|
+
*
|
|
3557
|
+
* Deletes an advanced migration that has not yet run. Returns 409 Conflict once it has been applied — the log of it running is tied to it, so deleting it would erase the record that it ever happened.
|
|
3558
|
+
*/
|
|
3559
|
+
const platformApiAdvancedMigrationControllerDelete = (options) => (options.client ?? client).delete({
|
|
3560
|
+
security: [{
|
|
3561
|
+
name: "X-API-Key",
|
|
3562
|
+
type: "apiKey"
|
|
3563
|
+
}, {
|
|
3564
|
+
scheme: "bearer",
|
|
3565
|
+
type: "http"
|
|
3566
|
+
}],
|
|
3567
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations/{id}",
|
|
3568
|
+
...options
|
|
3569
|
+
});
|
|
3570
|
+
/**
|
|
3571
|
+
* Get an advanced migration
|
|
3572
|
+
*
|
|
3573
|
+
* Returns one advanced migration by id within the datalake. A migration belonging to another datalake answers 404 rather than revealing that it exists.
|
|
3574
|
+
*/
|
|
3575
|
+
const platformApiAdvancedMigrationControllerShow = (options) => (options.client ?? client).get({
|
|
3576
|
+
security: [{
|
|
3577
|
+
name: "X-API-Key",
|
|
3578
|
+
type: "apiKey"
|
|
3579
|
+
}, {
|
|
3580
|
+
scheme: "bearer",
|
|
3581
|
+
type: "http"
|
|
3582
|
+
}],
|
|
3583
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations/{id}",
|
|
3584
|
+
...options
|
|
3585
|
+
});
|
|
3586
|
+
/**
|
|
3587
|
+
* Replace an advanced migration
|
|
3588
|
+
*
|
|
3589
|
+
* Replaces an advanced migration that has not yet run. Returns 409 Conflict once it has been applied — a statement that has already executed against a lake cannot be rewritten after the fact, because the rewritten text would no longer describe what happened.
|
|
3590
|
+
*/
|
|
3591
|
+
const platformApiAdvancedMigrationControllerUpdate = (options) => (options.client ?? client).put({
|
|
3592
|
+
security: [{
|
|
3593
|
+
name: "X-API-Key",
|
|
3594
|
+
type: "apiKey"
|
|
3595
|
+
}, {
|
|
3596
|
+
scheme: "bearer",
|
|
3597
|
+
type: "http"
|
|
3598
|
+
}],
|
|
3599
|
+
url: "/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations/{id}",
|
|
3600
|
+
...options,
|
|
3601
|
+
headers: {
|
|
3602
|
+
"Content-Type": "application/json",
|
|
3603
|
+
...options.headers
|
|
3604
|
+
}
|
|
3605
|
+
});
|
|
3606
|
+
/**
|
|
3293
3607
|
* Delete a generic table
|
|
3294
3608
|
*
|
|
3295
|
-
* Deletes a custom generic table addressed by id. Guarded: returns 409 Conflict when the backing table still holds rows — delete the rows first. When empty, drops both physical tables
|
|
3609
|
+
* Deletes a custom generic table addressed by id. Guarded: returns 409 Conflict when the backing table still holds rows — delete the rows first. When empty, drops both physical tables and removes the metadata.
|
|
3296
3610
|
*/
|
|
3297
3611
|
const platformApiGenericTableControllerDelete = (options) => (options.client ?? client).delete({
|
|
3298
3612
|
security: [{
|
|
@@ -3324,7 +3638,7 @@ const platformApiGenericTableControllerShow = (options) => (options.client ?? cl
|
|
|
3324
3638
|
/**
|
|
3325
3639
|
* Update a generic table
|
|
3326
3640
|
*
|
|
3327
|
-
* Full-replace update of a custom generic table, addressed by id within the datalake. Every field in the request is required (PUT semantics) — the same body shape as create, so `alvera apply` can resend a full manifest to reconcile drift. Re-runs the
|
|
3641
|
+
* Full-replace update of a custom generic table, addressed by id within the datalake. Every field in the request is required (PUT semantics) — the same body shape as create, so `alvera apply` can resend a full manifest to reconcile drift. Re-runs the mirror + migration for the new column set.
|
|
3328
3642
|
*/
|
|
3329
3643
|
const platformApiGenericTableControllerUpdate = (options) => (options.client ?? client).put({
|
|
3330
3644
|
security: [{
|
|
@@ -3344,7 +3658,21 @@ const platformApiGenericTableControllerUpdate = (options) => (options.client ??
|
|
|
3344
3658
|
/**
|
|
3345
3659
|
* Run a contract against a payload (sandbox)
|
|
3346
3660
|
*
|
|
3347
|
-
* Runs the contract's `filter → transform →
|
|
3661
|
+
* Runs three of the contract's pipeline stages — `filter → transform →
|
|
3662
|
+
* mdm_input` — against the supplied JSON row. Stateless: no DB writes, no MDM
|
|
3663
|
+
* resolution, no upsert. Use for template authoring/testing.
|
|
3664
|
+
*
|
|
3665
|
+
* **It does not run AI agent enrichment, and ingestion does.** The real
|
|
3666
|
+
* pipeline is `filter → ai_agent_enrichment → transform → mdm_input →
|
|
3667
|
+
* mdm.resolve → upsert`, and enrichment is what puts each attached agent's
|
|
3668
|
+
* parsed output under `enrichment.<agent_slug>` before the transform sees the
|
|
3669
|
+
* row. This endpoint hands the raw payload straight to **both** the transform
|
|
3670
|
+
* and the mdm_input render — ingestion hands each of them the enriched row —
|
|
3671
|
+
* so on a contract with agents attached every `{{ enrichment.… }}` reference
|
|
3672
|
+
* renders blank here and renders filled in production. Neither a transform
|
|
3673
|
+
* template nor an mdm_input template that reads enrichment can be proven
|
|
3674
|
+
* correct on this endpoint.
|
|
3675
|
+
*
|
|
3348
3676
|
*/
|
|
3349
3677
|
const platformApiInteroperabilityContractControllerRun = (options) => (options.client ?? client).post({
|
|
3350
3678
|
querySerializer: { parameters: { filters: { array: { style: "deepObject" } } } },
|
|
@@ -3658,6 +3986,10 @@ function _buildApi(myClient) {
|
|
|
3658
3986
|
verifyApiKey: () => platformApiSessionControllerVerifyApiKey({
|
|
3659
3987
|
client: myClient,
|
|
3660
3988
|
throwOnError: true
|
|
3989
|
+
}),
|
|
3990
|
+
delete: () => platformApiSessionControllerDelete({
|
|
3991
|
+
client: myClient,
|
|
3992
|
+
throwOnError: true
|
|
3661
3993
|
})
|
|
3662
3994
|
},
|
|
3663
3995
|
admin: {
|
|
@@ -3820,6 +4152,7 @@ function _buildApi(myClient) {
|
|
|
3820
4152
|
metadata: (tenantSlug, query) => platformApiDatalakeControllerMetadata({
|
|
3821
4153
|
path: { tenant_slug: tenantSlug },
|
|
3822
4154
|
query,
|
|
4155
|
+
querySerializer: bracketQuerySerializer,
|
|
3823
4156
|
client: myClient,
|
|
3824
4157
|
throwOnError: true
|
|
3825
4158
|
}),
|
|
@@ -3847,6 +4180,33 @@ function _buildApi(myClient) {
|
|
|
3847
4180
|
client: myClient,
|
|
3848
4181
|
throwOnError: true
|
|
3849
4182
|
}),
|
|
4183
|
+
provisionTokenization: (tenantSlug, datalakeSlug) => platformApiDatalakeControllerProvisionTokenization({
|
|
4184
|
+
path: {
|
|
4185
|
+
tenant_slug: tenantSlug,
|
|
4186
|
+
datalake_slug: datalakeSlug
|
|
4187
|
+
},
|
|
4188
|
+
client: myClient,
|
|
4189
|
+
throwOnError: true
|
|
4190
|
+
}),
|
|
4191
|
+
derivedLakeTables: (tenantSlug, datalakeSlug, mode) => platformApiDatalakeControllerDerivedLakeTables({
|
|
4192
|
+
path: {
|
|
4193
|
+
tenant_slug: tenantSlug,
|
|
4194
|
+
datalake_slug: datalakeSlug,
|
|
4195
|
+
mode
|
|
4196
|
+
},
|
|
4197
|
+
client: myClient,
|
|
4198
|
+
throwOnError: true
|
|
4199
|
+
}),
|
|
4200
|
+
resyncTable: (tenantSlug, datalakeSlug, mode, body) => platformApiDatalakeControllerResyncTable({
|
|
4201
|
+
path: {
|
|
4202
|
+
tenant_slug: tenantSlug,
|
|
4203
|
+
datalake_slug: datalakeSlug,
|
|
4204
|
+
mode
|
|
4205
|
+
},
|
|
4206
|
+
body,
|
|
4207
|
+
client: myClient,
|
|
4208
|
+
throwOnError: true
|
|
4209
|
+
}),
|
|
3850
4210
|
createUploadLink: (tenantSlug, datalakeSlug, body) => platformApiDatalakeControllerCreateUploadLink({
|
|
3851
4211
|
path: {
|
|
3852
4212
|
tenant_slug: tenantSlug,
|
|
@@ -3890,6 +4250,82 @@ function _buildApi(myClient) {
|
|
|
3890
4250
|
});
|
|
3891
4251
|
}
|
|
3892
4252
|
},
|
|
4253
|
+
advancedMigrations: {
|
|
4254
|
+
list: (tenantSlug, datalakeSlug, query) => platformApiAdvancedMigrationControllerIndex({
|
|
4255
|
+
path: {
|
|
4256
|
+
tenant_slug: tenantSlug,
|
|
4257
|
+
datalake_slug: datalakeSlug
|
|
4258
|
+
},
|
|
4259
|
+
query,
|
|
4260
|
+
querySerializer: bracketQuerySerializer,
|
|
4261
|
+
client: myClient,
|
|
4262
|
+
throwOnError: true
|
|
4263
|
+
}),
|
|
4264
|
+
get: (tenantSlug, datalakeSlug, id) => platformApiAdvancedMigrationControllerShow({
|
|
4265
|
+
path: {
|
|
4266
|
+
tenant_slug: tenantSlug,
|
|
4267
|
+
datalake_slug: datalakeSlug,
|
|
4268
|
+
id
|
|
4269
|
+
},
|
|
4270
|
+
client: myClient,
|
|
4271
|
+
throwOnError: true
|
|
4272
|
+
}),
|
|
4273
|
+
create: (tenantSlug, datalakeSlug, body) => platformApiAdvancedMigrationControllerCreate({
|
|
4274
|
+
path: {
|
|
4275
|
+
tenant_slug: tenantSlug,
|
|
4276
|
+
datalake_slug: datalakeSlug
|
|
4277
|
+
},
|
|
4278
|
+
body,
|
|
4279
|
+
client: myClient,
|
|
4280
|
+
throwOnError: true
|
|
4281
|
+
}),
|
|
4282
|
+
update: (tenantSlug, datalakeSlug, id, body) => platformApiAdvancedMigrationControllerUpdate({
|
|
4283
|
+
path: {
|
|
4284
|
+
tenant_slug: tenantSlug,
|
|
4285
|
+
datalake_slug: datalakeSlug,
|
|
4286
|
+
id
|
|
4287
|
+
},
|
|
4288
|
+
body,
|
|
4289
|
+
client: myClient,
|
|
4290
|
+
throwOnError: true
|
|
4291
|
+
}),
|
|
4292
|
+
delete: (tenantSlug, datalakeSlug, id) => platformApiAdvancedMigrationControllerDelete({
|
|
4293
|
+
path: {
|
|
4294
|
+
tenant_slug: tenantSlug,
|
|
4295
|
+
datalake_slug: datalakeSlug,
|
|
4296
|
+
id
|
|
4297
|
+
},
|
|
4298
|
+
client: myClient,
|
|
4299
|
+
throwOnError: true
|
|
4300
|
+
}),
|
|
4301
|
+
checksum: (tenantSlug, datalakeSlug, body) => platformApiAdvancedMigrationControllerChecksum({
|
|
4302
|
+
path: {
|
|
4303
|
+
tenant_slug: tenantSlug,
|
|
4304
|
+
datalake_slug: datalakeSlug
|
|
4305
|
+
},
|
|
4306
|
+
body,
|
|
4307
|
+
client: myClient,
|
|
4308
|
+
throwOnError: true
|
|
4309
|
+
}),
|
|
4310
|
+
metadata: (tenantSlug, datalakeSlug, query) => platformApiAdvancedMigrationControllerMetadata({
|
|
4311
|
+
path: {
|
|
4312
|
+
tenant_slug: tenantSlug,
|
|
4313
|
+
datalake_slug: datalakeSlug
|
|
4314
|
+
},
|
|
4315
|
+
query,
|
|
4316
|
+
client: myClient,
|
|
4317
|
+
throwOnError: true
|
|
4318
|
+
}),
|
|
4319
|
+
metadataDetails: (tenantSlug, datalakeSlug, id) => platformApiAdvancedMigrationControllerMetadataDetails({
|
|
4320
|
+
path: {
|
|
4321
|
+
tenant_slug: tenantSlug,
|
|
4322
|
+
datalake_slug: datalakeSlug,
|
|
4323
|
+
id
|
|
4324
|
+
},
|
|
4325
|
+
client: myClient,
|
|
4326
|
+
throwOnError: true
|
|
4327
|
+
})
|
|
4328
|
+
},
|
|
3893
4329
|
dataSources: {
|
|
3894
4330
|
list: (tenantSlug, datalakeSlug, query) => platformApiDataSourceControllerIndex({
|
|
3895
4331
|
path: {
|
|
@@ -4818,14 +5254,13 @@ function _buildApi(myClient) {
|
|
|
4818
5254
|
client: myClient,
|
|
4819
5255
|
throwOnError: true
|
|
4820
5256
|
}),
|
|
4821
|
-
get: (tenantSlug, datalakeSlug, workflowSlug, id
|
|
5257
|
+
get: (tenantSlug, datalakeSlug, workflowSlug, id) => platformApiAgenticWorkflowOperationsControllerWorkflowLogShow({
|
|
4822
5258
|
path: {
|
|
4823
5259
|
tenant_slug: tenantSlug,
|
|
4824
5260
|
datalake_slug: datalakeSlug,
|
|
4825
5261
|
workflow_slug: workflowSlug,
|
|
4826
5262
|
id
|
|
4827
5263
|
},
|
|
4828
|
-
...opts?.dataAccessMode ? { query: { data_access_mode: opts.dataAccessMode } } : {},
|
|
4829
5264
|
client: myClient,
|
|
4830
5265
|
throwOnError: true
|
|
4831
5266
|
}),
|