@objectstack/platform-objects 7.0.0 → 7.2.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.
Files changed (43) hide show
  1. package/dist/apps/index.js +25 -29
  2. package/dist/apps/index.js.map +1 -1
  3. package/dist/apps/index.mjs +25 -29
  4. package/dist/apps/index.mjs.map +1 -1
  5. package/dist/audit/index.d.mts +192 -96
  6. package/dist/audit/index.d.ts +192 -96
  7. package/dist/identity/index.d.mts +244 -122
  8. package/dist/identity/index.d.ts +244 -122
  9. package/dist/identity/index.js +5 -2
  10. package/dist/identity/index.js.map +1 -1
  11. package/dist/identity/index.mjs +5 -2
  12. package/dist/identity/index.mjs.map +1 -1
  13. package/dist/index.d.mts +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.js +180 -31
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.mjs +180 -32
  18. package/dist/index.mjs.map +1 -1
  19. package/dist/integration/index.d.mts +12 -6
  20. package/dist/integration/index.d.ts +12 -6
  21. package/dist/metadata/index.d.mts +3252 -13
  22. package/dist/metadata/index.d.ts +3252 -13
  23. package/dist/metadata/index.js +130 -0
  24. package/dist/metadata/index.js.map +1 -1
  25. package/dist/metadata/index.mjs +130 -1
  26. package/dist/metadata/index.mjs.map +1 -1
  27. package/dist/pages/index.d.mts +8 -3
  28. package/dist/pages/index.d.ts +8 -3
  29. package/dist/pages/index.js.map +1 -1
  30. package/dist/pages/index.mjs.map +1 -1
  31. package/dist/plugin.js +4 -8
  32. package/dist/plugin.js.map +1 -1
  33. package/dist/plugin.mjs +4 -8
  34. package/dist/plugin.mjs.map +1 -1
  35. package/dist/security/index.d.mts +84 -42
  36. package/dist/security/index.d.ts +84 -42
  37. package/dist/security/index.js +20 -0
  38. package/dist/security/index.js.map +1 -1
  39. package/dist/security/index.mjs +20 -0
  40. package/dist/security/index.mjs.map +1 -1
  41. package/dist/system/index.d.mts +36 -18
  42. package/dist/system/index.d.ts +36 -18
  43. package/package.json +2 -2
@@ -21,7 +21,7 @@ declare const SysMetadataObject: Omit<{
21
21
  abstract: boolean;
22
22
  datasource: string;
23
23
  fields: Record<string, {
24
- type: "number" | "boolean" | "tags" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "vector";
24
+ type: "number" | "boolean" | "tags" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "vector";
25
25
  required: boolean;
26
26
  searchable: boolean;
27
27
  multiple: boolean;
@@ -160,7 +160,7 @@ declare const SysMetadataObject: Omit<{
160
160
  autoRotate: boolean;
161
161
  } | undefined;
162
162
  };
163
- scope: "field" | "record" | "table" | "database";
163
+ scope: "record" | "field" | "table" | "database";
164
164
  deterministicEncryption: boolean;
165
165
  searchableEncryption: boolean;
166
166
  } | undefined;
@@ -211,6 +211,12 @@ declare const SysMetadataObject: Omit<{
211
211
  caseSensitive?: boolean | undefined;
212
212
  autonumberFormat?: string | undefined;
213
213
  }>;
214
+ _lock?: "full" | "none" | "no-overlay" | "no-delete" | undefined;
215
+ _lockReason?: string | undefined;
216
+ _lockSource?: "artifact" | "package" | "env-forced" | undefined;
217
+ _provenance?: "package" | "env-forced" | "org" | undefined;
218
+ _packageId?: string | undefined;
219
+ _packageVersion?: string | undefined;
214
220
  label?: string | undefined;
215
221
  pluralLabel?: string | undefined;
216
222
  description?: string | undefined;
@@ -356,7 +362,7 @@ declare const SysMetadataObject: Omit<{
356
362
  wrap?: boolean | undefined;
357
363
  type?: string | undefined;
358
364
  pinned?: "left" | "right" | undefined;
359
- summary?: "min" | "max" | "count" | "sum" | "avg" | "none" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
365
+ summary?: "none" | "min" | "max" | "count" | "sum" | "avg" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
360
366
  link?: boolean | undefined;
361
367
  action?: string | undefined;
362
368
  }[];
@@ -405,7 +411,7 @@ declare const SysMetadataObject: Omit<{
405
411
  bordered?: boolean | undefined;
406
412
  compactToolbar?: boolean | undefined;
407
413
  selection?: {
408
- type: "multiple" | "single" | "none";
414
+ type: "none" | "multiple" | "single";
409
415
  } | undefined;
410
416
  navigation?: {
411
417
  mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
@@ -600,7 +606,7 @@ declare const SysMetadataObject: Omit<{
600
606
  apiMethods?: ("search" | "create" | "import" | "delete" | "list" | "get" | "update" | "upsert" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
601
607
  } | undefined;
602
608
  recordTypes?: string[] | undefined;
603
- sharingModel?: "read" | "full" | "private" | "read_write" | undefined;
609
+ sharingModel?: "full" | "read" | "private" | "read_write" | undefined;
604
610
  publicSharing?: {
605
611
  enabled: boolean;
606
612
  allowedAudiences?: ("email" | "public" | "link_only" | "signed_in")[] | undefined;
@@ -643,7 +649,7 @@ declare const SysMetadataObject: Omit<{
643
649
  field?: string | undefined;
644
650
  objectOverride?: string | undefined;
645
651
  label?: string | undefined;
646
- type?: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
652
+ type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
647
653
  options?: {
648
654
  label: string;
649
655
  value: string;
@@ -4900,7 +4906,7 @@ declare const SysMetadataHistoryObject: Omit<{
4900
4906
  abstract: boolean;
4901
4907
  datasource: string;
4902
4908
  fields: Record<string, {
4903
- type: "number" | "boolean" | "tags" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "vector";
4909
+ type: "number" | "boolean" | "tags" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "vector";
4904
4910
  required: boolean;
4905
4911
  searchable: boolean;
4906
4912
  multiple: boolean;
@@ -5039,7 +5045,7 @@ declare const SysMetadataHistoryObject: Omit<{
5039
5045
  autoRotate: boolean;
5040
5046
  } | undefined;
5041
5047
  };
5042
- scope: "field" | "record" | "table" | "database";
5048
+ scope: "record" | "field" | "table" | "database";
5043
5049
  deterministicEncryption: boolean;
5044
5050
  searchableEncryption: boolean;
5045
5051
  } | undefined;
@@ -5090,6 +5096,12 @@ declare const SysMetadataHistoryObject: Omit<{
5090
5096
  caseSensitive?: boolean | undefined;
5091
5097
  autonumberFormat?: string | undefined;
5092
5098
  }>;
5099
+ _lock?: "full" | "none" | "no-overlay" | "no-delete" | undefined;
5100
+ _lockReason?: string | undefined;
5101
+ _lockSource?: "artifact" | "package" | "env-forced" | undefined;
5102
+ _provenance?: "package" | "env-forced" | "org" | undefined;
5103
+ _packageId?: string | undefined;
5104
+ _packageVersion?: string | undefined;
5093
5105
  label?: string | undefined;
5094
5106
  pluralLabel?: string | undefined;
5095
5107
  description?: string | undefined;
@@ -5235,7 +5247,7 @@ declare const SysMetadataHistoryObject: Omit<{
5235
5247
  wrap?: boolean | undefined;
5236
5248
  type?: string | undefined;
5237
5249
  pinned?: "left" | "right" | undefined;
5238
- summary?: "min" | "max" | "count" | "sum" | "avg" | "none" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
5250
+ summary?: "none" | "min" | "max" | "count" | "sum" | "avg" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
5239
5251
  link?: boolean | undefined;
5240
5252
  action?: string | undefined;
5241
5253
  }[];
@@ -5284,7 +5296,7 @@ declare const SysMetadataHistoryObject: Omit<{
5284
5296
  bordered?: boolean | undefined;
5285
5297
  compactToolbar?: boolean | undefined;
5286
5298
  selection?: {
5287
- type: "multiple" | "single" | "none";
5299
+ type: "none" | "multiple" | "single";
5288
5300
  } | undefined;
5289
5301
  navigation?: {
5290
5302
  mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
@@ -5479,7 +5491,7 @@ declare const SysMetadataHistoryObject: Omit<{
5479
5491
  apiMethods?: ("search" | "create" | "import" | "delete" | "list" | "get" | "update" | "upsert" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
5480
5492
  } | undefined;
5481
5493
  recordTypes?: string[] | undefined;
5482
- sharingModel?: "read" | "full" | "private" | "read_write" | undefined;
5494
+ sharingModel?: "full" | "read" | "private" | "read_write" | undefined;
5483
5495
  publicSharing?: {
5484
5496
  enabled: boolean;
5485
5497
  allowedAudiences?: ("email" | "public" | "link_only" | "signed_in")[] | undefined;
@@ -5522,7 +5534,7 @@ declare const SysMetadataHistoryObject: Omit<{
5522
5534
  field?: string | undefined;
5523
5535
  objectOverride?: string | undefined;
5524
5536
  label?: string | undefined;
5525
- type?: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
5537
+ type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
5526
5538
  options?: {
5527
5539
  label: string;
5528
5540
  value: string;
@@ -8089,4 +8101,3231 @@ declare const SysMetadataHistoryObject: Omit<{
8089
8101
  };
8090
8102
  }, "fields">;
8091
8103
 
8092
- export { SysMetadataObject as SysMetadata, SysMetadataHistoryObject, SysMetadataObject };
8104
+ /**
8105
+ * sys_metadata_audit — Metadata Protection Audit Log
8106
+ *
8107
+ * Append-only audit trail for every metadata write **decision** — both
8108
+ * allowed writes and refused ones. Introduced in ADR-0010 Phase 1 as
8109
+ * the compliance surface for the new `_lock` enforcement: every PUT /
8110
+ * publish / rollback / delete that targets `sys_metadata` writes one
8111
+ * row here describing the outcome and the lock state that produced it.
8112
+ *
8113
+ * Distinct from `sys_metadata_history`:
8114
+ * - `sys_metadata_history` records the **body** of every successful
8115
+ * write (full JSON snapshot + checksum). Used for rollback,
8116
+ * diff, and history() reads.
8117
+ * - `sys_metadata_audit` records the **decision** (who tried what,
8118
+ * what code was emitted, was a lock involved). Refused writes
8119
+ * never reach history; they DO reach audit.
8120
+ *
8121
+ * Designed as the smallest possible row that satisfies the four
8122
+ * compliance questions of metadata governance:
8123
+ * 1. Who tried to change what? → actor + type + name
8124
+ * 2. When? → occurred_at
8125
+ * 3. What outcome? → outcome + code
8126
+ * 4. Was an override involved? → lock_overridden + lock_state
8127
+ *
8128
+ * Indexed on `(organization_id, occurred_at)` for the per-org timeline
8129
+ * query and `(type, name, occurred_at)` for the per-item history tab
8130
+ * Studio surfaces on the editor page.
8131
+ */
8132
+ declare const SysMetadataAuditObject: Omit<{
8133
+ name: string;
8134
+ active: boolean;
8135
+ isSystem: boolean;
8136
+ abstract: boolean;
8137
+ datasource: string;
8138
+ fields: Record<string, {
8139
+ type: "number" | "boolean" | "tags" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "vector";
8140
+ required: boolean;
8141
+ searchable: boolean;
8142
+ multiple: boolean;
8143
+ unique: boolean;
8144
+ deleteBehavior: "set_null" | "cascade" | "restrict";
8145
+ auditTrail: boolean;
8146
+ hidden: boolean;
8147
+ readonly: boolean;
8148
+ sortable: boolean;
8149
+ index: boolean;
8150
+ externalId: boolean;
8151
+ name?: string | undefined;
8152
+ label?: string | undefined;
8153
+ description?: string | undefined;
8154
+ format?: string | undefined;
8155
+ columnName?: string | undefined;
8156
+ defaultValue?: unknown;
8157
+ maxLength?: number | undefined;
8158
+ minLength?: number | undefined;
8159
+ precision?: number | undefined;
8160
+ scale?: number | undefined;
8161
+ min?: number | undefined;
8162
+ max?: number | undefined;
8163
+ options?: {
8164
+ label: string;
8165
+ value: string;
8166
+ color?: string | undefined;
8167
+ default?: boolean | undefined;
8168
+ }[] | undefined;
8169
+ reference?: string | undefined;
8170
+ referenceFilters?: string[] | undefined;
8171
+ writeRequiresMasterRead?: boolean | undefined;
8172
+ expression?: {
8173
+ dialect: "cel" | "js" | "cron" | "template";
8174
+ source?: string | undefined;
8175
+ ast?: unknown;
8176
+ meta?: {
8177
+ rationale?: string | undefined;
8178
+ generatedBy?: string | undefined;
8179
+ } | undefined;
8180
+ } | {
8181
+ dialect: "cel" | "js" | "cron" | "template";
8182
+ source?: string | undefined;
8183
+ ast?: unknown;
8184
+ meta?: {
8185
+ rationale?: string | undefined;
8186
+ generatedBy?: string | undefined;
8187
+ } | undefined;
8188
+ } | undefined;
8189
+ summaryOperations?: {
8190
+ object: string;
8191
+ field: string;
8192
+ function: "min" | "max" | "count" | "sum" | "avg";
8193
+ } | undefined;
8194
+ language?: string | undefined;
8195
+ theme?: string | undefined;
8196
+ lineNumbers?: boolean | undefined;
8197
+ maxRating?: number | undefined;
8198
+ allowHalf?: boolean | undefined;
8199
+ displayMap?: boolean | undefined;
8200
+ allowGeocoding?: boolean | undefined;
8201
+ addressFormat?: "us" | "uk" | "international" | undefined;
8202
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
8203
+ allowAlpha?: boolean | undefined;
8204
+ presetColors?: string[] | undefined;
8205
+ step?: number | undefined;
8206
+ showValue?: boolean | undefined;
8207
+ marks?: Record<string, string> | undefined;
8208
+ barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
8209
+ qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
8210
+ displayValue?: boolean | undefined;
8211
+ allowScanning?: boolean | undefined;
8212
+ currencyConfig?: {
8213
+ precision: number;
8214
+ currencyMode: "fixed" | "dynamic";
8215
+ defaultCurrency: string;
8216
+ } | undefined;
8217
+ vectorConfig?: {
8218
+ dimensions: number;
8219
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
8220
+ normalized: boolean;
8221
+ indexed: boolean;
8222
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
8223
+ } | undefined;
8224
+ fileAttachmentConfig?: {
8225
+ virusScan: boolean;
8226
+ virusScanOnUpload: boolean;
8227
+ quarantineOnThreat: boolean;
8228
+ allowMultiple: boolean;
8229
+ allowReplace: boolean;
8230
+ allowDelete: boolean;
8231
+ requireUpload: boolean;
8232
+ extractMetadata: boolean;
8233
+ extractText: boolean;
8234
+ versioningEnabled: boolean;
8235
+ publicRead: boolean;
8236
+ presignedUrlExpiry: number;
8237
+ minSize?: number | undefined;
8238
+ maxSize?: number | undefined;
8239
+ allowedTypes?: string[] | undefined;
8240
+ blockedTypes?: string[] | undefined;
8241
+ allowedMimeTypes?: string[] | undefined;
8242
+ blockedMimeTypes?: string[] | undefined;
8243
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
8244
+ storageProvider?: string | undefined;
8245
+ storageBucket?: string | undefined;
8246
+ storagePrefix?: string | undefined;
8247
+ imageValidation?: {
8248
+ generateThumbnails: boolean;
8249
+ preserveMetadata: boolean;
8250
+ autoRotate: boolean;
8251
+ minWidth?: number | undefined;
8252
+ maxWidth?: number | undefined;
8253
+ minHeight?: number | undefined;
8254
+ maxHeight?: number | undefined;
8255
+ aspectRatio?: string | undefined;
8256
+ thumbnailSizes?: {
8257
+ name: string;
8258
+ width: number;
8259
+ height: number;
8260
+ crop: boolean;
8261
+ }[] | undefined;
8262
+ } | undefined;
8263
+ maxVersions?: number | undefined;
8264
+ } | undefined;
8265
+ encryptionConfig?: {
8266
+ enabled: boolean;
8267
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
8268
+ keyManagement: {
8269
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
8270
+ keyId?: string | undefined;
8271
+ rotationPolicy?: {
8272
+ enabled: boolean;
8273
+ frequencyDays: number;
8274
+ retainOldVersions: number;
8275
+ autoRotate: boolean;
8276
+ } | undefined;
8277
+ };
8278
+ scope: "record" | "field" | "table" | "database";
8279
+ deterministicEncryption: boolean;
8280
+ searchableEncryption: boolean;
8281
+ } | undefined;
8282
+ maskingRule?: {
8283
+ field: string;
8284
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
8285
+ preserveFormat: boolean;
8286
+ preserveLength: boolean;
8287
+ pattern?: string | undefined;
8288
+ roles?: string[] | undefined;
8289
+ exemptRoles?: string[] | undefined;
8290
+ } | undefined;
8291
+ dependencies?: string[] | undefined;
8292
+ cached?: {
8293
+ enabled: boolean;
8294
+ ttl: number;
8295
+ invalidateOn: string[];
8296
+ } | undefined;
8297
+ dataQuality?: {
8298
+ uniqueness: boolean;
8299
+ completeness: number;
8300
+ accuracy?: {
8301
+ source: string;
8302
+ threshold: number;
8303
+ } | undefined;
8304
+ } | undefined;
8305
+ group?: string | undefined;
8306
+ conditionalRequired?: {
8307
+ dialect: "cel" | "js" | "cron" | "template";
8308
+ source?: string | undefined;
8309
+ ast?: unknown;
8310
+ meta?: {
8311
+ rationale?: string | undefined;
8312
+ generatedBy?: string | undefined;
8313
+ } | undefined;
8314
+ } | {
8315
+ dialect: "cel" | "js" | "cron" | "template";
8316
+ source?: string | undefined;
8317
+ ast?: unknown;
8318
+ meta?: {
8319
+ rationale?: string | undefined;
8320
+ generatedBy?: string | undefined;
8321
+ } | undefined;
8322
+ } | undefined;
8323
+ system?: boolean | undefined;
8324
+ inlineHelpText?: string | undefined;
8325
+ trackFeedHistory?: boolean | undefined;
8326
+ caseSensitive?: boolean | undefined;
8327
+ autonumberFormat?: string | undefined;
8328
+ }>;
8329
+ _lock?: "full" | "none" | "no-overlay" | "no-delete" | undefined;
8330
+ _lockReason?: string | undefined;
8331
+ _lockSource?: "artifact" | "package" | "env-forced" | undefined;
8332
+ _provenance?: "package" | "env-forced" | "org" | undefined;
8333
+ _packageId?: string | undefined;
8334
+ _packageVersion?: string | undefined;
8335
+ label?: string | undefined;
8336
+ pluralLabel?: string | undefined;
8337
+ description?: string | undefined;
8338
+ icon?: string | undefined;
8339
+ tags?: string[] | undefined;
8340
+ managedBy?: "system" | "config" | "platform" | "append-only" | "better-auth" | undefined;
8341
+ userActions?: {
8342
+ create?: boolean | undefined;
8343
+ import?: boolean | undefined;
8344
+ edit?: boolean | undefined;
8345
+ delete?: boolean | undefined;
8346
+ exportCsv?: boolean | undefined;
8347
+ } | undefined;
8348
+ systemFields?: false | {
8349
+ tenant?: boolean | undefined;
8350
+ owner?: boolean | undefined;
8351
+ audit?: boolean | undefined;
8352
+ } | undefined;
8353
+ indexes?: {
8354
+ fields: string[];
8355
+ type: "hash" | "btree" | "gin" | "gist" | "fulltext";
8356
+ unique: boolean;
8357
+ name?: string | undefined;
8358
+ partial?: string | undefined;
8359
+ }[] | undefined;
8360
+ fieldGroups?: {
8361
+ key: string;
8362
+ label: string;
8363
+ defaultExpanded: boolean;
8364
+ icon?: string | undefined;
8365
+ description?: string | undefined;
8366
+ visibleOn?: {
8367
+ dialect: "cel" | "js" | "cron" | "template";
8368
+ source?: string | undefined;
8369
+ ast?: unknown;
8370
+ meta?: {
8371
+ rationale?: string | undefined;
8372
+ generatedBy?: string | undefined;
8373
+ } | undefined;
8374
+ } | {
8375
+ dialect: "cel" | "js" | "cron" | "template";
8376
+ source?: string | undefined;
8377
+ ast?: unknown;
8378
+ meta?: {
8379
+ rationale?: string | undefined;
8380
+ generatedBy?: string | undefined;
8381
+ } | undefined;
8382
+ } | undefined;
8383
+ }[] | undefined;
8384
+ tenancy?: {
8385
+ enabled: boolean;
8386
+ strategy: "hybrid" | "shared" | "isolated";
8387
+ tenantField: string;
8388
+ crossTenantAccess: boolean;
8389
+ } | undefined;
8390
+ softDelete?: {
8391
+ enabled: boolean;
8392
+ field: string;
8393
+ cascadeDelete: boolean;
8394
+ } | undefined;
8395
+ versioning?: {
8396
+ enabled: boolean;
8397
+ strategy: "snapshot" | "delta" | "event-sourcing";
8398
+ versionField: string;
8399
+ retentionDays?: number | undefined;
8400
+ } | undefined;
8401
+ partitioning?: {
8402
+ enabled: boolean;
8403
+ strategy: "hash" | "list" | "range";
8404
+ key: string;
8405
+ interval?: string | undefined;
8406
+ } | undefined;
8407
+ cdc?: {
8408
+ enabled: boolean;
8409
+ events: ("delete" | "update" | "insert")[];
8410
+ destination: string;
8411
+ } | undefined;
8412
+ validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
8413
+ stateMachines?: Record<string, {
8414
+ id: string;
8415
+ initial: string;
8416
+ states: Record<string, StateNodeConfig>;
8417
+ description?: string | undefined;
8418
+ contextSchema?: Record<string, unknown> | undefined;
8419
+ on?: Record<string, string | {
8420
+ target?: string | undefined;
8421
+ cond?: string | {
8422
+ type: string;
8423
+ params?: Record<string, unknown> | undefined;
8424
+ } | undefined;
8425
+ actions?: (string | {
8426
+ type: string;
8427
+ params?: Record<string, unknown> | undefined;
8428
+ })[] | undefined;
8429
+ description?: string | undefined;
8430
+ } | {
8431
+ target?: string | undefined;
8432
+ cond?: string | {
8433
+ type: string;
8434
+ params?: Record<string, unknown> | undefined;
8435
+ } | undefined;
8436
+ actions?: (string | {
8437
+ type: string;
8438
+ params?: Record<string, unknown> | undefined;
8439
+ })[] | undefined;
8440
+ description?: string | undefined;
8441
+ }[]> | undefined;
8442
+ }> | undefined;
8443
+ displayNameField?: string | undefined;
8444
+ recordName?: {
8445
+ type: "text" | "autonumber";
8446
+ displayFormat?: string | undefined;
8447
+ startNumber?: number | undefined;
8448
+ } | undefined;
8449
+ titleFormat?: {
8450
+ dialect: "cel" | "js" | "cron" | "template";
8451
+ source?: string | undefined;
8452
+ ast?: unknown;
8453
+ meta?: {
8454
+ rationale?: string | undefined;
8455
+ generatedBy?: string | undefined;
8456
+ } | undefined;
8457
+ } | {
8458
+ dialect: "cel" | "js" | "cron" | "template";
8459
+ source?: string | undefined;
8460
+ ast?: unknown;
8461
+ meta?: {
8462
+ rationale?: string | undefined;
8463
+ generatedBy?: string | undefined;
8464
+ } | undefined;
8465
+ } | undefined;
8466
+ compactLayout?: string[] | undefined;
8467
+ listViews?: Record<string, {
8468
+ type: "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "chart" | "map" | "grid";
8469
+ columns: string[] | {
8470
+ field: string;
8471
+ label?: string | undefined;
8472
+ width?: number | undefined;
8473
+ align?: "left" | "center" | "right" | undefined;
8474
+ hidden?: boolean | undefined;
8475
+ sortable?: boolean | undefined;
8476
+ resizable?: boolean | undefined;
8477
+ wrap?: boolean | undefined;
8478
+ type?: string | undefined;
8479
+ pinned?: "left" | "right" | undefined;
8480
+ summary?: "none" | "min" | "max" | "count" | "sum" | "avg" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
8481
+ link?: boolean | undefined;
8482
+ action?: string | undefined;
8483
+ }[];
8484
+ name?: string | undefined;
8485
+ label?: string | undefined;
8486
+ data?: {
8487
+ provider: "object";
8488
+ object: string;
8489
+ } | {
8490
+ provider: "api";
8491
+ read?: {
8492
+ url: string;
8493
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
8494
+ headers?: Record<string, string> | undefined;
8495
+ params?: Record<string, unknown> | undefined;
8496
+ body?: unknown;
8497
+ } | undefined;
8498
+ write?: {
8499
+ url: string;
8500
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
8501
+ headers?: Record<string, string> | undefined;
8502
+ params?: Record<string, unknown> | undefined;
8503
+ body?: unknown;
8504
+ } | undefined;
8505
+ } | {
8506
+ provider: "value";
8507
+ items: unknown[];
8508
+ } | {
8509
+ provider: "schema";
8510
+ schemaId: string;
8511
+ schema?: Record<string, unknown> | undefined;
8512
+ } | undefined;
8513
+ filter?: {
8514
+ field: string;
8515
+ operator: string;
8516
+ value?: string | number | boolean | (string | number)[] | null | undefined;
8517
+ }[] | undefined;
8518
+ sort?: string | {
8519
+ field: string;
8520
+ order: "asc" | "desc";
8521
+ }[] | undefined;
8522
+ searchableFields?: string[] | undefined;
8523
+ filterableFields?: string[] | undefined;
8524
+ resizable?: boolean | undefined;
8525
+ striped?: boolean | undefined;
8526
+ bordered?: boolean | undefined;
8527
+ compactToolbar?: boolean | undefined;
8528
+ selection?: {
8529
+ type: "none" | "multiple" | "single";
8530
+ } | undefined;
8531
+ navigation?: {
8532
+ mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
8533
+ preventNavigation: boolean;
8534
+ openNewTab: boolean;
8535
+ view?: string | undefined;
8536
+ width?: string | number | undefined;
8537
+ } | undefined;
8538
+ pagination?: {
8539
+ pageSize: number;
8540
+ pageSizeOptions?: number[] | undefined;
8541
+ } | undefined;
8542
+ kanban?: {
8543
+ groupByField: string;
8544
+ columns: string[];
8545
+ summarizeField?: string | undefined;
8546
+ } | undefined;
8547
+ calendar?: {
8548
+ startDateField: string;
8549
+ titleField: string;
8550
+ endDateField?: string | undefined;
8551
+ colorField?: string | undefined;
8552
+ } | undefined;
8553
+ gantt?: {
8554
+ startDateField: string;
8555
+ endDateField: string;
8556
+ titleField: string;
8557
+ progressField?: string | undefined;
8558
+ dependenciesField?: string | undefined;
8559
+ } | undefined;
8560
+ gallery?: {
8561
+ coverFit: "cover" | "contain";
8562
+ cardSize: "small" | "medium" | "large";
8563
+ coverField?: string | undefined;
8564
+ titleField?: string | undefined;
8565
+ visibleFields?: string[] | undefined;
8566
+ } | undefined;
8567
+ timeline?: {
8568
+ startDateField: string;
8569
+ titleField: string;
8570
+ scale: "hour" | "day" | "week" | "month" | "quarter" | "year";
8571
+ endDateField?: string | undefined;
8572
+ groupByField?: string | undefined;
8573
+ colorField?: string | undefined;
8574
+ } | undefined;
8575
+ chart?: {
8576
+ chartType: "bar" | "line" | "pie" | "area" | "scatter";
8577
+ xAxisField: string;
8578
+ yAxisFields: string[];
8579
+ aggregation?: "min" | "max" | "count" | "sum" | "avg" | undefined;
8580
+ groupByField?: string | undefined;
8581
+ } | undefined;
8582
+ description?: string | undefined;
8583
+ sharing?: {
8584
+ type: "personal" | "collaborative";
8585
+ lockedBy?: string | undefined;
8586
+ } | undefined;
8587
+ rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
8588
+ grouping?: {
8589
+ fields: {
8590
+ field: string;
8591
+ order: "asc" | "desc";
8592
+ collapsed: boolean;
8593
+ }[];
8594
+ } | undefined;
8595
+ rowColor?: {
8596
+ field: string;
8597
+ colors?: Record<string, string> | undefined;
8598
+ } | undefined;
8599
+ hiddenFields?: string[] | undefined;
8600
+ fieldOrder?: string[] | undefined;
8601
+ rowActions?: string[] | undefined;
8602
+ bulkActions?: string[] | undefined;
8603
+ bulkActionDefs?: Record<string, any>[] | undefined;
8604
+ virtualScroll?: boolean | undefined;
8605
+ conditionalFormatting?: {
8606
+ condition: {
8607
+ dialect: "cel" | "js" | "cron" | "template";
8608
+ source?: string | undefined;
8609
+ ast?: unknown;
8610
+ meta?: {
8611
+ rationale?: string | undefined;
8612
+ generatedBy?: string | undefined;
8613
+ } | undefined;
8614
+ } | {
8615
+ dialect: "cel" | "js" | "cron" | "template";
8616
+ source?: string | undefined;
8617
+ ast?: unknown;
8618
+ meta?: {
8619
+ rationale?: string | undefined;
8620
+ generatedBy?: string | undefined;
8621
+ } | undefined;
8622
+ };
8623
+ style: Record<string, string>;
8624
+ }[] | undefined;
8625
+ inlineEdit?: boolean | undefined;
8626
+ exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
8627
+ userActions?: {
8628
+ sort: boolean;
8629
+ search: boolean;
8630
+ filter: boolean;
8631
+ rowHeight: boolean;
8632
+ addRecordForm: boolean;
8633
+ buttons?: string[] | undefined;
8634
+ } | undefined;
8635
+ appearance?: {
8636
+ showDescription: boolean;
8637
+ allowedVisualizations?: ("kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "map" | "grid")[] | undefined;
8638
+ } | undefined;
8639
+ tabs?: {
8640
+ name: string;
8641
+ pinned: boolean;
8642
+ isDefault: boolean;
8643
+ visible: boolean;
8644
+ label?: string | undefined;
8645
+ icon?: string | undefined;
8646
+ view?: string | undefined;
8647
+ filter?: {
8648
+ field: string;
8649
+ operator: string;
8650
+ value?: string | number | boolean | (string | number)[] | null | undefined;
8651
+ }[] | undefined;
8652
+ order?: number | undefined;
8653
+ }[] | undefined;
8654
+ addRecord?: {
8655
+ enabled: boolean;
8656
+ position: "top" | "bottom" | "both";
8657
+ mode: "modal" | "form" | "inline";
8658
+ formView?: string | undefined;
8659
+ } | undefined;
8660
+ showRecordCount?: boolean | undefined;
8661
+ allowPrinting?: boolean | undefined;
8662
+ emptyState?: {
8663
+ title?: string | undefined;
8664
+ message?: string | undefined;
8665
+ icon?: string | undefined;
8666
+ } | undefined;
8667
+ aria?: {
8668
+ ariaLabel?: string | undefined;
8669
+ ariaDescribedBy?: string | undefined;
8670
+ role?: string | undefined;
8671
+ } | undefined;
8672
+ responsive?: {
8673
+ breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
8674
+ hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
8675
+ columns?: {
8676
+ xs?: number | undefined;
8677
+ sm?: number | undefined;
8678
+ md?: number | undefined;
8679
+ lg?: number | undefined;
8680
+ xl?: number | undefined;
8681
+ '2xl'?: number | undefined;
8682
+ } | undefined;
8683
+ order?: {
8684
+ xs?: number | undefined;
8685
+ sm?: number | undefined;
8686
+ md?: number | undefined;
8687
+ lg?: number | undefined;
8688
+ xl?: number | undefined;
8689
+ '2xl'?: number | undefined;
8690
+ } | undefined;
8691
+ } | undefined;
8692
+ performance?: {
8693
+ lazyLoad?: boolean | undefined;
8694
+ virtualScroll?: {
8695
+ enabled: boolean;
8696
+ itemHeight?: number | undefined;
8697
+ overscan?: number | undefined;
8698
+ } | undefined;
8699
+ cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
8700
+ prefetch?: boolean | undefined;
8701
+ pageSize?: number | undefined;
8702
+ debounceMs?: number | undefined;
8703
+ } | undefined;
8704
+ }> | undefined;
8705
+ defaultDetailForm?: string | undefined;
8706
+ search?: {
8707
+ fields: string[];
8708
+ displayFields?: string[] | undefined;
8709
+ filters?: string[] | undefined;
8710
+ } | undefined;
8711
+ enable?: {
8712
+ trackHistory: boolean;
8713
+ searchable: boolean;
8714
+ apiEnabled: boolean;
8715
+ files: boolean;
8716
+ feeds: boolean;
8717
+ activities: boolean;
8718
+ trash: boolean;
8719
+ mru: boolean;
8720
+ clone: boolean;
8721
+ apiMethods?: ("search" | "create" | "import" | "delete" | "list" | "get" | "update" | "upsert" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
8722
+ } | undefined;
8723
+ recordTypes?: string[] | undefined;
8724
+ sharingModel?: "full" | "read" | "private" | "read_write" | undefined;
8725
+ publicSharing?: {
8726
+ enabled: boolean;
8727
+ allowedAudiences?: ("email" | "public" | "link_only" | "signed_in")[] | undefined;
8728
+ allowedPermissions?: ("edit" | "view" | "comment")[] | undefined;
8729
+ maxExpiryDays?: number | undefined;
8730
+ redactFields?: string[] | undefined;
8731
+ eligibility?: string | undefined;
8732
+ } | undefined;
8733
+ keyPrefix?: string | undefined;
8734
+ detail?: {
8735
+ [x: string]: unknown;
8736
+ renderViaSchema?: boolean | undefined;
8737
+ hideReferenceRail?: boolean | undefined;
8738
+ hideRelatedTab?: boolean | undefined;
8739
+ } | undefined;
8740
+ actions?: {
8741
+ name: string;
8742
+ label: string;
8743
+ type: "url" | "flow" | "api" | "script" | "modal" | "form";
8744
+ refreshAfter: boolean;
8745
+ objectName?: string | undefined;
8746
+ icon?: string | undefined;
8747
+ locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "record_section" | "global_nav")[] | undefined;
8748
+ component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
8749
+ target?: string | undefined;
8750
+ body?: {
8751
+ language: "expression";
8752
+ source: string;
8753
+ } | {
8754
+ language: "js";
8755
+ source: string;
8756
+ capabilities: ("api.read" | "api.write" | "crypto.uuid" | "crypto.hash" | "log")[];
8757
+ timeoutMs?: number | undefined;
8758
+ memoryMb?: number | undefined;
8759
+ } | undefined;
8760
+ execute?: string | undefined;
8761
+ params?: {
8762
+ required: boolean;
8763
+ name?: string | undefined;
8764
+ field?: string | undefined;
8765
+ objectOverride?: string | undefined;
8766
+ label?: string | undefined;
8767
+ type?: "number" | "boolean" | "date" | "record" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "composite" | "repeater" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
8768
+ options?: {
8769
+ label: string;
8770
+ value: string;
8771
+ }[] | undefined;
8772
+ placeholder?: string | undefined;
8773
+ helpText?: string | undefined;
8774
+ defaultValue?: unknown;
8775
+ defaultFromRow?: boolean | undefined;
8776
+ }[] | undefined;
8777
+ variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
8778
+ confirmText?: string | undefined;
8779
+ successMessage?: string | undefined;
8780
+ resultDialog?: {
8781
+ title?: string | undefined;
8782
+ description?: string | undefined;
8783
+ acknowledge?: string | undefined;
8784
+ format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
8785
+ fields?: {
8786
+ path: string;
8787
+ label?: string | undefined;
8788
+ format?: "secret" | "text" | "json" | "qrcode" | "code-list" | undefined;
8789
+ }[] | undefined;
8790
+ } | undefined;
8791
+ visible?: {
8792
+ dialect: "cel" | "js" | "cron" | "template";
8793
+ source?: string | undefined;
8794
+ ast?: unknown;
8795
+ meta?: {
8796
+ rationale?: string | undefined;
8797
+ generatedBy?: string | undefined;
8798
+ } | undefined;
8799
+ } | undefined;
8800
+ disabled?: boolean | {
8801
+ dialect: "cel" | "js" | "cron" | "template";
8802
+ source?: string | undefined;
8803
+ ast?: unknown;
8804
+ meta?: {
8805
+ rationale?: string | undefined;
8806
+ generatedBy?: string | undefined;
8807
+ } | undefined;
8808
+ } | undefined;
8809
+ shortcut?: string | undefined;
8810
+ bulkEnabled?: boolean | undefined;
8811
+ aiExposed?: boolean | undefined;
8812
+ recordIdParam?: string | undefined;
8813
+ recordIdField?: string | undefined;
8814
+ bodyShape?: "flat" | {
8815
+ wrap: string;
8816
+ } | undefined;
8817
+ method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
8818
+ bodyExtra?: Record<string, unknown> | undefined;
8819
+ mode?: "custom" | "delete" | "create" | "edit" | undefined;
8820
+ timeout?: number | undefined;
8821
+ aria?: {
8822
+ ariaLabel?: string | undefined;
8823
+ ariaDescribedBy?: string | undefined;
8824
+ role?: string | undefined;
8825
+ } | undefined;
8826
+ }[] | undefined;
8827
+ }, "fields"> & Pick<{
8828
+ readonly name: "sys_metadata_audit";
8829
+ readonly label: "Metadata Audit";
8830
+ readonly pluralLabel: "Metadata Audit";
8831
+ readonly icon: "shield-check";
8832
+ readonly isSystem: true;
8833
+ readonly managedBy: "append-only";
8834
+ readonly description: "Append-only audit trail of metadata write decisions (ADR-0010).";
8835
+ readonly fields: {
8836
+ /** Primary Key (UUID) */
8837
+ readonly id: {
8838
+ readonly readonly?: boolean | undefined;
8839
+ readonly format?: string | undefined;
8840
+ readonly options?: {
8841
+ label: string;
8842
+ value: string;
8843
+ color?: string | undefined;
8844
+ default?: boolean | undefined;
8845
+ }[] | undefined;
8846
+ readonly description?: string | undefined;
8847
+ readonly label?: string | undefined;
8848
+ readonly name?: string | undefined;
8849
+ readonly precision?: number | undefined;
8850
+ readonly required?: boolean | undefined;
8851
+ readonly multiple?: boolean | undefined;
8852
+ readonly dependencies?: string[] | undefined;
8853
+ readonly theme?: string | undefined;
8854
+ readonly externalId?: boolean | undefined;
8855
+ readonly system?: boolean | undefined;
8856
+ readonly min?: number | undefined;
8857
+ readonly max?: number | undefined;
8858
+ readonly group?: string | undefined;
8859
+ readonly encryptionConfig?: {
8860
+ enabled: boolean;
8861
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
8862
+ keyManagement: {
8863
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
8864
+ keyId?: string | undefined;
8865
+ rotationPolicy?: {
8866
+ enabled: boolean;
8867
+ frequencyDays: number;
8868
+ retainOldVersions: number;
8869
+ autoRotate: boolean;
8870
+ } | undefined;
8871
+ };
8872
+ scope: "record" | "field" | "table" | "database";
8873
+ deterministicEncryption: boolean;
8874
+ searchableEncryption: boolean;
8875
+ } | undefined;
8876
+ readonly columnName?: string | undefined;
8877
+ readonly searchable?: boolean | undefined;
8878
+ readonly unique?: boolean | undefined;
8879
+ readonly defaultValue?: unknown;
8880
+ readonly maxLength?: number | undefined;
8881
+ readonly minLength?: number | undefined;
8882
+ readonly scale?: number | undefined;
8883
+ readonly reference?: string | undefined;
8884
+ readonly referenceFilters?: string[] | undefined;
8885
+ readonly writeRequiresMasterRead?: boolean | undefined;
8886
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
8887
+ readonly expression?: {
8888
+ dialect: "cel" | "js" | "cron" | "template";
8889
+ source?: string | undefined;
8890
+ ast?: unknown;
8891
+ meta?: {
8892
+ rationale?: string | undefined;
8893
+ generatedBy?: string | undefined;
8894
+ } | undefined;
8895
+ } | undefined;
8896
+ readonly summaryOperations?: {
8897
+ object: string;
8898
+ field: string;
8899
+ function: "min" | "max" | "count" | "sum" | "avg";
8900
+ } | undefined;
8901
+ readonly language?: string | undefined;
8902
+ readonly lineNumbers?: boolean | undefined;
8903
+ readonly maxRating?: number | undefined;
8904
+ readonly allowHalf?: boolean | undefined;
8905
+ readonly displayMap?: boolean | undefined;
8906
+ readonly allowGeocoding?: boolean | undefined;
8907
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
8908
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
8909
+ readonly allowAlpha?: boolean | undefined;
8910
+ readonly presetColors?: string[] | undefined;
8911
+ readonly step?: number | undefined;
8912
+ readonly showValue?: boolean | undefined;
8913
+ readonly marks?: Record<string, string> | undefined;
8914
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
8915
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
8916
+ readonly displayValue?: boolean | undefined;
8917
+ readonly allowScanning?: boolean | undefined;
8918
+ readonly currencyConfig?: {
8919
+ precision: number;
8920
+ currencyMode: "fixed" | "dynamic";
8921
+ defaultCurrency: string;
8922
+ } | undefined;
8923
+ readonly vectorConfig?: {
8924
+ dimensions: number;
8925
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
8926
+ normalized: boolean;
8927
+ indexed: boolean;
8928
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
8929
+ } | undefined;
8930
+ readonly fileAttachmentConfig?: {
8931
+ virusScan: boolean;
8932
+ virusScanOnUpload: boolean;
8933
+ quarantineOnThreat: boolean;
8934
+ allowMultiple: boolean;
8935
+ allowReplace: boolean;
8936
+ allowDelete: boolean;
8937
+ requireUpload: boolean;
8938
+ extractMetadata: boolean;
8939
+ extractText: boolean;
8940
+ versioningEnabled: boolean;
8941
+ publicRead: boolean;
8942
+ presignedUrlExpiry: number;
8943
+ minSize?: number | undefined;
8944
+ maxSize?: number | undefined;
8945
+ allowedTypes?: string[] | undefined;
8946
+ blockedTypes?: string[] | undefined;
8947
+ allowedMimeTypes?: string[] | undefined;
8948
+ blockedMimeTypes?: string[] | undefined;
8949
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
8950
+ storageProvider?: string | undefined;
8951
+ storageBucket?: string | undefined;
8952
+ storagePrefix?: string | undefined;
8953
+ imageValidation?: {
8954
+ generateThumbnails: boolean;
8955
+ preserveMetadata: boolean;
8956
+ autoRotate: boolean;
8957
+ minWidth?: number | undefined;
8958
+ maxWidth?: number | undefined;
8959
+ minHeight?: number | undefined;
8960
+ maxHeight?: number | undefined;
8961
+ aspectRatio?: string | undefined;
8962
+ thumbnailSizes?: {
8963
+ name: string;
8964
+ width: number;
8965
+ height: number;
8966
+ crop: boolean;
8967
+ }[] | undefined;
8968
+ } | undefined;
8969
+ maxVersions?: number | undefined;
8970
+ } | undefined;
8971
+ readonly maskingRule?: {
8972
+ field: string;
8973
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
8974
+ preserveFormat: boolean;
8975
+ preserveLength: boolean;
8976
+ pattern?: string | undefined;
8977
+ roles?: string[] | undefined;
8978
+ exemptRoles?: string[] | undefined;
8979
+ } | undefined;
8980
+ readonly auditTrail?: boolean | undefined;
8981
+ readonly cached?: {
8982
+ enabled: boolean;
8983
+ ttl: number;
8984
+ invalidateOn: string[];
8985
+ } | undefined;
8986
+ readonly dataQuality?: {
8987
+ uniqueness: boolean;
8988
+ completeness: number;
8989
+ accuracy?: {
8990
+ source: string;
8991
+ threshold: number;
8992
+ } | undefined;
8993
+ } | undefined;
8994
+ readonly conditionalRequired?: {
8995
+ dialect: "cel" | "js" | "cron" | "template";
8996
+ source?: string | undefined;
8997
+ ast?: unknown;
8998
+ meta?: {
8999
+ rationale?: string | undefined;
9000
+ generatedBy?: string | undefined;
9001
+ } | undefined;
9002
+ } | undefined;
9003
+ readonly hidden?: boolean | undefined;
9004
+ readonly sortable?: boolean | undefined;
9005
+ readonly inlineHelpText?: string | undefined;
9006
+ readonly trackFeedHistory?: boolean | undefined;
9007
+ readonly caseSensitive?: boolean | undefined;
9008
+ readonly autonumberFormat?: string | undefined;
9009
+ readonly index?: boolean | undefined;
9010
+ readonly type: "text";
9011
+ };
9012
+ /** When the decision was made (ISO-8601 UTC). */
9013
+ readonly occurred_at: {
9014
+ readonly readonly?: boolean | undefined;
9015
+ readonly format?: string | undefined;
9016
+ readonly options?: {
9017
+ label: string;
9018
+ value: string;
9019
+ color?: string | undefined;
9020
+ default?: boolean | undefined;
9021
+ }[] | undefined;
9022
+ readonly description?: string | undefined;
9023
+ readonly label?: string | undefined;
9024
+ readonly name?: string | undefined;
9025
+ readonly precision?: number | undefined;
9026
+ readonly required?: boolean | undefined;
9027
+ readonly multiple?: boolean | undefined;
9028
+ readonly dependencies?: string[] | undefined;
9029
+ readonly theme?: string | undefined;
9030
+ readonly externalId?: boolean | undefined;
9031
+ readonly system?: boolean | undefined;
9032
+ readonly min?: number | undefined;
9033
+ readonly max?: number | undefined;
9034
+ readonly group?: string | undefined;
9035
+ readonly encryptionConfig?: {
9036
+ enabled: boolean;
9037
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
9038
+ keyManagement: {
9039
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
9040
+ keyId?: string | undefined;
9041
+ rotationPolicy?: {
9042
+ enabled: boolean;
9043
+ frequencyDays: number;
9044
+ retainOldVersions: number;
9045
+ autoRotate: boolean;
9046
+ } | undefined;
9047
+ };
9048
+ scope: "record" | "field" | "table" | "database";
9049
+ deterministicEncryption: boolean;
9050
+ searchableEncryption: boolean;
9051
+ } | undefined;
9052
+ readonly columnName?: string | undefined;
9053
+ readonly searchable?: boolean | undefined;
9054
+ readonly unique?: boolean | undefined;
9055
+ readonly defaultValue?: unknown;
9056
+ readonly maxLength?: number | undefined;
9057
+ readonly minLength?: number | undefined;
9058
+ readonly scale?: number | undefined;
9059
+ readonly reference?: string | undefined;
9060
+ readonly referenceFilters?: string[] | undefined;
9061
+ readonly writeRequiresMasterRead?: boolean | undefined;
9062
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
9063
+ readonly expression?: {
9064
+ dialect: "cel" | "js" | "cron" | "template";
9065
+ source?: string | undefined;
9066
+ ast?: unknown;
9067
+ meta?: {
9068
+ rationale?: string | undefined;
9069
+ generatedBy?: string | undefined;
9070
+ } | undefined;
9071
+ } | undefined;
9072
+ readonly summaryOperations?: {
9073
+ object: string;
9074
+ field: string;
9075
+ function: "min" | "max" | "count" | "sum" | "avg";
9076
+ } | undefined;
9077
+ readonly language?: string | undefined;
9078
+ readonly lineNumbers?: boolean | undefined;
9079
+ readonly maxRating?: number | undefined;
9080
+ readonly allowHalf?: boolean | undefined;
9081
+ readonly displayMap?: boolean | undefined;
9082
+ readonly allowGeocoding?: boolean | undefined;
9083
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
9084
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
9085
+ readonly allowAlpha?: boolean | undefined;
9086
+ readonly presetColors?: string[] | undefined;
9087
+ readonly step?: number | undefined;
9088
+ readonly showValue?: boolean | undefined;
9089
+ readonly marks?: Record<string, string> | undefined;
9090
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
9091
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
9092
+ readonly displayValue?: boolean | undefined;
9093
+ readonly allowScanning?: boolean | undefined;
9094
+ readonly currencyConfig?: {
9095
+ precision: number;
9096
+ currencyMode: "fixed" | "dynamic";
9097
+ defaultCurrency: string;
9098
+ } | undefined;
9099
+ readonly vectorConfig?: {
9100
+ dimensions: number;
9101
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
9102
+ normalized: boolean;
9103
+ indexed: boolean;
9104
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
9105
+ } | undefined;
9106
+ readonly fileAttachmentConfig?: {
9107
+ virusScan: boolean;
9108
+ virusScanOnUpload: boolean;
9109
+ quarantineOnThreat: boolean;
9110
+ allowMultiple: boolean;
9111
+ allowReplace: boolean;
9112
+ allowDelete: boolean;
9113
+ requireUpload: boolean;
9114
+ extractMetadata: boolean;
9115
+ extractText: boolean;
9116
+ versioningEnabled: boolean;
9117
+ publicRead: boolean;
9118
+ presignedUrlExpiry: number;
9119
+ minSize?: number | undefined;
9120
+ maxSize?: number | undefined;
9121
+ allowedTypes?: string[] | undefined;
9122
+ blockedTypes?: string[] | undefined;
9123
+ allowedMimeTypes?: string[] | undefined;
9124
+ blockedMimeTypes?: string[] | undefined;
9125
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
9126
+ storageProvider?: string | undefined;
9127
+ storageBucket?: string | undefined;
9128
+ storagePrefix?: string | undefined;
9129
+ imageValidation?: {
9130
+ generateThumbnails: boolean;
9131
+ preserveMetadata: boolean;
9132
+ autoRotate: boolean;
9133
+ minWidth?: number | undefined;
9134
+ maxWidth?: number | undefined;
9135
+ minHeight?: number | undefined;
9136
+ maxHeight?: number | undefined;
9137
+ aspectRatio?: string | undefined;
9138
+ thumbnailSizes?: {
9139
+ name: string;
9140
+ width: number;
9141
+ height: number;
9142
+ crop: boolean;
9143
+ }[] | undefined;
9144
+ } | undefined;
9145
+ maxVersions?: number | undefined;
9146
+ } | undefined;
9147
+ readonly maskingRule?: {
9148
+ field: string;
9149
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
9150
+ preserveFormat: boolean;
9151
+ preserveLength: boolean;
9152
+ pattern?: string | undefined;
9153
+ roles?: string[] | undefined;
9154
+ exemptRoles?: string[] | undefined;
9155
+ } | undefined;
9156
+ readonly auditTrail?: boolean | undefined;
9157
+ readonly cached?: {
9158
+ enabled: boolean;
9159
+ ttl: number;
9160
+ invalidateOn: string[];
9161
+ } | undefined;
9162
+ readonly dataQuality?: {
9163
+ uniqueness: boolean;
9164
+ completeness: number;
9165
+ accuracy?: {
9166
+ source: string;
9167
+ threshold: number;
9168
+ } | undefined;
9169
+ } | undefined;
9170
+ readonly conditionalRequired?: {
9171
+ dialect: "cel" | "js" | "cron" | "template";
9172
+ source?: string | undefined;
9173
+ ast?: unknown;
9174
+ meta?: {
9175
+ rationale?: string | undefined;
9176
+ generatedBy?: string | undefined;
9177
+ } | undefined;
9178
+ } | undefined;
9179
+ readonly hidden?: boolean | undefined;
9180
+ readonly sortable?: boolean | undefined;
9181
+ readonly inlineHelpText?: string | undefined;
9182
+ readonly trackFeedHistory?: boolean | undefined;
9183
+ readonly caseSensitive?: boolean | undefined;
9184
+ readonly autonumberFormat?: string | undefined;
9185
+ readonly index?: boolean | undefined;
9186
+ readonly type: "datetime";
9187
+ };
9188
+ /** Acting principal (user id, system id, or 'system'). */
9189
+ readonly actor: {
9190
+ readonly readonly?: boolean | undefined;
9191
+ readonly format?: string | undefined;
9192
+ readonly options?: {
9193
+ label: string;
9194
+ value: string;
9195
+ color?: string | undefined;
9196
+ default?: boolean | undefined;
9197
+ }[] | undefined;
9198
+ readonly description?: string | undefined;
9199
+ readonly label?: string | undefined;
9200
+ readonly name?: string | undefined;
9201
+ readonly precision?: number | undefined;
9202
+ readonly required?: boolean | undefined;
9203
+ readonly multiple?: boolean | undefined;
9204
+ readonly dependencies?: string[] | undefined;
9205
+ readonly theme?: string | undefined;
9206
+ readonly externalId?: boolean | undefined;
9207
+ readonly system?: boolean | undefined;
9208
+ readonly min?: number | undefined;
9209
+ readonly max?: number | undefined;
9210
+ readonly group?: string | undefined;
9211
+ readonly encryptionConfig?: {
9212
+ enabled: boolean;
9213
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
9214
+ keyManagement: {
9215
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
9216
+ keyId?: string | undefined;
9217
+ rotationPolicy?: {
9218
+ enabled: boolean;
9219
+ frequencyDays: number;
9220
+ retainOldVersions: number;
9221
+ autoRotate: boolean;
9222
+ } | undefined;
9223
+ };
9224
+ scope: "record" | "field" | "table" | "database";
9225
+ deterministicEncryption: boolean;
9226
+ searchableEncryption: boolean;
9227
+ } | undefined;
9228
+ readonly columnName?: string | undefined;
9229
+ readonly searchable?: boolean | undefined;
9230
+ readonly unique?: boolean | undefined;
9231
+ readonly defaultValue?: unknown;
9232
+ readonly maxLength?: number | undefined;
9233
+ readonly minLength?: number | undefined;
9234
+ readonly scale?: number | undefined;
9235
+ readonly reference?: string | undefined;
9236
+ readonly referenceFilters?: string[] | undefined;
9237
+ readonly writeRequiresMasterRead?: boolean | undefined;
9238
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
9239
+ readonly expression?: {
9240
+ dialect: "cel" | "js" | "cron" | "template";
9241
+ source?: string | undefined;
9242
+ ast?: unknown;
9243
+ meta?: {
9244
+ rationale?: string | undefined;
9245
+ generatedBy?: string | undefined;
9246
+ } | undefined;
9247
+ } | undefined;
9248
+ readonly summaryOperations?: {
9249
+ object: string;
9250
+ field: string;
9251
+ function: "min" | "max" | "count" | "sum" | "avg";
9252
+ } | undefined;
9253
+ readonly language?: string | undefined;
9254
+ readonly lineNumbers?: boolean | undefined;
9255
+ readonly maxRating?: number | undefined;
9256
+ readonly allowHalf?: boolean | undefined;
9257
+ readonly displayMap?: boolean | undefined;
9258
+ readonly allowGeocoding?: boolean | undefined;
9259
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
9260
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
9261
+ readonly allowAlpha?: boolean | undefined;
9262
+ readonly presetColors?: string[] | undefined;
9263
+ readonly step?: number | undefined;
9264
+ readonly showValue?: boolean | undefined;
9265
+ readonly marks?: Record<string, string> | undefined;
9266
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
9267
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
9268
+ readonly displayValue?: boolean | undefined;
9269
+ readonly allowScanning?: boolean | undefined;
9270
+ readonly currencyConfig?: {
9271
+ precision: number;
9272
+ currencyMode: "fixed" | "dynamic";
9273
+ defaultCurrency: string;
9274
+ } | undefined;
9275
+ readonly vectorConfig?: {
9276
+ dimensions: number;
9277
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
9278
+ normalized: boolean;
9279
+ indexed: boolean;
9280
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
9281
+ } | undefined;
9282
+ readonly fileAttachmentConfig?: {
9283
+ virusScan: boolean;
9284
+ virusScanOnUpload: boolean;
9285
+ quarantineOnThreat: boolean;
9286
+ allowMultiple: boolean;
9287
+ allowReplace: boolean;
9288
+ allowDelete: boolean;
9289
+ requireUpload: boolean;
9290
+ extractMetadata: boolean;
9291
+ extractText: boolean;
9292
+ versioningEnabled: boolean;
9293
+ publicRead: boolean;
9294
+ presignedUrlExpiry: number;
9295
+ minSize?: number | undefined;
9296
+ maxSize?: number | undefined;
9297
+ allowedTypes?: string[] | undefined;
9298
+ blockedTypes?: string[] | undefined;
9299
+ allowedMimeTypes?: string[] | undefined;
9300
+ blockedMimeTypes?: string[] | undefined;
9301
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
9302
+ storageProvider?: string | undefined;
9303
+ storageBucket?: string | undefined;
9304
+ storagePrefix?: string | undefined;
9305
+ imageValidation?: {
9306
+ generateThumbnails: boolean;
9307
+ preserveMetadata: boolean;
9308
+ autoRotate: boolean;
9309
+ minWidth?: number | undefined;
9310
+ maxWidth?: number | undefined;
9311
+ minHeight?: number | undefined;
9312
+ maxHeight?: number | undefined;
9313
+ aspectRatio?: string | undefined;
9314
+ thumbnailSizes?: {
9315
+ name: string;
9316
+ width: number;
9317
+ height: number;
9318
+ crop: boolean;
9319
+ }[] | undefined;
9320
+ } | undefined;
9321
+ maxVersions?: number | undefined;
9322
+ } | undefined;
9323
+ readonly maskingRule?: {
9324
+ field: string;
9325
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
9326
+ preserveFormat: boolean;
9327
+ preserveLength: boolean;
9328
+ pattern?: string | undefined;
9329
+ roles?: string[] | undefined;
9330
+ exemptRoles?: string[] | undefined;
9331
+ } | undefined;
9332
+ readonly auditTrail?: boolean | undefined;
9333
+ readonly cached?: {
9334
+ enabled: boolean;
9335
+ ttl: number;
9336
+ invalidateOn: string[];
9337
+ } | undefined;
9338
+ readonly dataQuality?: {
9339
+ uniqueness: boolean;
9340
+ completeness: number;
9341
+ accuracy?: {
9342
+ source: string;
9343
+ threshold: number;
9344
+ } | undefined;
9345
+ } | undefined;
9346
+ readonly conditionalRequired?: {
9347
+ dialect: "cel" | "js" | "cron" | "template";
9348
+ source?: string | undefined;
9349
+ ast?: unknown;
9350
+ meta?: {
9351
+ rationale?: string | undefined;
9352
+ generatedBy?: string | undefined;
9353
+ } | undefined;
9354
+ } | undefined;
9355
+ readonly hidden?: boolean | undefined;
9356
+ readonly sortable?: boolean | undefined;
9357
+ readonly inlineHelpText?: string | undefined;
9358
+ readonly trackFeedHistory?: boolean | undefined;
9359
+ readonly caseSensitive?: boolean | undefined;
9360
+ readonly autonumberFormat?: string | undefined;
9361
+ readonly index?: boolean | undefined;
9362
+ readonly type: "text";
9363
+ };
9364
+ /** Code path that produced the decision (e.g. `protocol.saveMetaItem`). */
9365
+ readonly source: {
9366
+ readonly readonly?: boolean | undefined;
9367
+ readonly format?: string | undefined;
9368
+ readonly options?: {
9369
+ label: string;
9370
+ value: string;
9371
+ color?: string | undefined;
9372
+ default?: boolean | undefined;
9373
+ }[] | undefined;
9374
+ readonly description?: string | undefined;
9375
+ readonly label?: string | undefined;
9376
+ readonly name?: string | undefined;
9377
+ readonly precision?: number | undefined;
9378
+ readonly required?: boolean | undefined;
9379
+ readonly multiple?: boolean | undefined;
9380
+ readonly dependencies?: string[] | undefined;
9381
+ readonly theme?: string | undefined;
9382
+ readonly externalId?: boolean | undefined;
9383
+ readonly system?: boolean | undefined;
9384
+ readonly min?: number | undefined;
9385
+ readonly max?: number | undefined;
9386
+ readonly group?: string | undefined;
9387
+ readonly encryptionConfig?: {
9388
+ enabled: boolean;
9389
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
9390
+ keyManagement: {
9391
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
9392
+ keyId?: string | undefined;
9393
+ rotationPolicy?: {
9394
+ enabled: boolean;
9395
+ frequencyDays: number;
9396
+ retainOldVersions: number;
9397
+ autoRotate: boolean;
9398
+ } | undefined;
9399
+ };
9400
+ scope: "record" | "field" | "table" | "database";
9401
+ deterministicEncryption: boolean;
9402
+ searchableEncryption: boolean;
9403
+ } | undefined;
9404
+ readonly columnName?: string | undefined;
9405
+ readonly searchable?: boolean | undefined;
9406
+ readonly unique?: boolean | undefined;
9407
+ readonly defaultValue?: unknown;
9408
+ readonly maxLength?: number | undefined;
9409
+ readonly minLength?: number | undefined;
9410
+ readonly scale?: number | undefined;
9411
+ readonly reference?: string | undefined;
9412
+ readonly referenceFilters?: string[] | undefined;
9413
+ readonly writeRequiresMasterRead?: boolean | undefined;
9414
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
9415
+ readonly expression?: {
9416
+ dialect: "cel" | "js" | "cron" | "template";
9417
+ source?: string | undefined;
9418
+ ast?: unknown;
9419
+ meta?: {
9420
+ rationale?: string | undefined;
9421
+ generatedBy?: string | undefined;
9422
+ } | undefined;
9423
+ } | undefined;
9424
+ readonly summaryOperations?: {
9425
+ object: string;
9426
+ field: string;
9427
+ function: "min" | "max" | "count" | "sum" | "avg";
9428
+ } | undefined;
9429
+ readonly language?: string | undefined;
9430
+ readonly lineNumbers?: boolean | undefined;
9431
+ readonly maxRating?: number | undefined;
9432
+ readonly allowHalf?: boolean | undefined;
9433
+ readonly displayMap?: boolean | undefined;
9434
+ readonly allowGeocoding?: boolean | undefined;
9435
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
9436
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
9437
+ readonly allowAlpha?: boolean | undefined;
9438
+ readonly presetColors?: string[] | undefined;
9439
+ readonly step?: number | undefined;
9440
+ readonly showValue?: boolean | undefined;
9441
+ readonly marks?: Record<string, string> | undefined;
9442
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
9443
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
9444
+ readonly displayValue?: boolean | undefined;
9445
+ readonly allowScanning?: boolean | undefined;
9446
+ readonly currencyConfig?: {
9447
+ precision: number;
9448
+ currencyMode: "fixed" | "dynamic";
9449
+ defaultCurrency: string;
9450
+ } | undefined;
9451
+ readonly vectorConfig?: {
9452
+ dimensions: number;
9453
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
9454
+ normalized: boolean;
9455
+ indexed: boolean;
9456
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
9457
+ } | undefined;
9458
+ readonly fileAttachmentConfig?: {
9459
+ virusScan: boolean;
9460
+ virusScanOnUpload: boolean;
9461
+ quarantineOnThreat: boolean;
9462
+ allowMultiple: boolean;
9463
+ allowReplace: boolean;
9464
+ allowDelete: boolean;
9465
+ requireUpload: boolean;
9466
+ extractMetadata: boolean;
9467
+ extractText: boolean;
9468
+ versioningEnabled: boolean;
9469
+ publicRead: boolean;
9470
+ presignedUrlExpiry: number;
9471
+ minSize?: number | undefined;
9472
+ maxSize?: number | undefined;
9473
+ allowedTypes?: string[] | undefined;
9474
+ blockedTypes?: string[] | undefined;
9475
+ allowedMimeTypes?: string[] | undefined;
9476
+ blockedMimeTypes?: string[] | undefined;
9477
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
9478
+ storageProvider?: string | undefined;
9479
+ storageBucket?: string | undefined;
9480
+ storagePrefix?: string | undefined;
9481
+ imageValidation?: {
9482
+ generateThumbnails: boolean;
9483
+ preserveMetadata: boolean;
9484
+ autoRotate: boolean;
9485
+ minWidth?: number | undefined;
9486
+ maxWidth?: number | undefined;
9487
+ minHeight?: number | undefined;
9488
+ maxHeight?: number | undefined;
9489
+ aspectRatio?: string | undefined;
9490
+ thumbnailSizes?: {
9491
+ name: string;
9492
+ width: number;
9493
+ height: number;
9494
+ crop: boolean;
9495
+ }[] | undefined;
9496
+ } | undefined;
9497
+ maxVersions?: number | undefined;
9498
+ } | undefined;
9499
+ readonly maskingRule?: {
9500
+ field: string;
9501
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
9502
+ preserveFormat: boolean;
9503
+ preserveLength: boolean;
9504
+ pattern?: string | undefined;
9505
+ roles?: string[] | undefined;
9506
+ exemptRoles?: string[] | undefined;
9507
+ } | undefined;
9508
+ readonly auditTrail?: boolean | undefined;
9509
+ readonly cached?: {
9510
+ enabled: boolean;
9511
+ ttl: number;
9512
+ invalidateOn: string[];
9513
+ } | undefined;
9514
+ readonly dataQuality?: {
9515
+ uniqueness: boolean;
9516
+ completeness: number;
9517
+ accuracy?: {
9518
+ source: string;
9519
+ threshold: number;
9520
+ } | undefined;
9521
+ } | undefined;
9522
+ readonly conditionalRequired?: {
9523
+ dialect: "cel" | "js" | "cron" | "template";
9524
+ source?: string | undefined;
9525
+ ast?: unknown;
9526
+ meta?: {
9527
+ rationale?: string | undefined;
9528
+ generatedBy?: string | undefined;
9529
+ } | undefined;
9530
+ } | undefined;
9531
+ readonly hidden?: boolean | undefined;
9532
+ readonly sortable?: boolean | undefined;
9533
+ readonly inlineHelpText?: string | undefined;
9534
+ readonly trackFeedHistory?: boolean | undefined;
9535
+ readonly caseSensitive?: boolean | undefined;
9536
+ readonly autonumberFormat?: string | undefined;
9537
+ readonly index?: boolean | undefined;
9538
+ readonly type: "text";
9539
+ };
9540
+ /** Metadata type (singular, e.g. `app`, `object`, `view`). */
9541
+ readonly type: {
9542
+ readonly readonly?: boolean | undefined;
9543
+ readonly format?: string | undefined;
9544
+ readonly options?: {
9545
+ label: string;
9546
+ value: string;
9547
+ color?: string | undefined;
9548
+ default?: boolean | undefined;
9549
+ }[] | undefined;
9550
+ readonly description?: string | undefined;
9551
+ readonly label?: string | undefined;
9552
+ readonly name?: string | undefined;
9553
+ readonly precision?: number | undefined;
9554
+ readonly required?: boolean | undefined;
9555
+ readonly multiple?: boolean | undefined;
9556
+ readonly dependencies?: string[] | undefined;
9557
+ readonly theme?: string | undefined;
9558
+ readonly externalId?: boolean | undefined;
9559
+ readonly system?: boolean | undefined;
9560
+ readonly min?: number | undefined;
9561
+ readonly max?: number | undefined;
9562
+ readonly group?: string | undefined;
9563
+ readonly encryptionConfig?: {
9564
+ enabled: boolean;
9565
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
9566
+ keyManagement: {
9567
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
9568
+ keyId?: string | undefined;
9569
+ rotationPolicy?: {
9570
+ enabled: boolean;
9571
+ frequencyDays: number;
9572
+ retainOldVersions: number;
9573
+ autoRotate: boolean;
9574
+ } | undefined;
9575
+ };
9576
+ scope: "record" | "field" | "table" | "database";
9577
+ deterministicEncryption: boolean;
9578
+ searchableEncryption: boolean;
9579
+ } | undefined;
9580
+ readonly columnName?: string | undefined;
9581
+ readonly searchable?: boolean | undefined;
9582
+ readonly unique?: boolean | undefined;
9583
+ readonly defaultValue?: unknown;
9584
+ readonly maxLength?: number | undefined;
9585
+ readonly minLength?: number | undefined;
9586
+ readonly scale?: number | undefined;
9587
+ readonly reference?: string | undefined;
9588
+ readonly referenceFilters?: string[] | undefined;
9589
+ readonly writeRequiresMasterRead?: boolean | undefined;
9590
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
9591
+ readonly expression?: {
9592
+ dialect: "cel" | "js" | "cron" | "template";
9593
+ source?: string | undefined;
9594
+ ast?: unknown;
9595
+ meta?: {
9596
+ rationale?: string | undefined;
9597
+ generatedBy?: string | undefined;
9598
+ } | undefined;
9599
+ } | undefined;
9600
+ readonly summaryOperations?: {
9601
+ object: string;
9602
+ field: string;
9603
+ function: "min" | "max" | "count" | "sum" | "avg";
9604
+ } | undefined;
9605
+ readonly language?: string | undefined;
9606
+ readonly lineNumbers?: boolean | undefined;
9607
+ readonly maxRating?: number | undefined;
9608
+ readonly allowHalf?: boolean | undefined;
9609
+ readonly displayMap?: boolean | undefined;
9610
+ readonly allowGeocoding?: boolean | undefined;
9611
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
9612
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
9613
+ readonly allowAlpha?: boolean | undefined;
9614
+ readonly presetColors?: string[] | undefined;
9615
+ readonly step?: number | undefined;
9616
+ readonly showValue?: boolean | undefined;
9617
+ readonly marks?: Record<string, string> | undefined;
9618
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
9619
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
9620
+ readonly displayValue?: boolean | undefined;
9621
+ readonly allowScanning?: boolean | undefined;
9622
+ readonly currencyConfig?: {
9623
+ precision: number;
9624
+ currencyMode: "fixed" | "dynamic";
9625
+ defaultCurrency: string;
9626
+ } | undefined;
9627
+ readonly vectorConfig?: {
9628
+ dimensions: number;
9629
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
9630
+ normalized: boolean;
9631
+ indexed: boolean;
9632
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
9633
+ } | undefined;
9634
+ readonly fileAttachmentConfig?: {
9635
+ virusScan: boolean;
9636
+ virusScanOnUpload: boolean;
9637
+ quarantineOnThreat: boolean;
9638
+ allowMultiple: boolean;
9639
+ allowReplace: boolean;
9640
+ allowDelete: boolean;
9641
+ requireUpload: boolean;
9642
+ extractMetadata: boolean;
9643
+ extractText: boolean;
9644
+ versioningEnabled: boolean;
9645
+ publicRead: boolean;
9646
+ presignedUrlExpiry: number;
9647
+ minSize?: number | undefined;
9648
+ maxSize?: number | undefined;
9649
+ allowedTypes?: string[] | undefined;
9650
+ blockedTypes?: string[] | undefined;
9651
+ allowedMimeTypes?: string[] | undefined;
9652
+ blockedMimeTypes?: string[] | undefined;
9653
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
9654
+ storageProvider?: string | undefined;
9655
+ storageBucket?: string | undefined;
9656
+ storagePrefix?: string | undefined;
9657
+ imageValidation?: {
9658
+ generateThumbnails: boolean;
9659
+ preserveMetadata: boolean;
9660
+ autoRotate: boolean;
9661
+ minWidth?: number | undefined;
9662
+ maxWidth?: number | undefined;
9663
+ minHeight?: number | undefined;
9664
+ maxHeight?: number | undefined;
9665
+ aspectRatio?: string | undefined;
9666
+ thumbnailSizes?: {
9667
+ name: string;
9668
+ width: number;
9669
+ height: number;
9670
+ crop: boolean;
9671
+ }[] | undefined;
9672
+ } | undefined;
9673
+ maxVersions?: number | undefined;
9674
+ } | undefined;
9675
+ readonly maskingRule?: {
9676
+ field: string;
9677
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
9678
+ preserveFormat: boolean;
9679
+ preserveLength: boolean;
9680
+ pattern?: string | undefined;
9681
+ roles?: string[] | undefined;
9682
+ exemptRoles?: string[] | undefined;
9683
+ } | undefined;
9684
+ readonly auditTrail?: boolean | undefined;
9685
+ readonly cached?: {
9686
+ enabled: boolean;
9687
+ ttl: number;
9688
+ invalidateOn: string[];
9689
+ } | undefined;
9690
+ readonly dataQuality?: {
9691
+ uniqueness: boolean;
9692
+ completeness: number;
9693
+ accuracy?: {
9694
+ source: string;
9695
+ threshold: number;
9696
+ } | undefined;
9697
+ } | undefined;
9698
+ readonly conditionalRequired?: {
9699
+ dialect: "cel" | "js" | "cron" | "template";
9700
+ source?: string | undefined;
9701
+ ast?: unknown;
9702
+ meta?: {
9703
+ rationale?: string | undefined;
9704
+ generatedBy?: string | undefined;
9705
+ } | undefined;
9706
+ } | undefined;
9707
+ readonly hidden?: boolean | undefined;
9708
+ readonly sortable?: boolean | undefined;
9709
+ readonly inlineHelpText?: string | undefined;
9710
+ readonly trackFeedHistory?: boolean | undefined;
9711
+ readonly caseSensitive?: boolean | undefined;
9712
+ readonly autonumberFormat?: string | undefined;
9713
+ readonly index?: boolean | undefined;
9714
+ readonly type: "text";
9715
+ };
9716
+ /** Item machine name. */
9717
+ readonly name: {
9718
+ readonly readonly?: boolean | undefined;
9719
+ readonly format?: string | undefined;
9720
+ readonly options?: {
9721
+ label: string;
9722
+ value: string;
9723
+ color?: string | undefined;
9724
+ default?: boolean | undefined;
9725
+ }[] | undefined;
9726
+ readonly description?: string | undefined;
9727
+ readonly label?: string | undefined;
9728
+ readonly name?: string | undefined;
9729
+ readonly precision?: number | undefined;
9730
+ readonly required?: boolean | undefined;
9731
+ readonly multiple?: boolean | undefined;
9732
+ readonly dependencies?: string[] | undefined;
9733
+ readonly theme?: string | undefined;
9734
+ readonly externalId?: boolean | undefined;
9735
+ readonly system?: boolean | undefined;
9736
+ readonly min?: number | undefined;
9737
+ readonly max?: number | undefined;
9738
+ readonly group?: string | undefined;
9739
+ readonly encryptionConfig?: {
9740
+ enabled: boolean;
9741
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
9742
+ keyManagement: {
9743
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
9744
+ keyId?: string | undefined;
9745
+ rotationPolicy?: {
9746
+ enabled: boolean;
9747
+ frequencyDays: number;
9748
+ retainOldVersions: number;
9749
+ autoRotate: boolean;
9750
+ } | undefined;
9751
+ };
9752
+ scope: "record" | "field" | "table" | "database";
9753
+ deterministicEncryption: boolean;
9754
+ searchableEncryption: boolean;
9755
+ } | undefined;
9756
+ readonly columnName?: string | undefined;
9757
+ readonly searchable?: boolean | undefined;
9758
+ readonly unique?: boolean | undefined;
9759
+ readonly defaultValue?: unknown;
9760
+ readonly maxLength?: number | undefined;
9761
+ readonly minLength?: number | undefined;
9762
+ readonly scale?: number | undefined;
9763
+ readonly reference?: string | undefined;
9764
+ readonly referenceFilters?: string[] | undefined;
9765
+ readonly writeRequiresMasterRead?: boolean | undefined;
9766
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
9767
+ readonly expression?: {
9768
+ dialect: "cel" | "js" | "cron" | "template";
9769
+ source?: string | undefined;
9770
+ ast?: unknown;
9771
+ meta?: {
9772
+ rationale?: string | undefined;
9773
+ generatedBy?: string | undefined;
9774
+ } | undefined;
9775
+ } | undefined;
9776
+ readonly summaryOperations?: {
9777
+ object: string;
9778
+ field: string;
9779
+ function: "min" | "max" | "count" | "sum" | "avg";
9780
+ } | undefined;
9781
+ readonly language?: string | undefined;
9782
+ readonly lineNumbers?: boolean | undefined;
9783
+ readonly maxRating?: number | undefined;
9784
+ readonly allowHalf?: boolean | undefined;
9785
+ readonly displayMap?: boolean | undefined;
9786
+ readonly allowGeocoding?: boolean | undefined;
9787
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
9788
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
9789
+ readonly allowAlpha?: boolean | undefined;
9790
+ readonly presetColors?: string[] | undefined;
9791
+ readonly step?: number | undefined;
9792
+ readonly showValue?: boolean | undefined;
9793
+ readonly marks?: Record<string, string> | undefined;
9794
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
9795
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
9796
+ readonly displayValue?: boolean | undefined;
9797
+ readonly allowScanning?: boolean | undefined;
9798
+ readonly currencyConfig?: {
9799
+ precision: number;
9800
+ currencyMode: "fixed" | "dynamic";
9801
+ defaultCurrency: string;
9802
+ } | undefined;
9803
+ readonly vectorConfig?: {
9804
+ dimensions: number;
9805
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
9806
+ normalized: boolean;
9807
+ indexed: boolean;
9808
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
9809
+ } | undefined;
9810
+ readonly fileAttachmentConfig?: {
9811
+ virusScan: boolean;
9812
+ virusScanOnUpload: boolean;
9813
+ quarantineOnThreat: boolean;
9814
+ allowMultiple: boolean;
9815
+ allowReplace: boolean;
9816
+ allowDelete: boolean;
9817
+ requireUpload: boolean;
9818
+ extractMetadata: boolean;
9819
+ extractText: boolean;
9820
+ versioningEnabled: boolean;
9821
+ publicRead: boolean;
9822
+ presignedUrlExpiry: number;
9823
+ minSize?: number | undefined;
9824
+ maxSize?: number | undefined;
9825
+ allowedTypes?: string[] | undefined;
9826
+ blockedTypes?: string[] | undefined;
9827
+ allowedMimeTypes?: string[] | undefined;
9828
+ blockedMimeTypes?: string[] | undefined;
9829
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
9830
+ storageProvider?: string | undefined;
9831
+ storageBucket?: string | undefined;
9832
+ storagePrefix?: string | undefined;
9833
+ imageValidation?: {
9834
+ generateThumbnails: boolean;
9835
+ preserveMetadata: boolean;
9836
+ autoRotate: boolean;
9837
+ minWidth?: number | undefined;
9838
+ maxWidth?: number | undefined;
9839
+ minHeight?: number | undefined;
9840
+ maxHeight?: number | undefined;
9841
+ aspectRatio?: string | undefined;
9842
+ thumbnailSizes?: {
9843
+ name: string;
9844
+ width: number;
9845
+ height: number;
9846
+ crop: boolean;
9847
+ }[] | undefined;
9848
+ } | undefined;
9849
+ maxVersions?: number | undefined;
9850
+ } | undefined;
9851
+ readonly maskingRule?: {
9852
+ field: string;
9853
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
9854
+ preserveFormat: boolean;
9855
+ preserveLength: boolean;
9856
+ pattern?: string | undefined;
9857
+ roles?: string[] | undefined;
9858
+ exemptRoles?: string[] | undefined;
9859
+ } | undefined;
9860
+ readonly auditTrail?: boolean | undefined;
9861
+ readonly cached?: {
9862
+ enabled: boolean;
9863
+ ttl: number;
9864
+ invalidateOn: string[];
9865
+ } | undefined;
9866
+ readonly dataQuality?: {
9867
+ uniqueness: boolean;
9868
+ completeness: number;
9869
+ accuracy?: {
9870
+ source: string;
9871
+ threshold: number;
9872
+ } | undefined;
9873
+ } | undefined;
9874
+ readonly conditionalRequired?: {
9875
+ dialect: "cel" | "js" | "cron" | "template";
9876
+ source?: string | undefined;
9877
+ ast?: unknown;
9878
+ meta?: {
9879
+ rationale?: string | undefined;
9880
+ generatedBy?: string | undefined;
9881
+ } | undefined;
9882
+ } | undefined;
9883
+ readonly hidden?: boolean | undefined;
9884
+ readonly sortable?: boolean | undefined;
9885
+ readonly inlineHelpText?: string | undefined;
9886
+ readonly trackFeedHistory?: boolean | undefined;
9887
+ readonly caseSensitive?: boolean | undefined;
9888
+ readonly autonumberFormat?: string | undefined;
9889
+ readonly index?: boolean | undefined;
9890
+ readonly type: "text";
9891
+ };
9892
+ /** Organization for multi-tenant filtering. NULL for env-wide writes. */
9893
+ readonly organization_id: {
9894
+ readonly readonly?: boolean | undefined;
9895
+ readonly format?: string | undefined;
9896
+ readonly options?: {
9897
+ label: string;
9898
+ value: string;
9899
+ color?: string | undefined;
9900
+ default?: boolean | undefined;
9901
+ }[] | undefined;
9902
+ readonly description?: string | undefined;
9903
+ readonly label?: string | undefined;
9904
+ readonly name?: string | undefined;
9905
+ readonly precision?: number | undefined;
9906
+ readonly required?: boolean | undefined;
9907
+ readonly multiple?: boolean | undefined;
9908
+ readonly dependencies?: string[] | undefined;
9909
+ readonly theme?: string | undefined;
9910
+ readonly externalId?: boolean | undefined;
9911
+ readonly system?: boolean | undefined;
9912
+ readonly min?: number | undefined;
9913
+ readonly max?: number | undefined;
9914
+ readonly group?: string | undefined;
9915
+ readonly encryptionConfig?: {
9916
+ enabled: boolean;
9917
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
9918
+ keyManagement: {
9919
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
9920
+ keyId?: string | undefined;
9921
+ rotationPolicy?: {
9922
+ enabled: boolean;
9923
+ frequencyDays: number;
9924
+ retainOldVersions: number;
9925
+ autoRotate: boolean;
9926
+ } | undefined;
9927
+ };
9928
+ scope: "record" | "field" | "table" | "database";
9929
+ deterministicEncryption: boolean;
9930
+ searchableEncryption: boolean;
9931
+ } | undefined;
9932
+ readonly columnName?: string | undefined;
9933
+ readonly searchable?: boolean | undefined;
9934
+ readonly unique?: boolean | undefined;
9935
+ readonly defaultValue?: unknown;
9936
+ readonly maxLength?: number | undefined;
9937
+ readonly minLength?: number | undefined;
9938
+ readonly scale?: number | undefined;
9939
+ reference: string;
9940
+ readonly referenceFilters?: string[] | undefined;
9941
+ readonly writeRequiresMasterRead?: boolean | undefined;
9942
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
9943
+ readonly expression?: {
9944
+ dialect: "cel" | "js" | "cron" | "template";
9945
+ source?: string | undefined;
9946
+ ast?: unknown;
9947
+ meta?: {
9948
+ rationale?: string | undefined;
9949
+ generatedBy?: string | undefined;
9950
+ } | undefined;
9951
+ } | undefined;
9952
+ readonly summaryOperations?: {
9953
+ object: string;
9954
+ field: string;
9955
+ function: "min" | "max" | "count" | "sum" | "avg";
9956
+ } | undefined;
9957
+ readonly language?: string | undefined;
9958
+ readonly lineNumbers?: boolean | undefined;
9959
+ readonly maxRating?: number | undefined;
9960
+ readonly allowHalf?: boolean | undefined;
9961
+ readonly displayMap?: boolean | undefined;
9962
+ readonly allowGeocoding?: boolean | undefined;
9963
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
9964
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
9965
+ readonly allowAlpha?: boolean | undefined;
9966
+ readonly presetColors?: string[] | undefined;
9967
+ readonly step?: number | undefined;
9968
+ readonly showValue?: boolean | undefined;
9969
+ readonly marks?: Record<string, string> | undefined;
9970
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
9971
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
9972
+ readonly displayValue?: boolean | undefined;
9973
+ readonly allowScanning?: boolean | undefined;
9974
+ readonly currencyConfig?: {
9975
+ precision: number;
9976
+ currencyMode: "fixed" | "dynamic";
9977
+ defaultCurrency: string;
9978
+ } | undefined;
9979
+ readonly vectorConfig?: {
9980
+ dimensions: number;
9981
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
9982
+ normalized: boolean;
9983
+ indexed: boolean;
9984
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
9985
+ } | undefined;
9986
+ readonly fileAttachmentConfig?: {
9987
+ virusScan: boolean;
9988
+ virusScanOnUpload: boolean;
9989
+ quarantineOnThreat: boolean;
9990
+ allowMultiple: boolean;
9991
+ allowReplace: boolean;
9992
+ allowDelete: boolean;
9993
+ requireUpload: boolean;
9994
+ extractMetadata: boolean;
9995
+ extractText: boolean;
9996
+ versioningEnabled: boolean;
9997
+ publicRead: boolean;
9998
+ presignedUrlExpiry: number;
9999
+ minSize?: number | undefined;
10000
+ maxSize?: number | undefined;
10001
+ allowedTypes?: string[] | undefined;
10002
+ blockedTypes?: string[] | undefined;
10003
+ allowedMimeTypes?: string[] | undefined;
10004
+ blockedMimeTypes?: string[] | undefined;
10005
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
10006
+ storageProvider?: string | undefined;
10007
+ storageBucket?: string | undefined;
10008
+ storagePrefix?: string | undefined;
10009
+ imageValidation?: {
10010
+ generateThumbnails: boolean;
10011
+ preserveMetadata: boolean;
10012
+ autoRotate: boolean;
10013
+ minWidth?: number | undefined;
10014
+ maxWidth?: number | undefined;
10015
+ minHeight?: number | undefined;
10016
+ maxHeight?: number | undefined;
10017
+ aspectRatio?: string | undefined;
10018
+ thumbnailSizes?: {
10019
+ name: string;
10020
+ width: number;
10021
+ height: number;
10022
+ crop: boolean;
10023
+ }[] | undefined;
10024
+ } | undefined;
10025
+ maxVersions?: number | undefined;
10026
+ } | undefined;
10027
+ readonly maskingRule?: {
10028
+ field: string;
10029
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
10030
+ preserveFormat: boolean;
10031
+ preserveLength: boolean;
10032
+ pattern?: string | undefined;
10033
+ roles?: string[] | undefined;
10034
+ exemptRoles?: string[] | undefined;
10035
+ } | undefined;
10036
+ readonly auditTrail?: boolean | undefined;
10037
+ readonly cached?: {
10038
+ enabled: boolean;
10039
+ ttl: number;
10040
+ invalidateOn: string[];
10041
+ } | undefined;
10042
+ readonly dataQuality?: {
10043
+ uniqueness: boolean;
10044
+ completeness: number;
10045
+ accuracy?: {
10046
+ source: string;
10047
+ threshold: number;
10048
+ } | undefined;
10049
+ } | undefined;
10050
+ readonly conditionalRequired?: {
10051
+ dialect: "cel" | "js" | "cron" | "template";
10052
+ source?: string | undefined;
10053
+ ast?: unknown;
10054
+ meta?: {
10055
+ rationale?: string | undefined;
10056
+ generatedBy?: string | undefined;
10057
+ } | undefined;
10058
+ } | undefined;
10059
+ readonly hidden?: boolean | undefined;
10060
+ readonly sortable?: boolean | undefined;
10061
+ readonly inlineHelpText?: string | undefined;
10062
+ readonly trackFeedHistory?: boolean | undefined;
10063
+ readonly caseSensitive?: boolean | undefined;
10064
+ readonly autonumberFormat?: string | undefined;
10065
+ readonly index?: boolean | undefined;
10066
+ readonly type: "lookup";
10067
+ };
10068
+ /** Operation kind. */
10069
+ readonly operation: {
10070
+ readonly readonly?: boolean | undefined;
10071
+ readonly format?: string | undefined;
10072
+ options: {
10073
+ label: string;
10074
+ value: string;
10075
+ color?: string | undefined;
10076
+ default?: boolean | undefined;
10077
+ }[];
10078
+ readonly description?: string | undefined;
10079
+ readonly label?: string | undefined;
10080
+ readonly name?: string | undefined;
10081
+ readonly precision?: number | undefined;
10082
+ readonly required?: boolean | undefined;
10083
+ readonly multiple?: boolean | undefined;
10084
+ readonly dependencies?: string[] | undefined;
10085
+ readonly theme?: string | undefined;
10086
+ readonly externalId?: boolean | undefined;
10087
+ readonly system?: boolean | undefined;
10088
+ readonly min?: number | undefined;
10089
+ readonly max?: number | undefined;
10090
+ readonly group?: string | undefined;
10091
+ readonly encryptionConfig?: {
10092
+ enabled: boolean;
10093
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
10094
+ keyManagement: {
10095
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
10096
+ keyId?: string | undefined;
10097
+ rotationPolicy?: {
10098
+ enabled: boolean;
10099
+ frequencyDays: number;
10100
+ retainOldVersions: number;
10101
+ autoRotate: boolean;
10102
+ } | undefined;
10103
+ };
10104
+ scope: "record" | "field" | "table" | "database";
10105
+ deterministicEncryption: boolean;
10106
+ searchableEncryption: boolean;
10107
+ } | undefined;
10108
+ readonly columnName?: string | undefined;
10109
+ readonly searchable?: boolean | undefined;
10110
+ readonly unique?: boolean | undefined;
10111
+ readonly defaultValue?: unknown;
10112
+ readonly maxLength?: number | undefined;
10113
+ readonly minLength?: number | undefined;
10114
+ readonly scale?: number | undefined;
10115
+ readonly reference?: string | undefined;
10116
+ readonly referenceFilters?: string[] | undefined;
10117
+ readonly writeRequiresMasterRead?: boolean | undefined;
10118
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
10119
+ readonly expression?: {
10120
+ dialect: "cel" | "js" | "cron" | "template";
10121
+ source?: string | undefined;
10122
+ ast?: unknown;
10123
+ meta?: {
10124
+ rationale?: string | undefined;
10125
+ generatedBy?: string | undefined;
10126
+ } | undefined;
10127
+ } | undefined;
10128
+ readonly summaryOperations?: {
10129
+ object: string;
10130
+ field: string;
10131
+ function: "min" | "max" | "count" | "sum" | "avg";
10132
+ } | undefined;
10133
+ readonly language?: string | undefined;
10134
+ readonly lineNumbers?: boolean | undefined;
10135
+ readonly maxRating?: number | undefined;
10136
+ readonly allowHalf?: boolean | undefined;
10137
+ readonly displayMap?: boolean | undefined;
10138
+ readonly allowGeocoding?: boolean | undefined;
10139
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
10140
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
10141
+ readonly allowAlpha?: boolean | undefined;
10142
+ readonly presetColors?: string[] | undefined;
10143
+ readonly step?: number | undefined;
10144
+ readonly showValue?: boolean | undefined;
10145
+ readonly marks?: Record<string, string> | undefined;
10146
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
10147
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
10148
+ readonly displayValue?: boolean | undefined;
10149
+ readonly allowScanning?: boolean | undefined;
10150
+ readonly currencyConfig?: {
10151
+ precision: number;
10152
+ currencyMode: "fixed" | "dynamic";
10153
+ defaultCurrency: string;
10154
+ } | undefined;
10155
+ readonly vectorConfig?: {
10156
+ dimensions: number;
10157
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
10158
+ normalized: boolean;
10159
+ indexed: boolean;
10160
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
10161
+ } | undefined;
10162
+ readonly fileAttachmentConfig?: {
10163
+ virusScan: boolean;
10164
+ virusScanOnUpload: boolean;
10165
+ quarantineOnThreat: boolean;
10166
+ allowMultiple: boolean;
10167
+ allowReplace: boolean;
10168
+ allowDelete: boolean;
10169
+ requireUpload: boolean;
10170
+ extractMetadata: boolean;
10171
+ extractText: boolean;
10172
+ versioningEnabled: boolean;
10173
+ publicRead: boolean;
10174
+ presignedUrlExpiry: number;
10175
+ minSize?: number | undefined;
10176
+ maxSize?: number | undefined;
10177
+ allowedTypes?: string[] | undefined;
10178
+ blockedTypes?: string[] | undefined;
10179
+ allowedMimeTypes?: string[] | undefined;
10180
+ blockedMimeTypes?: string[] | undefined;
10181
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
10182
+ storageProvider?: string | undefined;
10183
+ storageBucket?: string | undefined;
10184
+ storagePrefix?: string | undefined;
10185
+ imageValidation?: {
10186
+ generateThumbnails: boolean;
10187
+ preserveMetadata: boolean;
10188
+ autoRotate: boolean;
10189
+ minWidth?: number | undefined;
10190
+ maxWidth?: number | undefined;
10191
+ minHeight?: number | undefined;
10192
+ maxHeight?: number | undefined;
10193
+ aspectRatio?: string | undefined;
10194
+ thumbnailSizes?: {
10195
+ name: string;
10196
+ width: number;
10197
+ height: number;
10198
+ crop: boolean;
10199
+ }[] | undefined;
10200
+ } | undefined;
10201
+ maxVersions?: number | undefined;
10202
+ } | undefined;
10203
+ readonly maskingRule?: {
10204
+ field: string;
10205
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
10206
+ preserveFormat: boolean;
10207
+ preserveLength: boolean;
10208
+ pattern?: string | undefined;
10209
+ roles?: string[] | undefined;
10210
+ exemptRoles?: string[] | undefined;
10211
+ } | undefined;
10212
+ readonly auditTrail?: boolean | undefined;
10213
+ readonly cached?: {
10214
+ enabled: boolean;
10215
+ ttl: number;
10216
+ invalidateOn: string[];
10217
+ } | undefined;
10218
+ readonly dataQuality?: {
10219
+ uniqueness: boolean;
10220
+ completeness: number;
10221
+ accuracy?: {
10222
+ source: string;
10223
+ threshold: number;
10224
+ } | undefined;
10225
+ } | undefined;
10226
+ readonly conditionalRequired?: {
10227
+ dialect: "cel" | "js" | "cron" | "template";
10228
+ source?: string | undefined;
10229
+ ast?: unknown;
10230
+ meta?: {
10231
+ rationale?: string | undefined;
10232
+ generatedBy?: string | undefined;
10233
+ } | undefined;
10234
+ } | undefined;
10235
+ readonly hidden?: boolean | undefined;
10236
+ readonly sortable?: boolean | undefined;
10237
+ readonly inlineHelpText?: string | undefined;
10238
+ readonly trackFeedHistory?: boolean | undefined;
10239
+ readonly caseSensitive?: boolean | undefined;
10240
+ readonly autonumberFormat?: string | undefined;
10241
+ readonly index?: boolean | undefined;
10242
+ readonly type: "select";
10243
+ };
10244
+ /** Decision outcome — allowed, denied (refused), or forced (bypassed via override). */
10245
+ readonly outcome: {
10246
+ readonly readonly?: boolean | undefined;
10247
+ readonly format?: string | undefined;
10248
+ options: {
10249
+ label: string;
10250
+ value: string;
10251
+ color?: string | undefined;
10252
+ default?: boolean | undefined;
10253
+ }[];
10254
+ readonly description?: string | undefined;
10255
+ readonly label?: string | undefined;
10256
+ readonly name?: string | undefined;
10257
+ readonly precision?: number | undefined;
10258
+ readonly required?: boolean | undefined;
10259
+ readonly multiple?: boolean | undefined;
10260
+ readonly dependencies?: string[] | undefined;
10261
+ readonly theme?: string | undefined;
10262
+ readonly externalId?: boolean | undefined;
10263
+ readonly system?: boolean | undefined;
10264
+ readonly min?: number | undefined;
10265
+ readonly max?: number | undefined;
10266
+ readonly group?: string | undefined;
10267
+ readonly encryptionConfig?: {
10268
+ enabled: boolean;
10269
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
10270
+ keyManagement: {
10271
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
10272
+ keyId?: string | undefined;
10273
+ rotationPolicy?: {
10274
+ enabled: boolean;
10275
+ frequencyDays: number;
10276
+ retainOldVersions: number;
10277
+ autoRotate: boolean;
10278
+ } | undefined;
10279
+ };
10280
+ scope: "record" | "field" | "table" | "database";
10281
+ deterministicEncryption: boolean;
10282
+ searchableEncryption: boolean;
10283
+ } | undefined;
10284
+ readonly columnName?: string | undefined;
10285
+ readonly searchable?: boolean | undefined;
10286
+ readonly unique?: boolean | undefined;
10287
+ readonly defaultValue?: unknown;
10288
+ readonly maxLength?: number | undefined;
10289
+ readonly minLength?: number | undefined;
10290
+ readonly scale?: number | undefined;
10291
+ readonly reference?: string | undefined;
10292
+ readonly referenceFilters?: string[] | undefined;
10293
+ readonly writeRequiresMasterRead?: boolean | undefined;
10294
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
10295
+ readonly expression?: {
10296
+ dialect: "cel" | "js" | "cron" | "template";
10297
+ source?: string | undefined;
10298
+ ast?: unknown;
10299
+ meta?: {
10300
+ rationale?: string | undefined;
10301
+ generatedBy?: string | undefined;
10302
+ } | undefined;
10303
+ } | undefined;
10304
+ readonly summaryOperations?: {
10305
+ object: string;
10306
+ field: string;
10307
+ function: "min" | "max" | "count" | "sum" | "avg";
10308
+ } | undefined;
10309
+ readonly language?: string | undefined;
10310
+ readonly lineNumbers?: boolean | undefined;
10311
+ readonly maxRating?: number | undefined;
10312
+ readonly allowHalf?: boolean | undefined;
10313
+ readonly displayMap?: boolean | undefined;
10314
+ readonly allowGeocoding?: boolean | undefined;
10315
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
10316
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
10317
+ readonly allowAlpha?: boolean | undefined;
10318
+ readonly presetColors?: string[] | undefined;
10319
+ readonly step?: number | undefined;
10320
+ readonly showValue?: boolean | undefined;
10321
+ readonly marks?: Record<string, string> | undefined;
10322
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
10323
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
10324
+ readonly displayValue?: boolean | undefined;
10325
+ readonly allowScanning?: boolean | undefined;
10326
+ readonly currencyConfig?: {
10327
+ precision: number;
10328
+ currencyMode: "fixed" | "dynamic";
10329
+ defaultCurrency: string;
10330
+ } | undefined;
10331
+ readonly vectorConfig?: {
10332
+ dimensions: number;
10333
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
10334
+ normalized: boolean;
10335
+ indexed: boolean;
10336
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
10337
+ } | undefined;
10338
+ readonly fileAttachmentConfig?: {
10339
+ virusScan: boolean;
10340
+ virusScanOnUpload: boolean;
10341
+ quarantineOnThreat: boolean;
10342
+ allowMultiple: boolean;
10343
+ allowReplace: boolean;
10344
+ allowDelete: boolean;
10345
+ requireUpload: boolean;
10346
+ extractMetadata: boolean;
10347
+ extractText: boolean;
10348
+ versioningEnabled: boolean;
10349
+ publicRead: boolean;
10350
+ presignedUrlExpiry: number;
10351
+ minSize?: number | undefined;
10352
+ maxSize?: number | undefined;
10353
+ allowedTypes?: string[] | undefined;
10354
+ blockedTypes?: string[] | undefined;
10355
+ allowedMimeTypes?: string[] | undefined;
10356
+ blockedMimeTypes?: string[] | undefined;
10357
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
10358
+ storageProvider?: string | undefined;
10359
+ storageBucket?: string | undefined;
10360
+ storagePrefix?: string | undefined;
10361
+ imageValidation?: {
10362
+ generateThumbnails: boolean;
10363
+ preserveMetadata: boolean;
10364
+ autoRotate: boolean;
10365
+ minWidth?: number | undefined;
10366
+ maxWidth?: number | undefined;
10367
+ minHeight?: number | undefined;
10368
+ maxHeight?: number | undefined;
10369
+ aspectRatio?: string | undefined;
10370
+ thumbnailSizes?: {
10371
+ name: string;
10372
+ width: number;
10373
+ height: number;
10374
+ crop: boolean;
10375
+ }[] | undefined;
10376
+ } | undefined;
10377
+ maxVersions?: number | undefined;
10378
+ } | undefined;
10379
+ readonly maskingRule?: {
10380
+ field: string;
10381
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
10382
+ preserveFormat: boolean;
10383
+ preserveLength: boolean;
10384
+ pattern?: string | undefined;
10385
+ roles?: string[] | undefined;
10386
+ exemptRoles?: string[] | undefined;
10387
+ } | undefined;
10388
+ readonly auditTrail?: boolean | undefined;
10389
+ readonly cached?: {
10390
+ enabled: boolean;
10391
+ ttl: number;
10392
+ invalidateOn: string[];
10393
+ } | undefined;
10394
+ readonly dataQuality?: {
10395
+ uniqueness: boolean;
10396
+ completeness: number;
10397
+ accuracy?: {
10398
+ source: string;
10399
+ threshold: number;
10400
+ } | undefined;
10401
+ } | undefined;
10402
+ readonly conditionalRequired?: {
10403
+ dialect: "cel" | "js" | "cron" | "template";
10404
+ source?: string | undefined;
10405
+ ast?: unknown;
10406
+ meta?: {
10407
+ rationale?: string | undefined;
10408
+ generatedBy?: string | undefined;
10409
+ } | undefined;
10410
+ } | undefined;
10411
+ readonly hidden?: boolean | undefined;
10412
+ readonly sortable?: boolean | undefined;
10413
+ readonly inlineHelpText?: string | undefined;
10414
+ readonly trackFeedHistory?: boolean | undefined;
10415
+ readonly caseSensitive?: boolean | undefined;
10416
+ readonly autonumberFormat?: string | undefined;
10417
+ readonly index?: boolean | undefined;
10418
+ readonly type: "select";
10419
+ };
10420
+ /**
10421
+ * Machine-readable code for the decision:
10422
+ * - on `allowed`: `'ok'`
10423
+ * - on `denied`: `'not_overridable'` | `'not_creatable'` |
10424
+ * `'item_locked'` | `'invalid_metadata'` | `'destructive_change'` |
10425
+ * `'metadata_conflict'`
10426
+ * - on `forced`: `'lock_override'` (Phase 3)
10427
+ */
10428
+ readonly code: {
10429
+ readonly readonly?: boolean | undefined;
10430
+ readonly format?: string | undefined;
10431
+ readonly options?: {
10432
+ label: string;
10433
+ value: string;
10434
+ color?: string | undefined;
10435
+ default?: boolean | undefined;
10436
+ }[] | undefined;
10437
+ readonly description?: string | undefined;
10438
+ readonly label?: string | undefined;
10439
+ readonly name?: string | undefined;
10440
+ readonly precision?: number | undefined;
10441
+ readonly required?: boolean | undefined;
10442
+ readonly multiple?: boolean | undefined;
10443
+ readonly dependencies?: string[] | undefined;
10444
+ readonly theme?: string | undefined;
10445
+ readonly externalId?: boolean | undefined;
10446
+ readonly system?: boolean | undefined;
10447
+ readonly min?: number | undefined;
10448
+ readonly max?: number | undefined;
10449
+ readonly group?: string | undefined;
10450
+ readonly encryptionConfig?: {
10451
+ enabled: boolean;
10452
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
10453
+ keyManagement: {
10454
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
10455
+ keyId?: string | undefined;
10456
+ rotationPolicy?: {
10457
+ enabled: boolean;
10458
+ frequencyDays: number;
10459
+ retainOldVersions: number;
10460
+ autoRotate: boolean;
10461
+ } | undefined;
10462
+ };
10463
+ scope: "record" | "field" | "table" | "database";
10464
+ deterministicEncryption: boolean;
10465
+ searchableEncryption: boolean;
10466
+ } | undefined;
10467
+ readonly columnName?: string | undefined;
10468
+ readonly searchable?: boolean | undefined;
10469
+ readonly unique?: boolean | undefined;
10470
+ readonly defaultValue?: unknown;
10471
+ readonly maxLength?: number | undefined;
10472
+ readonly minLength?: number | undefined;
10473
+ readonly scale?: number | undefined;
10474
+ readonly reference?: string | undefined;
10475
+ readonly referenceFilters?: string[] | undefined;
10476
+ readonly writeRequiresMasterRead?: boolean | undefined;
10477
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
10478
+ readonly expression?: {
10479
+ dialect: "cel" | "js" | "cron" | "template";
10480
+ source?: string | undefined;
10481
+ ast?: unknown;
10482
+ meta?: {
10483
+ rationale?: string | undefined;
10484
+ generatedBy?: string | undefined;
10485
+ } | undefined;
10486
+ } | undefined;
10487
+ readonly summaryOperations?: {
10488
+ object: string;
10489
+ field: string;
10490
+ function: "min" | "max" | "count" | "sum" | "avg";
10491
+ } | undefined;
10492
+ readonly language?: string | undefined;
10493
+ readonly lineNumbers?: boolean | undefined;
10494
+ readonly maxRating?: number | undefined;
10495
+ readonly allowHalf?: boolean | undefined;
10496
+ readonly displayMap?: boolean | undefined;
10497
+ readonly allowGeocoding?: boolean | undefined;
10498
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
10499
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
10500
+ readonly allowAlpha?: boolean | undefined;
10501
+ readonly presetColors?: string[] | undefined;
10502
+ readonly step?: number | undefined;
10503
+ readonly showValue?: boolean | undefined;
10504
+ readonly marks?: Record<string, string> | undefined;
10505
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
10506
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
10507
+ readonly displayValue?: boolean | undefined;
10508
+ readonly allowScanning?: boolean | undefined;
10509
+ readonly currencyConfig?: {
10510
+ precision: number;
10511
+ currencyMode: "fixed" | "dynamic";
10512
+ defaultCurrency: string;
10513
+ } | undefined;
10514
+ readonly vectorConfig?: {
10515
+ dimensions: number;
10516
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
10517
+ normalized: boolean;
10518
+ indexed: boolean;
10519
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
10520
+ } | undefined;
10521
+ readonly fileAttachmentConfig?: {
10522
+ virusScan: boolean;
10523
+ virusScanOnUpload: boolean;
10524
+ quarantineOnThreat: boolean;
10525
+ allowMultiple: boolean;
10526
+ allowReplace: boolean;
10527
+ allowDelete: boolean;
10528
+ requireUpload: boolean;
10529
+ extractMetadata: boolean;
10530
+ extractText: boolean;
10531
+ versioningEnabled: boolean;
10532
+ publicRead: boolean;
10533
+ presignedUrlExpiry: number;
10534
+ minSize?: number | undefined;
10535
+ maxSize?: number | undefined;
10536
+ allowedTypes?: string[] | undefined;
10537
+ blockedTypes?: string[] | undefined;
10538
+ allowedMimeTypes?: string[] | undefined;
10539
+ blockedMimeTypes?: string[] | undefined;
10540
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
10541
+ storageProvider?: string | undefined;
10542
+ storageBucket?: string | undefined;
10543
+ storagePrefix?: string | undefined;
10544
+ imageValidation?: {
10545
+ generateThumbnails: boolean;
10546
+ preserveMetadata: boolean;
10547
+ autoRotate: boolean;
10548
+ minWidth?: number | undefined;
10549
+ maxWidth?: number | undefined;
10550
+ minHeight?: number | undefined;
10551
+ maxHeight?: number | undefined;
10552
+ aspectRatio?: string | undefined;
10553
+ thumbnailSizes?: {
10554
+ name: string;
10555
+ width: number;
10556
+ height: number;
10557
+ crop: boolean;
10558
+ }[] | undefined;
10559
+ } | undefined;
10560
+ maxVersions?: number | undefined;
10561
+ } | undefined;
10562
+ readonly maskingRule?: {
10563
+ field: string;
10564
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
10565
+ preserveFormat: boolean;
10566
+ preserveLength: boolean;
10567
+ pattern?: string | undefined;
10568
+ roles?: string[] | undefined;
10569
+ exemptRoles?: string[] | undefined;
10570
+ } | undefined;
10571
+ readonly auditTrail?: boolean | undefined;
10572
+ readonly cached?: {
10573
+ enabled: boolean;
10574
+ ttl: number;
10575
+ invalidateOn: string[];
10576
+ } | undefined;
10577
+ readonly dataQuality?: {
10578
+ uniqueness: boolean;
10579
+ completeness: number;
10580
+ accuracy?: {
10581
+ source: string;
10582
+ threshold: number;
10583
+ } | undefined;
10584
+ } | undefined;
10585
+ readonly conditionalRequired?: {
10586
+ dialect: "cel" | "js" | "cron" | "template";
10587
+ source?: string | undefined;
10588
+ ast?: unknown;
10589
+ meta?: {
10590
+ rationale?: string | undefined;
10591
+ generatedBy?: string | undefined;
10592
+ } | undefined;
10593
+ } | undefined;
10594
+ readonly hidden?: boolean | undefined;
10595
+ readonly sortable?: boolean | undefined;
10596
+ readonly inlineHelpText?: string | undefined;
10597
+ readonly trackFeedHistory?: boolean | undefined;
10598
+ readonly caseSensitive?: boolean | undefined;
10599
+ readonly autonumberFormat?: string | undefined;
10600
+ readonly index?: boolean | undefined;
10601
+ readonly type: "text";
10602
+ };
10603
+ /**
10604
+ * Lock state observed at the time of the decision (`none` if the
10605
+ * item carried no `_lock`). Captured even on `allowed` rows so
10606
+ * later compliance queries can see "what was the lock state when
10607
+ * this write succeeded".
10608
+ */
10609
+ readonly lock_state: {
10610
+ readonly readonly?: boolean | undefined;
10611
+ readonly format?: string | undefined;
10612
+ options: {
10613
+ label: string;
10614
+ value: string;
10615
+ color?: string | undefined;
10616
+ default?: boolean | undefined;
10617
+ }[];
10618
+ readonly description?: string | undefined;
10619
+ readonly label?: string | undefined;
10620
+ readonly name?: string | undefined;
10621
+ readonly precision?: number | undefined;
10622
+ readonly required?: boolean | undefined;
10623
+ readonly multiple?: boolean | undefined;
10624
+ readonly dependencies?: string[] | undefined;
10625
+ readonly theme?: string | undefined;
10626
+ readonly externalId?: boolean | undefined;
10627
+ readonly system?: boolean | undefined;
10628
+ readonly min?: number | undefined;
10629
+ readonly max?: number | undefined;
10630
+ readonly group?: string | undefined;
10631
+ readonly encryptionConfig?: {
10632
+ enabled: boolean;
10633
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
10634
+ keyManagement: {
10635
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
10636
+ keyId?: string | undefined;
10637
+ rotationPolicy?: {
10638
+ enabled: boolean;
10639
+ frequencyDays: number;
10640
+ retainOldVersions: number;
10641
+ autoRotate: boolean;
10642
+ } | undefined;
10643
+ };
10644
+ scope: "record" | "field" | "table" | "database";
10645
+ deterministicEncryption: boolean;
10646
+ searchableEncryption: boolean;
10647
+ } | undefined;
10648
+ readonly columnName?: string | undefined;
10649
+ readonly searchable?: boolean | undefined;
10650
+ readonly unique?: boolean | undefined;
10651
+ readonly defaultValue?: unknown;
10652
+ readonly maxLength?: number | undefined;
10653
+ readonly minLength?: number | undefined;
10654
+ readonly scale?: number | undefined;
10655
+ readonly reference?: string | undefined;
10656
+ readonly referenceFilters?: string[] | undefined;
10657
+ readonly writeRequiresMasterRead?: boolean | undefined;
10658
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
10659
+ readonly expression?: {
10660
+ dialect: "cel" | "js" | "cron" | "template";
10661
+ source?: string | undefined;
10662
+ ast?: unknown;
10663
+ meta?: {
10664
+ rationale?: string | undefined;
10665
+ generatedBy?: string | undefined;
10666
+ } | undefined;
10667
+ } | undefined;
10668
+ readonly summaryOperations?: {
10669
+ object: string;
10670
+ field: string;
10671
+ function: "min" | "max" | "count" | "sum" | "avg";
10672
+ } | undefined;
10673
+ readonly language?: string | undefined;
10674
+ readonly lineNumbers?: boolean | undefined;
10675
+ readonly maxRating?: number | undefined;
10676
+ readonly allowHalf?: boolean | undefined;
10677
+ readonly displayMap?: boolean | undefined;
10678
+ readonly allowGeocoding?: boolean | undefined;
10679
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
10680
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
10681
+ readonly allowAlpha?: boolean | undefined;
10682
+ readonly presetColors?: string[] | undefined;
10683
+ readonly step?: number | undefined;
10684
+ readonly showValue?: boolean | undefined;
10685
+ readonly marks?: Record<string, string> | undefined;
10686
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
10687
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
10688
+ readonly displayValue?: boolean | undefined;
10689
+ readonly allowScanning?: boolean | undefined;
10690
+ readonly currencyConfig?: {
10691
+ precision: number;
10692
+ currencyMode: "fixed" | "dynamic";
10693
+ defaultCurrency: string;
10694
+ } | undefined;
10695
+ readonly vectorConfig?: {
10696
+ dimensions: number;
10697
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
10698
+ normalized: boolean;
10699
+ indexed: boolean;
10700
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
10701
+ } | undefined;
10702
+ readonly fileAttachmentConfig?: {
10703
+ virusScan: boolean;
10704
+ virusScanOnUpload: boolean;
10705
+ quarantineOnThreat: boolean;
10706
+ allowMultiple: boolean;
10707
+ allowReplace: boolean;
10708
+ allowDelete: boolean;
10709
+ requireUpload: boolean;
10710
+ extractMetadata: boolean;
10711
+ extractText: boolean;
10712
+ versioningEnabled: boolean;
10713
+ publicRead: boolean;
10714
+ presignedUrlExpiry: number;
10715
+ minSize?: number | undefined;
10716
+ maxSize?: number | undefined;
10717
+ allowedTypes?: string[] | undefined;
10718
+ blockedTypes?: string[] | undefined;
10719
+ allowedMimeTypes?: string[] | undefined;
10720
+ blockedMimeTypes?: string[] | undefined;
10721
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
10722
+ storageProvider?: string | undefined;
10723
+ storageBucket?: string | undefined;
10724
+ storagePrefix?: string | undefined;
10725
+ imageValidation?: {
10726
+ generateThumbnails: boolean;
10727
+ preserveMetadata: boolean;
10728
+ autoRotate: boolean;
10729
+ minWidth?: number | undefined;
10730
+ maxWidth?: number | undefined;
10731
+ minHeight?: number | undefined;
10732
+ maxHeight?: number | undefined;
10733
+ aspectRatio?: string | undefined;
10734
+ thumbnailSizes?: {
10735
+ name: string;
10736
+ width: number;
10737
+ height: number;
10738
+ crop: boolean;
10739
+ }[] | undefined;
10740
+ } | undefined;
10741
+ maxVersions?: number | undefined;
10742
+ } | undefined;
10743
+ readonly maskingRule?: {
10744
+ field: string;
10745
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
10746
+ preserveFormat: boolean;
10747
+ preserveLength: boolean;
10748
+ pattern?: string | undefined;
10749
+ roles?: string[] | undefined;
10750
+ exemptRoles?: string[] | undefined;
10751
+ } | undefined;
10752
+ readonly auditTrail?: boolean | undefined;
10753
+ readonly cached?: {
10754
+ enabled: boolean;
10755
+ ttl: number;
10756
+ invalidateOn: string[];
10757
+ } | undefined;
10758
+ readonly dataQuality?: {
10759
+ uniqueness: boolean;
10760
+ completeness: number;
10761
+ accuracy?: {
10762
+ source: string;
10763
+ threshold: number;
10764
+ } | undefined;
10765
+ } | undefined;
10766
+ readonly conditionalRequired?: {
10767
+ dialect: "cel" | "js" | "cron" | "template";
10768
+ source?: string | undefined;
10769
+ ast?: unknown;
10770
+ meta?: {
10771
+ rationale?: string | undefined;
10772
+ generatedBy?: string | undefined;
10773
+ } | undefined;
10774
+ } | undefined;
10775
+ readonly hidden?: boolean | undefined;
10776
+ readonly sortable?: boolean | undefined;
10777
+ readonly inlineHelpText?: string | undefined;
10778
+ readonly trackFeedHistory?: boolean | undefined;
10779
+ readonly caseSensitive?: boolean | undefined;
10780
+ readonly autonumberFormat?: string | undefined;
10781
+ readonly index?: boolean | undefined;
10782
+ readonly type: "select";
10783
+ };
10784
+ /** True when the write succeeded by bypassing a lock (Phase 3). */
10785
+ readonly lock_overridden: {
10786
+ readonly readonly?: boolean | undefined;
10787
+ readonly format?: string | undefined;
10788
+ readonly options?: {
10789
+ label: string;
10790
+ value: string;
10791
+ color?: string | undefined;
10792
+ default?: boolean | undefined;
10793
+ }[] | undefined;
10794
+ readonly description?: string | undefined;
10795
+ readonly label?: string | undefined;
10796
+ readonly name?: string | undefined;
10797
+ readonly precision?: number | undefined;
10798
+ readonly required?: boolean | undefined;
10799
+ readonly multiple?: boolean | undefined;
10800
+ readonly dependencies?: string[] | undefined;
10801
+ readonly theme?: string | undefined;
10802
+ readonly externalId?: boolean | undefined;
10803
+ readonly system?: boolean | undefined;
10804
+ readonly min?: number | undefined;
10805
+ readonly max?: number | undefined;
10806
+ readonly group?: string | undefined;
10807
+ readonly encryptionConfig?: {
10808
+ enabled: boolean;
10809
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
10810
+ keyManagement: {
10811
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
10812
+ keyId?: string | undefined;
10813
+ rotationPolicy?: {
10814
+ enabled: boolean;
10815
+ frequencyDays: number;
10816
+ retainOldVersions: number;
10817
+ autoRotate: boolean;
10818
+ } | undefined;
10819
+ };
10820
+ scope: "record" | "field" | "table" | "database";
10821
+ deterministicEncryption: boolean;
10822
+ searchableEncryption: boolean;
10823
+ } | undefined;
10824
+ readonly columnName?: string | undefined;
10825
+ readonly searchable?: boolean | undefined;
10826
+ readonly unique?: boolean | undefined;
10827
+ readonly defaultValue?: unknown;
10828
+ readonly maxLength?: number | undefined;
10829
+ readonly minLength?: number | undefined;
10830
+ readonly scale?: number | undefined;
10831
+ readonly reference?: string | undefined;
10832
+ readonly referenceFilters?: string[] | undefined;
10833
+ readonly writeRequiresMasterRead?: boolean | undefined;
10834
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
10835
+ readonly expression?: {
10836
+ dialect: "cel" | "js" | "cron" | "template";
10837
+ source?: string | undefined;
10838
+ ast?: unknown;
10839
+ meta?: {
10840
+ rationale?: string | undefined;
10841
+ generatedBy?: string | undefined;
10842
+ } | undefined;
10843
+ } | undefined;
10844
+ readonly summaryOperations?: {
10845
+ object: string;
10846
+ field: string;
10847
+ function: "min" | "max" | "count" | "sum" | "avg";
10848
+ } | undefined;
10849
+ readonly language?: string | undefined;
10850
+ readonly lineNumbers?: boolean | undefined;
10851
+ readonly maxRating?: number | undefined;
10852
+ readonly allowHalf?: boolean | undefined;
10853
+ readonly displayMap?: boolean | undefined;
10854
+ readonly allowGeocoding?: boolean | undefined;
10855
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
10856
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
10857
+ readonly allowAlpha?: boolean | undefined;
10858
+ readonly presetColors?: string[] | undefined;
10859
+ readonly step?: number | undefined;
10860
+ readonly showValue?: boolean | undefined;
10861
+ readonly marks?: Record<string, string> | undefined;
10862
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
10863
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
10864
+ readonly displayValue?: boolean | undefined;
10865
+ readonly allowScanning?: boolean | undefined;
10866
+ readonly currencyConfig?: {
10867
+ precision: number;
10868
+ currencyMode: "fixed" | "dynamic";
10869
+ defaultCurrency: string;
10870
+ } | undefined;
10871
+ readonly vectorConfig?: {
10872
+ dimensions: number;
10873
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
10874
+ normalized: boolean;
10875
+ indexed: boolean;
10876
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
10877
+ } | undefined;
10878
+ readonly fileAttachmentConfig?: {
10879
+ virusScan: boolean;
10880
+ virusScanOnUpload: boolean;
10881
+ quarantineOnThreat: boolean;
10882
+ allowMultiple: boolean;
10883
+ allowReplace: boolean;
10884
+ allowDelete: boolean;
10885
+ requireUpload: boolean;
10886
+ extractMetadata: boolean;
10887
+ extractText: boolean;
10888
+ versioningEnabled: boolean;
10889
+ publicRead: boolean;
10890
+ presignedUrlExpiry: number;
10891
+ minSize?: number | undefined;
10892
+ maxSize?: number | undefined;
10893
+ allowedTypes?: string[] | undefined;
10894
+ blockedTypes?: string[] | undefined;
10895
+ allowedMimeTypes?: string[] | undefined;
10896
+ blockedMimeTypes?: string[] | undefined;
10897
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
10898
+ storageProvider?: string | undefined;
10899
+ storageBucket?: string | undefined;
10900
+ storagePrefix?: string | undefined;
10901
+ imageValidation?: {
10902
+ generateThumbnails: boolean;
10903
+ preserveMetadata: boolean;
10904
+ autoRotate: boolean;
10905
+ minWidth?: number | undefined;
10906
+ maxWidth?: number | undefined;
10907
+ minHeight?: number | undefined;
10908
+ maxHeight?: number | undefined;
10909
+ aspectRatio?: string | undefined;
10910
+ thumbnailSizes?: {
10911
+ name: string;
10912
+ width: number;
10913
+ height: number;
10914
+ crop: boolean;
10915
+ }[] | undefined;
10916
+ } | undefined;
10917
+ maxVersions?: number | undefined;
10918
+ } | undefined;
10919
+ readonly maskingRule?: {
10920
+ field: string;
10921
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
10922
+ preserveFormat: boolean;
10923
+ preserveLength: boolean;
10924
+ pattern?: string | undefined;
10925
+ roles?: string[] | undefined;
10926
+ exemptRoles?: string[] | undefined;
10927
+ } | undefined;
10928
+ readonly auditTrail?: boolean | undefined;
10929
+ readonly cached?: {
10930
+ enabled: boolean;
10931
+ ttl: number;
10932
+ invalidateOn: string[];
10933
+ } | undefined;
10934
+ readonly dataQuality?: {
10935
+ uniqueness: boolean;
10936
+ completeness: number;
10937
+ accuracy?: {
10938
+ source: string;
10939
+ threshold: number;
10940
+ } | undefined;
10941
+ } | undefined;
10942
+ readonly conditionalRequired?: {
10943
+ dialect: "cel" | "js" | "cron" | "template";
10944
+ source?: string | undefined;
10945
+ ast?: unknown;
10946
+ meta?: {
10947
+ rationale?: string | undefined;
10948
+ generatedBy?: string | undefined;
10949
+ } | undefined;
10950
+ } | undefined;
10951
+ readonly hidden?: boolean | undefined;
10952
+ readonly sortable?: boolean | undefined;
10953
+ readonly inlineHelpText?: string | undefined;
10954
+ readonly trackFeedHistory?: boolean | undefined;
10955
+ readonly caseSensitive?: boolean | undefined;
10956
+ readonly autonumberFormat?: string | undefined;
10957
+ readonly index?: boolean | undefined;
10958
+ readonly type: "boolean";
10959
+ };
10960
+ /** Optional request correlation id for tracing. */
10961
+ readonly request_id: {
10962
+ readonly readonly?: boolean | undefined;
10963
+ readonly format?: string | undefined;
10964
+ readonly options?: {
10965
+ label: string;
10966
+ value: string;
10967
+ color?: string | undefined;
10968
+ default?: boolean | undefined;
10969
+ }[] | undefined;
10970
+ readonly description?: string | undefined;
10971
+ readonly label?: string | undefined;
10972
+ readonly name?: string | undefined;
10973
+ readonly precision?: number | undefined;
10974
+ readonly required?: boolean | undefined;
10975
+ readonly multiple?: boolean | undefined;
10976
+ readonly dependencies?: string[] | undefined;
10977
+ readonly theme?: string | undefined;
10978
+ readonly externalId?: boolean | undefined;
10979
+ readonly system?: boolean | undefined;
10980
+ readonly min?: number | undefined;
10981
+ readonly max?: number | undefined;
10982
+ readonly group?: string | undefined;
10983
+ readonly encryptionConfig?: {
10984
+ enabled: boolean;
10985
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
10986
+ keyManagement: {
10987
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
10988
+ keyId?: string | undefined;
10989
+ rotationPolicy?: {
10990
+ enabled: boolean;
10991
+ frequencyDays: number;
10992
+ retainOldVersions: number;
10993
+ autoRotate: boolean;
10994
+ } | undefined;
10995
+ };
10996
+ scope: "record" | "field" | "table" | "database";
10997
+ deterministicEncryption: boolean;
10998
+ searchableEncryption: boolean;
10999
+ } | undefined;
11000
+ readonly columnName?: string | undefined;
11001
+ readonly searchable?: boolean | undefined;
11002
+ readonly unique?: boolean | undefined;
11003
+ readonly defaultValue?: unknown;
11004
+ readonly maxLength?: number | undefined;
11005
+ readonly minLength?: number | undefined;
11006
+ readonly scale?: number | undefined;
11007
+ readonly reference?: string | undefined;
11008
+ readonly referenceFilters?: string[] | undefined;
11009
+ readonly writeRequiresMasterRead?: boolean | undefined;
11010
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
11011
+ readonly expression?: {
11012
+ dialect: "cel" | "js" | "cron" | "template";
11013
+ source?: string | undefined;
11014
+ ast?: unknown;
11015
+ meta?: {
11016
+ rationale?: string | undefined;
11017
+ generatedBy?: string | undefined;
11018
+ } | undefined;
11019
+ } | undefined;
11020
+ readonly summaryOperations?: {
11021
+ object: string;
11022
+ field: string;
11023
+ function: "min" | "max" | "count" | "sum" | "avg";
11024
+ } | undefined;
11025
+ readonly language?: string | undefined;
11026
+ readonly lineNumbers?: boolean | undefined;
11027
+ readonly maxRating?: number | undefined;
11028
+ readonly allowHalf?: boolean | undefined;
11029
+ readonly displayMap?: boolean | undefined;
11030
+ readonly allowGeocoding?: boolean | undefined;
11031
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
11032
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
11033
+ readonly allowAlpha?: boolean | undefined;
11034
+ readonly presetColors?: string[] | undefined;
11035
+ readonly step?: number | undefined;
11036
+ readonly showValue?: boolean | undefined;
11037
+ readonly marks?: Record<string, string> | undefined;
11038
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
11039
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
11040
+ readonly displayValue?: boolean | undefined;
11041
+ readonly allowScanning?: boolean | undefined;
11042
+ readonly currencyConfig?: {
11043
+ precision: number;
11044
+ currencyMode: "fixed" | "dynamic";
11045
+ defaultCurrency: string;
11046
+ } | undefined;
11047
+ readonly vectorConfig?: {
11048
+ dimensions: number;
11049
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
11050
+ normalized: boolean;
11051
+ indexed: boolean;
11052
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
11053
+ } | undefined;
11054
+ readonly fileAttachmentConfig?: {
11055
+ virusScan: boolean;
11056
+ virusScanOnUpload: boolean;
11057
+ quarantineOnThreat: boolean;
11058
+ allowMultiple: boolean;
11059
+ allowReplace: boolean;
11060
+ allowDelete: boolean;
11061
+ requireUpload: boolean;
11062
+ extractMetadata: boolean;
11063
+ extractText: boolean;
11064
+ versioningEnabled: boolean;
11065
+ publicRead: boolean;
11066
+ presignedUrlExpiry: number;
11067
+ minSize?: number | undefined;
11068
+ maxSize?: number | undefined;
11069
+ allowedTypes?: string[] | undefined;
11070
+ blockedTypes?: string[] | undefined;
11071
+ allowedMimeTypes?: string[] | undefined;
11072
+ blockedMimeTypes?: string[] | undefined;
11073
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
11074
+ storageProvider?: string | undefined;
11075
+ storageBucket?: string | undefined;
11076
+ storagePrefix?: string | undefined;
11077
+ imageValidation?: {
11078
+ generateThumbnails: boolean;
11079
+ preserveMetadata: boolean;
11080
+ autoRotate: boolean;
11081
+ minWidth?: number | undefined;
11082
+ maxWidth?: number | undefined;
11083
+ minHeight?: number | undefined;
11084
+ maxHeight?: number | undefined;
11085
+ aspectRatio?: string | undefined;
11086
+ thumbnailSizes?: {
11087
+ name: string;
11088
+ width: number;
11089
+ height: number;
11090
+ crop: boolean;
11091
+ }[] | undefined;
11092
+ } | undefined;
11093
+ maxVersions?: number | undefined;
11094
+ } | undefined;
11095
+ readonly maskingRule?: {
11096
+ field: string;
11097
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
11098
+ preserveFormat: boolean;
11099
+ preserveLength: boolean;
11100
+ pattern?: string | undefined;
11101
+ roles?: string[] | undefined;
11102
+ exemptRoles?: string[] | undefined;
11103
+ } | undefined;
11104
+ readonly auditTrail?: boolean | undefined;
11105
+ readonly cached?: {
11106
+ enabled: boolean;
11107
+ ttl: number;
11108
+ invalidateOn: string[];
11109
+ } | undefined;
11110
+ readonly dataQuality?: {
11111
+ uniqueness: boolean;
11112
+ completeness: number;
11113
+ accuracy?: {
11114
+ source: string;
11115
+ threshold: number;
11116
+ } | undefined;
11117
+ } | undefined;
11118
+ readonly conditionalRequired?: {
11119
+ dialect: "cel" | "js" | "cron" | "template";
11120
+ source?: string | undefined;
11121
+ ast?: unknown;
11122
+ meta?: {
11123
+ rationale?: string | undefined;
11124
+ generatedBy?: string | undefined;
11125
+ } | undefined;
11126
+ } | undefined;
11127
+ readonly hidden?: boolean | undefined;
11128
+ readonly sortable?: boolean | undefined;
11129
+ readonly inlineHelpText?: string | undefined;
11130
+ readonly trackFeedHistory?: boolean | undefined;
11131
+ readonly caseSensitive?: boolean | undefined;
11132
+ readonly autonumberFormat?: string | undefined;
11133
+ readonly index?: boolean | undefined;
11134
+ readonly type: "text";
11135
+ };
11136
+ /** Optional free-form context (e.g. brief diff summary). */
11137
+ readonly note: {
11138
+ readonly readonly?: boolean | undefined;
11139
+ readonly format?: string | undefined;
11140
+ readonly options?: {
11141
+ label: string;
11142
+ value: string;
11143
+ color?: string | undefined;
11144
+ default?: boolean | undefined;
11145
+ }[] | undefined;
11146
+ readonly description?: string | undefined;
11147
+ readonly label?: string | undefined;
11148
+ readonly name?: string | undefined;
11149
+ readonly precision?: number | undefined;
11150
+ readonly required?: boolean | undefined;
11151
+ readonly multiple?: boolean | undefined;
11152
+ readonly dependencies?: string[] | undefined;
11153
+ readonly theme?: string | undefined;
11154
+ readonly externalId?: boolean | undefined;
11155
+ readonly system?: boolean | undefined;
11156
+ readonly min?: number | undefined;
11157
+ readonly max?: number | undefined;
11158
+ readonly group?: string | undefined;
11159
+ readonly encryptionConfig?: {
11160
+ enabled: boolean;
11161
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
11162
+ keyManagement: {
11163
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
11164
+ keyId?: string | undefined;
11165
+ rotationPolicy?: {
11166
+ enabled: boolean;
11167
+ frequencyDays: number;
11168
+ retainOldVersions: number;
11169
+ autoRotate: boolean;
11170
+ } | undefined;
11171
+ };
11172
+ scope: "record" | "field" | "table" | "database";
11173
+ deterministicEncryption: boolean;
11174
+ searchableEncryption: boolean;
11175
+ } | undefined;
11176
+ readonly columnName?: string | undefined;
11177
+ readonly searchable?: boolean | undefined;
11178
+ readonly unique?: boolean | undefined;
11179
+ readonly defaultValue?: unknown;
11180
+ readonly maxLength?: number | undefined;
11181
+ readonly minLength?: number | undefined;
11182
+ readonly scale?: number | undefined;
11183
+ readonly reference?: string | undefined;
11184
+ readonly referenceFilters?: string[] | undefined;
11185
+ readonly writeRequiresMasterRead?: boolean | undefined;
11186
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
11187
+ readonly expression?: {
11188
+ dialect: "cel" | "js" | "cron" | "template";
11189
+ source?: string | undefined;
11190
+ ast?: unknown;
11191
+ meta?: {
11192
+ rationale?: string | undefined;
11193
+ generatedBy?: string | undefined;
11194
+ } | undefined;
11195
+ } | undefined;
11196
+ readonly summaryOperations?: {
11197
+ object: string;
11198
+ field: string;
11199
+ function: "min" | "max" | "count" | "sum" | "avg";
11200
+ } | undefined;
11201
+ readonly language?: string | undefined;
11202
+ readonly lineNumbers?: boolean | undefined;
11203
+ readonly maxRating?: number | undefined;
11204
+ readonly allowHalf?: boolean | undefined;
11205
+ readonly displayMap?: boolean | undefined;
11206
+ readonly allowGeocoding?: boolean | undefined;
11207
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
11208
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
11209
+ readonly allowAlpha?: boolean | undefined;
11210
+ readonly presetColors?: string[] | undefined;
11211
+ readonly step?: number | undefined;
11212
+ readonly showValue?: boolean | undefined;
11213
+ readonly marks?: Record<string, string> | undefined;
11214
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
11215
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
11216
+ readonly displayValue?: boolean | undefined;
11217
+ readonly allowScanning?: boolean | undefined;
11218
+ readonly currencyConfig?: {
11219
+ precision: number;
11220
+ currencyMode: "fixed" | "dynamic";
11221
+ defaultCurrency: string;
11222
+ } | undefined;
11223
+ readonly vectorConfig?: {
11224
+ dimensions: number;
11225
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
11226
+ normalized: boolean;
11227
+ indexed: boolean;
11228
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
11229
+ } | undefined;
11230
+ readonly fileAttachmentConfig?: {
11231
+ virusScan: boolean;
11232
+ virusScanOnUpload: boolean;
11233
+ quarantineOnThreat: boolean;
11234
+ allowMultiple: boolean;
11235
+ allowReplace: boolean;
11236
+ allowDelete: boolean;
11237
+ requireUpload: boolean;
11238
+ extractMetadata: boolean;
11239
+ extractText: boolean;
11240
+ versioningEnabled: boolean;
11241
+ publicRead: boolean;
11242
+ presignedUrlExpiry: number;
11243
+ minSize?: number | undefined;
11244
+ maxSize?: number | undefined;
11245
+ allowedTypes?: string[] | undefined;
11246
+ blockedTypes?: string[] | undefined;
11247
+ allowedMimeTypes?: string[] | undefined;
11248
+ blockedMimeTypes?: string[] | undefined;
11249
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
11250
+ storageProvider?: string | undefined;
11251
+ storageBucket?: string | undefined;
11252
+ storagePrefix?: string | undefined;
11253
+ imageValidation?: {
11254
+ generateThumbnails: boolean;
11255
+ preserveMetadata: boolean;
11256
+ autoRotate: boolean;
11257
+ minWidth?: number | undefined;
11258
+ maxWidth?: number | undefined;
11259
+ minHeight?: number | undefined;
11260
+ maxHeight?: number | undefined;
11261
+ aspectRatio?: string | undefined;
11262
+ thumbnailSizes?: {
11263
+ name: string;
11264
+ width: number;
11265
+ height: number;
11266
+ crop: boolean;
11267
+ }[] | undefined;
11268
+ } | undefined;
11269
+ maxVersions?: number | undefined;
11270
+ } | undefined;
11271
+ readonly maskingRule?: {
11272
+ field: string;
11273
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
11274
+ preserveFormat: boolean;
11275
+ preserveLength: boolean;
11276
+ pattern?: string | undefined;
11277
+ roles?: string[] | undefined;
11278
+ exemptRoles?: string[] | undefined;
11279
+ } | undefined;
11280
+ readonly auditTrail?: boolean | undefined;
11281
+ readonly cached?: {
11282
+ enabled: boolean;
11283
+ ttl: number;
11284
+ invalidateOn: string[];
11285
+ } | undefined;
11286
+ readonly dataQuality?: {
11287
+ uniqueness: boolean;
11288
+ completeness: number;
11289
+ accuracy?: {
11290
+ source: string;
11291
+ threshold: number;
11292
+ } | undefined;
11293
+ } | undefined;
11294
+ readonly conditionalRequired?: {
11295
+ dialect: "cel" | "js" | "cron" | "template";
11296
+ source?: string | undefined;
11297
+ ast?: unknown;
11298
+ meta?: {
11299
+ rationale?: string | undefined;
11300
+ generatedBy?: string | undefined;
11301
+ } | undefined;
11302
+ } | undefined;
11303
+ readonly hidden?: boolean | undefined;
11304
+ readonly sortable?: boolean | undefined;
11305
+ readonly inlineHelpText?: string | undefined;
11306
+ readonly trackFeedHistory?: boolean | undefined;
11307
+ readonly caseSensitive?: boolean | undefined;
11308
+ readonly autonumberFormat?: string | undefined;
11309
+ readonly index?: boolean | undefined;
11310
+ readonly type: "textarea";
11311
+ };
11312
+ };
11313
+ readonly indexes: [{
11314
+ readonly fields: ["organization_id", "occurred_at"];
11315
+ }, {
11316
+ readonly fields: ["type", "name", "occurred_at"];
11317
+ }, {
11318
+ readonly fields: ["actor", "occurred_at"];
11319
+ }, {
11320
+ readonly fields: ["outcome"];
11321
+ }];
11322
+ readonly enable: {
11323
+ readonly trackHistory: false;
11324
+ readonly searchable: false;
11325
+ readonly apiEnabled: true;
11326
+ readonly apiMethods: ["get", "list"];
11327
+ readonly trash: false;
11328
+ };
11329
+ }, "fields">;
11330
+
11331
+ export { SysMetadataObject as SysMetadata, SysMetadataAuditObject, SysMetadataHistoryObject, SysMetadataObject };