@alvera-ai/platform-sdk 0.16.3 → 0.17.0-next.gff303b1

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/dist/index.d.mts CHANGED
@@ -29,9 +29,9 @@ type EnvironmentName = keyof typeof ENVIRONMENTS;
29
29
  */
30
30
  type TextToSqlRequest = {
31
31
  /**
32
- * Which datalake schema to target: `unregulated` (tokenized) or `regulated` (raw)
32
+ * Which lake to target: `raw`, `tokenized` or `redacted`
33
33
  */
34
- mode: 'regulated' | 'unregulated';
34
+ mode: 'raw' | 'tokenized' | 'redacted';
35
35
  /**
36
36
  * Natural-language description of the desired query
37
37
  */
@@ -47,9 +47,9 @@ type TextToSqlRequest = {
47
47
  * `error_message`.
48
48
  *
49
49
  * UserSearch carries no `data_access_mode` of its own — the capability check
50
- * runs at query time via `Platform.RegulatedDatalakeRepo.prepare_query/3`,
51
- * which reads the ambient session and raises 403 when the ceiling is
52
- * insufficient. ExOpenApiUtils derives `UserSearchRequest` (writeable subset)
50
+ * runs where the lake's connection is acquired, via
51
+ * `Platform.Datalakes.authorize_lake_access!/1`, which reads the ambient
52
+ * session and raises 403 when the ceiling is insufficient. ExOpenApiUtils derives `UserSearchRequest` (writeable subset)
53
53
  * and `UserSearchResponse` (full readable shape) from this declaration via
54
54
  * the readOnly/writeOnly markers on each property.
55
55
  *
@@ -209,7 +209,7 @@ type ContextDatasetResponse = {
209
209
  position?: number;
210
210
  readonly updated_at?: string;
211
211
  /**
212
- * Liquid-templated SQL WHERE clause for filtering records at runtime. The context builder appends the MDM subject FK automatically.
212
+ * Liquid-templated SQL WHERE clause for filtering records at runtime. The context builder appends the legal entity FK automatically.
213
213
  */
214
214
  where_clause?: string | null;
215
215
  /**
@@ -316,7 +316,7 @@ type AgenticWorkflowResponse = {
316
316
  */
317
317
  name: string;
318
318
  /**
319
- * When true, skip MDM subject resolution
319
+ * When true, skip MDM resolution
320
320
  */
321
321
  skip_mdm_resolution?: boolean;
322
322
  /**
@@ -340,6 +340,25 @@ type AgenticWorkflowResponse = {
340
340
  */
341
341
  readonly workflow_ai_agents?: Array<WorkflowAiAgentResponse>;
342
342
  };
343
+ /**
344
+ * AdvancedMigrationRequest
345
+ *
346
+ * An advanced migration — SQL a person wrote by hand for one datalake, run by the same migrator that applies the platform's own generated changes. Once it has run it can no longer be edited or deleted. Request
347
+ */
348
+ type AdvancedMigrationRequest = {
349
+ /**
350
+ * The SQL that reverses `up_statement`, used when rolling the datalake back.
351
+ */
352
+ down_statement: string;
353
+ /**
354
+ * Identifier for the migration, unique within the datalake. Must start with a capital letter and contain only letters, numbers and underscores — for example `RenameMemoToNote`.
355
+ */
356
+ name: string;
357
+ /**
358
+ * The SQL to run. Anything the platform will not generate for itself belongs here — renaming a column, changing its type, dropping one, adding an index.
359
+ */
360
+ up_statement: string;
361
+ };
343
362
  /**
344
363
  * ManualToolInvocationResponse
345
364
  *
@@ -931,7 +950,11 @@ type ResolvePageResponse = {
931
950
  */
932
951
  expires_at: string;
933
952
  /**
934
- * Regulated message from the workflow action that generated this page token (raw body/subject)
953
+ * Legal entity id associated with this page token
954
+ */
955
+ legal_entity_id: string;
956
+ /**
957
+ * Raw message from the workflow action that generated this page token (raw body/subject)
935
958
  */
936
959
  message?: {
937
960
  /**
@@ -959,7 +982,7 @@ type ResolvePageResponse = {
959
982
  */
960
983
  form_submitted_at?: string | null;
961
984
  /**
962
- * Regulated message UUID
985
+ * Raw message UUID
963
986
  */
964
987
  id: string;
965
988
  /**
@@ -991,7 +1014,7 @@ type ResolvePageResponse = {
991
1014
  /**
992
1015
  * Delivery status
993
1016
  */
994
- status: 'pending' | 'queued' | 'sent' | 'delivered' | 'read' | 'opened' | 'clicked' | 'form_submitted' | 'failed' | 'invalidated' | 'customer_rejected' | 'dry_run' | 'received';
1017
+ status: 'pending' | 'accepted' | 'queued' | 'sending' | 'sent' | 'delivered' | 'read' | 'opened' | 'clicked' | 'form_submitted' | 'failed' | 'invalidated' | 'duplicate' | 'customer_rejected' | 'dry_run' | 'received';
995
1018
  /**
996
1019
  * Human-readable detail behind the current status, rendered from the delivery provider's event (e.g. the mailgun event name, or a bounce reason on failure)
997
1020
  */
@@ -1005,10 +1028,6 @@ type ResolvePageResponse = {
1005
1028
  * Route path within the connected app (e.g. /forms/cahps)
1006
1029
  */
1007
1030
  route_path: string;
1008
- /**
1009
- * MDM subject ID associated with this page token
1010
- */
1011
- subject_id: string;
1012
1031
  /**
1013
1032
  * Puid token that was resolved
1014
1033
  */
@@ -1033,9 +1052,9 @@ declare enum ActionType {
1033
1052
  /**
1034
1053
  * MDMVerifyRequest
1035
1054
  *
1036
- * Request body for MDM subject identity verification.
1055
+ * Request body for MDM identity verification.
1037
1056
  *
1038
- * Every MDM subject is ultimately a **person** or a **company**, so the identity
1057
+ * Every legal entity is ultimately a **person** or a **company**, so the identity
1039
1058
  * fields are organized along that ontology rather than per industry. All identity
1040
1059
  * fields are optional on the wire; the datalake's own data-domain validator casts
1041
1060
  * only the fields its domain knows and requires **at least one** of them — a body
@@ -1044,55 +1063,64 @@ declare enum ActionType {
1044
1063
  *
1045
1064
  * Field vocabulary per data domain:
1046
1065
  *
1047
- * | data_domain | identity fields |
1066
+ * | identity fields |
1048
1067
  * |---|---|
1049
- * | `healthcare` | `given_name`, `family_name`, `birth_date`, `gender`, `phone`, `email`, `identifiers` |
1050
- * | `foundation` | `legal_entity_type`, `first_name`, `middle_name`, `last_name`, `preferred_name`, `date_of_birth`, `citizenship_country`, `nationality`, `business_name`, `doing_business_as_names`, `date_formed`, `jurisdiction_country`, `phone`, `email`, `identifiers` |
1051
- * | `subscription` | `customer_type`, `name`, `tax_id`, `phone`, `email`, `identifiers` |
1052
- * | `service_commerce` | `consumer_type`, `name`, `phone`, `email`, `identifiers` |
1053
- * | `core_banking` | `party_type`, `given_name`, `family_name`, `company_name`, `birth_date`, `phone`, `email`, `identifiers` |
1054
- * | `payments` | `account_holder_type`, `given_name`, `family_name`, `company_name`, `birth_date`, `phone`, `email`, `identifiers` (each identifier additionally requires `id_type`) |
1068
+ * | `legal_entity_type`, `first_name`, `middle_name`, `last_name`, `preferred_name`, `date_of_birth`, `citizenship_country`, `nationality`, `business_name`, `doing_business_as_names`, `date_formed`, `jurisdiction_country`, `phone`, `email`, `identifiers` |
1069
+ *
1070
+ * Every property below is cast by `Platform.MDMInput`'s
1071
+ * `@verification_fields`. Keep the two in step — a property advertised here
1072
+ * but absent there is accepted by the router and then silently dropped by
1073
+ * `cast/3`, which reads to the caller as "my attribute did not match".
1055
1074
  *
1056
1075
  */
1057
1076
  type MdmVerifyRequest = {
1058
1077
  /**
1059
- * payments: individual | business
1060
- */
1061
- account_holder_type?: string;
1062
- /**
1063
- * Date of birth — healthcare, core_banking, payments (component-fuzzy match)
1078
+ * Addresses to match against the legal entity's own — every domain. Each supplied component must agree (case- and whitespace-insensitive); components left out are not compared, and at least one address in the list must match.
1064
1079
  */
1065
- birth_date?: string;
1080
+ addresses?: Array<{
1081
+ /**
1082
+ * City / locality
1083
+ */
1084
+ city?: string;
1085
+ /**
1086
+ * Country
1087
+ */
1088
+ country?: string;
1089
+ /**
1090
+ * Postal code
1091
+ */
1092
+ postal_code?: string;
1093
+ /**
1094
+ * State / region
1095
+ */
1096
+ state?: string;
1097
+ /**
1098
+ * Street line 1
1099
+ */
1100
+ street1?: string;
1101
+ /**
1102
+ * Street line 2
1103
+ */
1104
+ street2?: string;
1105
+ }>;
1066
1106
  /**
1067
- * Business name — foundation (fuzzy match incl. doing-business-as names)
1107
+ * Business name (fuzzy match incl. doing-business-as names)
1068
1108
  */
1069
1109
  business_name?: string;
1070
1110
  /**
1071
- * Citizenship country — foundation
1111
+ * Citizenship country
1072
1112
  */
1073
1113
  citizenship_country?: string;
1074
1114
  /**
1075
- * Company legal name — core_banking (exact match), payments
1076
- */
1077
- company_name?: string;
1078
- /**
1079
- * service_commerce consumer kind
1080
- */
1081
- consumer_type?: string;
1082
- /**
1083
- * subscription customer kind
1084
- */
1085
- customer_type?: string;
1086
- /**
1087
- * Company formation date — foundation (component-fuzzy match)
1115
+ * Company formation date (component-fuzzy match)
1088
1116
  */
1089
1117
  date_formed?: string;
1090
1118
  /**
1091
- * Date of birth — foundation (component-fuzzy match)
1119
+ * Date of birth (component-fuzzy match)
1092
1120
  */
1093
1121
  date_of_birth?: string;
1094
1122
  /**
1095
- * Doing-business-as names — foundation
1123
+ * Doing-business-as names
1096
1124
  */
1097
1125
  doing_business_as_names?: Array<string>;
1098
1126
  /**
@@ -1100,35 +1128,23 @@ type MdmVerifyRequest = {
1100
1128
  */
1101
1129
  email?: string;
1102
1130
  /**
1103
- * Family/last name — healthcare, core_banking, payments (fuzzy match)
1104
- */
1105
- family_name?: string;
1106
- /**
1107
- * Given/first name — foundation (fuzzy match over first/middle/preferred)
1131
+ * Given/first name (fuzzy match over first/middle/preferred)
1108
1132
  */
1109
1133
  first_name?: string;
1110
- /**
1111
- * Administrative gender — healthcare
1112
- */
1113
- gender?: string;
1114
- /**
1115
- * Given/first name — healthcare, core_banking, payments (fuzzy match)
1116
- */
1117
- given_name?: string;
1118
1134
  /**
1119
1135
  * Identifiers for exact (system, value) matching — every domain
1120
1136
  */
1121
1137
  identifiers?: Array<{
1122
1138
  /**
1123
- * Issuing country — foundation
1139
+ * Issuing country
1124
1140
  */
1125
1141
  country?: string;
1126
1142
  /**
1127
- * Identifier kind (e.g. us_ssn, lei, digital_identifier) — required by payments
1143
+ * Identifier kind (e.g. us_ssn, lei, digital_identifier)
1128
1144
  */
1129
1145
  id_type?: string;
1130
1146
  /**
1131
- * Identifier system (e.g. MRN, SSN, account_holder_number)
1147
+ * Identifier system (e.g. lei_register, us_ssn_authority)
1132
1148
  */
1133
1149
  system: string;
1134
1150
  /**
@@ -1137,49 +1153,37 @@ type MdmVerifyRequest = {
1137
1153
  value: string;
1138
1154
  }>;
1139
1155
  /**
1140
- * Jurisdiction country — foundation
1156
+ * Jurisdiction country
1141
1157
  */
1142
1158
  jurisdiction_country?: string;
1143
1159
  /**
1144
- * Family/last name — foundation (fuzzy match)
1160
+ * Family/last name (fuzzy match)
1145
1161
  */
1146
1162
  last_name?: string;
1147
1163
  /**
1148
- * foundation: individual | business
1164
+ * The legal entity id to verify against
1149
1165
  */
1150
- legal_entity_type?: string;
1166
+ legal_entity_id: string;
1151
1167
  /**
1152
- * Middle name — foundation
1168
+ * individual | business
1153
1169
  */
1154
- middle_name?: string;
1170
+ legal_entity_type?: string;
1155
1171
  /**
1156
- * Subject full name (person or company) — subscription, service_commerce (fuzzy match)
1172
+ * Middle name
1157
1173
  */
1158
- name?: string;
1174
+ middle_name?: string;
1159
1175
  /**
1160
- * Nationality — foundation
1176
+ * Nationality
1161
1177
  */
1162
1178
  nationality?: string;
1163
1179
  /**
1164
- * core_banking: individual | organization | sole_trader | partnership | trust | government
1165
- */
1166
- party_type?: string;
1167
- /**
1168
- * Phone number — service_commerce matches it; other domains accept it
1180
+ * Phone number
1169
1181
  */
1170
1182
  phone?: string;
1171
1183
  /**
1172
- * Preferred/nickname — foundation
1184
+ * Preferred/nickname
1173
1185
  */
1174
1186
  preferred_name?: string;
1175
- /**
1176
- * The MDM subject ID to verify against
1177
- */
1178
- subject_id: string;
1179
- /**
1180
- * Tax identifier — subscription (exact match)
1181
- */
1182
- tax_id?: string;
1183
1187
  };
1184
1188
  /**
1185
1189
  * ActionResponse
@@ -1217,7 +1221,7 @@ type ActionResponse = {
1217
1221
  */
1218
1222
  readonly id?: string;
1219
1223
  /**
1220
- * Liquid template producing the idempotency key; receives checksum, subject_id, workflow_id, action_id, decision_key
1224
+ * Liquid template producing the idempotency key; receives checksum, legal_entity_id, legal_entity_id, workflow_id, action_id, decision_key
1221
1225
  */
1222
1226
  idempotency_template: string;
1223
1227
  readonly inserted_at?: string;
@@ -1314,7 +1318,7 @@ type InteroperabilityContractResponse = {
1314
1318
  */
1315
1319
  name: string;
1316
1320
  /**
1317
- * Dataset this contract targets (e.g. "patient", "observation", "generic_table")
1321
+ * Dataset this contract targets (e.g. "legal_entity", "beneficial_owner", "generic_table")
1318
1322
  */
1319
1323
  resource_type: string;
1320
1324
  /**
@@ -1933,7 +1937,7 @@ type UpdatePageResponse = {
1933
1937
  */
1934
1938
  form_submitted_at?: string | null;
1935
1939
  /**
1936
- * Regulated message UUID
1940
+ * Raw message UUID
1937
1941
  */
1938
1942
  id: string;
1939
1943
  /**
@@ -1943,7 +1947,7 @@ type UpdatePageResponse = {
1943
1947
  /**
1944
1948
  * Message status after applying the update through the monotonic guard
1945
1949
  */
1946
- status?: 'pending' | 'queued' | 'sent' | 'delivered' | 'read' | 'opened' | 'clicked' | 'form_submitted' | 'failed' | 'invalidated' | 'customer_rejected' | 'dry_run' | 'received';
1950
+ status?: 'pending' | 'accepted' | 'queued' | 'sending' | 'sent' | 'delivered' | 'read' | 'opened' | 'clicked' | 'form_submitted' | 'failed' | 'invalidated' | 'duplicate' | 'customer_rejected' | 'dry_run' | 'received';
1947
1951
  };
1948
1952
  };
1949
1953
  /**
@@ -1976,9 +1980,9 @@ type SharePointExcelCallRequest = {
1976
1980
  */
1977
1981
  type DacRawLogFileResponse = {
1978
1982
  /**
1979
- * Bucket the archive lives in — regulated (raw) or unregulated (tokenized)
1983
+ * Bucket the archive lives in — raw or tokenized
1980
1984
  */
1981
- mode: 'regulated' | 'unregulated';
1985
+ mode: 'raw' | 'tokenized' | 'redacted';
1982
1986
  /**
1983
1987
  * Cloud-storage object key of the merged NDJSON archive
1984
1988
  */
@@ -2031,7 +2035,7 @@ type SystemTemplateConfig = {
2031
2035
  [key: string]: unknown;
2032
2036
  } | null;
2033
2037
  /**
2034
- * System template identifier — the same string the UI stores when a user selects a system template (e.g. `ai_agents/healthcare/contact_message_categorizer`).
2038
+ * System template identifier — the same string the UI stores when a user selects a system template (e.g. `ai_agents/contact_message_categorizer`).
2035
2039
  */
2036
2040
  path: string;
2037
2041
  };
@@ -2112,6 +2116,49 @@ type AiAgentInvokeRequest = {
2112
2116
  [key: string]: unknown;
2113
2117
  };
2114
2118
  };
2119
+ /**
2120
+ * AdvancedMigrationResponse
2121
+ *
2122
+ * An advanced migration — SQL a person wrote by hand for one datalake, run by the same migrator that applies the platform's own generated changes. Once it has run it can no longer be edited or deleted.
2123
+ */
2124
+ type AdvancedMigrationResponse = {
2125
+ /**
2126
+ * SHA-256 drift fingerprint over authored fields (server-computed)
2127
+ */
2128
+ readonly checksum?: string;
2129
+ /**
2130
+ * The datalake this migration belongs to. Taken from the URL, not the body.
2131
+ */
2132
+ readonly datalake_id?: string;
2133
+ /**
2134
+ * The SQL that reverses `up_statement`, used when rolling the datalake back.
2135
+ */
2136
+ down_statement: string;
2137
+ /**
2138
+ * Advanced migration ID
2139
+ */
2140
+ readonly id?: string;
2141
+ /**
2142
+ * Created at
2143
+ */
2144
+ readonly inserted_at?: string;
2145
+ /**
2146
+ * Identifier for the migration, unique within the datalake. Must start with a capital letter and contain only letters, numbers and underscores — for example `RenameMemoToNote`.
2147
+ */
2148
+ name: string;
2149
+ /**
2150
+ * The SQL to run. Anything the platform will not generate for itself belongs here — renaming a column, changing its type, dropping one, adding an index.
2151
+ */
2152
+ up_statement: string;
2153
+ /**
2154
+ * Updated at
2155
+ */
2156
+ readonly updated_at?: string;
2157
+ /**
2158
+ * Execution order, assigned by the platform from a sequence. Migrations run lowest-first.
2159
+ */
2160
+ readonly version?: number;
2161
+ };
2115
2162
  /**
2116
2163
  * ManualUploadCallResponse
2117
2164
  *
@@ -2147,7 +2194,7 @@ type MinimalAiAgentResponse = {
2147
2194
  /**
2148
2195
  * Data access level
2149
2196
  */
2150
- data_access: 'regulated' | 'unregulated';
2197
+ data_access: 'raw' | 'tokenized';
2151
2198
  /**
2152
2199
  * Agent description
2153
2200
  */
@@ -2225,7 +2272,11 @@ type GenericTableColumnResponse = {
2225
2272
  * Column name
2226
2273
  */
2227
2274
  name: string;
2228
- privacy_requirement?: 'none' | 'tokenize' | 'redact_only';
2275
+ privacy_requirement?: 'none' | 'redact' | 'tokenize';
2276
+ /**
2277
+ * What the column holds, as opposed to how it is stored. Nullable.
2278
+ */
2279
+ semantic_kind?: 'string' | 'text' | 'email' | 'phone' | 'date' | 'json' | 'image' | 'pdf' | 'attachment';
2229
2280
  /**
2230
2281
  * Display title
2231
2282
  */
@@ -2233,7 +2284,7 @@ type GenericTableColumnResponse = {
2233
2284
  /**
2234
2285
  * Column data type
2235
2286
  */
2236
- type: 'string' | 'integer' | 'float' | 'boolean' | 'date' | 'datetime' | 'time' | 'jsonb';
2287
+ type: 'string' | 'integer' | 'float' | 'boolean' | 'date' | 'datetime' | 'time' | 'decimal' | 'jsonb';
2237
2288
  };
2238
2289
  /**
2239
2290
  * DatasetSearchResponse
@@ -2403,9 +2454,9 @@ type DataSourceRequest = {
2403
2454
  */
2404
2455
  type ExecuteSqlRequest = {
2405
2456
  /**
2406
- * Which datalake schema to query: `unregulated` (tokenized) or `regulated` (raw)
2457
+ * Which lake to query: `raw`, `tokenized` or `redacted`
2407
2458
  */
2408
- mode: 'regulated' | 'unregulated';
2459
+ mode: 'raw' | 'tokenized' | 'redacted';
2409
2460
  /**
2410
2461
  * 1-based page number
2411
2462
  */
@@ -2438,29 +2489,10 @@ type ActionManualUploadCallResponse = ManualUploadCallResponse & {
2438
2489
  */
2439
2490
  type DatalakeResponse = {
2440
2491
  /**
2441
- * URL-friendly slug. Server-computed from `name`; read-only on the wire — clients do not author this field.
2442
- */
2443
- readonly slug?: string;
2444
- /**
2445
- * Unregulated reader auth method
2446
- */
2447
- unregulated_db_reader_auth_method: 'password' | 'iam_role';
2448
- /**
2449
- * Regulated reader DB host
2450
- */
2451
- regulated_data_db_reader_host: string;
2452
- /**
2453
- * Regulated reader DB name
2492
+ * SHA-256 drift fingerprint over authored fields (server-computed)
2454
2493
  */
2455
- regulated_data_db_reader_name: string;
2456
- regulated_cloud_storage: ({
2457
- cloud_storage_type: 'aws';
2458
- } & DatalakeCloudStorageAwsResponse) | ({
2459
- cloud_storage_type: 'r2';
2460
- } & DatalakeCloudStorageR2Response) | ({
2461
- cloud_storage_type: 'custom';
2462
- } & DatalakeCloudStorageCustomResponse);
2463
- unregulated_cloud_storage: ({
2494
+ readonly checksum?: string;
2495
+ cloud_storage: ({
2464
2496
  cloud_storage_type: 'aws';
2465
2497
  } & DatalakeCloudStorageAwsResponse) | ({
2466
2498
  cloud_storage_type: 'r2';
@@ -2468,130 +2500,98 @@ type DatalakeResponse = {
2468
2500
  cloud_storage_type: 'custom';
2469
2501
  } & DatalakeCloudStorageCustomResponse);
2470
2502
  /**
2471
- * SHA-256 drift fingerprint over authored fields (server-computed)
2472
- */
2473
- readonly checksum?: string;
2474
- /**
2475
- * Regulated reader DB port
2503
+ * Reader auth method
2476
2504
  */
2477
- regulated_data_db_reader_port: number;
2505
+ db_reader_auth_method: 'password' | 'iam_role';
2478
2506
  /**
2479
- * Unregulated writer DB schema name
2507
+ * Enable SSL for reader
2480
2508
  */
2481
- unregulated_db_writer_schema: string;
2509
+ db_reader_enable_ssl: boolean;
2482
2510
  /**
2483
- * Unregulated writer DB name
2511
+ * Reader DB host
2484
2512
  */
2485
- unregulated_db_writer_name: string;
2513
+ db_reader_host: string;
2486
2514
  /**
2487
- * Regulated reader DB schema name
2515
+ * Reader DB name
2488
2516
  */
2489
- regulated_data_db_reader_schema: string;
2517
+ db_reader_name: string;
2490
2518
  /**
2491
- * Unregulated writer DB host
2519
+ * Reader DB port
2492
2520
  */
2493
- unregulated_db_writer_host: string;
2521
+ db_reader_port: number;
2494
2522
  /**
2495
- * Regulated writer DB name
2523
+ * Reader DB schema name
2496
2524
  */
2497
- regulated_data_db_writer_name: string;
2525
+ db_reader_schema: string;
2498
2526
  /**
2499
- * Unregulated reader DB name
2527
+ * Writer auth method
2500
2528
  */
2501
- unregulated_db_reader_name: string;
2529
+ db_writer_auth_method: 'password' | 'iam_role';
2502
2530
  /**
2503
- * Unregulated writer auth method
2504
- */
2505
- unregulated_db_writer_auth_method: 'password' | 'iam_role';
2506
- tenant?: TenantResponse;
2507
- /**
2508
- * Datalake ID
2531
+ * Enable SSL for writer
2509
2532
  */
2510
- readonly id?: string;
2533
+ db_writer_enable_ssl: boolean;
2511
2534
  /**
2512
- * Datalake name
2535
+ * Writer DB host
2513
2536
  */
2514
- name: string;
2537
+ db_writer_host: string;
2515
2538
  /**
2516
- * Datalake description
2539
+ * Writer DB name
2517
2540
  */
2518
- description?: string | null;
2541
+ db_writer_name: string;
2519
2542
  /**
2520
- * Database connection pool size
2543
+ * Writer DB port
2521
2544
  */
2522
- pool_size: number | null;
2545
+ db_writer_port: number;
2523
2546
  /**
2524
- * Last update timestamp
2547
+ * Writer DB schema name
2525
2548
  */
2526
- readonly updated_at?: string;
2549
+ db_writer_schema: string;
2527
2550
  /**
2528
- * Datalake setup status
2529
- */
2530
- readonly status?: 'new' | 'processing' | 'ready';
2531
- /**
2532
- * Unregulated reader DB port
2533
- */
2534
- unregulated_db_reader_port: number;
2535
- /**
2536
- * Unregulated reader DB host
2537
- */
2538
- unregulated_db_reader_host: string;
2539
- /**
2540
- * Enable SSL for regulated reader
2541
- */
2542
- regulated_data_db_reader_enable_ssl: boolean;
2543
- /**
2544
- * Enable SSL for unregulated reader
2545
- */
2546
- unregulated_db_reader_enable_ssl: boolean;
2547
- /**
2548
- * Regulated writer DB port
2549
- */
2550
- regulated_data_db_writer_port: number;
2551
- /**
2552
- * Unregulated writer DB port
2553
- */
2554
- unregulated_db_writer_port: number;
2555
- /**
2556
- * Enable SSL for unregulated writer
2551
+ * Datalake description
2557
2552
  */
2558
- unregulated_db_writer_enable_ssl: boolean;
2553
+ description?: string | null;
2559
2554
  /**
2560
- * Unregulated reader DB schema name
2555
+ * Datalake ID
2561
2556
  */
2562
- unregulated_db_reader_schema: string;
2557
+ readonly id?: string;
2563
2558
  /**
2564
- * Enable SSL for regulated writer
2559
+ * Creation timestamp
2565
2560
  */
2566
- regulated_data_db_writer_enable_ssl: boolean;
2561
+ readonly inserted_at?: string;
2567
2562
  /**
2568
- * Regulated writer DB schema name
2563
+ * Datalake name
2569
2564
  */
2570
- regulated_data_db_writer_schema: string;
2565
+ name: string;
2571
2566
  /**
2572
- * Regulated writer auth method
2567
+ * Database connection pool size
2573
2568
  */
2574
- regulated_data_db_writer_auth_method: 'password' | 'iam_role';
2569
+ pool_size: number | null;
2575
2570
  /**
2576
- * Creation timestamp
2571
+ * The raw datalake this one derives from. Required on a tokenized or redacted datalake, and always null on a raw one.
2577
2572
  */
2578
- readonly inserted_at?: string;
2573
+ primary_datalake_id?: string | null;
2579
2574
  /**
2580
- * Regulated writer DB host
2575
+ * URL-friendly slug. Server-computed from `name`; read-only on the wire — clients do not author this field.
2581
2576
  */
2582
- regulated_data_db_writer_host: string;
2577
+ readonly slug?: string;
2583
2578
  /**
2584
- * Regulated reader auth method
2579
+ * Datalake setup status
2585
2580
  */
2586
- regulated_data_db_reader_auth_method: 'password' | 'iam_role';
2581
+ readonly status?: 'new' | 'processing' | 'ready';
2582
+ tenant?: TenantResponse;
2587
2583
  /**
2588
2584
  * Datalake reporting timezone. Closed whitelist of 8 US timezones — general IANA values (including `UTC`) are rejected.
2589
2585
  */
2590
2586
  timezone: 'America/New_York' | 'America/Chicago' | 'America/Denver' | 'America/Los_Angeles' | 'America/Anchorage' | 'America/Adak' | 'Pacific/Honolulu' | 'America/Phoenix';
2591
2587
  /**
2592
- * Industry data domain. Each value carries a stability tier in the `x-stability` extension — `stable` domains hold their dataset shapes across releases; `experimental` domains may change without notice.
2588
+ * What this lake holds. `raw` is the lake the platform writes; `tokenized` and `redacted` are derived, read-only, and filled by replication.
2589
+ */
2590
+ type?: 'raw' | 'tokenized' | 'redacted';
2591
+ /**
2592
+ * Last update timestamp
2593
2593
  */
2594
- data_domain: 'healthcare' | 'core_banking' | 'payments' | 'subscription' | 'service_commerce' | 'trading' | 'foundation';
2594
+ readonly updated_at?: string;
2595
2595
  };
2596
2596
  /**
2597
2597
  * AlveraAPIError
@@ -2697,9 +2697,9 @@ type ToolSnsResponse = SnsResponse & {
2697
2697
  * `error_message`.
2698
2698
  *
2699
2699
  * UserSearch carries no `data_access_mode` of its own — the capability check
2700
- * runs at query time via `Platform.RegulatedDatalakeRepo.prepare_query/3`,
2701
- * which reads the ambient session and raises 403 when the ceiling is
2702
- * insufficient. ExOpenApiUtils derives `UserSearchRequest` (writeable subset)
2700
+ * runs where the lake's connection is acquired, via
2701
+ * `Platform.Datalakes.authorize_lake_access!/1`, which reads the ambient
2702
+ * session and raises 403 when the ceiling is insufficient. ExOpenApiUtils derives `UserSearchRequest` (writeable subset)
2703
2703
  * and `UserSearchResponse` (full readable shape) from this declaration via
2704
2704
  * the readOnly/writeOnly markers on each property.
2705
2705
  * Request
@@ -2924,9 +2924,9 @@ type ManualToolInvocationRestCallResponse = RestCallResponse & {
2924
2924
  type SessionResponse = {
2925
2925
  api_key?: ApiKeyResponse;
2926
2926
  /**
2927
- * Capability ceiling for the session. `:regulated` permits PHI/PII reads; `:unregulated` is tokenized/redacted. Set at creation time from membership role (researcher locked to `:unregulated`); cannot be widened post-creation.
2927
+ * Capability ceiling for the session — the most sensitive lake it may read. `:raw` reaches the raw lake, which holds real PHI/PII values; `:tokenized` and `:redacted` name derived lakes, which hold none. Set at creation time from the membership role: a researcher is capped at `:tokenized` and can never reach the raw lake, while an admin or member is capped at `:raw`. Cannot be widened post-creation.
2928
2928
  */
2929
- data_access_mode: 'regulated' | 'unregulated';
2929
+ data_access_mode: 'raw' | 'tokenized' | 'redacted';
2930
2930
  /**
2931
2931
  * Expiration timestamp (null for non-expiring M2M sessions)
2932
2932
  */
@@ -2947,6 +2947,18 @@ type SessionResponse = {
2947
2947
  readonly type: 'user' | 'api';
2948
2948
  user?: UserResponse;
2949
2949
  };
2950
+ /**
2951
+ * AdvancedMigrationListResponse
2952
+ *
2953
+ * Paginated list of advanced migrations
2954
+ */
2955
+ type AdvancedMigrationListResponse = {
2956
+ /**
2957
+ * List of advanced migrations
2958
+ */
2959
+ data: Array<AdvancedMigrationResponse>;
2960
+ meta: PaginationMeta;
2961
+ };
2950
2962
  /**
2951
2963
  * ActionStatusUpdaterCloudWatchQueryRequest
2952
2964
  */
@@ -3275,14 +3287,14 @@ type SqlDatabaseResponse = {
3275
3287
  /**
3276
3288
  * MDMVerifyResponse
3277
3289
  *
3278
- * Result of MDM subject identity verification
3290
+ * Result of MDM identity verification
3279
3291
  */
3280
3292
  type MdmVerifyResponse = {
3281
- status: 'verified';
3282
3293
  /**
3283
- * The verified subject ID
3294
+ * The verified legal entity id
3284
3295
  */
3285
- subject_id: string;
3296
+ legal_entity_id: string;
3297
+ status: 'verified';
3286
3298
  /**
3287
3299
  * Timestamp of verification
3288
3300
  */
@@ -3294,11 +3306,11 @@ type MdmVerifyResponse = {
3294
3306
  errors: {
3295
3307
  [key: string]: Array<string>;
3296
3308
  };
3297
- status: 'not_verified';
3298
3309
  /**
3299
- * The subject ID that failed verification
3310
+ * The legal entity id that failed verification
3300
3311
  */
3301
- subject_id: string;
3312
+ legal_entity_id: string;
3313
+ status: 'not_verified';
3302
3314
  /**
3303
3315
  * Timestamp of verification attempt
3304
3316
  */
@@ -3518,6 +3530,10 @@ type WorkflowLogResponse = {
3518
3530
  */
3519
3531
  id?: string;
3520
3532
  inserted_at?: string;
3533
+ /**
3534
+ * The legal entity this run is about (cross-database id)
3535
+ */
3536
+ legal_entity_id?: string | null;
3521
3537
  /**
3522
3538
  * Execution mode
3523
3539
  */
@@ -3531,14 +3547,6 @@ type WorkflowLogResponse = {
3531
3547
  * Execution status
3532
3548
  */
3533
3549
  status: 'filtered' | 'pending' | 'executing' | 'completed' | 'failed' | 'partial';
3534
- /**
3535
- * Resolved subject ID (cross-DB)
3536
- */
3537
- subject_id?: string | null;
3538
- /**
3539
- * Subject type (e.g. patient, member)
3540
- */
3541
- subject_type?: string | null;
3542
3550
  /**
3543
3551
  * Tenant ID
3544
3552
  */
@@ -3603,9 +3611,9 @@ type ToolSqsResponse = SqsResponse & {
3603
3611
  */
3604
3612
  type ApiKeyResponse = {
3605
3613
  /**
3606
- * Capability ceiling baked into the key. Sessions derived from this key inherit this value. `:regulated` permits PHI/PII reads; `:unregulated` is tokenized/redacted. Cannot be widened post-creation — revoke + re-mint instead.
3614
+ * Capability ceiling baked into the key — the most sensitive lake a session derived from it may read. `:raw` reaches the raw lake, which holds real PHI/PII values; `:tokenized` and `:redacted` name derived lakes, which hold none. Sessions derived from this key inherit this value. Cannot be widened post-creation — revoke + re-mint instead.
3607
3615
  */
3608
- data_access_mode: 'regulated' | 'unregulated';
3616
+ data_access_mode: 'raw' | 'tokenized' | 'redacted';
3609
3617
  /**
3610
3618
  * API key ID
3611
3619
  */
@@ -3689,10 +3697,6 @@ type DataActivationClientResponse = {
3689
3697
  * True for platform-created default DACs. Cannot be deleted.
3690
3698
  */
3691
3699
  readonly is_default?: boolean;
3692
- /**
3693
- * Which context dimensions the DAC loops over per invocation
3694
- */
3695
- loop_over?: Array<'services' | 'locations' | 'providers'>;
3696
3700
  /**
3697
3701
  * DAC name
3698
3702
  */
@@ -3816,7 +3820,7 @@ type ActionRestCallResponse = RestCallResponse & {
3816
3820
  */
3817
3821
  type IngestFileRequest = {
3818
3822
  /**
3819
- * Optional business attributes merged into each row extracted from the uploaded file. For a document upload (image/PDF) the extracted row is just `{r2_key, content_type}`; these attrs ride alongside it (e.g. account_holder_number) so the interop contract can resolve the subject. File-derived keys (`r2_key`, `content_type`) always win over `data`.
3823
+ * Optional business attributes merged into each row extracted from the uploaded file. For a document upload (image/PDF) the extracted row is just `{r2_key, content_type}`; these attrs ride alongside it (e.g. account_holder_number) so the interop contract can resolve the legal entity. File-derived keys (`r2_key`, `content_type`) always win over `data`.
3820
3824
  */
3821
3825
  data?: {
3822
3826
  [key: string]: unknown;
@@ -3916,10 +3920,6 @@ type GenericTableResponse = {
3916
3920
  * Table column definitions
3917
3921
  */
3918
3922
  readonly columns?: Array<GenericTableColumnResponse>;
3919
- /**
3920
- * Industry data domain. Each value carries a stability tier in the `x-stability` extension — `stable` domains hold their dataset shapes across releases; `experimental` domains may change without notice.
3921
- */
3922
- data_domain?: 'healthcare' | 'core_banking' | 'payments' | 'subscription' | 'service_commerce' | 'trading' | 'foundation';
3923
3923
  /**
3924
3924
  * Datalake ID
3925
3925
  */
@@ -4237,7 +4237,11 @@ type GenericTableColumnRequest = {
4237
4237
  * Column name
4238
4238
  */
4239
4239
  name: string;
4240
- privacy_requirement?: 'none' | 'tokenize' | 'redact_only';
4240
+ privacy_requirement?: 'none' | 'redact' | 'tokenize';
4241
+ /**
4242
+ * What the column holds, as opposed to how it is stored. Nullable.
4243
+ */
4244
+ semantic_kind?: 'string' | 'text' | 'email' | 'phone' | 'date' | 'json' | 'image' | 'pdf' | 'attachment';
4241
4245
  /**
4242
4246
  * Display title
4243
4247
  */
@@ -4245,7 +4249,7 @@ type GenericTableColumnRequest = {
4245
4249
  /**
4246
4250
  * Column data type
4247
4251
  */
4248
- type: 'string' | 'integer' | 'float' | 'boolean' | 'date' | 'datetime' | 'time' | 'jsonb';
4252
+ type: 'string' | 'integer' | 'float' | 'boolean' | 'date' | 'datetime' | 'time' | 'decimal' | 'jsonb';
4249
4253
  };
4250
4254
  /**
4251
4255
  * CloudWatchQueryResponse
@@ -4279,7 +4283,7 @@ type AiAgentResponse = {
4279
4283
  /**
4280
4284
  * Data access level
4281
4285
  */
4282
- data_access: 'regulated' | 'unregulated';
4286
+ data_access: 'raw' | 'tokenized';
4283
4287
  datalake?: DatalakeResponse;
4284
4288
  /**
4285
4289
  * Agent description
@@ -4390,7 +4394,7 @@ type AdminCreateTenantApiKeyRequest = {
4390
4394
  /**
4391
4395
  * Capability ceiling baked into the key — see ApiKey.data_access_mode.
4392
4396
  */
4393
- data_access_mode: 'regulated' | 'unregulated';
4397
+ data_access_mode: 'raw' | 'tokenized' | 'redacted';
4394
4398
  /**
4395
4399
  * Human-readable name for the key.
4396
4400
  */
@@ -4519,34 +4523,7 @@ type ToolRestapiResponse = RestapiResponse & {
4519
4523
  * Datalake configuration. Secrets (DB passwords, credentials) are write-only — accepted on create but never returned in responses. Request
4520
4524
  */
4521
4525
  type DatalakeRequestWritable = {
4522
- /**
4523
- * Unregulated writer DB password
4524
- */
4525
- unregulated_db_writer_pass: string;
4526
- /**
4527
- * Unregulated reader auth method
4528
- */
4529
- unregulated_db_reader_auth_method: 'password' | 'iam_role';
4530
- /**
4531
- * Unregulated writer DB username
4532
- */
4533
- unregulated_db_writer_user: string;
4534
- /**
4535
- * Regulated reader DB host
4536
- */
4537
- regulated_data_db_reader_host: string;
4538
- /**
4539
- * Regulated reader DB name
4540
- */
4541
- regulated_data_db_reader_name: string;
4542
- regulated_cloud_storage: ({
4543
- cloud_storage_type: 'aws';
4544
- } & DatalakeCloudStorageAwsRequestWritable) | ({
4545
- cloud_storage_type: 'r2';
4546
- } & DatalakeCloudStorageR2RequestWritable) | ({
4547
- cloud_storage_type: 'custom';
4548
- } & DatalakeCloudStorageCustomRequestWritable);
4549
- unregulated_cloud_storage: ({
4526
+ cloud_storage: ({
4550
4527
  cloud_storage_type: 'aws';
4551
4528
  } & DatalakeCloudStorageAwsRequestWritable) | ({
4552
4529
  cloud_storage_type: 'r2';
@@ -4554,133 +4531,93 @@ type DatalakeRequestWritable = {
4554
4531
  cloud_storage_type: 'custom';
4555
4532
  } & DatalakeCloudStorageCustomRequestWritable);
4556
4533
  /**
4557
- * Regulated reader DB password
4534
+ * Reader auth method
4558
4535
  */
4559
- regulated_data_db_reader_pass: string;
4536
+ db_reader_auth_method: 'password' | 'iam_role';
4560
4537
  /**
4561
- * Regulated writer DB username
4538
+ * Enable SSL for reader
4562
4539
  */
4563
- regulated_data_db_writer_user: string;
4540
+ db_reader_enable_ssl: boolean;
4564
4541
  /**
4565
- * Regulated reader DB port
4542
+ * Reader DB host
4566
4543
  */
4567
- regulated_data_db_reader_port: number;
4544
+ db_reader_host: string;
4568
4545
  /**
4569
- * Unregulated writer DB schema name
4546
+ * Reader DB name
4570
4547
  */
4571
- unregulated_db_writer_schema: string;
4548
+ db_reader_name: string;
4572
4549
  /**
4573
- * Unregulated writer DB name
4550
+ * Reader DB password
4574
4551
  */
4575
- unregulated_db_writer_name: string;
4552
+ db_reader_pass: string;
4576
4553
  /**
4577
- * Regulated reader DB schema name
4554
+ * Reader DB port
4578
4555
  */
4579
- regulated_data_db_reader_schema: string;
4556
+ db_reader_port: number;
4580
4557
  /**
4581
- * Regulated reader DB username
4558
+ * Reader DB schema name
4582
4559
  */
4583
- regulated_data_db_reader_user: string;
4560
+ db_reader_schema: string;
4584
4561
  /**
4585
- * Unregulated writer DB host
4562
+ * Reader DB username
4586
4563
  */
4587
- unregulated_db_writer_host: string;
4564
+ db_reader_user: string;
4588
4565
  /**
4589
- * Regulated writer DB name
4566
+ * Writer auth method
4590
4567
  */
4591
- regulated_data_db_writer_name: string;
4568
+ db_writer_auth_method: 'password' | 'iam_role';
4592
4569
  /**
4593
- * Unregulated reader DB name
4570
+ * Enable SSL for writer
4594
4571
  */
4595
- unregulated_db_reader_name: string;
4572
+ db_writer_enable_ssl: boolean;
4596
4573
  /**
4597
- * Unregulated writer auth method
4574
+ * Writer DB host
4598
4575
  */
4599
- unregulated_db_writer_auth_method: 'password' | 'iam_role';
4576
+ db_writer_host: string;
4600
4577
  /**
4601
- * Unregulated reader DB username
4578
+ * Writer DB name
4602
4579
  */
4603
- unregulated_db_reader_user: string;
4580
+ db_writer_name: string;
4604
4581
  /**
4605
- * Datalake name
4582
+ * Writer DB password
4606
4583
  */
4607
- name: string;
4584
+ db_writer_pass: string;
4608
4585
  /**
4609
- * Datalake description
4586
+ * Writer DB port
4610
4587
  */
4611
- description?: string | null;
4588
+ db_writer_port: number;
4612
4589
  /**
4613
- * Database connection pool size
4614
- */
4615
- pool_size: number | null;
4616
- /**
4617
- * Unregulated reader DB port
4618
- */
4619
- unregulated_db_reader_port: number;
4620
- /**
4621
- * Regulated writer DB password
4622
- */
4623
- regulated_data_db_writer_pass: string;
4624
- /**
4625
- * Unregulated reader DB host
4626
- */
4627
- unregulated_db_reader_host: string;
4628
- /**
4629
- * Enable SSL for regulated reader
4630
- */
4631
- regulated_data_db_reader_enable_ssl: boolean;
4632
- /**
4633
- * Enable SSL for unregulated reader
4634
- */
4635
- unregulated_db_reader_enable_ssl: boolean;
4636
- /**
4637
- * Unregulated reader DB password
4638
- */
4639
- unregulated_db_reader_pass: string;
4640
- /**
4641
- * Regulated writer DB port
4642
- */
4643
- regulated_data_db_writer_port: number;
4644
- /**
4645
- * Unregulated writer DB port
4646
- */
4647
- unregulated_db_writer_port: number;
4648
- /**
4649
- * Enable SSL for unregulated writer
4590
+ * Writer DB schema name
4650
4591
  */
4651
- unregulated_db_writer_enable_ssl: boolean;
4592
+ db_writer_schema: string;
4652
4593
  /**
4653
- * Unregulated reader DB schema name
4594
+ * Writer DB username
4654
4595
  */
4655
- unregulated_db_reader_schema: string;
4596
+ db_writer_user: string;
4656
4597
  /**
4657
- * Enable SSL for regulated writer
4658
- */
4659
- regulated_data_db_writer_enable_ssl: boolean;
4660
- /**
4661
- * Regulated writer DB schema name
4598
+ * Datalake description
4662
4599
  */
4663
- regulated_data_db_writer_schema: string;
4600
+ description?: string | null;
4664
4601
  /**
4665
- * Regulated writer auth method
4602
+ * Datalake name
4666
4603
  */
4667
- regulated_data_db_writer_auth_method: 'password' | 'iam_role';
4604
+ name: string;
4668
4605
  /**
4669
- * Regulated writer DB host
4606
+ * Database connection pool size
4670
4607
  */
4671
- regulated_data_db_writer_host: string;
4608
+ pool_size: number | null;
4672
4609
  /**
4673
- * Regulated reader auth method
4610
+ * The raw datalake this one derives from. Required on a tokenized or redacted datalake, and always null on a raw one.
4674
4611
  */
4675
- regulated_data_db_reader_auth_method: 'password' | 'iam_role';
4612
+ primary_datalake_id?: string | null;
4676
4613
  /**
4677
4614
  * Datalake reporting timezone. Closed whitelist of 8 US timezones — general IANA values (including `UTC`) are rejected.
4678
4615
  */
4679
4616
  timezone: 'America/New_York' | 'America/Chicago' | 'America/Denver' | 'America/Los_Angeles' | 'America/Anchorage' | 'America/Adak' | 'Pacific/Honolulu' | 'America/Phoenix';
4680
4617
  /**
4681
- * Industry data domain. Each value carries a stability tier in the `x-stability` extension — `stable` domains hold their dataset shapes across releases; `experimental` domains may change without notice.
4618
+ * What this lake holds. `raw` is the lake the platform writes; `tokenized` and `redacted` are derived, read-only, and filled by replication.
4682
4619
  */
4683
- data_domain: 'healthcare' | 'core_banking' | 'payments' | 'subscription' | 'service_commerce' | 'trading' | 'foundation';
4620
+ type?: 'raw' | 'tokenized' | 'redacted';
4684
4621
  };
4685
4622
  /**
4686
4623
  * ToolRESTAPIRequest
@@ -4757,7 +4694,7 @@ type AgenticWorkflowRequestWritable = {
4757
4694
  */
4758
4695
  name: string;
4759
4696
  /**
4760
- * When true, skip MDM subject resolution
4697
+ * When true, skip MDM resolution
4761
4698
  */
4762
4699
  skip_mdm_resolution?: boolean;
4763
4700
  /**
@@ -5006,7 +4943,7 @@ type ActionRequestWritable = {
5006
4943
  */
5007
4944
  id?: string;
5008
4945
  /**
5009
- * Liquid template producing the idempotency key; receives checksum, subject_id, workflow_id, action_id, decision_key
4946
+ * Liquid template producing the idempotency key; receives checksum, legal_entity_id, legal_entity_id, workflow_id, action_id, decision_key
5010
4947
  */
5011
4948
  idempotency_template: string;
5012
4949
  /**
@@ -5082,7 +5019,7 @@ type AiAgentRequestWritable = {
5082
5019
  /**
5083
5020
  * Data access level
5084
5021
  */
5085
- data_access: 'regulated' | 'unregulated';
5022
+ data_access: 'raw' | 'tokenized';
5086
5023
  /**
5087
5024
  * Agent description
5088
5025
  */
@@ -5246,10 +5183,6 @@ type GenericTableRequestWritable = {
5246
5183
  * Table column definitions
5247
5184
  */
5248
5185
  columns?: Array<GenericTableColumnRequest>;
5249
- /**
5250
- * Industry data domain. Each value carries a stability tier in the `x-stability` extension — `stable` domains hold their dataset shapes across releases; `experimental` domains may change without notice.
5251
- */
5252
- data_domain?: 'healthcare' | 'core_banking' | 'payments' | 'subscription' | 'service_commerce' | 'trading' | 'foundation';
5253
5186
  /**
5254
5187
  * Table description
5255
5188
  */
@@ -5616,7 +5549,7 @@ type InteroperabilityContractRequestWritable = {
5616
5549
  */
5617
5550
  name: string;
5618
5551
  /**
5619
- * Dataset this contract targets (e.g. "patient", "observation", "generic_table")
5552
+ * Dataset this contract targets (e.g. "legal_entity", "beneficial_owner", "generic_table")
5620
5553
  */
5621
5554
  resource_type: string;
5622
5555
  /**
@@ -5676,7 +5609,7 @@ type ContextDatasetRequestWritable = {
5676
5609
  */
5677
5610
  position?: number;
5678
5611
  /**
5679
- * Liquid-templated SQL WHERE clause for filtering records at runtime. The context builder appends the MDM subject FK automatically.
5612
+ * Liquid-templated SQL WHERE clause for filtering records at runtime. The context builder appends the legal entity FK automatically.
5680
5613
  */
5681
5614
  where_clause?: string | null;
5682
5615
  };
@@ -5918,10 +5851,6 @@ type DataActivationClientRequestWritable = {
5918
5851
  * IDs of interoperability contracts used to transform each fetched row
5919
5852
  */
5920
5853
  interoperability_contract_ids?: Array<string>;
5921
- /**
5922
- * Which context dimensions the DAC loops over per invocation
5923
- */
5924
- loop_over?: Array<'services' | 'locations' | 'providers'>;
5925
5854
  /**
5926
5855
  * DAC name
5927
5856
  */
@@ -6491,6 +6420,55 @@ type PlatformApiDatalakeControllerIndexData = {
6491
6420
  };
6492
6421
  url: '/api/v1/tenants/{tenant_slug}/datalakes';
6493
6422
  };
6423
+ type PlatformApiAdvancedMigrationControllerIndexData = {
6424
+ body?: never;
6425
+ path: {
6426
+ /**
6427
+ * Tenant slug
6428
+ */
6429
+ tenant_slug: string;
6430
+ /**
6431
+ * Datalake slug
6432
+ */
6433
+ datalake_slug: string;
6434
+ };
6435
+ query?: {
6436
+ /**
6437
+ * Page number (1-indexed). Defaults to 1 when omitted.
6438
+ */
6439
+ page?: number;
6440
+ /**
6441
+ * Items per page (1-100). Defaults to the resource's Flop default when omitted.
6442
+ */
6443
+ page_size?: number;
6444
+ /**
6445
+ * Fields to sort by, in order of precedence. Must appear in the resource schema's Flop `sortable:` list — unknown fields return 422.
6446
+ */
6447
+ order_by?: Array<string>;
6448
+ /**
6449
+ * Sort direction(s), pair-wise with `order_by`. `asc` or `desc`. Defaults to `asc` per unpaired `order_by` entry.
6450
+ */
6451
+ order_directions?: Array<'asc' | 'desc'>;
6452
+ /**
6453
+ * 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.
6454
+ */
6455
+ filters?: Array<{
6456
+ /**
6457
+ * Filterable field name (must be in the resource's `filterable:`)
6458
+ */
6459
+ field: string;
6460
+ /**
6461
+ * Comparison operator. Defaults to `==` when omitted.
6462
+ */
6463
+ op?: '==' | '!=' | '<' | '<=' | '>' | '>=' | 'empty' | 'not_empty' | 'like' | 'ilike' | 'like_and' | 'like_or' | 'ilike_and' | 'ilike_or' | 'in' | 'not_in' | 'contains' | 'not_contains';
6464
+ /**
6465
+ * Filter value — shape depends on `field` and `op`.
6466
+ */
6467
+ value: unknown;
6468
+ }>;
6469
+ };
6470
+ url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/advanced-migrations';
6471
+ };
6494
6472
  type PlatformApiAiAgentControllerIndexData = {
6495
6473
  body?: never;
6496
6474
  path: {
@@ -7375,7 +7353,6 @@ type DataSourceRequestWritable = DataSourceRequest;
7375
7353
  interface CreateGenericTableRequest {
7376
7354
  title: string;
7377
7355
  description?: string;
7378
- data_domain?: 'healthcare' | 'core_banking' | 'payments' | 'subscription' | 'service_commerce' | 'trading' | null;
7379
7356
  columns: GenericTableColumnRequest[];
7380
7357
  }
7381
7358
  interface TemplateConfig {
@@ -7400,7 +7377,7 @@ interface CreateAiAgentRequest {
7400
7377
  name: string;
7401
7378
  model: string;
7402
7379
  tool_id: string;
7403
- data_access: 'regulated' | 'unregulated';
7380
+ data_access: 'raw' | 'tokenized';
7404
7381
  temperature: number;
7405
7382
  max_tokens: number;
7406
7383
  enabled: boolean;
@@ -7554,7 +7531,7 @@ interface DatasetSearchOptions {
7554
7531
  * Defaults to the session's `data_access_mode`. The session's capability
7555
7532
  * ceiling still applies — escalating beyond it returns 403.
7556
7533
  */
7557
- dataAccessMode?: 'regulated' | 'unregulated';
7534
+ dataAccessMode?: 'raw' | 'tokenized' | 'redacted';
7558
7535
  /**
7559
7536
  * Outer SQL-chunk pagination. Defaults page=1, page_size=1000 (max 1000).
7560
7537
  * Pages cached IDs from `search_results`; the cap is dictated by
@@ -7598,6 +7575,11 @@ declare function _buildApi(myClient: Client): {
7598
7575
  request: Request;
7599
7576
  response: Response;
7600
7577
  }>;
7578
+ delete: () => Promise<{
7579
+ data: unknown;
7580
+ request: Request;
7581
+ response: Response;
7582
+ }>;
7601
7583
  };
7602
7584
  admin: {
7603
7585
  signUp: (body: SignUpRequestWritable) => Promise<{
@@ -7754,6 +7736,51 @@ declare function _buildApi(myClient: Client): {
7754
7736
  data: ExecuteSqlResponse | string;
7755
7737
  }>;
7756
7738
  };
7739
+ advancedMigrations: {
7740
+ list: (tenantSlug: string, datalakeSlug: string, query?: PlatformApiAdvancedMigrationControllerIndexData["query"]) => Promise<{
7741
+ data: AdvancedMigrationListResponse;
7742
+ request: Request;
7743
+ response: Response;
7744
+ }>;
7745
+ get: (tenantSlug: string, datalakeSlug: string, id: string) => Promise<{
7746
+ data: AdvancedMigrationResponse;
7747
+ request: Request;
7748
+ response: Response;
7749
+ }>;
7750
+ create: (tenantSlug: string, datalakeSlug: string, body: AdvancedMigrationRequest) => Promise<{
7751
+ data: AdvancedMigrationResponse;
7752
+ request: Request;
7753
+ response: Response;
7754
+ }>;
7755
+ update: (tenantSlug: string, datalakeSlug: string, id: string, body: AdvancedMigrationRequest) => Promise<{
7756
+ data: AdvancedMigrationResponse;
7757
+ request: Request;
7758
+ response: Response;
7759
+ }>;
7760
+ delete: (tenantSlug: string, datalakeSlug: string, id: string) => Promise<{
7761
+ data: void;
7762
+ request: Request;
7763
+ response: Response;
7764
+ }>;
7765
+ checksum: (tenantSlug: string, datalakeSlug: string, body: AdvancedMigrationRequest) => Promise<{
7766
+ data: ChecksumResponse;
7767
+ request: Request;
7768
+ response: Response;
7769
+ }>;
7770
+ metadata: (tenantSlug: string, datalakeSlug: string, query?: {
7771
+ page?: number;
7772
+ page_size?: number;
7773
+ }) => Promise<{
7774
+ data: string;
7775
+ request: Request;
7776
+ response: Response;
7777
+ }>;
7778
+ metadataDetails: (tenantSlug: string, datalakeSlug: string, id: string) => Promise<{
7779
+ data: string;
7780
+ request: Request;
7781
+ response: Response;
7782
+ }>;
7783
+ };
7757
7784
  dataSources: {
7758
7785
  list: (tenantSlug: string, datalakeSlug: string, query?: PlatformApiDataSourceControllerIndexData["query"]) => Promise<{
7759
7786
  data: DataSourceListResponse;
@@ -7958,7 +7985,7 @@ declare function _buildApi(myClient: Client): {
7958
7985
  request: Request;
7959
7986
  response: Response;
7960
7987
  }>;
7961
- metadataDetails: (tenantSlug: string, datalakeSlug: string, filename: string, intent: "ai_agent" | "blueprint_datasource" | "blueprint_workflow" | "workflow_filter" | "workflow_decision" | "data_activation_interoperability" | "data_activation_tool_calls" | "status_poller") => Promise<{
7988
+ metadataDetails: (tenantSlug: string, datalakeSlug: string, filename: string, intent: "ai_agent" | "workflow_filter" | "workflow_decision" | "data_activation_interoperability" | "data_activation_tool_calls" | "status_poller") => Promise<{
7962
7989
  data: string;
7963
7990
  request: Request;
7964
7991
  response: Response;
@@ -8291,7 +8318,7 @@ declare function _buildApi(myClient: Client): {
8291
8318
  response: Response;
8292
8319
  }>;
8293
8320
  get: (tenantSlug: string, datalakeSlug: string, workflowSlug: string, id: string, opts?: {
8294
- dataAccessMode?: "regulated" | "unregulated";
8321
+ dataAccessMode?: "raw" | "tokenized" | "redacted";
8295
8322
  }) => Promise<{
8296
8323
  data: WorkflowLogResponse;
8297
8324
  request: Request;
@@ -8329,5 +8356,5 @@ declare function _buildApi(myClient: Client): {
8329
8356
  //#region src/index.d.ts
8330
8357
  declare function isEnvironmentName(name: string): name is EnvironmentName;
8331
8358
  //#endregion
8332
- export { type ActionStatusUpdaterCloudWatchQueryRequest, type ActionStatusUpdaterResponse, type ActionStatusUpdaterRestCallRequest, ActionType, type AgenticWorkflowListResponse, type AgenticWorkflowRequestWritable, type AgenticWorkflowResponse, 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 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 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 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 };
8359
+ export { type ActionStatusUpdaterCloudWatchQueryRequest, type ActionStatusUpdaterResponse, type ActionStatusUpdaterRestCallRequest, ActionType, type AdvancedMigrationListResponse, type AdvancedMigrationRequest, type AdvancedMigrationResponse, type AgenticWorkflowListResponse, type AgenticWorkflowRequestWritable, type AgenticWorkflowResponse, 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 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 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 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 };
8333
8360
  //# sourceMappingURL=index.d.mts.map