@objectstack/platform-objects 4.0.5 → 4.1.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 (57) hide show
  1. package/dist/apps/index.d.mts +16 -48
  2. package/dist/apps/index.d.ts +16 -48
  3. package/dist/apps/index.js +139 -217
  4. package/dist/apps/index.js.map +1 -1
  5. package/dist/apps/index.mjs +140 -212
  6. package/dist/apps/index.mjs.map +1 -1
  7. package/dist/audit/index.d.mts +38990 -51
  8. package/dist/audit/index.d.ts +38990 -51
  9. package/dist/audit/index.js +1428 -0
  10. package/dist/audit/index.js.map +1 -1
  11. package/dist/audit/index.mjs +1417 -1
  12. package/dist/audit/index.mjs.map +1 -1
  13. package/dist/identity/index.d.mts +14869 -2802
  14. package/dist/identity/index.d.ts +14869 -2802
  15. package/dist/identity/index.js +1090 -6
  16. package/dist/identity/index.js.map +1 -1
  17. package/dist/identity/index.mjs +1089 -7
  18. package/dist/identity/index.mjs.map +1 -1
  19. package/dist/index.d.mts +8 -7
  20. package/dist/index.d.ts +8 -7
  21. package/dist/index.js +3652 -1482
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +3633 -1465
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/integration/index.d.mts +2905 -0
  26. package/dist/integration/index.d.ts +2905 -0
  27. package/dist/integration/index.js +140 -0
  28. package/dist/integration/index.js.map +1 -0
  29. package/dist/integration/index.mjs +138 -0
  30. package/dist/integration/index.mjs.map +1 -0
  31. package/dist/metadata/index.d.mts +577 -21181
  32. package/dist/metadata/index.d.ts +577 -21181
  33. package/dist/metadata/index.js +29 -619
  34. package/dist/metadata/index.js.map +1 -1
  35. package/dist/metadata/index.mjs +30 -615
  36. package/dist/metadata/index.mjs.map +1 -1
  37. package/dist/security/index.d.mts +7278 -46
  38. package/dist/security/index.d.ts +7278 -46
  39. package/dist/security/index.js +540 -0
  40. package/dist/security/index.js.map +1 -1
  41. package/dist/security/index.mjs +539 -1
  42. package/dist/security/index.mjs.map +1 -1
  43. package/dist/system/index.d.mts +8409 -0
  44. package/dist/system/index.d.ts +8409 -0
  45. package/dist/system/index.js +395 -0
  46. package/dist/system/index.js.map +1 -0
  47. package/dist/system/index.mjs +391 -0
  48. package/dist/system/index.mjs.map +1 -0
  49. package/package.json +13 -8
  50. package/dist/tenant/index.d.mts +0 -18464
  51. package/dist/tenant/index.d.ts +0 -18464
  52. package/dist/tenant/index.js +0 -741
  53. package/dist/tenant/index.js.map +0 -1
  54. package/dist/tenant/index.mjs +0 -733
  55. package/dist/tenant/index.mjs.map +0 -1
  56. /package/dist/{state-machine.zod-BFg-VE0M.d-Ek3_yo9P.d.mts → state-machine.zod-BNanU03M.d-Ek3_yo9P.d.mts} +0 -0
  57. /package/dist/{state-machine.zod-BFg-VE0M.d-Ek3_yo9P.d.ts → state-machine.zod-BNanU03M.d-Ek3_yo9P.d.ts} +0 -0
@@ -0,0 +1,2905 @@
1
+ import { S as StateNodeConfig } from '../state-machine.zod-BNanU03M.d-Ek3_yo9P.js';
2
+ import * as _objectstack_spec_data from '@objectstack/spec/data';
3
+ import 'zod';
4
+
5
+ /**
6
+ * sys_webhook — Outbound HTTP integration configuration (runtime).
7
+ *
8
+ * Persists a single {@link Webhook} envelope per row so administrators
9
+ * can author, enable/disable, and edit webhook subscriptions from the
10
+ * Studio UI without code changes. The canonical Zod schema for the
11
+ * `definition_json` envelope lives at `@objectstack/spec/automation/webhook`.
12
+ *
13
+ * One row per `name`. The HTTP connector plugin
14
+ * (`@objectstack/service-automation/plugins/http-connector-plugin`) loads
15
+ * active rows on boot + on `sys_webhook:changed` events, registers
16
+ * `afterInsert` / `afterUpdate` / `afterDelete` listeners for the
17
+ * targeted object, and dispatches outbound HTTP calls when matching
18
+ * record events fire.
19
+ *
20
+ * Platform-wide on purpose: every project (standalone, single-tenant,
21
+ * cloud) can integrate with external systems (Slack, Stripe, internal
22
+ * services) the same way. The control-plane-only `sys_project*`
23
+ * objects live in @objectstack/service-tenant; webhooks are
24
+ * orthogonal and ship with every kernel.
25
+ *
26
+ * @namespace sys
27
+ */
28
+ declare const SysWebhook: Omit<{
29
+ name: string;
30
+ active: boolean;
31
+ isSystem: boolean;
32
+ abstract: boolean;
33
+ datasource: string;
34
+ fields: Record<string, {
35
+ 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" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "vector";
36
+ required: boolean;
37
+ searchable: boolean;
38
+ multiple: boolean;
39
+ unique: boolean;
40
+ deleteBehavior: "set_null" | "cascade" | "restrict";
41
+ auditTrail: boolean;
42
+ hidden: boolean;
43
+ readonly: boolean;
44
+ sortable: boolean;
45
+ index: boolean;
46
+ externalId: boolean;
47
+ name?: string | undefined;
48
+ label?: string | undefined;
49
+ description?: string | undefined;
50
+ format?: string | undefined;
51
+ columnName?: string | undefined;
52
+ defaultValue?: unknown;
53
+ maxLength?: number | undefined;
54
+ minLength?: number | undefined;
55
+ precision?: number | undefined;
56
+ scale?: number | undefined;
57
+ min?: number | undefined;
58
+ max?: number | undefined;
59
+ options?: {
60
+ label: string;
61
+ value: string;
62
+ color?: string | undefined;
63
+ default?: boolean | undefined;
64
+ }[] | undefined;
65
+ reference?: string | undefined;
66
+ referenceFilters?: string[] | undefined;
67
+ writeRequiresMasterRead?: boolean | undefined;
68
+ expression?: {
69
+ dialect: "cel" | "js" | "cron" | "template";
70
+ source?: string | undefined;
71
+ ast?: unknown;
72
+ meta?: {
73
+ rationale?: string | undefined;
74
+ generatedBy?: string | undefined;
75
+ } | undefined;
76
+ } | {
77
+ dialect: "cel" | "js" | "cron" | "template";
78
+ source?: string | undefined;
79
+ ast?: unknown;
80
+ meta?: {
81
+ rationale?: string | undefined;
82
+ generatedBy?: string | undefined;
83
+ } | undefined;
84
+ } | undefined;
85
+ summaryOperations?: {
86
+ object: string;
87
+ field: string;
88
+ function: "min" | "max" | "count" | "sum" | "avg";
89
+ } | undefined;
90
+ language?: string | undefined;
91
+ theme?: string | undefined;
92
+ lineNumbers?: boolean | undefined;
93
+ maxRating?: number | undefined;
94
+ allowHalf?: boolean | undefined;
95
+ displayMap?: boolean | undefined;
96
+ allowGeocoding?: boolean | undefined;
97
+ addressFormat?: "us" | "uk" | "international" | undefined;
98
+ colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
99
+ allowAlpha?: boolean | undefined;
100
+ presetColors?: string[] | undefined;
101
+ step?: number | undefined;
102
+ showValue?: boolean | undefined;
103
+ marks?: Record<string, string> | undefined;
104
+ barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
105
+ qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
106
+ displayValue?: boolean | undefined;
107
+ allowScanning?: boolean | undefined;
108
+ currencyConfig?: {
109
+ precision: number;
110
+ currencyMode: "fixed" | "dynamic";
111
+ defaultCurrency: string;
112
+ } | undefined;
113
+ vectorConfig?: {
114
+ dimensions: number;
115
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
116
+ normalized: boolean;
117
+ indexed: boolean;
118
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
119
+ } | undefined;
120
+ fileAttachmentConfig?: {
121
+ virusScan: boolean;
122
+ virusScanOnUpload: boolean;
123
+ quarantineOnThreat: boolean;
124
+ allowMultiple: boolean;
125
+ allowReplace: boolean;
126
+ allowDelete: boolean;
127
+ requireUpload: boolean;
128
+ extractMetadata: boolean;
129
+ extractText: boolean;
130
+ versioningEnabled: boolean;
131
+ publicRead: boolean;
132
+ presignedUrlExpiry: number;
133
+ minSize?: number | undefined;
134
+ maxSize?: number | undefined;
135
+ allowedTypes?: string[] | undefined;
136
+ blockedTypes?: string[] | undefined;
137
+ allowedMimeTypes?: string[] | undefined;
138
+ blockedMimeTypes?: string[] | undefined;
139
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
140
+ storageProvider?: string | undefined;
141
+ storageBucket?: string | undefined;
142
+ storagePrefix?: string | undefined;
143
+ imageValidation?: {
144
+ generateThumbnails: boolean;
145
+ preserveMetadata: boolean;
146
+ autoRotate: boolean;
147
+ minWidth?: number | undefined;
148
+ maxWidth?: number | undefined;
149
+ minHeight?: number | undefined;
150
+ maxHeight?: number | undefined;
151
+ aspectRatio?: string | undefined;
152
+ thumbnailSizes?: {
153
+ name: string;
154
+ width: number;
155
+ height: number;
156
+ crop: boolean;
157
+ }[] | undefined;
158
+ } | undefined;
159
+ maxVersions?: number | undefined;
160
+ } | undefined;
161
+ encryptionConfig?: {
162
+ enabled: boolean;
163
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
164
+ keyManagement: {
165
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
166
+ keyId?: string | undefined;
167
+ rotationPolicy?: {
168
+ enabled: boolean;
169
+ frequencyDays: number;
170
+ retainOldVersions: number;
171
+ autoRotate: boolean;
172
+ } | undefined;
173
+ };
174
+ scope: "field" | "record" | "table" | "database";
175
+ deterministicEncryption: boolean;
176
+ searchableEncryption: boolean;
177
+ } | undefined;
178
+ maskingRule?: {
179
+ field: string;
180
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
181
+ preserveFormat: boolean;
182
+ preserveLength: boolean;
183
+ pattern?: string | undefined;
184
+ roles?: string[] | undefined;
185
+ exemptRoles?: string[] | undefined;
186
+ } | undefined;
187
+ dependencies?: string[] | undefined;
188
+ cached?: {
189
+ enabled: boolean;
190
+ ttl: number;
191
+ invalidateOn: string[];
192
+ } | undefined;
193
+ dataQuality?: {
194
+ uniqueness: boolean;
195
+ completeness: number;
196
+ accuracy?: {
197
+ source: string;
198
+ threshold: number;
199
+ } | undefined;
200
+ } | undefined;
201
+ group?: string | undefined;
202
+ conditionalRequired?: {
203
+ dialect: "cel" | "js" | "cron" | "template";
204
+ source?: string | undefined;
205
+ ast?: unknown;
206
+ meta?: {
207
+ rationale?: string | undefined;
208
+ generatedBy?: string | undefined;
209
+ } | undefined;
210
+ } | {
211
+ dialect: "cel" | "js" | "cron" | "template";
212
+ source?: string | undefined;
213
+ ast?: unknown;
214
+ meta?: {
215
+ rationale?: string | undefined;
216
+ generatedBy?: string | undefined;
217
+ } | undefined;
218
+ } | undefined;
219
+ system?: boolean | undefined;
220
+ inlineHelpText?: string | undefined;
221
+ trackFeedHistory?: boolean | undefined;
222
+ caseSensitive?: boolean | undefined;
223
+ autonumberFormat?: string | undefined;
224
+ }>;
225
+ label?: string | undefined;
226
+ pluralLabel?: string | undefined;
227
+ description?: string | undefined;
228
+ icon?: string | undefined;
229
+ tags?: string[] | undefined;
230
+ managedBy?: "system" | "config" | "platform" | "append-only" | "better-auth" | undefined;
231
+ userActions?: {
232
+ create?: boolean | undefined;
233
+ import?: boolean | undefined;
234
+ edit?: boolean | undefined;
235
+ delete?: boolean | undefined;
236
+ exportCsv?: boolean | undefined;
237
+ } | undefined;
238
+ systemFields?: false | {
239
+ tenant?: boolean | undefined;
240
+ owner?: boolean | undefined;
241
+ audit?: boolean | undefined;
242
+ } | undefined;
243
+ indexes?: {
244
+ fields: string[];
245
+ type: "hash" | "btree" | "gin" | "gist" | "fulltext";
246
+ unique: boolean;
247
+ name?: string | undefined;
248
+ partial?: string | undefined;
249
+ }[] | undefined;
250
+ fieldGroups?: {
251
+ key: string;
252
+ label: string;
253
+ defaultExpanded: boolean;
254
+ icon?: string | undefined;
255
+ description?: string | undefined;
256
+ visibleOn?: {
257
+ dialect: "cel" | "js" | "cron" | "template";
258
+ source?: string | undefined;
259
+ ast?: unknown;
260
+ meta?: {
261
+ rationale?: string | undefined;
262
+ generatedBy?: string | undefined;
263
+ } | undefined;
264
+ } | {
265
+ dialect: "cel" | "js" | "cron" | "template";
266
+ source?: string | undefined;
267
+ ast?: unknown;
268
+ meta?: {
269
+ rationale?: string | undefined;
270
+ generatedBy?: string | undefined;
271
+ } | undefined;
272
+ } | undefined;
273
+ }[] | undefined;
274
+ tenancy?: {
275
+ enabled: boolean;
276
+ strategy: "hybrid" | "shared" | "isolated";
277
+ tenantField: string;
278
+ crossTenantAccess: boolean;
279
+ } | undefined;
280
+ softDelete?: {
281
+ enabled: boolean;
282
+ field: string;
283
+ cascadeDelete: boolean;
284
+ } | undefined;
285
+ versioning?: {
286
+ enabled: boolean;
287
+ strategy: "snapshot" | "delta" | "event-sourcing";
288
+ versionField: string;
289
+ retentionDays?: number | undefined;
290
+ } | undefined;
291
+ partitioning?: {
292
+ enabled: boolean;
293
+ strategy: "hash" | "list" | "range";
294
+ key: string;
295
+ interval?: string | undefined;
296
+ } | undefined;
297
+ cdc?: {
298
+ enabled: boolean;
299
+ events: ("delete" | "update" | "insert")[];
300
+ destination: string;
301
+ } | undefined;
302
+ validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
303
+ stateMachines?: Record<string, {
304
+ id: string;
305
+ initial: string;
306
+ states: Record<string, StateNodeConfig>;
307
+ description?: string | undefined;
308
+ contextSchema?: Record<string, unknown> | undefined;
309
+ on?: Record<string, string | {
310
+ target?: string | undefined;
311
+ cond?: string | {
312
+ type: string;
313
+ params?: Record<string, unknown> | undefined;
314
+ } | undefined;
315
+ actions?: (string | {
316
+ type: string;
317
+ params?: Record<string, unknown> | undefined;
318
+ })[] | undefined;
319
+ description?: string | undefined;
320
+ } | {
321
+ target?: string | undefined;
322
+ cond?: string | {
323
+ type: string;
324
+ params?: Record<string, unknown> | undefined;
325
+ } | undefined;
326
+ actions?: (string | {
327
+ type: string;
328
+ params?: Record<string, unknown> | undefined;
329
+ })[] | undefined;
330
+ description?: string | undefined;
331
+ }[]> | undefined;
332
+ }> | undefined;
333
+ displayNameField?: string | undefined;
334
+ recordName?: {
335
+ type: "text" | "autonumber";
336
+ displayFormat?: string | undefined;
337
+ startNumber?: number | undefined;
338
+ } | undefined;
339
+ titleFormat?: {
340
+ dialect: "cel" | "js" | "cron" | "template";
341
+ source?: string | undefined;
342
+ ast?: unknown;
343
+ meta?: {
344
+ rationale?: string | undefined;
345
+ generatedBy?: string | undefined;
346
+ } | undefined;
347
+ } | {
348
+ dialect: "cel" | "js" | "cron" | "template";
349
+ source?: string | undefined;
350
+ ast?: unknown;
351
+ meta?: {
352
+ rationale?: string | undefined;
353
+ generatedBy?: string | undefined;
354
+ } | undefined;
355
+ } | undefined;
356
+ compactLayout?: string[] | undefined;
357
+ listViews?: Record<string, {
358
+ type: "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "chart" | "map" | "grid";
359
+ columns: string[] | {
360
+ field: string;
361
+ label?: string | undefined;
362
+ width?: number | undefined;
363
+ align?: "left" | "center" | "right" | undefined;
364
+ hidden?: boolean | undefined;
365
+ sortable?: boolean | undefined;
366
+ resizable?: boolean | undefined;
367
+ wrap?: boolean | undefined;
368
+ type?: string | undefined;
369
+ pinned?: "left" | "right" | undefined;
370
+ summary?: "min" | "max" | "count" | "sum" | "avg" | "none" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
371
+ link?: boolean | undefined;
372
+ action?: string | undefined;
373
+ }[];
374
+ name?: string | undefined;
375
+ label?: string | undefined;
376
+ data?: {
377
+ provider: "object";
378
+ object: string;
379
+ } | {
380
+ provider: "api";
381
+ read?: {
382
+ url: string;
383
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
384
+ headers?: Record<string, string> | undefined;
385
+ params?: Record<string, unknown> | undefined;
386
+ body?: unknown;
387
+ } | undefined;
388
+ write?: {
389
+ url: string;
390
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
391
+ headers?: Record<string, string> | undefined;
392
+ params?: Record<string, unknown> | undefined;
393
+ body?: unknown;
394
+ } | undefined;
395
+ } | {
396
+ provider: "value";
397
+ items: unknown[];
398
+ } | undefined;
399
+ filter?: {
400
+ field: string;
401
+ operator: string;
402
+ value?: string | number | boolean | (string | number)[] | null | undefined;
403
+ }[] | undefined;
404
+ sort?: string | {
405
+ field: string;
406
+ order: "asc" | "desc";
407
+ }[] | undefined;
408
+ searchableFields?: string[] | undefined;
409
+ filterableFields?: string[] | undefined;
410
+ resizable?: boolean | undefined;
411
+ striped?: boolean | undefined;
412
+ bordered?: boolean | undefined;
413
+ compactToolbar?: boolean | undefined;
414
+ selection?: {
415
+ type: "multiple" | "single" | "none";
416
+ } | undefined;
417
+ navigation?: {
418
+ mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
419
+ preventNavigation: boolean;
420
+ openNewTab: boolean;
421
+ view?: string | undefined;
422
+ width?: string | number | undefined;
423
+ } | undefined;
424
+ pagination?: {
425
+ pageSize: number;
426
+ pageSizeOptions?: number[] | undefined;
427
+ } | undefined;
428
+ kanban?: {
429
+ groupByField: string;
430
+ columns: string[];
431
+ summarizeField?: string | undefined;
432
+ } | undefined;
433
+ calendar?: {
434
+ startDateField: string;
435
+ titleField: string;
436
+ endDateField?: string | undefined;
437
+ colorField?: string | undefined;
438
+ } | undefined;
439
+ gantt?: {
440
+ startDateField: string;
441
+ endDateField: string;
442
+ titleField: string;
443
+ progressField?: string | undefined;
444
+ dependenciesField?: string | undefined;
445
+ } | undefined;
446
+ gallery?: {
447
+ coverFit: "cover" | "contain";
448
+ cardSize: "small" | "medium" | "large";
449
+ coverField?: string | undefined;
450
+ titleField?: string | undefined;
451
+ visibleFields?: string[] | undefined;
452
+ } | undefined;
453
+ timeline?: {
454
+ startDateField: string;
455
+ titleField: string;
456
+ scale: "hour" | "day" | "week" | "month" | "quarter" | "year";
457
+ endDateField?: string | undefined;
458
+ groupByField?: string | undefined;
459
+ colorField?: string | undefined;
460
+ } | undefined;
461
+ chart?: {
462
+ chartType: "bar" | "line" | "pie" | "area" | "scatter";
463
+ xAxisField: string;
464
+ yAxisFields: string[];
465
+ aggregation?: "min" | "max" | "count" | "sum" | "avg" | undefined;
466
+ groupByField?: string | undefined;
467
+ } | undefined;
468
+ description?: string | undefined;
469
+ sharing?: {
470
+ type: "personal" | "collaborative";
471
+ lockedBy?: string | undefined;
472
+ } | undefined;
473
+ rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
474
+ grouping?: {
475
+ fields: {
476
+ field: string;
477
+ order: "asc" | "desc";
478
+ collapsed: boolean;
479
+ }[];
480
+ } | undefined;
481
+ rowColor?: {
482
+ field: string;
483
+ colors?: Record<string, string> | undefined;
484
+ } | undefined;
485
+ hiddenFields?: string[] | undefined;
486
+ fieldOrder?: string[] | undefined;
487
+ rowActions?: string[] | undefined;
488
+ bulkActions?: string[] | undefined;
489
+ bulkActionDefs?: Record<string, any>[] | undefined;
490
+ virtualScroll?: boolean | undefined;
491
+ conditionalFormatting?: {
492
+ condition: {
493
+ dialect: "cel" | "js" | "cron" | "template";
494
+ source?: string | undefined;
495
+ ast?: unknown;
496
+ meta?: {
497
+ rationale?: string | undefined;
498
+ generatedBy?: string | undefined;
499
+ } | undefined;
500
+ } | {
501
+ dialect: "cel" | "js" | "cron" | "template";
502
+ source?: string | undefined;
503
+ ast?: unknown;
504
+ meta?: {
505
+ rationale?: string | undefined;
506
+ generatedBy?: string | undefined;
507
+ } | undefined;
508
+ };
509
+ style: Record<string, string>;
510
+ }[] | undefined;
511
+ inlineEdit?: boolean | undefined;
512
+ exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
513
+ userActions?: {
514
+ sort: boolean;
515
+ search: boolean;
516
+ filter: boolean;
517
+ rowHeight: boolean;
518
+ addRecordForm: boolean;
519
+ buttons?: string[] | undefined;
520
+ } | undefined;
521
+ appearance?: {
522
+ showDescription: boolean;
523
+ allowedVisualizations?: ("kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "map" | "grid")[] | undefined;
524
+ } | undefined;
525
+ tabs?: {
526
+ name: string;
527
+ pinned: boolean;
528
+ isDefault: boolean;
529
+ visible: boolean;
530
+ label?: string | undefined;
531
+ icon?: string | undefined;
532
+ view?: string | undefined;
533
+ filter?: {
534
+ field: string;
535
+ operator: string;
536
+ value?: string | number | boolean | (string | number)[] | null | undefined;
537
+ }[] | undefined;
538
+ order?: number | undefined;
539
+ }[] | undefined;
540
+ addRecord?: {
541
+ enabled: boolean;
542
+ position: "top" | "bottom" | "both";
543
+ mode: "modal" | "inline" | "form";
544
+ formView?: string | undefined;
545
+ } | undefined;
546
+ showRecordCount?: boolean | undefined;
547
+ allowPrinting?: boolean | undefined;
548
+ emptyState?: {
549
+ title?: string | undefined;
550
+ message?: string | undefined;
551
+ icon?: string | undefined;
552
+ } | undefined;
553
+ aria?: {
554
+ ariaLabel?: string | undefined;
555
+ ariaDescribedBy?: string | undefined;
556
+ role?: string | undefined;
557
+ } | undefined;
558
+ responsive?: {
559
+ breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
560
+ hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
561
+ columns?: {
562
+ xs?: number | undefined;
563
+ sm?: number | undefined;
564
+ md?: number | undefined;
565
+ lg?: number | undefined;
566
+ xl?: number | undefined;
567
+ '2xl'?: number | undefined;
568
+ } | undefined;
569
+ order?: {
570
+ xs?: number | undefined;
571
+ sm?: number | undefined;
572
+ md?: number | undefined;
573
+ lg?: number | undefined;
574
+ xl?: number | undefined;
575
+ '2xl'?: number | undefined;
576
+ } | undefined;
577
+ } | undefined;
578
+ performance?: {
579
+ lazyLoad?: boolean | undefined;
580
+ virtualScroll?: {
581
+ enabled: boolean;
582
+ itemHeight?: number | undefined;
583
+ overscan?: number | undefined;
584
+ } | undefined;
585
+ cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
586
+ prefetch?: boolean | undefined;
587
+ pageSize?: number | undefined;
588
+ debounceMs?: number | undefined;
589
+ } | undefined;
590
+ }> | undefined;
591
+ search?: {
592
+ fields: string[];
593
+ displayFields?: string[] | undefined;
594
+ filters?: string[] | undefined;
595
+ } | undefined;
596
+ enable?: {
597
+ trackHistory: boolean;
598
+ searchable: boolean;
599
+ apiEnabled: boolean;
600
+ files: boolean;
601
+ feeds: boolean;
602
+ activities: boolean;
603
+ trash: boolean;
604
+ mru: boolean;
605
+ clone: boolean;
606
+ apiMethods?: ("search" | "create" | "import" | "delete" | "list" | "get" | "update" | "upsert" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
607
+ } | undefined;
608
+ recordTypes?: string[] | undefined;
609
+ sharingModel?: "read" | "full" | "private" | "read_write" | undefined;
610
+ keyPrefix?: string | undefined;
611
+ actions?: {
612
+ name: string;
613
+ label: string;
614
+ type: "url" | "flow" | "api" | "script" | "modal";
615
+ refreshAfter: boolean;
616
+ objectName?: string | undefined;
617
+ icon?: string | undefined;
618
+ locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "global_nav")[] | undefined;
619
+ component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
620
+ target?: string | undefined;
621
+ body?: {
622
+ language: "expression";
623
+ source: string;
624
+ } | {
625
+ language: "js";
626
+ source: string;
627
+ capabilities: ("api.read" | "api.write" | "crypto.uuid" | "crypto.hash" | "log")[];
628
+ timeoutMs?: number | undefined;
629
+ memoryMb?: number | undefined;
630
+ } | undefined;
631
+ execute?: string | undefined;
632
+ params?: {
633
+ required: boolean;
634
+ name?: string | undefined;
635
+ field?: string | undefined;
636
+ objectOverride?: string | undefined;
637
+ label?: string | undefined;
638
+ 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" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
639
+ options?: {
640
+ label: string;
641
+ value: string;
642
+ }[] | undefined;
643
+ placeholder?: string | undefined;
644
+ helpText?: string | undefined;
645
+ defaultValue?: unknown;
646
+ defaultFromRow?: boolean | undefined;
647
+ }[] | undefined;
648
+ variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
649
+ confirmText?: string | undefined;
650
+ successMessage?: string | undefined;
651
+ visible?: {
652
+ dialect: "cel" | "js" | "cron" | "template";
653
+ source?: string | undefined;
654
+ ast?: unknown;
655
+ meta?: {
656
+ rationale?: string | undefined;
657
+ generatedBy?: string | undefined;
658
+ } | undefined;
659
+ } | undefined;
660
+ disabled?: boolean | {
661
+ dialect: "cel" | "js" | "cron" | "template";
662
+ source?: string | undefined;
663
+ ast?: unknown;
664
+ meta?: {
665
+ rationale?: string | undefined;
666
+ generatedBy?: string | undefined;
667
+ } | undefined;
668
+ } | undefined;
669
+ shortcut?: string | undefined;
670
+ bulkEnabled?: boolean | undefined;
671
+ recordIdParam?: string | undefined;
672
+ recordIdField?: string | undefined;
673
+ bodyShape?: "flat" | {
674
+ wrap: string;
675
+ } | undefined;
676
+ method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
677
+ bodyExtra?: Record<string, unknown> | undefined;
678
+ mode?: "custom" | "delete" | "create" | "edit" | undefined;
679
+ timeout?: number | undefined;
680
+ aria?: {
681
+ ariaLabel?: string | undefined;
682
+ ariaDescribedBy?: string | undefined;
683
+ role?: string | undefined;
684
+ } | undefined;
685
+ }[] | undefined;
686
+ }, "fields"> & Pick<{
687
+ readonly name: "sys_webhook";
688
+ readonly label: "Webhook";
689
+ readonly pluralLabel: "Webhooks";
690
+ readonly icon: "webhook";
691
+ readonly isSystem: true;
692
+ readonly managedBy: "config";
693
+ readonly userActions: {
694
+ readonly create: true;
695
+ readonly edit: true;
696
+ readonly delete: true;
697
+ readonly import: false;
698
+ };
699
+ readonly description: "Outbound HTTP webhook subscription. Authored via defineWebhook() in code or the Studio editor; executed by the HTTP connector plugin.";
700
+ readonly displayNameField: "name";
701
+ readonly titleFormat: "{label}";
702
+ readonly compactLayout: ["name", "object_name", "url", "active", "updated_at"];
703
+ readonly listViews: {
704
+ readonly active: {
705
+ readonly type: "grid";
706
+ readonly name: "active";
707
+ readonly label: "Active";
708
+ readonly data: {
709
+ readonly provider: "object";
710
+ readonly object: "sys_webhook";
711
+ };
712
+ readonly columns: ["label", "object_name", "url", "method", "active", "updated_at"];
713
+ readonly filter: [{
714
+ readonly field: "active";
715
+ readonly operator: "equals";
716
+ readonly value: true;
717
+ }];
718
+ readonly sort: [{
719
+ readonly field: "label";
720
+ readonly order: "asc";
721
+ }];
722
+ readonly pagination: {
723
+ readonly pageSize: 50;
724
+ };
725
+ };
726
+ readonly inactive: {
727
+ readonly type: "grid";
728
+ readonly name: "inactive";
729
+ readonly label: "Inactive";
730
+ readonly data: {
731
+ readonly provider: "object";
732
+ readonly object: "sys_webhook";
733
+ };
734
+ readonly columns: ["label", "object_name", "url", "method", "active", "updated_at"];
735
+ readonly filter: [{
736
+ readonly field: "active";
737
+ readonly operator: "equals";
738
+ readonly value: false;
739
+ }];
740
+ readonly sort: [{
741
+ readonly field: "label";
742
+ readonly order: "asc";
743
+ }];
744
+ readonly pagination: {
745
+ readonly pageSize: 50;
746
+ };
747
+ };
748
+ readonly by_object: {
749
+ readonly type: "grid";
750
+ readonly name: "by_object";
751
+ readonly label: "By Object";
752
+ readonly data: {
753
+ readonly provider: "object";
754
+ readonly object: "sys_webhook";
755
+ };
756
+ readonly columns: ["object_name", "label", "url", "active", "updated_at"];
757
+ readonly sort: [{
758
+ readonly field: "object_name";
759
+ readonly order: "asc";
760
+ }, {
761
+ readonly field: "label";
762
+ readonly order: "asc";
763
+ }];
764
+ readonly grouping: {
765
+ readonly fields: [{
766
+ readonly field: "object_name";
767
+ readonly order: "asc";
768
+ readonly collapsed: false;
769
+ }];
770
+ };
771
+ readonly pagination: {
772
+ readonly pageSize: 100;
773
+ };
774
+ };
775
+ readonly all_webhooks: {
776
+ readonly type: "grid";
777
+ readonly name: "all_webhooks";
778
+ readonly label: "All";
779
+ readonly data: {
780
+ readonly provider: "object";
781
+ readonly object: "sys_webhook";
782
+ };
783
+ readonly columns: ["label", "object_name", "url", "method", "active", "updated_at"];
784
+ readonly sort: [{
785
+ readonly field: "label";
786
+ readonly order: "asc";
787
+ }];
788
+ readonly pagination: {
789
+ readonly pageSize: 50;
790
+ };
791
+ };
792
+ };
793
+ readonly fields: {
794
+ readonly id: {
795
+ readonly readonly?: boolean | undefined;
796
+ readonly format?: string | undefined;
797
+ readonly options?: {
798
+ label: string;
799
+ value: string;
800
+ color?: string | undefined;
801
+ default?: boolean | undefined;
802
+ }[] | undefined;
803
+ readonly description?: string | undefined;
804
+ readonly label?: string | undefined;
805
+ readonly name?: string | undefined;
806
+ readonly precision?: number | undefined;
807
+ readonly required?: boolean | undefined;
808
+ readonly multiple?: boolean | undefined;
809
+ readonly dependencies?: string[] | undefined;
810
+ readonly theme?: string | undefined;
811
+ readonly externalId?: boolean | undefined;
812
+ readonly system?: boolean | undefined;
813
+ readonly min?: number | undefined;
814
+ readonly max?: number | undefined;
815
+ readonly group?: string | undefined;
816
+ readonly encryptionConfig?: {
817
+ enabled: boolean;
818
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
819
+ keyManagement: {
820
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
821
+ keyId?: string | undefined;
822
+ rotationPolicy?: {
823
+ enabled: boolean;
824
+ frequencyDays: number;
825
+ retainOldVersions: number;
826
+ autoRotate: boolean;
827
+ } | undefined;
828
+ };
829
+ scope: "record" | "field" | "table" | "database";
830
+ deterministicEncryption: boolean;
831
+ searchableEncryption: boolean;
832
+ } | undefined;
833
+ readonly columnName?: string | undefined;
834
+ readonly searchable?: boolean | undefined;
835
+ readonly unique?: boolean | undefined;
836
+ readonly defaultValue?: unknown;
837
+ readonly maxLength?: number | undefined;
838
+ readonly minLength?: number | undefined;
839
+ readonly scale?: number | undefined;
840
+ readonly reference?: string | undefined;
841
+ readonly referenceFilters?: string[] | undefined;
842
+ readonly writeRequiresMasterRead?: boolean | undefined;
843
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
844
+ readonly expression?: {
845
+ dialect: "cel" | "js" | "cron" | "template";
846
+ source?: string | undefined;
847
+ ast?: unknown;
848
+ meta?: {
849
+ rationale?: string | undefined;
850
+ generatedBy?: string | undefined;
851
+ } | undefined;
852
+ } | undefined;
853
+ readonly summaryOperations?: {
854
+ object: string;
855
+ field: string;
856
+ function: "min" | "max" | "count" | "sum" | "avg";
857
+ } | undefined;
858
+ readonly language?: string | undefined;
859
+ readonly lineNumbers?: boolean | undefined;
860
+ readonly maxRating?: number | undefined;
861
+ readonly allowHalf?: boolean | undefined;
862
+ readonly displayMap?: boolean | undefined;
863
+ readonly allowGeocoding?: boolean | undefined;
864
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
865
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
866
+ readonly allowAlpha?: boolean | undefined;
867
+ readonly presetColors?: string[] | undefined;
868
+ readonly step?: number | undefined;
869
+ readonly showValue?: boolean | undefined;
870
+ readonly marks?: Record<string, string> | undefined;
871
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
872
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
873
+ readonly displayValue?: boolean | undefined;
874
+ readonly allowScanning?: boolean | undefined;
875
+ readonly currencyConfig?: {
876
+ precision: number;
877
+ currencyMode: "fixed" | "dynamic";
878
+ defaultCurrency: string;
879
+ } | undefined;
880
+ readonly vectorConfig?: {
881
+ dimensions: number;
882
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
883
+ normalized: boolean;
884
+ indexed: boolean;
885
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
886
+ } | undefined;
887
+ readonly fileAttachmentConfig?: {
888
+ virusScan: boolean;
889
+ virusScanOnUpload: boolean;
890
+ quarantineOnThreat: boolean;
891
+ allowMultiple: boolean;
892
+ allowReplace: boolean;
893
+ allowDelete: boolean;
894
+ requireUpload: boolean;
895
+ extractMetadata: boolean;
896
+ extractText: boolean;
897
+ versioningEnabled: boolean;
898
+ publicRead: boolean;
899
+ presignedUrlExpiry: number;
900
+ minSize?: number | undefined;
901
+ maxSize?: number | undefined;
902
+ allowedTypes?: string[] | undefined;
903
+ blockedTypes?: string[] | undefined;
904
+ allowedMimeTypes?: string[] | undefined;
905
+ blockedMimeTypes?: string[] | undefined;
906
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
907
+ storageProvider?: string | undefined;
908
+ storageBucket?: string | undefined;
909
+ storagePrefix?: string | undefined;
910
+ imageValidation?: {
911
+ generateThumbnails: boolean;
912
+ preserveMetadata: boolean;
913
+ autoRotate: boolean;
914
+ minWidth?: number | undefined;
915
+ maxWidth?: number | undefined;
916
+ minHeight?: number | undefined;
917
+ maxHeight?: number | undefined;
918
+ aspectRatio?: string | undefined;
919
+ thumbnailSizes?: {
920
+ name: string;
921
+ width: number;
922
+ height: number;
923
+ crop: boolean;
924
+ }[] | undefined;
925
+ } | undefined;
926
+ maxVersions?: number | undefined;
927
+ } | undefined;
928
+ readonly maskingRule?: {
929
+ field: string;
930
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
931
+ preserveFormat: boolean;
932
+ preserveLength: boolean;
933
+ pattern?: string | undefined;
934
+ roles?: string[] | undefined;
935
+ exemptRoles?: string[] | undefined;
936
+ } | undefined;
937
+ readonly auditTrail?: boolean | undefined;
938
+ readonly cached?: {
939
+ enabled: boolean;
940
+ ttl: number;
941
+ invalidateOn: string[];
942
+ } | undefined;
943
+ readonly dataQuality?: {
944
+ uniqueness: boolean;
945
+ completeness: number;
946
+ accuracy?: {
947
+ source: string;
948
+ threshold: number;
949
+ } | undefined;
950
+ } | undefined;
951
+ readonly conditionalRequired?: {
952
+ dialect: "cel" | "js" | "cron" | "template";
953
+ source?: string | undefined;
954
+ ast?: unknown;
955
+ meta?: {
956
+ rationale?: string | undefined;
957
+ generatedBy?: string | undefined;
958
+ } | undefined;
959
+ } | undefined;
960
+ readonly hidden?: boolean | undefined;
961
+ readonly sortable?: boolean | undefined;
962
+ readonly inlineHelpText?: string | undefined;
963
+ readonly trackFeedHistory?: boolean | undefined;
964
+ readonly caseSensitive?: boolean | undefined;
965
+ readonly autonumberFormat?: string | undefined;
966
+ readonly index?: boolean | undefined;
967
+ readonly type: "text";
968
+ };
969
+ readonly name: {
970
+ readonly readonly?: boolean | undefined;
971
+ readonly format?: string | undefined;
972
+ readonly options?: {
973
+ label: string;
974
+ value: string;
975
+ color?: string | undefined;
976
+ default?: boolean | undefined;
977
+ }[] | undefined;
978
+ readonly description?: string | undefined;
979
+ readonly label?: string | undefined;
980
+ readonly name?: string | undefined;
981
+ readonly precision?: number | undefined;
982
+ readonly required?: boolean | undefined;
983
+ readonly multiple?: boolean | undefined;
984
+ readonly dependencies?: string[] | undefined;
985
+ readonly theme?: string | undefined;
986
+ readonly externalId?: boolean | undefined;
987
+ readonly system?: boolean | undefined;
988
+ readonly min?: number | undefined;
989
+ readonly max?: number | undefined;
990
+ readonly group?: string | undefined;
991
+ readonly encryptionConfig?: {
992
+ enabled: boolean;
993
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
994
+ keyManagement: {
995
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
996
+ keyId?: string | undefined;
997
+ rotationPolicy?: {
998
+ enabled: boolean;
999
+ frequencyDays: number;
1000
+ retainOldVersions: number;
1001
+ autoRotate: boolean;
1002
+ } | undefined;
1003
+ };
1004
+ scope: "record" | "field" | "table" | "database";
1005
+ deterministicEncryption: boolean;
1006
+ searchableEncryption: boolean;
1007
+ } | undefined;
1008
+ readonly columnName?: string | undefined;
1009
+ readonly searchable?: boolean | undefined;
1010
+ readonly unique?: boolean | undefined;
1011
+ readonly defaultValue?: unknown;
1012
+ readonly maxLength?: number | undefined;
1013
+ readonly minLength?: number | undefined;
1014
+ readonly scale?: number | undefined;
1015
+ readonly reference?: string | undefined;
1016
+ readonly referenceFilters?: string[] | undefined;
1017
+ readonly writeRequiresMasterRead?: boolean | undefined;
1018
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
1019
+ readonly expression?: {
1020
+ dialect: "cel" | "js" | "cron" | "template";
1021
+ source?: string | undefined;
1022
+ ast?: unknown;
1023
+ meta?: {
1024
+ rationale?: string | undefined;
1025
+ generatedBy?: string | undefined;
1026
+ } | undefined;
1027
+ } | undefined;
1028
+ readonly summaryOperations?: {
1029
+ object: string;
1030
+ field: string;
1031
+ function: "min" | "max" | "count" | "sum" | "avg";
1032
+ } | undefined;
1033
+ readonly language?: string | undefined;
1034
+ readonly lineNumbers?: boolean | undefined;
1035
+ readonly maxRating?: number | undefined;
1036
+ readonly allowHalf?: boolean | undefined;
1037
+ readonly displayMap?: boolean | undefined;
1038
+ readonly allowGeocoding?: boolean | undefined;
1039
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
1040
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
1041
+ readonly allowAlpha?: boolean | undefined;
1042
+ readonly presetColors?: string[] | undefined;
1043
+ readonly step?: number | undefined;
1044
+ readonly showValue?: boolean | undefined;
1045
+ readonly marks?: Record<string, string> | undefined;
1046
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
1047
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
1048
+ readonly displayValue?: boolean | undefined;
1049
+ readonly allowScanning?: boolean | undefined;
1050
+ readonly currencyConfig?: {
1051
+ precision: number;
1052
+ currencyMode: "fixed" | "dynamic";
1053
+ defaultCurrency: string;
1054
+ } | undefined;
1055
+ readonly vectorConfig?: {
1056
+ dimensions: number;
1057
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1058
+ normalized: boolean;
1059
+ indexed: boolean;
1060
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1061
+ } | undefined;
1062
+ readonly fileAttachmentConfig?: {
1063
+ virusScan: boolean;
1064
+ virusScanOnUpload: boolean;
1065
+ quarantineOnThreat: boolean;
1066
+ allowMultiple: boolean;
1067
+ allowReplace: boolean;
1068
+ allowDelete: boolean;
1069
+ requireUpload: boolean;
1070
+ extractMetadata: boolean;
1071
+ extractText: boolean;
1072
+ versioningEnabled: boolean;
1073
+ publicRead: boolean;
1074
+ presignedUrlExpiry: number;
1075
+ minSize?: number | undefined;
1076
+ maxSize?: number | undefined;
1077
+ allowedTypes?: string[] | undefined;
1078
+ blockedTypes?: string[] | undefined;
1079
+ allowedMimeTypes?: string[] | undefined;
1080
+ blockedMimeTypes?: string[] | undefined;
1081
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
1082
+ storageProvider?: string | undefined;
1083
+ storageBucket?: string | undefined;
1084
+ storagePrefix?: string | undefined;
1085
+ imageValidation?: {
1086
+ generateThumbnails: boolean;
1087
+ preserveMetadata: boolean;
1088
+ autoRotate: boolean;
1089
+ minWidth?: number | undefined;
1090
+ maxWidth?: number | undefined;
1091
+ minHeight?: number | undefined;
1092
+ maxHeight?: number | undefined;
1093
+ aspectRatio?: string | undefined;
1094
+ thumbnailSizes?: {
1095
+ name: string;
1096
+ width: number;
1097
+ height: number;
1098
+ crop: boolean;
1099
+ }[] | undefined;
1100
+ } | undefined;
1101
+ maxVersions?: number | undefined;
1102
+ } | undefined;
1103
+ readonly maskingRule?: {
1104
+ field: string;
1105
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1106
+ preserveFormat: boolean;
1107
+ preserveLength: boolean;
1108
+ pattern?: string | undefined;
1109
+ roles?: string[] | undefined;
1110
+ exemptRoles?: string[] | undefined;
1111
+ } | undefined;
1112
+ readonly auditTrail?: boolean | undefined;
1113
+ readonly cached?: {
1114
+ enabled: boolean;
1115
+ ttl: number;
1116
+ invalidateOn: string[];
1117
+ } | undefined;
1118
+ readonly dataQuality?: {
1119
+ uniqueness: boolean;
1120
+ completeness: number;
1121
+ accuracy?: {
1122
+ source: string;
1123
+ threshold: number;
1124
+ } | undefined;
1125
+ } | undefined;
1126
+ readonly conditionalRequired?: {
1127
+ dialect: "cel" | "js" | "cron" | "template";
1128
+ source?: string | undefined;
1129
+ ast?: unknown;
1130
+ meta?: {
1131
+ rationale?: string | undefined;
1132
+ generatedBy?: string | undefined;
1133
+ } | undefined;
1134
+ } | undefined;
1135
+ readonly hidden?: boolean | undefined;
1136
+ readonly sortable?: boolean | undefined;
1137
+ readonly inlineHelpText?: string | undefined;
1138
+ readonly trackFeedHistory?: boolean | undefined;
1139
+ readonly caseSensitive?: boolean | undefined;
1140
+ readonly autonumberFormat?: string | undefined;
1141
+ readonly index?: boolean | undefined;
1142
+ readonly type: "text";
1143
+ };
1144
+ readonly label: {
1145
+ readonly readonly?: boolean | undefined;
1146
+ readonly format?: string | undefined;
1147
+ readonly options?: {
1148
+ label: string;
1149
+ value: string;
1150
+ color?: string | undefined;
1151
+ default?: boolean | undefined;
1152
+ }[] | undefined;
1153
+ readonly description?: string | undefined;
1154
+ readonly label?: string | undefined;
1155
+ readonly name?: string | undefined;
1156
+ readonly precision?: number | undefined;
1157
+ readonly required?: boolean | undefined;
1158
+ readonly multiple?: boolean | undefined;
1159
+ readonly dependencies?: string[] | undefined;
1160
+ readonly theme?: string | undefined;
1161
+ readonly externalId?: boolean | undefined;
1162
+ readonly system?: boolean | undefined;
1163
+ readonly min?: number | undefined;
1164
+ readonly max?: number | undefined;
1165
+ readonly group?: string | undefined;
1166
+ readonly encryptionConfig?: {
1167
+ enabled: boolean;
1168
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
1169
+ keyManagement: {
1170
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
1171
+ keyId?: string | undefined;
1172
+ rotationPolicy?: {
1173
+ enabled: boolean;
1174
+ frequencyDays: number;
1175
+ retainOldVersions: number;
1176
+ autoRotate: boolean;
1177
+ } | undefined;
1178
+ };
1179
+ scope: "record" | "field" | "table" | "database";
1180
+ deterministicEncryption: boolean;
1181
+ searchableEncryption: boolean;
1182
+ } | undefined;
1183
+ readonly columnName?: string | undefined;
1184
+ readonly searchable?: boolean | undefined;
1185
+ readonly unique?: boolean | undefined;
1186
+ readonly defaultValue?: unknown;
1187
+ readonly maxLength?: number | undefined;
1188
+ readonly minLength?: number | undefined;
1189
+ readonly scale?: number | undefined;
1190
+ readonly reference?: string | undefined;
1191
+ readonly referenceFilters?: string[] | undefined;
1192
+ readonly writeRequiresMasterRead?: boolean | undefined;
1193
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
1194
+ readonly expression?: {
1195
+ dialect: "cel" | "js" | "cron" | "template";
1196
+ source?: string | undefined;
1197
+ ast?: unknown;
1198
+ meta?: {
1199
+ rationale?: string | undefined;
1200
+ generatedBy?: string | undefined;
1201
+ } | undefined;
1202
+ } | undefined;
1203
+ readonly summaryOperations?: {
1204
+ object: string;
1205
+ field: string;
1206
+ function: "min" | "max" | "count" | "sum" | "avg";
1207
+ } | undefined;
1208
+ readonly language?: string | undefined;
1209
+ readonly lineNumbers?: boolean | undefined;
1210
+ readonly maxRating?: number | undefined;
1211
+ readonly allowHalf?: boolean | undefined;
1212
+ readonly displayMap?: boolean | undefined;
1213
+ readonly allowGeocoding?: boolean | undefined;
1214
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
1215
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
1216
+ readonly allowAlpha?: boolean | undefined;
1217
+ readonly presetColors?: string[] | undefined;
1218
+ readonly step?: number | undefined;
1219
+ readonly showValue?: boolean | undefined;
1220
+ readonly marks?: Record<string, string> | undefined;
1221
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
1222
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
1223
+ readonly displayValue?: boolean | undefined;
1224
+ readonly allowScanning?: boolean | undefined;
1225
+ readonly currencyConfig?: {
1226
+ precision: number;
1227
+ currencyMode: "fixed" | "dynamic";
1228
+ defaultCurrency: string;
1229
+ } | undefined;
1230
+ readonly vectorConfig?: {
1231
+ dimensions: number;
1232
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1233
+ normalized: boolean;
1234
+ indexed: boolean;
1235
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1236
+ } | undefined;
1237
+ readonly fileAttachmentConfig?: {
1238
+ virusScan: boolean;
1239
+ virusScanOnUpload: boolean;
1240
+ quarantineOnThreat: boolean;
1241
+ allowMultiple: boolean;
1242
+ allowReplace: boolean;
1243
+ allowDelete: boolean;
1244
+ requireUpload: boolean;
1245
+ extractMetadata: boolean;
1246
+ extractText: boolean;
1247
+ versioningEnabled: boolean;
1248
+ publicRead: boolean;
1249
+ presignedUrlExpiry: number;
1250
+ minSize?: number | undefined;
1251
+ maxSize?: number | undefined;
1252
+ allowedTypes?: string[] | undefined;
1253
+ blockedTypes?: string[] | undefined;
1254
+ allowedMimeTypes?: string[] | undefined;
1255
+ blockedMimeTypes?: string[] | undefined;
1256
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
1257
+ storageProvider?: string | undefined;
1258
+ storageBucket?: string | undefined;
1259
+ storagePrefix?: string | undefined;
1260
+ imageValidation?: {
1261
+ generateThumbnails: boolean;
1262
+ preserveMetadata: boolean;
1263
+ autoRotate: boolean;
1264
+ minWidth?: number | undefined;
1265
+ maxWidth?: number | undefined;
1266
+ minHeight?: number | undefined;
1267
+ maxHeight?: number | undefined;
1268
+ aspectRatio?: string | undefined;
1269
+ thumbnailSizes?: {
1270
+ name: string;
1271
+ width: number;
1272
+ height: number;
1273
+ crop: boolean;
1274
+ }[] | undefined;
1275
+ } | undefined;
1276
+ maxVersions?: number | undefined;
1277
+ } | undefined;
1278
+ readonly maskingRule?: {
1279
+ field: string;
1280
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1281
+ preserveFormat: boolean;
1282
+ preserveLength: boolean;
1283
+ pattern?: string | undefined;
1284
+ roles?: string[] | undefined;
1285
+ exemptRoles?: string[] | undefined;
1286
+ } | undefined;
1287
+ readonly auditTrail?: boolean | undefined;
1288
+ readonly cached?: {
1289
+ enabled: boolean;
1290
+ ttl: number;
1291
+ invalidateOn: string[];
1292
+ } | undefined;
1293
+ readonly dataQuality?: {
1294
+ uniqueness: boolean;
1295
+ completeness: number;
1296
+ accuracy?: {
1297
+ source: string;
1298
+ threshold: number;
1299
+ } | undefined;
1300
+ } | undefined;
1301
+ readonly conditionalRequired?: {
1302
+ dialect: "cel" | "js" | "cron" | "template";
1303
+ source?: string | undefined;
1304
+ ast?: unknown;
1305
+ meta?: {
1306
+ rationale?: string | undefined;
1307
+ generatedBy?: string | undefined;
1308
+ } | undefined;
1309
+ } | undefined;
1310
+ readonly hidden?: boolean | undefined;
1311
+ readonly sortable?: boolean | undefined;
1312
+ readonly inlineHelpText?: string | undefined;
1313
+ readonly trackFeedHistory?: boolean | undefined;
1314
+ readonly caseSensitive?: boolean | undefined;
1315
+ readonly autonumberFormat?: string | undefined;
1316
+ readonly index?: boolean | undefined;
1317
+ readonly type: "text";
1318
+ };
1319
+ readonly object_name: {
1320
+ readonly readonly?: boolean | undefined;
1321
+ readonly format?: string | undefined;
1322
+ readonly options?: {
1323
+ label: string;
1324
+ value: string;
1325
+ color?: string | undefined;
1326
+ default?: boolean | undefined;
1327
+ }[] | undefined;
1328
+ readonly description?: string | undefined;
1329
+ readonly label?: string | undefined;
1330
+ readonly name?: string | undefined;
1331
+ readonly precision?: number | undefined;
1332
+ readonly required?: boolean | undefined;
1333
+ readonly multiple?: boolean | undefined;
1334
+ readonly dependencies?: string[] | undefined;
1335
+ readonly theme?: string | undefined;
1336
+ readonly externalId?: boolean | undefined;
1337
+ readonly system?: boolean | undefined;
1338
+ readonly min?: number | undefined;
1339
+ readonly max?: number | undefined;
1340
+ readonly group?: string | undefined;
1341
+ readonly encryptionConfig?: {
1342
+ enabled: boolean;
1343
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
1344
+ keyManagement: {
1345
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
1346
+ keyId?: string | undefined;
1347
+ rotationPolicy?: {
1348
+ enabled: boolean;
1349
+ frequencyDays: number;
1350
+ retainOldVersions: number;
1351
+ autoRotate: boolean;
1352
+ } | undefined;
1353
+ };
1354
+ scope: "record" | "field" | "table" | "database";
1355
+ deterministicEncryption: boolean;
1356
+ searchableEncryption: boolean;
1357
+ } | undefined;
1358
+ readonly columnName?: string | undefined;
1359
+ readonly searchable?: boolean | undefined;
1360
+ readonly unique?: boolean | undefined;
1361
+ readonly defaultValue?: unknown;
1362
+ readonly maxLength?: number | undefined;
1363
+ readonly minLength?: number | undefined;
1364
+ readonly scale?: number | undefined;
1365
+ readonly reference?: string | undefined;
1366
+ readonly referenceFilters?: string[] | undefined;
1367
+ readonly writeRequiresMasterRead?: boolean | undefined;
1368
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
1369
+ readonly expression?: {
1370
+ dialect: "cel" | "js" | "cron" | "template";
1371
+ source?: string | undefined;
1372
+ ast?: unknown;
1373
+ meta?: {
1374
+ rationale?: string | undefined;
1375
+ generatedBy?: string | undefined;
1376
+ } | undefined;
1377
+ } | undefined;
1378
+ readonly summaryOperations?: {
1379
+ object: string;
1380
+ field: string;
1381
+ function: "min" | "max" | "count" | "sum" | "avg";
1382
+ } | undefined;
1383
+ readonly language?: string | undefined;
1384
+ readonly lineNumbers?: boolean | undefined;
1385
+ readonly maxRating?: number | undefined;
1386
+ readonly allowHalf?: boolean | undefined;
1387
+ readonly displayMap?: boolean | undefined;
1388
+ readonly allowGeocoding?: boolean | undefined;
1389
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
1390
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
1391
+ readonly allowAlpha?: boolean | undefined;
1392
+ readonly presetColors?: string[] | undefined;
1393
+ readonly step?: number | undefined;
1394
+ readonly showValue?: boolean | undefined;
1395
+ readonly marks?: Record<string, string> | undefined;
1396
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
1397
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
1398
+ readonly displayValue?: boolean | undefined;
1399
+ readonly allowScanning?: boolean | undefined;
1400
+ readonly currencyConfig?: {
1401
+ precision: number;
1402
+ currencyMode: "fixed" | "dynamic";
1403
+ defaultCurrency: string;
1404
+ } | undefined;
1405
+ readonly vectorConfig?: {
1406
+ dimensions: number;
1407
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1408
+ normalized: boolean;
1409
+ indexed: boolean;
1410
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1411
+ } | undefined;
1412
+ readonly fileAttachmentConfig?: {
1413
+ virusScan: boolean;
1414
+ virusScanOnUpload: boolean;
1415
+ quarantineOnThreat: boolean;
1416
+ allowMultiple: boolean;
1417
+ allowReplace: boolean;
1418
+ allowDelete: boolean;
1419
+ requireUpload: boolean;
1420
+ extractMetadata: boolean;
1421
+ extractText: boolean;
1422
+ versioningEnabled: boolean;
1423
+ publicRead: boolean;
1424
+ presignedUrlExpiry: number;
1425
+ minSize?: number | undefined;
1426
+ maxSize?: number | undefined;
1427
+ allowedTypes?: string[] | undefined;
1428
+ blockedTypes?: string[] | undefined;
1429
+ allowedMimeTypes?: string[] | undefined;
1430
+ blockedMimeTypes?: string[] | undefined;
1431
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
1432
+ storageProvider?: string | undefined;
1433
+ storageBucket?: string | undefined;
1434
+ storagePrefix?: string | undefined;
1435
+ imageValidation?: {
1436
+ generateThumbnails: boolean;
1437
+ preserveMetadata: boolean;
1438
+ autoRotate: boolean;
1439
+ minWidth?: number | undefined;
1440
+ maxWidth?: number | undefined;
1441
+ minHeight?: number | undefined;
1442
+ maxHeight?: number | undefined;
1443
+ aspectRatio?: string | undefined;
1444
+ thumbnailSizes?: {
1445
+ name: string;
1446
+ width: number;
1447
+ height: number;
1448
+ crop: boolean;
1449
+ }[] | undefined;
1450
+ } | undefined;
1451
+ maxVersions?: number | undefined;
1452
+ } | undefined;
1453
+ readonly maskingRule?: {
1454
+ field: string;
1455
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1456
+ preserveFormat: boolean;
1457
+ preserveLength: boolean;
1458
+ pattern?: string | undefined;
1459
+ roles?: string[] | undefined;
1460
+ exemptRoles?: string[] | undefined;
1461
+ } | undefined;
1462
+ readonly auditTrail?: boolean | undefined;
1463
+ readonly cached?: {
1464
+ enabled: boolean;
1465
+ ttl: number;
1466
+ invalidateOn: string[];
1467
+ } | undefined;
1468
+ readonly dataQuality?: {
1469
+ uniqueness: boolean;
1470
+ completeness: number;
1471
+ accuracy?: {
1472
+ source: string;
1473
+ threshold: number;
1474
+ } | undefined;
1475
+ } | undefined;
1476
+ readonly conditionalRequired?: {
1477
+ dialect: "cel" | "js" | "cron" | "template";
1478
+ source?: string | undefined;
1479
+ ast?: unknown;
1480
+ meta?: {
1481
+ rationale?: string | undefined;
1482
+ generatedBy?: string | undefined;
1483
+ } | undefined;
1484
+ } | undefined;
1485
+ readonly hidden?: boolean | undefined;
1486
+ readonly sortable?: boolean | undefined;
1487
+ readonly inlineHelpText?: string | undefined;
1488
+ readonly trackFeedHistory?: boolean | undefined;
1489
+ readonly caseSensitive?: boolean | undefined;
1490
+ readonly autonumberFormat?: string | undefined;
1491
+ readonly index?: boolean | undefined;
1492
+ readonly type: "text";
1493
+ };
1494
+ readonly triggers: {
1495
+ readonly readonly?: boolean | undefined;
1496
+ readonly format?: string | undefined;
1497
+ readonly options?: {
1498
+ label: string;
1499
+ value: string;
1500
+ color?: string | undefined;
1501
+ default?: boolean | undefined;
1502
+ }[] | undefined;
1503
+ readonly description?: string | undefined;
1504
+ readonly label?: string | undefined;
1505
+ readonly name?: string | undefined;
1506
+ readonly precision?: number | undefined;
1507
+ readonly required?: boolean | undefined;
1508
+ readonly multiple?: boolean | undefined;
1509
+ readonly dependencies?: string[] | undefined;
1510
+ readonly theme?: string | undefined;
1511
+ readonly externalId?: boolean | undefined;
1512
+ readonly system?: boolean | undefined;
1513
+ readonly min?: number | undefined;
1514
+ readonly max?: number | undefined;
1515
+ readonly group?: string | undefined;
1516
+ readonly encryptionConfig?: {
1517
+ enabled: boolean;
1518
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
1519
+ keyManagement: {
1520
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
1521
+ keyId?: string | undefined;
1522
+ rotationPolicy?: {
1523
+ enabled: boolean;
1524
+ frequencyDays: number;
1525
+ retainOldVersions: number;
1526
+ autoRotate: boolean;
1527
+ } | undefined;
1528
+ };
1529
+ scope: "record" | "field" | "table" | "database";
1530
+ deterministicEncryption: boolean;
1531
+ searchableEncryption: boolean;
1532
+ } | undefined;
1533
+ readonly columnName?: string | undefined;
1534
+ readonly searchable?: boolean | undefined;
1535
+ readonly unique?: boolean | undefined;
1536
+ readonly defaultValue?: unknown;
1537
+ readonly maxLength?: number | undefined;
1538
+ readonly minLength?: number | undefined;
1539
+ readonly scale?: number | undefined;
1540
+ readonly reference?: string | undefined;
1541
+ readonly referenceFilters?: string[] | undefined;
1542
+ readonly writeRequiresMasterRead?: boolean | undefined;
1543
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
1544
+ readonly expression?: {
1545
+ dialect: "cel" | "js" | "cron" | "template";
1546
+ source?: string | undefined;
1547
+ ast?: unknown;
1548
+ meta?: {
1549
+ rationale?: string | undefined;
1550
+ generatedBy?: string | undefined;
1551
+ } | undefined;
1552
+ } | undefined;
1553
+ readonly summaryOperations?: {
1554
+ object: string;
1555
+ field: string;
1556
+ function: "min" | "max" | "count" | "sum" | "avg";
1557
+ } | undefined;
1558
+ readonly language?: string | undefined;
1559
+ readonly lineNumbers?: boolean | undefined;
1560
+ readonly maxRating?: number | undefined;
1561
+ readonly allowHalf?: boolean | undefined;
1562
+ readonly displayMap?: boolean | undefined;
1563
+ readonly allowGeocoding?: boolean | undefined;
1564
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
1565
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
1566
+ readonly allowAlpha?: boolean | undefined;
1567
+ readonly presetColors?: string[] | undefined;
1568
+ readonly step?: number | undefined;
1569
+ readonly showValue?: boolean | undefined;
1570
+ readonly marks?: Record<string, string> | undefined;
1571
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
1572
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
1573
+ readonly displayValue?: boolean | undefined;
1574
+ readonly allowScanning?: boolean | undefined;
1575
+ readonly currencyConfig?: {
1576
+ precision: number;
1577
+ currencyMode: "fixed" | "dynamic";
1578
+ defaultCurrency: string;
1579
+ } | undefined;
1580
+ readonly vectorConfig?: {
1581
+ dimensions: number;
1582
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1583
+ normalized: boolean;
1584
+ indexed: boolean;
1585
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1586
+ } | undefined;
1587
+ readonly fileAttachmentConfig?: {
1588
+ virusScan: boolean;
1589
+ virusScanOnUpload: boolean;
1590
+ quarantineOnThreat: boolean;
1591
+ allowMultiple: boolean;
1592
+ allowReplace: boolean;
1593
+ allowDelete: boolean;
1594
+ requireUpload: boolean;
1595
+ extractMetadata: boolean;
1596
+ extractText: boolean;
1597
+ versioningEnabled: boolean;
1598
+ publicRead: boolean;
1599
+ presignedUrlExpiry: number;
1600
+ minSize?: number | undefined;
1601
+ maxSize?: number | undefined;
1602
+ allowedTypes?: string[] | undefined;
1603
+ blockedTypes?: string[] | undefined;
1604
+ allowedMimeTypes?: string[] | undefined;
1605
+ blockedMimeTypes?: string[] | undefined;
1606
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
1607
+ storageProvider?: string | undefined;
1608
+ storageBucket?: string | undefined;
1609
+ storagePrefix?: string | undefined;
1610
+ imageValidation?: {
1611
+ generateThumbnails: boolean;
1612
+ preserveMetadata: boolean;
1613
+ autoRotate: boolean;
1614
+ minWidth?: number | undefined;
1615
+ maxWidth?: number | undefined;
1616
+ minHeight?: number | undefined;
1617
+ maxHeight?: number | undefined;
1618
+ aspectRatio?: string | undefined;
1619
+ thumbnailSizes?: {
1620
+ name: string;
1621
+ width: number;
1622
+ height: number;
1623
+ crop: boolean;
1624
+ }[] | undefined;
1625
+ } | undefined;
1626
+ maxVersions?: number | undefined;
1627
+ } | undefined;
1628
+ readonly maskingRule?: {
1629
+ field: string;
1630
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1631
+ preserveFormat: boolean;
1632
+ preserveLength: boolean;
1633
+ pattern?: string | undefined;
1634
+ roles?: string[] | undefined;
1635
+ exemptRoles?: string[] | undefined;
1636
+ } | undefined;
1637
+ readonly auditTrail?: boolean | undefined;
1638
+ readonly cached?: {
1639
+ enabled: boolean;
1640
+ ttl: number;
1641
+ invalidateOn: string[];
1642
+ } | undefined;
1643
+ readonly dataQuality?: {
1644
+ uniqueness: boolean;
1645
+ completeness: number;
1646
+ accuracy?: {
1647
+ source: string;
1648
+ threshold: number;
1649
+ } | undefined;
1650
+ } | undefined;
1651
+ readonly conditionalRequired?: {
1652
+ dialect: "cel" | "js" | "cron" | "template";
1653
+ source?: string | undefined;
1654
+ ast?: unknown;
1655
+ meta?: {
1656
+ rationale?: string | undefined;
1657
+ generatedBy?: string | undefined;
1658
+ } | undefined;
1659
+ } | undefined;
1660
+ readonly hidden?: boolean | undefined;
1661
+ readonly sortable?: boolean | undefined;
1662
+ readonly inlineHelpText?: string | undefined;
1663
+ readonly trackFeedHistory?: boolean | undefined;
1664
+ readonly caseSensitive?: boolean | undefined;
1665
+ readonly autonumberFormat?: string | undefined;
1666
+ readonly index?: boolean | undefined;
1667
+ readonly type: "text";
1668
+ };
1669
+ readonly url: {
1670
+ readonly readonly?: boolean | undefined;
1671
+ readonly format?: string | undefined;
1672
+ readonly options?: {
1673
+ label: string;
1674
+ value: string;
1675
+ color?: string | undefined;
1676
+ default?: boolean | undefined;
1677
+ }[] | undefined;
1678
+ readonly description?: string | undefined;
1679
+ readonly label?: string | undefined;
1680
+ readonly name?: string | undefined;
1681
+ readonly precision?: number | undefined;
1682
+ readonly required?: boolean | undefined;
1683
+ readonly multiple?: boolean | undefined;
1684
+ readonly dependencies?: string[] | undefined;
1685
+ readonly theme?: string | undefined;
1686
+ readonly externalId?: boolean | undefined;
1687
+ readonly system?: boolean | undefined;
1688
+ readonly min?: number | undefined;
1689
+ readonly max?: number | undefined;
1690
+ readonly group?: string | undefined;
1691
+ readonly encryptionConfig?: {
1692
+ enabled: boolean;
1693
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
1694
+ keyManagement: {
1695
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
1696
+ keyId?: string | undefined;
1697
+ rotationPolicy?: {
1698
+ enabled: boolean;
1699
+ frequencyDays: number;
1700
+ retainOldVersions: number;
1701
+ autoRotate: boolean;
1702
+ } | undefined;
1703
+ };
1704
+ scope: "record" | "field" | "table" | "database";
1705
+ deterministicEncryption: boolean;
1706
+ searchableEncryption: boolean;
1707
+ } | undefined;
1708
+ readonly columnName?: string | undefined;
1709
+ readonly searchable?: boolean | undefined;
1710
+ readonly unique?: boolean | undefined;
1711
+ readonly defaultValue?: unknown;
1712
+ readonly maxLength?: number | undefined;
1713
+ readonly minLength?: number | undefined;
1714
+ readonly scale?: number | undefined;
1715
+ readonly reference?: string | undefined;
1716
+ readonly referenceFilters?: string[] | undefined;
1717
+ readonly writeRequiresMasterRead?: boolean | undefined;
1718
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
1719
+ readonly expression?: {
1720
+ dialect: "cel" | "js" | "cron" | "template";
1721
+ source?: string | undefined;
1722
+ ast?: unknown;
1723
+ meta?: {
1724
+ rationale?: string | undefined;
1725
+ generatedBy?: string | undefined;
1726
+ } | undefined;
1727
+ } | undefined;
1728
+ readonly summaryOperations?: {
1729
+ object: string;
1730
+ field: string;
1731
+ function: "min" | "max" | "count" | "sum" | "avg";
1732
+ } | undefined;
1733
+ readonly language?: string | undefined;
1734
+ readonly lineNumbers?: boolean | undefined;
1735
+ readonly maxRating?: number | undefined;
1736
+ readonly allowHalf?: boolean | undefined;
1737
+ readonly displayMap?: boolean | undefined;
1738
+ readonly allowGeocoding?: boolean | undefined;
1739
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
1740
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
1741
+ readonly allowAlpha?: boolean | undefined;
1742
+ readonly presetColors?: string[] | undefined;
1743
+ readonly step?: number | undefined;
1744
+ readonly showValue?: boolean | undefined;
1745
+ readonly marks?: Record<string, string> | undefined;
1746
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
1747
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
1748
+ readonly displayValue?: boolean | undefined;
1749
+ readonly allowScanning?: boolean | undefined;
1750
+ readonly currencyConfig?: {
1751
+ precision: number;
1752
+ currencyMode: "fixed" | "dynamic";
1753
+ defaultCurrency: string;
1754
+ } | undefined;
1755
+ readonly vectorConfig?: {
1756
+ dimensions: number;
1757
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1758
+ normalized: boolean;
1759
+ indexed: boolean;
1760
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1761
+ } | undefined;
1762
+ readonly fileAttachmentConfig?: {
1763
+ virusScan: boolean;
1764
+ virusScanOnUpload: boolean;
1765
+ quarantineOnThreat: boolean;
1766
+ allowMultiple: boolean;
1767
+ allowReplace: boolean;
1768
+ allowDelete: boolean;
1769
+ requireUpload: boolean;
1770
+ extractMetadata: boolean;
1771
+ extractText: boolean;
1772
+ versioningEnabled: boolean;
1773
+ publicRead: boolean;
1774
+ presignedUrlExpiry: number;
1775
+ minSize?: number | undefined;
1776
+ maxSize?: number | undefined;
1777
+ allowedTypes?: string[] | undefined;
1778
+ blockedTypes?: string[] | undefined;
1779
+ allowedMimeTypes?: string[] | undefined;
1780
+ blockedMimeTypes?: string[] | undefined;
1781
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
1782
+ storageProvider?: string | undefined;
1783
+ storageBucket?: string | undefined;
1784
+ storagePrefix?: string | undefined;
1785
+ imageValidation?: {
1786
+ generateThumbnails: boolean;
1787
+ preserveMetadata: boolean;
1788
+ autoRotate: boolean;
1789
+ minWidth?: number | undefined;
1790
+ maxWidth?: number | undefined;
1791
+ minHeight?: number | undefined;
1792
+ maxHeight?: number | undefined;
1793
+ aspectRatio?: string | undefined;
1794
+ thumbnailSizes?: {
1795
+ name: string;
1796
+ width: number;
1797
+ height: number;
1798
+ crop: boolean;
1799
+ }[] | undefined;
1800
+ } | undefined;
1801
+ maxVersions?: number | undefined;
1802
+ } | undefined;
1803
+ readonly maskingRule?: {
1804
+ field: string;
1805
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1806
+ preserveFormat: boolean;
1807
+ preserveLength: boolean;
1808
+ pattern?: string | undefined;
1809
+ roles?: string[] | undefined;
1810
+ exemptRoles?: string[] | undefined;
1811
+ } | undefined;
1812
+ readonly auditTrail?: boolean | undefined;
1813
+ readonly cached?: {
1814
+ enabled: boolean;
1815
+ ttl: number;
1816
+ invalidateOn: string[];
1817
+ } | undefined;
1818
+ readonly dataQuality?: {
1819
+ uniqueness: boolean;
1820
+ completeness: number;
1821
+ accuracy?: {
1822
+ source: string;
1823
+ threshold: number;
1824
+ } | undefined;
1825
+ } | undefined;
1826
+ readonly conditionalRequired?: {
1827
+ dialect: "cel" | "js" | "cron" | "template";
1828
+ source?: string | undefined;
1829
+ ast?: unknown;
1830
+ meta?: {
1831
+ rationale?: string | undefined;
1832
+ generatedBy?: string | undefined;
1833
+ } | undefined;
1834
+ } | undefined;
1835
+ readonly hidden?: boolean | undefined;
1836
+ readonly sortable?: boolean | undefined;
1837
+ readonly inlineHelpText?: string | undefined;
1838
+ readonly trackFeedHistory?: boolean | undefined;
1839
+ readonly caseSensitive?: boolean | undefined;
1840
+ readonly autonumberFormat?: string | undefined;
1841
+ readonly index?: boolean | undefined;
1842
+ readonly type: "text";
1843
+ };
1844
+ readonly method: {
1845
+ readonly readonly?: boolean | undefined;
1846
+ readonly format?: string | undefined;
1847
+ readonly options?: {
1848
+ label: string;
1849
+ value: string;
1850
+ color?: string | undefined;
1851
+ default?: boolean | undefined;
1852
+ }[] | undefined;
1853
+ readonly description?: string | undefined;
1854
+ readonly label?: string | undefined;
1855
+ readonly name?: string | undefined;
1856
+ readonly precision?: number | undefined;
1857
+ readonly required?: boolean | undefined;
1858
+ readonly multiple?: boolean | undefined;
1859
+ readonly dependencies?: string[] | undefined;
1860
+ readonly theme?: string | undefined;
1861
+ readonly externalId?: boolean | undefined;
1862
+ readonly system?: boolean | undefined;
1863
+ readonly min?: number | undefined;
1864
+ readonly max?: number | undefined;
1865
+ readonly group?: string | undefined;
1866
+ readonly encryptionConfig?: {
1867
+ enabled: boolean;
1868
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
1869
+ keyManagement: {
1870
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
1871
+ keyId?: string | undefined;
1872
+ rotationPolicy?: {
1873
+ enabled: boolean;
1874
+ frequencyDays: number;
1875
+ retainOldVersions: number;
1876
+ autoRotate: boolean;
1877
+ } | undefined;
1878
+ };
1879
+ scope: "record" | "field" | "table" | "database";
1880
+ deterministicEncryption: boolean;
1881
+ searchableEncryption: boolean;
1882
+ } | undefined;
1883
+ readonly columnName?: string | undefined;
1884
+ readonly searchable?: boolean | undefined;
1885
+ readonly unique?: boolean | undefined;
1886
+ readonly defaultValue?: unknown;
1887
+ readonly maxLength?: number | undefined;
1888
+ readonly minLength?: number | undefined;
1889
+ readonly scale?: number | undefined;
1890
+ readonly reference?: string | undefined;
1891
+ readonly referenceFilters?: string[] | undefined;
1892
+ readonly writeRequiresMasterRead?: boolean | undefined;
1893
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
1894
+ readonly expression?: {
1895
+ dialect: "cel" | "js" | "cron" | "template";
1896
+ source?: string | undefined;
1897
+ ast?: unknown;
1898
+ meta?: {
1899
+ rationale?: string | undefined;
1900
+ generatedBy?: string | undefined;
1901
+ } | undefined;
1902
+ } | undefined;
1903
+ readonly summaryOperations?: {
1904
+ object: string;
1905
+ field: string;
1906
+ function: "min" | "max" | "count" | "sum" | "avg";
1907
+ } | undefined;
1908
+ readonly language?: string | undefined;
1909
+ readonly lineNumbers?: boolean | undefined;
1910
+ readonly maxRating?: number | undefined;
1911
+ readonly allowHalf?: boolean | undefined;
1912
+ readonly displayMap?: boolean | undefined;
1913
+ readonly allowGeocoding?: boolean | undefined;
1914
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
1915
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
1916
+ readonly allowAlpha?: boolean | undefined;
1917
+ readonly presetColors?: string[] | undefined;
1918
+ readonly step?: number | undefined;
1919
+ readonly showValue?: boolean | undefined;
1920
+ readonly marks?: Record<string, string> | undefined;
1921
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
1922
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
1923
+ readonly displayValue?: boolean | undefined;
1924
+ readonly allowScanning?: boolean | undefined;
1925
+ readonly currencyConfig?: {
1926
+ precision: number;
1927
+ currencyMode: "fixed" | "dynamic";
1928
+ defaultCurrency: string;
1929
+ } | undefined;
1930
+ readonly vectorConfig?: {
1931
+ dimensions: number;
1932
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1933
+ normalized: boolean;
1934
+ indexed: boolean;
1935
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1936
+ } | undefined;
1937
+ readonly fileAttachmentConfig?: {
1938
+ virusScan: boolean;
1939
+ virusScanOnUpload: boolean;
1940
+ quarantineOnThreat: boolean;
1941
+ allowMultiple: boolean;
1942
+ allowReplace: boolean;
1943
+ allowDelete: boolean;
1944
+ requireUpload: boolean;
1945
+ extractMetadata: boolean;
1946
+ extractText: boolean;
1947
+ versioningEnabled: boolean;
1948
+ publicRead: boolean;
1949
+ presignedUrlExpiry: number;
1950
+ minSize?: number | undefined;
1951
+ maxSize?: number | undefined;
1952
+ allowedTypes?: string[] | undefined;
1953
+ blockedTypes?: string[] | undefined;
1954
+ allowedMimeTypes?: string[] | undefined;
1955
+ blockedMimeTypes?: string[] | undefined;
1956
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
1957
+ storageProvider?: string | undefined;
1958
+ storageBucket?: string | undefined;
1959
+ storagePrefix?: string | undefined;
1960
+ imageValidation?: {
1961
+ generateThumbnails: boolean;
1962
+ preserveMetadata: boolean;
1963
+ autoRotate: boolean;
1964
+ minWidth?: number | undefined;
1965
+ maxWidth?: number | undefined;
1966
+ minHeight?: number | undefined;
1967
+ maxHeight?: number | undefined;
1968
+ aspectRatio?: string | undefined;
1969
+ thumbnailSizes?: {
1970
+ name: string;
1971
+ width: number;
1972
+ height: number;
1973
+ crop: boolean;
1974
+ }[] | undefined;
1975
+ } | undefined;
1976
+ maxVersions?: number | undefined;
1977
+ } | undefined;
1978
+ readonly maskingRule?: {
1979
+ field: string;
1980
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1981
+ preserveFormat: boolean;
1982
+ preserveLength: boolean;
1983
+ pattern?: string | undefined;
1984
+ roles?: string[] | undefined;
1985
+ exemptRoles?: string[] | undefined;
1986
+ } | undefined;
1987
+ readonly auditTrail?: boolean | undefined;
1988
+ readonly cached?: {
1989
+ enabled: boolean;
1990
+ ttl: number;
1991
+ invalidateOn: string[];
1992
+ } | undefined;
1993
+ readonly dataQuality?: {
1994
+ uniqueness: boolean;
1995
+ completeness: number;
1996
+ accuracy?: {
1997
+ source: string;
1998
+ threshold: number;
1999
+ } | undefined;
2000
+ } | undefined;
2001
+ readonly conditionalRequired?: {
2002
+ dialect: "cel" | "js" | "cron" | "template";
2003
+ source?: string | undefined;
2004
+ ast?: unknown;
2005
+ meta?: {
2006
+ rationale?: string | undefined;
2007
+ generatedBy?: string | undefined;
2008
+ } | undefined;
2009
+ } | undefined;
2010
+ readonly hidden?: boolean | undefined;
2011
+ readonly sortable?: boolean | undefined;
2012
+ readonly inlineHelpText?: string | undefined;
2013
+ readonly trackFeedHistory?: boolean | undefined;
2014
+ readonly caseSensitive?: boolean | undefined;
2015
+ readonly autonumberFormat?: string | undefined;
2016
+ readonly index?: boolean | undefined;
2017
+ readonly type: "text";
2018
+ };
2019
+ readonly description: {
2020
+ readonly readonly?: boolean | undefined;
2021
+ readonly format?: string | undefined;
2022
+ readonly options?: {
2023
+ label: string;
2024
+ value: string;
2025
+ color?: string | undefined;
2026
+ default?: boolean | undefined;
2027
+ }[] | undefined;
2028
+ readonly description?: string | undefined;
2029
+ readonly label?: string | undefined;
2030
+ readonly name?: string | undefined;
2031
+ readonly precision?: number | undefined;
2032
+ readonly required?: boolean | undefined;
2033
+ readonly multiple?: boolean | undefined;
2034
+ readonly dependencies?: string[] | undefined;
2035
+ readonly theme?: string | undefined;
2036
+ readonly externalId?: boolean | undefined;
2037
+ readonly system?: boolean | undefined;
2038
+ readonly min?: number | undefined;
2039
+ readonly max?: number | undefined;
2040
+ readonly group?: string | undefined;
2041
+ readonly encryptionConfig?: {
2042
+ enabled: boolean;
2043
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
2044
+ keyManagement: {
2045
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
2046
+ keyId?: string | undefined;
2047
+ rotationPolicy?: {
2048
+ enabled: boolean;
2049
+ frequencyDays: number;
2050
+ retainOldVersions: number;
2051
+ autoRotate: boolean;
2052
+ } | undefined;
2053
+ };
2054
+ scope: "record" | "field" | "table" | "database";
2055
+ deterministicEncryption: boolean;
2056
+ searchableEncryption: boolean;
2057
+ } | undefined;
2058
+ readonly columnName?: string | undefined;
2059
+ readonly searchable?: boolean | undefined;
2060
+ readonly unique?: boolean | undefined;
2061
+ readonly defaultValue?: unknown;
2062
+ readonly maxLength?: number | undefined;
2063
+ readonly minLength?: number | undefined;
2064
+ readonly scale?: number | undefined;
2065
+ readonly reference?: string | undefined;
2066
+ readonly referenceFilters?: string[] | undefined;
2067
+ readonly writeRequiresMasterRead?: boolean | undefined;
2068
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2069
+ readonly expression?: {
2070
+ dialect: "cel" | "js" | "cron" | "template";
2071
+ source?: string | undefined;
2072
+ ast?: unknown;
2073
+ meta?: {
2074
+ rationale?: string | undefined;
2075
+ generatedBy?: string | undefined;
2076
+ } | undefined;
2077
+ } | undefined;
2078
+ readonly summaryOperations?: {
2079
+ object: string;
2080
+ field: string;
2081
+ function: "min" | "max" | "count" | "sum" | "avg";
2082
+ } | undefined;
2083
+ readonly language?: string | undefined;
2084
+ readonly lineNumbers?: boolean | undefined;
2085
+ readonly maxRating?: number | undefined;
2086
+ readonly allowHalf?: boolean | undefined;
2087
+ readonly displayMap?: boolean | undefined;
2088
+ readonly allowGeocoding?: boolean | undefined;
2089
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
2090
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
2091
+ readonly allowAlpha?: boolean | undefined;
2092
+ readonly presetColors?: string[] | undefined;
2093
+ readonly step?: number | undefined;
2094
+ readonly showValue?: boolean | undefined;
2095
+ readonly marks?: Record<string, string> | undefined;
2096
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
2097
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
2098
+ readonly displayValue?: boolean | undefined;
2099
+ readonly allowScanning?: boolean | undefined;
2100
+ readonly currencyConfig?: {
2101
+ precision: number;
2102
+ currencyMode: "fixed" | "dynamic";
2103
+ defaultCurrency: string;
2104
+ } | undefined;
2105
+ readonly vectorConfig?: {
2106
+ dimensions: number;
2107
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2108
+ normalized: boolean;
2109
+ indexed: boolean;
2110
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2111
+ } | undefined;
2112
+ readonly fileAttachmentConfig?: {
2113
+ virusScan: boolean;
2114
+ virusScanOnUpload: boolean;
2115
+ quarantineOnThreat: boolean;
2116
+ allowMultiple: boolean;
2117
+ allowReplace: boolean;
2118
+ allowDelete: boolean;
2119
+ requireUpload: boolean;
2120
+ extractMetadata: boolean;
2121
+ extractText: boolean;
2122
+ versioningEnabled: boolean;
2123
+ publicRead: boolean;
2124
+ presignedUrlExpiry: number;
2125
+ minSize?: number | undefined;
2126
+ maxSize?: number | undefined;
2127
+ allowedTypes?: string[] | undefined;
2128
+ blockedTypes?: string[] | undefined;
2129
+ allowedMimeTypes?: string[] | undefined;
2130
+ blockedMimeTypes?: string[] | undefined;
2131
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
2132
+ storageProvider?: string | undefined;
2133
+ storageBucket?: string | undefined;
2134
+ storagePrefix?: string | undefined;
2135
+ imageValidation?: {
2136
+ generateThumbnails: boolean;
2137
+ preserveMetadata: boolean;
2138
+ autoRotate: boolean;
2139
+ minWidth?: number | undefined;
2140
+ maxWidth?: number | undefined;
2141
+ minHeight?: number | undefined;
2142
+ maxHeight?: number | undefined;
2143
+ aspectRatio?: string | undefined;
2144
+ thumbnailSizes?: {
2145
+ name: string;
2146
+ width: number;
2147
+ height: number;
2148
+ crop: boolean;
2149
+ }[] | undefined;
2150
+ } | undefined;
2151
+ maxVersions?: number | undefined;
2152
+ } | undefined;
2153
+ readonly maskingRule?: {
2154
+ field: string;
2155
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2156
+ preserveFormat: boolean;
2157
+ preserveLength: boolean;
2158
+ pattern?: string | undefined;
2159
+ roles?: string[] | undefined;
2160
+ exemptRoles?: string[] | undefined;
2161
+ } | undefined;
2162
+ readonly auditTrail?: boolean | undefined;
2163
+ readonly cached?: {
2164
+ enabled: boolean;
2165
+ ttl: number;
2166
+ invalidateOn: string[];
2167
+ } | undefined;
2168
+ readonly dataQuality?: {
2169
+ uniqueness: boolean;
2170
+ completeness: number;
2171
+ accuracy?: {
2172
+ source: string;
2173
+ threshold: number;
2174
+ } | undefined;
2175
+ } | undefined;
2176
+ readonly conditionalRequired?: {
2177
+ dialect: "cel" | "js" | "cron" | "template";
2178
+ source?: string | undefined;
2179
+ ast?: unknown;
2180
+ meta?: {
2181
+ rationale?: string | undefined;
2182
+ generatedBy?: string | undefined;
2183
+ } | undefined;
2184
+ } | undefined;
2185
+ readonly hidden?: boolean | undefined;
2186
+ readonly sortable?: boolean | undefined;
2187
+ readonly inlineHelpText?: string | undefined;
2188
+ readonly trackFeedHistory?: boolean | undefined;
2189
+ readonly caseSensitive?: boolean | undefined;
2190
+ readonly autonumberFormat?: string | undefined;
2191
+ readonly index?: boolean | undefined;
2192
+ readonly type: "textarea";
2193
+ };
2194
+ readonly active: {
2195
+ readonly readonly?: boolean | undefined;
2196
+ readonly format?: string | undefined;
2197
+ readonly options?: {
2198
+ label: string;
2199
+ value: string;
2200
+ color?: string | undefined;
2201
+ default?: boolean | undefined;
2202
+ }[] | undefined;
2203
+ readonly description?: string | undefined;
2204
+ readonly label?: string | undefined;
2205
+ readonly name?: string | undefined;
2206
+ readonly precision?: number | undefined;
2207
+ readonly required?: boolean | undefined;
2208
+ readonly multiple?: boolean | undefined;
2209
+ readonly dependencies?: string[] | undefined;
2210
+ readonly theme?: string | undefined;
2211
+ readonly externalId?: boolean | undefined;
2212
+ readonly system?: boolean | undefined;
2213
+ readonly min?: number | undefined;
2214
+ readonly max?: number | undefined;
2215
+ readonly group?: string | undefined;
2216
+ readonly encryptionConfig?: {
2217
+ enabled: boolean;
2218
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
2219
+ keyManagement: {
2220
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
2221
+ keyId?: string | undefined;
2222
+ rotationPolicy?: {
2223
+ enabled: boolean;
2224
+ frequencyDays: number;
2225
+ retainOldVersions: number;
2226
+ autoRotate: boolean;
2227
+ } | undefined;
2228
+ };
2229
+ scope: "record" | "field" | "table" | "database";
2230
+ deterministicEncryption: boolean;
2231
+ searchableEncryption: boolean;
2232
+ } | undefined;
2233
+ readonly columnName?: string | undefined;
2234
+ readonly searchable?: boolean | undefined;
2235
+ readonly unique?: boolean | undefined;
2236
+ readonly defaultValue?: unknown;
2237
+ readonly maxLength?: number | undefined;
2238
+ readonly minLength?: number | undefined;
2239
+ readonly scale?: number | undefined;
2240
+ readonly reference?: string | undefined;
2241
+ readonly referenceFilters?: string[] | undefined;
2242
+ readonly writeRequiresMasterRead?: boolean | undefined;
2243
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2244
+ readonly expression?: {
2245
+ dialect: "cel" | "js" | "cron" | "template";
2246
+ source?: string | undefined;
2247
+ ast?: unknown;
2248
+ meta?: {
2249
+ rationale?: string | undefined;
2250
+ generatedBy?: string | undefined;
2251
+ } | undefined;
2252
+ } | undefined;
2253
+ readonly summaryOperations?: {
2254
+ object: string;
2255
+ field: string;
2256
+ function: "min" | "max" | "count" | "sum" | "avg";
2257
+ } | undefined;
2258
+ readonly language?: string | undefined;
2259
+ readonly lineNumbers?: boolean | undefined;
2260
+ readonly maxRating?: number | undefined;
2261
+ readonly allowHalf?: boolean | undefined;
2262
+ readonly displayMap?: boolean | undefined;
2263
+ readonly allowGeocoding?: boolean | undefined;
2264
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
2265
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
2266
+ readonly allowAlpha?: boolean | undefined;
2267
+ readonly presetColors?: string[] | undefined;
2268
+ readonly step?: number | undefined;
2269
+ readonly showValue?: boolean | undefined;
2270
+ readonly marks?: Record<string, string> | undefined;
2271
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
2272
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
2273
+ readonly displayValue?: boolean | undefined;
2274
+ readonly allowScanning?: boolean | undefined;
2275
+ readonly currencyConfig?: {
2276
+ precision: number;
2277
+ currencyMode: "fixed" | "dynamic";
2278
+ defaultCurrency: string;
2279
+ } | undefined;
2280
+ readonly vectorConfig?: {
2281
+ dimensions: number;
2282
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2283
+ normalized: boolean;
2284
+ indexed: boolean;
2285
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2286
+ } | undefined;
2287
+ readonly fileAttachmentConfig?: {
2288
+ virusScan: boolean;
2289
+ virusScanOnUpload: boolean;
2290
+ quarantineOnThreat: boolean;
2291
+ allowMultiple: boolean;
2292
+ allowReplace: boolean;
2293
+ allowDelete: boolean;
2294
+ requireUpload: boolean;
2295
+ extractMetadata: boolean;
2296
+ extractText: boolean;
2297
+ versioningEnabled: boolean;
2298
+ publicRead: boolean;
2299
+ presignedUrlExpiry: number;
2300
+ minSize?: number | undefined;
2301
+ maxSize?: number | undefined;
2302
+ allowedTypes?: string[] | undefined;
2303
+ blockedTypes?: string[] | undefined;
2304
+ allowedMimeTypes?: string[] | undefined;
2305
+ blockedMimeTypes?: string[] | undefined;
2306
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
2307
+ storageProvider?: string | undefined;
2308
+ storageBucket?: string | undefined;
2309
+ storagePrefix?: string | undefined;
2310
+ imageValidation?: {
2311
+ generateThumbnails: boolean;
2312
+ preserveMetadata: boolean;
2313
+ autoRotate: boolean;
2314
+ minWidth?: number | undefined;
2315
+ maxWidth?: number | undefined;
2316
+ minHeight?: number | undefined;
2317
+ maxHeight?: number | undefined;
2318
+ aspectRatio?: string | undefined;
2319
+ thumbnailSizes?: {
2320
+ name: string;
2321
+ width: number;
2322
+ height: number;
2323
+ crop: boolean;
2324
+ }[] | undefined;
2325
+ } | undefined;
2326
+ maxVersions?: number | undefined;
2327
+ } | undefined;
2328
+ readonly maskingRule?: {
2329
+ field: string;
2330
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2331
+ preserveFormat: boolean;
2332
+ preserveLength: boolean;
2333
+ pattern?: string | undefined;
2334
+ roles?: string[] | undefined;
2335
+ exemptRoles?: string[] | undefined;
2336
+ } | undefined;
2337
+ readonly auditTrail?: boolean | undefined;
2338
+ readonly cached?: {
2339
+ enabled: boolean;
2340
+ ttl: number;
2341
+ invalidateOn: string[];
2342
+ } | undefined;
2343
+ readonly dataQuality?: {
2344
+ uniqueness: boolean;
2345
+ completeness: number;
2346
+ accuracy?: {
2347
+ source: string;
2348
+ threshold: number;
2349
+ } | undefined;
2350
+ } | undefined;
2351
+ readonly conditionalRequired?: {
2352
+ dialect: "cel" | "js" | "cron" | "template";
2353
+ source?: string | undefined;
2354
+ ast?: unknown;
2355
+ meta?: {
2356
+ rationale?: string | undefined;
2357
+ generatedBy?: string | undefined;
2358
+ } | undefined;
2359
+ } | undefined;
2360
+ readonly hidden?: boolean | undefined;
2361
+ readonly sortable?: boolean | undefined;
2362
+ readonly inlineHelpText?: string | undefined;
2363
+ readonly trackFeedHistory?: boolean | undefined;
2364
+ readonly caseSensitive?: boolean | undefined;
2365
+ readonly autonumberFormat?: string | undefined;
2366
+ readonly index?: boolean | undefined;
2367
+ readonly type: "boolean";
2368
+ };
2369
+ readonly definition_json: {
2370
+ readonly readonly?: boolean | undefined;
2371
+ readonly format?: string | undefined;
2372
+ readonly options?: {
2373
+ label: string;
2374
+ value: string;
2375
+ color?: string | undefined;
2376
+ default?: boolean | undefined;
2377
+ }[] | undefined;
2378
+ readonly description?: string | undefined;
2379
+ readonly label?: string | undefined;
2380
+ readonly name?: string | undefined;
2381
+ readonly precision?: number | undefined;
2382
+ readonly required?: boolean | undefined;
2383
+ readonly multiple?: boolean | undefined;
2384
+ readonly dependencies?: string[] | undefined;
2385
+ readonly theme?: string | undefined;
2386
+ readonly externalId?: boolean | undefined;
2387
+ readonly system?: boolean | undefined;
2388
+ readonly min?: number | undefined;
2389
+ readonly max?: number | undefined;
2390
+ readonly group?: string | undefined;
2391
+ readonly encryptionConfig?: {
2392
+ enabled: boolean;
2393
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
2394
+ keyManagement: {
2395
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
2396
+ keyId?: string | undefined;
2397
+ rotationPolicy?: {
2398
+ enabled: boolean;
2399
+ frequencyDays: number;
2400
+ retainOldVersions: number;
2401
+ autoRotate: boolean;
2402
+ } | undefined;
2403
+ };
2404
+ scope: "record" | "field" | "table" | "database";
2405
+ deterministicEncryption: boolean;
2406
+ searchableEncryption: boolean;
2407
+ } | undefined;
2408
+ readonly columnName?: string | undefined;
2409
+ readonly searchable?: boolean | undefined;
2410
+ readonly unique?: boolean | undefined;
2411
+ readonly defaultValue?: unknown;
2412
+ readonly maxLength?: number | undefined;
2413
+ readonly minLength?: number | undefined;
2414
+ readonly scale?: number | undefined;
2415
+ readonly reference?: string | undefined;
2416
+ readonly referenceFilters?: string[] | undefined;
2417
+ readonly writeRequiresMasterRead?: boolean | undefined;
2418
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2419
+ readonly expression?: {
2420
+ dialect: "cel" | "js" | "cron" | "template";
2421
+ source?: string | undefined;
2422
+ ast?: unknown;
2423
+ meta?: {
2424
+ rationale?: string | undefined;
2425
+ generatedBy?: string | undefined;
2426
+ } | undefined;
2427
+ } | undefined;
2428
+ readonly summaryOperations?: {
2429
+ object: string;
2430
+ field: string;
2431
+ function: "min" | "max" | "count" | "sum" | "avg";
2432
+ } | undefined;
2433
+ readonly language?: string | undefined;
2434
+ readonly lineNumbers?: boolean | undefined;
2435
+ readonly maxRating?: number | undefined;
2436
+ readonly allowHalf?: boolean | undefined;
2437
+ readonly displayMap?: boolean | undefined;
2438
+ readonly allowGeocoding?: boolean | undefined;
2439
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
2440
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
2441
+ readonly allowAlpha?: boolean | undefined;
2442
+ readonly presetColors?: string[] | undefined;
2443
+ readonly step?: number | undefined;
2444
+ readonly showValue?: boolean | undefined;
2445
+ readonly marks?: Record<string, string> | undefined;
2446
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
2447
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
2448
+ readonly displayValue?: boolean | undefined;
2449
+ readonly allowScanning?: boolean | undefined;
2450
+ readonly currencyConfig?: {
2451
+ precision: number;
2452
+ currencyMode: "fixed" | "dynamic";
2453
+ defaultCurrency: string;
2454
+ } | undefined;
2455
+ readonly vectorConfig?: {
2456
+ dimensions: number;
2457
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2458
+ normalized: boolean;
2459
+ indexed: boolean;
2460
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2461
+ } | undefined;
2462
+ readonly fileAttachmentConfig?: {
2463
+ virusScan: boolean;
2464
+ virusScanOnUpload: boolean;
2465
+ quarantineOnThreat: boolean;
2466
+ allowMultiple: boolean;
2467
+ allowReplace: boolean;
2468
+ allowDelete: boolean;
2469
+ requireUpload: boolean;
2470
+ extractMetadata: boolean;
2471
+ extractText: boolean;
2472
+ versioningEnabled: boolean;
2473
+ publicRead: boolean;
2474
+ presignedUrlExpiry: number;
2475
+ minSize?: number | undefined;
2476
+ maxSize?: number | undefined;
2477
+ allowedTypes?: string[] | undefined;
2478
+ blockedTypes?: string[] | undefined;
2479
+ allowedMimeTypes?: string[] | undefined;
2480
+ blockedMimeTypes?: string[] | undefined;
2481
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
2482
+ storageProvider?: string | undefined;
2483
+ storageBucket?: string | undefined;
2484
+ storagePrefix?: string | undefined;
2485
+ imageValidation?: {
2486
+ generateThumbnails: boolean;
2487
+ preserveMetadata: boolean;
2488
+ autoRotate: boolean;
2489
+ minWidth?: number | undefined;
2490
+ maxWidth?: number | undefined;
2491
+ minHeight?: number | undefined;
2492
+ maxHeight?: number | undefined;
2493
+ aspectRatio?: string | undefined;
2494
+ thumbnailSizes?: {
2495
+ name: string;
2496
+ width: number;
2497
+ height: number;
2498
+ crop: boolean;
2499
+ }[] | undefined;
2500
+ } | undefined;
2501
+ maxVersions?: number | undefined;
2502
+ } | undefined;
2503
+ readonly maskingRule?: {
2504
+ field: string;
2505
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2506
+ preserveFormat: boolean;
2507
+ preserveLength: boolean;
2508
+ pattern?: string | undefined;
2509
+ roles?: string[] | undefined;
2510
+ exemptRoles?: string[] | undefined;
2511
+ } | undefined;
2512
+ readonly auditTrail?: boolean | undefined;
2513
+ readonly cached?: {
2514
+ enabled: boolean;
2515
+ ttl: number;
2516
+ invalidateOn: string[];
2517
+ } | undefined;
2518
+ readonly dataQuality?: {
2519
+ uniqueness: boolean;
2520
+ completeness: number;
2521
+ accuracy?: {
2522
+ source: string;
2523
+ threshold: number;
2524
+ } | undefined;
2525
+ } | undefined;
2526
+ readonly conditionalRequired?: {
2527
+ dialect: "cel" | "js" | "cron" | "template";
2528
+ source?: string | undefined;
2529
+ ast?: unknown;
2530
+ meta?: {
2531
+ rationale?: string | undefined;
2532
+ generatedBy?: string | undefined;
2533
+ } | undefined;
2534
+ } | undefined;
2535
+ readonly hidden?: boolean | undefined;
2536
+ readonly sortable?: boolean | undefined;
2537
+ readonly inlineHelpText?: string | undefined;
2538
+ readonly trackFeedHistory?: boolean | undefined;
2539
+ readonly caseSensitive?: boolean | undefined;
2540
+ readonly autonumberFormat?: string | undefined;
2541
+ readonly index?: boolean | undefined;
2542
+ readonly type: "textarea";
2543
+ };
2544
+ readonly created_at: {
2545
+ readonly readonly?: boolean | undefined;
2546
+ readonly format?: string | undefined;
2547
+ readonly options?: {
2548
+ label: string;
2549
+ value: string;
2550
+ color?: string | undefined;
2551
+ default?: boolean | undefined;
2552
+ }[] | undefined;
2553
+ readonly description?: string | undefined;
2554
+ readonly label?: string | undefined;
2555
+ readonly name?: string | undefined;
2556
+ readonly precision?: number | undefined;
2557
+ readonly required?: boolean | undefined;
2558
+ readonly multiple?: boolean | undefined;
2559
+ readonly dependencies?: string[] | undefined;
2560
+ readonly theme?: string | undefined;
2561
+ readonly externalId?: boolean | undefined;
2562
+ readonly system?: boolean | undefined;
2563
+ readonly min?: number | undefined;
2564
+ readonly max?: number | undefined;
2565
+ readonly group?: string | undefined;
2566
+ readonly encryptionConfig?: {
2567
+ enabled: boolean;
2568
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
2569
+ keyManagement: {
2570
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
2571
+ keyId?: string | undefined;
2572
+ rotationPolicy?: {
2573
+ enabled: boolean;
2574
+ frequencyDays: number;
2575
+ retainOldVersions: number;
2576
+ autoRotate: boolean;
2577
+ } | undefined;
2578
+ };
2579
+ scope: "record" | "field" | "table" | "database";
2580
+ deterministicEncryption: boolean;
2581
+ searchableEncryption: boolean;
2582
+ } | undefined;
2583
+ readonly columnName?: string | undefined;
2584
+ readonly searchable?: boolean | undefined;
2585
+ readonly unique?: boolean | undefined;
2586
+ readonly defaultValue?: unknown;
2587
+ readonly maxLength?: number | undefined;
2588
+ readonly minLength?: number | undefined;
2589
+ readonly scale?: number | undefined;
2590
+ readonly reference?: string | undefined;
2591
+ readonly referenceFilters?: string[] | undefined;
2592
+ readonly writeRequiresMasterRead?: boolean | undefined;
2593
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2594
+ readonly expression?: {
2595
+ dialect: "cel" | "js" | "cron" | "template";
2596
+ source?: string | undefined;
2597
+ ast?: unknown;
2598
+ meta?: {
2599
+ rationale?: string | undefined;
2600
+ generatedBy?: string | undefined;
2601
+ } | undefined;
2602
+ } | undefined;
2603
+ readonly summaryOperations?: {
2604
+ object: string;
2605
+ field: string;
2606
+ function: "min" | "max" | "count" | "sum" | "avg";
2607
+ } | undefined;
2608
+ readonly language?: string | undefined;
2609
+ readonly lineNumbers?: boolean | undefined;
2610
+ readonly maxRating?: number | undefined;
2611
+ readonly allowHalf?: boolean | undefined;
2612
+ readonly displayMap?: boolean | undefined;
2613
+ readonly allowGeocoding?: boolean | undefined;
2614
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
2615
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
2616
+ readonly allowAlpha?: boolean | undefined;
2617
+ readonly presetColors?: string[] | undefined;
2618
+ readonly step?: number | undefined;
2619
+ readonly showValue?: boolean | undefined;
2620
+ readonly marks?: Record<string, string> | undefined;
2621
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
2622
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
2623
+ readonly displayValue?: boolean | undefined;
2624
+ readonly allowScanning?: boolean | undefined;
2625
+ readonly currencyConfig?: {
2626
+ precision: number;
2627
+ currencyMode: "fixed" | "dynamic";
2628
+ defaultCurrency: string;
2629
+ } | undefined;
2630
+ readonly vectorConfig?: {
2631
+ dimensions: number;
2632
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2633
+ normalized: boolean;
2634
+ indexed: boolean;
2635
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2636
+ } | undefined;
2637
+ readonly fileAttachmentConfig?: {
2638
+ virusScan: boolean;
2639
+ virusScanOnUpload: boolean;
2640
+ quarantineOnThreat: boolean;
2641
+ allowMultiple: boolean;
2642
+ allowReplace: boolean;
2643
+ allowDelete: boolean;
2644
+ requireUpload: boolean;
2645
+ extractMetadata: boolean;
2646
+ extractText: boolean;
2647
+ versioningEnabled: boolean;
2648
+ publicRead: boolean;
2649
+ presignedUrlExpiry: number;
2650
+ minSize?: number | undefined;
2651
+ maxSize?: number | undefined;
2652
+ allowedTypes?: string[] | undefined;
2653
+ blockedTypes?: string[] | undefined;
2654
+ allowedMimeTypes?: string[] | undefined;
2655
+ blockedMimeTypes?: string[] | undefined;
2656
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
2657
+ storageProvider?: string | undefined;
2658
+ storageBucket?: string | undefined;
2659
+ storagePrefix?: string | undefined;
2660
+ imageValidation?: {
2661
+ generateThumbnails: boolean;
2662
+ preserveMetadata: boolean;
2663
+ autoRotate: boolean;
2664
+ minWidth?: number | undefined;
2665
+ maxWidth?: number | undefined;
2666
+ minHeight?: number | undefined;
2667
+ maxHeight?: number | undefined;
2668
+ aspectRatio?: string | undefined;
2669
+ thumbnailSizes?: {
2670
+ name: string;
2671
+ width: number;
2672
+ height: number;
2673
+ crop: boolean;
2674
+ }[] | undefined;
2675
+ } | undefined;
2676
+ maxVersions?: number | undefined;
2677
+ } | undefined;
2678
+ readonly maskingRule?: {
2679
+ field: string;
2680
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2681
+ preserveFormat: boolean;
2682
+ preserveLength: boolean;
2683
+ pattern?: string | undefined;
2684
+ roles?: string[] | undefined;
2685
+ exemptRoles?: string[] | undefined;
2686
+ } | undefined;
2687
+ readonly auditTrail?: boolean | undefined;
2688
+ readonly cached?: {
2689
+ enabled: boolean;
2690
+ ttl: number;
2691
+ invalidateOn: string[];
2692
+ } | undefined;
2693
+ readonly dataQuality?: {
2694
+ uniqueness: boolean;
2695
+ completeness: number;
2696
+ accuracy?: {
2697
+ source: string;
2698
+ threshold: number;
2699
+ } | undefined;
2700
+ } | undefined;
2701
+ readonly conditionalRequired?: {
2702
+ dialect: "cel" | "js" | "cron" | "template";
2703
+ source?: string | undefined;
2704
+ ast?: unknown;
2705
+ meta?: {
2706
+ rationale?: string | undefined;
2707
+ generatedBy?: string | undefined;
2708
+ } | undefined;
2709
+ } | undefined;
2710
+ readonly hidden?: boolean | undefined;
2711
+ readonly sortable?: boolean | undefined;
2712
+ readonly inlineHelpText?: string | undefined;
2713
+ readonly trackFeedHistory?: boolean | undefined;
2714
+ readonly caseSensitive?: boolean | undefined;
2715
+ readonly autonumberFormat?: string | undefined;
2716
+ readonly index?: boolean | undefined;
2717
+ readonly type: "datetime";
2718
+ };
2719
+ readonly updated_at: {
2720
+ readonly readonly?: boolean | undefined;
2721
+ readonly format?: string | undefined;
2722
+ readonly options?: {
2723
+ label: string;
2724
+ value: string;
2725
+ color?: string | undefined;
2726
+ default?: boolean | undefined;
2727
+ }[] | undefined;
2728
+ readonly description?: string | undefined;
2729
+ readonly label?: string | undefined;
2730
+ readonly name?: string | undefined;
2731
+ readonly precision?: number | undefined;
2732
+ readonly required?: boolean | undefined;
2733
+ readonly multiple?: boolean | undefined;
2734
+ readonly dependencies?: string[] | undefined;
2735
+ readonly theme?: string | undefined;
2736
+ readonly externalId?: boolean | undefined;
2737
+ readonly system?: boolean | undefined;
2738
+ readonly min?: number | undefined;
2739
+ readonly max?: number | undefined;
2740
+ readonly group?: string | undefined;
2741
+ readonly encryptionConfig?: {
2742
+ enabled: boolean;
2743
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
2744
+ keyManagement: {
2745
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
2746
+ keyId?: string | undefined;
2747
+ rotationPolicy?: {
2748
+ enabled: boolean;
2749
+ frequencyDays: number;
2750
+ retainOldVersions: number;
2751
+ autoRotate: boolean;
2752
+ } | undefined;
2753
+ };
2754
+ scope: "record" | "field" | "table" | "database";
2755
+ deterministicEncryption: boolean;
2756
+ searchableEncryption: boolean;
2757
+ } | undefined;
2758
+ readonly columnName?: string | undefined;
2759
+ readonly searchable?: boolean | undefined;
2760
+ readonly unique?: boolean | undefined;
2761
+ readonly defaultValue?: unknown;
2762
+ readonly maxLength?: number | undefined;
2763
+ readonly minLength?: number | undefined;
2764
+ readonly scale?: number | undefined;
2765
+ readonly reference?: string | undefined;
2766
+ readonly referenceFilters?: string[] | undefined;
2767
+ readonly writeRequiresMasterRead?: boolean | undefined;
2768
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2769
+ readonly expression?: {
2770
+ dialect: "cel" | "js" | "cron" | "template";
2771
+ source?: string | undefined;
2772
+ ast?: unknown;
2773
+ meta?: {
2774
+ rationale?: string | undefined;
2775
+ generatedBy?: string | undefined;
2776
+ } | undefined;
2777
+ } | undefined;
2778
+ readonly summaryOperations?: {
2779
+ object: string;
2780
+ field: string;
2781
+ function: "min" | "max" | "count" | "sum" | "avg";
2782
+ } | undefined;
2783
+ readonly language?: string | undefined;
2784
+ readonly lineNumbers?: boolean | undefined;
2785
+ readonly maxRating?: number | undefined;
2786
+ readonly allowHalf?: boolean | undefined;
2787
+ readonly displayMap?: boolean | undefined;
2788
+ readonly allowGeocoding?: boolean | undefined;
2789
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
2790
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
2791
+ readonly allowAlpha?: boolean | undefined;
2792
+ readonly presetColors?: string[] | undefined;
2793
+ readonly step?: number | undefined;
2794
+ readonly showValue?: boolean | undefined;
2795
+ readonly marks?: Record<string, string> | undefined;
2796
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
2797
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
2798
+ readonly displayValue?: boolean | undefined;
2799
+ readonly allowScanning?: boolean | undefined;
2800
+ readonly currencyConfig?: {
2801
+ precision: number;
2802
+ currencyMode: "fixed" | "dynamic";
2803
+ defaultCurrency: string;
2804
+ } | undefined;
2805
+ readonly vectorConfig?: {
2806
+ dimensions: number;
2807
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2808
+ normalized: boolean;
2809
+ indexed: boolean;
2810
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2811
+ } | undefined;
2812
+ readonly fileAttachmentConfig?: {
2813
+ virusScan: boolean;
2814
+ virusScanOnUpload: boolean;
2815
+ quarantineOnThreat: boolean;
2816
+ allowMultiple: boolean;
2817
+ allowReplace: boolean;
2818
+ allowDelete: boolean;
2819
+ requireUpload: boolean;
2820
+ extractMetadata: boolean;
2821
+ extractText: boolean;
2822
+ versioningEnabled: boolean;
2823
+ publicRead: boolean;
2824
+ presignedUrlExpiry: number;
2825
+ minSize?: number | undefined;
2826
+ maxSize?: number | undefined;
2827
+ allowedTypes?: string[] | undefined;
2828
+ blockedTypes?: string[] | undefined;
2829
+ allowedMimeTypes?: string[] | undefined;
2830
+ blockedMimeTypes?: string[] | undefined;
2831
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
2832
+ storageProvider?: string | undefined;
2833
+ storageBucket?: string | undefined;
2834
+ storagePrefix?: string | undefined;
2835
+ imageValidation?: {
2836
+ generateThumbnails: boolean;
2837
+ preserveMetadata: boolean;
2838
+ autoRotate: boolean;
2839
+ minWidth?: number | undefined;
2840
+ maxWidth?: number | undefined;
2841
+ minHeight?: number | undefined;
2842
+ maxHeight?: number | undefined;
2843
+ aspectRatio?: string | undefined;
2844
+ thumbnailSizes?: {
2845
+ name: string;
2846
+ width: number;
2847
+ height: number;
2848
+ crop: boolean;
2849
+ }[] | undefined;
2850
+ } | undefined;
2851
+ maxVersions?: number | undefined;
2852
+ } | undefined;
2853
+ readonly maskingRule?: {
2854
+ field: string;
2855
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2856
+ preserveFormat: boolean;
2857
+ preserveLength: boolean;
2858
+ pattern?: string | undefined;
2859
+ roles?: string[] | undefined;
2860
+ exemptRoles?: string[] | undefined;
2861
+ } | undefined;
2862
+ readonly auditTrail?: boolean | undefined;
2863
+ readonly cached?: {
2864
+ enabled: boolean;
2865
+ ttl: number;
2866
+ invalidateOn: string[];
2867
+ } | undefined;
2868
+ readonly dataQuality?: {
2869
+ uniqueness: boolean;
2870
+ completeness: number;
2871
+ accuracy?: {
2872
+ source: string;
2873
+ threshold: number;
2874
+ } | undefined;
2875
+ } | undefined;
2876
+ readonly conditionalRequired?: {
2877
+ dialect: "cel" | "js" | "cron" | "template";
2878
+ source?: string | undefined;
2879
+ ast?: unknown;
2880
+ meta?: {
2881
+ rationale?: string | undefined;
2882
+ generatedBy?: string | undefined;
2883
+ } | undefined;
2884
+ } | undefined;
2885
+ readonly hidden?: boolean | undefined;
2886
+ readonly sortable?: boolean | undefined;
2887
+ readonly inlineHelpText?: string | undefined;
2888
+ readonly trackFeedHistory?: boolean | undefined;
2889
+ readonly caseSensitive?: boolean | undefined;
2890
+ readonly autonumberFormat?: string | undefined;
2891
+ readonly index?: boolean | undefined;
2892
+ readonly type: "datetime";
2893
+ };
2894
+ };
2895
+ readonly indexes: [{
2896
+ readonly fields: ["name"];
2897
+ readonly unique: true;
2898
+ }, {
2899
+ readonly fields: ["object_name"];
2900
+ }, {
2901
+ readonly fields: ["active", "object_name"];
2902
+ }];
2903
+ }, "fields">;
2904
+
2905
+ export { SysWebhook };