@objectstack/platform-objects 5.1.0 → 6.0.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.
@@ -8169,7 +8169,7 @@ declare const SysActivity: Omit<{
8169
8169
  readonly index?: boolean | undefined;
8170
8170
  readonly type: "url";
8171
8171
  };
8172
- readonly project_id: {
8172
+ readonly environment_id: {
8173
8173
  readonly readonly?: boolean | undefined;
8174
8174
  readonly format?: string | undefined;
8175
8175
  readonly options?: {
@@ -8529,7 +8529,7 @@ declare const SysActivity: Omit<{
8529
8529
  }, {
8530
8530
  readonly fields: ["type"];
8531
8531
  }, {
8532
- readonly fields: ["project_id"];
8532
+ readonly fields: ["environment_id"];
8533
8533
  }];
8534
8534
  readonly enable: {
8535
8535
  readonly trackHistory: false;
@@ -15557,6 +15557,49 @@ declare const SysNotification: Omit<{
15557
15557
  readonly displayNameField: "title";
15558
15558
  readonly titleFormat: "{title}";
15559
15559
  readonly compactLayout: ["title", "type", "is_read", "created_at"];
15560
+ /**
15561
+ * Row-level inbox actions. Use `visible` CEL expressions to ensure
15562
+ * `mark_read` only shows on unread rows and vice-versa, mirroring the
15563
+ * mark-as-read affordances in GitHub / Linear inboxes. The toolbar-level
15564
+ * `mark_all_read` is intentionally omitted server-side: it requires a
15565
+ * bulk update primitive that doesn't yet exist on the REST surface, and
15566
+ * the popover already handles the multi-row case client-side via N
15567
+ * single-row PATCHes (see `InboxPopover.tsx` -> AppHeader `markAllRead`).
15568
+ */
15569
+ readonly actions: [{
15570
+ readonly name: "mark_read";
15571
+ readonly label: "Mark as Read";
15572
+ readonly icon: "check";
15573
+ readonly variant: "secondary";
15574
+ readonly mode: "custom";
15575
+ readonly locations: ["list_item"];
15576
+ readonly type: "api";
15577
+ readonly method: "PATCH";
15578
+ readonly target: "/api/v1/data/sys_notification/{id}";
15579
+ readonly bodyExtra: {
15580
+ readonly is_read: true;
15581
+ };
15582
+ readonly visible: "!record.is_read";
15583
+ readonly successMessage: "Notification marked as read";
15584
+ readonly refreshAfter: true;
15585
+ }, {
15586
+ readonly name: "mark_unread";
15587
+ readonly label: "Mark as Unread";
15588
+ readonly icon: "bell-dot";
15589
+ readonly variant: "secondary";
15590
+ readonly mode: "custom";
15591
+ readonly locations: ["list_item"];
15592
+ readonly type: "api";
15593
+ readonly method: "PATCH";
15594
+ readonly target: "/api/v1/data/sys_notification/{id}";
15595
+ readonly bodyExtra: {
15596
+ readonly is_read: false;
15597
+ readonly read_at: null;
15598
+ };
15599
+ readonly visible: "record.is_read";
15600
+ readonly successMessage: "Notification marked as unread";
15601
+ readonly refreshAfter: true;
15602
+ }];
15560
15603
  readonly listViews: {
15561
15604
  readonly unread: {
15562
15605
  readonly type: "grid";
@@ -15566,7 +15609,7 @@ declare const SysNotification: Omit<{
15566
15609
  readonly provider: "object";
15567
15610
  readonly object: "sys_notification";
15568
15611
  };
15569
- readonly columns: ["type", "title", "recipient_id", "created_at"];
15612
+ readonly columns: ["title", "actor_name", "type", "created_at"];
15570
15613
  readonly filter: [{
15571
15614
  readonly field: "recipient_id";
15572
15615
  readonly operator: "equals";
@@ -15596,7 +15639,7 @@ declare const SysNotification: Omit<{
15596
15639
  readonly provider: "object";
15597
15640
  readonly object: "sys_notification";
15598
15641
  };
15599
- readonly columns: ["type", "title", "is_read", "created_at"];
15642
+ readonly columns: ["title", "actor_name", "type", "is_read", "created_at"];
15600
15643
  readonly filter: [{
15601
15644
  readonly field: "recipient_id";
15602
15645
  readonly operator: "equals";
@@ -15609,6 +15652,13 @@ declare const SysNotification: Omit<{
15609
15652
  readonly pagination: {
15610
15653
  readonly pageSize: 50;
15611
15654
  };
15655
+ readonly grouping: {
15656
+ readonly fields: [{
15657
+ readonly field: "type";
15658
+ readonly order: "asc";
15659
+ readonly collapsed: false;
15660
+ }];
15661
+ };
15612
15662
  };
15613
15663
  readonly all_notifications: {
15614
15664
  readonly type: "grid";
@@ -15618,7 +15668,7 @@ declare const SysNotification: Omit<{
15618
15668
  readonly provider: "object";
15619
15669
  readonly object: "sys_notification";
15620
15670
  };
15621
- readonly columns: ["type", "title", "recipient_id", "is_read", "created_at"];
15671
+ readonly columns: ["title", "recipient_id", "actor_name", "type", "is_read", "created_at"];
15622
15672
  readonly sort: [{
15623
15673
  readonly field: "created_at";
15624
15674
  readonly order: "desc";
@@ -37384,6 +37434,181 @@ declare const SysApprovalRequest: Omit<{
37384
37434
  readonly index?: boolean | undefined;
37385
37435
  readonly type: "textarea";
37386
37436
  };
37437
+ readonly process_hash: {
37438
+ readonly readonly?: boolean | undefined;
37439
+ readonly format?: string | undefined;
37440
+ readonly options?: {
37441
+ label: string;
37442
+ value: string;
37443
+ color?: string | undefined;
37444
+ default?: boolean | undefined;
37445
+ }[] | undefined;
37446
+ readonly description?: string | undefined;
37447
+ readonly label?: string | undefined;
37448
+ readonly name?: string | undefined;
37449
+ readonly precision?: number | undefined;
37450
+ readonly required?: boolean | undefined;
37451
+ readonly multiple?: boolean | undefined;
37452
+ readonly dependencies?: string[] | undefined;
37453
+ readonly theme?: string | undefined;
37454
+ readonly externalId?: boolean | undefined;
37455
+ readonly system?: boolean | undefined;
37456
+ readonly min?: number | undefined;
37457
+ readonly max?: number | undefined;
37458
+ readonly group?: string | undefined;
37459
+ readonly encryptionConfig?: {
37460
+ enabled: boolean;
37461
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
37462
+ keyManagement: {
37463
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
37464
+ keyId?: string | undefined;
37465
+ rotationPolicy?: {
37466
+ enabled: boolean;
37467
+ frequencyDays: number;
37468
+ retainOldVersions: number;
37469
+ autoRotate: boolean;
37470
+ } | undefined;
37471
+ };
37472
+ scope: "record" | "field" | "table" | "database";
37473
+ deterministicEncryption: boolean;
37474
+ searchableEncryption: boolean;
37475
+ } | undefined;
37476
+ readonly columnName?: string | undefined;
37477
+ readonly searchable?: boolean | undefined;
37478
+ readonly unique?: boolean | undefined;
37479
+ readonly defaultValue?: unknown;
37480
+ readonly maxLength?: number | undefined;
37481
+ readonly minLength?: number | undefined;
37482
+ readonly scale?: number | undefined;
37483
+ readonly reference?: string | undefined;
37484
+ readonly referenceFilters?: string[] | undefined;
37485
+ readonly writeRequiresMasterRead?: boolean | undefined;
37486
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
37487
+ readonly expression?: {
37488
+ dialect: "cel" | "js" | "cron" | "template";
37489
+ source?: string | undefined;
37490
+ ast?: unknown;
37491
+ meta?: {
37492
+ rationale?: string | undefined;
37493
+ generatedBy?: string | undefined;
37494
+ } | undefined;
37495
+ } | undefined;
37496
+ readonly summaryOperations?: {
37497
+ object: string;
37498
+ field: string;
37499
+ function: "min" | "max" | "count" | "sum" | "avg";
37500
+ } | undefined;
37501
+ readonly language?: string | undefined;
37502
+ readonly lineNumbers?: boolean | undefined;
37503
+ readonly maxRating?: number | undefined;
37504
+ readonly allowHalf?: boolean | undefined;
37505
+ readonly displayMap?: boolean | undefined;
37506
+ readonly allowGeocoding?: boolean | undefined;
37507
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
37508
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
37509
+ readonly allowAlpha?: boolean | undefined;
37510
+ readonly presetColors?: string[] | undefined;
37511
+ readonly step?: number | undefined;
37512
+ readonly showValue?: boolean | undefined;
37513
+ readonly marks?: Record<string, string> | undefined;
37514
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
37515
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
37516
+ readonly displayValue?: boolean | undefined;
37517
+ readonly allowScanning?: boolean | undefined;
37518
+ readonly currencyConfig?: {
37519
+ precision: number;
37520
+ currencyMode: "fixed" | "dynamic";
37521
+ defaultCurrency: string;
37522
+ } | undefined;
37523
+ readonly vectorConfig?: {
37524
+ dimensions: number;
37525
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
37526
+ normalized: boolean;
37527
+ indexed: boolean;
37528
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
37529
+ } | undefined;
37530
+ readonly fileAttachmentConfig?: {
37531
+ virusScan: boolean;
37532
+ virusScanOnUpload: boolean;
37533
+ quarantineOnThreat: boolean;
37534
+ allowMultiple: boolean;
37535
+ allowReplace: boolean;
37536
+ allowDelete: boolean;
37537
+ requireUpload: boolean;
37538
+ extractMetadata: boolean;
37539
+ extractText: boolean;
37540
+ versioningEnabled: boolean;
37541
+ publicRead: boolean;
37542
+ presignedUrlExpiry: number;
37543
+ minSize?: number | undefined;
37544
+ maxSize?: number | undefined;
37545
+ allowedTypes?: string[] | undefined;
37546
+ blockedTypes?: string[] | undefined;
37547
+ allowedMimeTypes?: string[] | undefined;
37548
+ blockedMimeTypes?: string[] | undefined;
37549
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
37550
+ storageProvider?: string | undefined;
37551
+ storageBucket?: string | undefined;
37552
+ storagePrefix?: string | undefined;
37553
+ imageValidation?: {
37554
+ generateThumbnails: boolean;
37555
+ preserveMetadata: boolean;
37556
+ autoRotate: boolean;
37557
+ minWidth?: number | undefined;
37558
+ maxWidth?: number | undefined;
37559
+ minHeight?: number | undefined;
37560
+ maxHeight?: number | undefined;
37561
+ aspectRatio?: string | undefined;
37562
+ thumbnailSizes?: {
37563
+ name: string;
37564
+ width: number;
37565
+ height: number;
37566
+ crop: boolean;
37567
+ }[] | undefined;
37568
+ } | undefined;
37569
+ maxVersions?: number | undefined;
37570
+ } | undefined;
37571
+ readonly maskingRule?: {
37572
+ field: string;
37573
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
37574
+ preserveFormat: boolean;
37575
+ preserveLength: boolean;
37576
+ pattern?: string | undefined;
37577
+ roles?: string[] | undefined;
37578
+ exemptRoles?: string[] | undefined;
37579
+ } | undefined;
37580
+ readonly auditTrail?: boolean | undefined;
37581
+ readonly cached?: {
37582
+ enabled: boolean;
37583
+ ttl: number;
37584
+ invalidateOn: string[];
37585
+ } | undefined;
37586
+ readonly dataQuality?: {
37587
+ uniqueness: boolean;
37588
+ completeness: number;
37589
+ accuracy?: {
37590
+ source: string;
37591
+ threshold: number;
37592
+ } | undefined;
37593
+ } | undefined;
37594
+ readonly conditionalRequired?: {
37595
+ dialect: "cel" | "js" | "cron" | "template";
37596
+ source?: string | undefined;
37597
+ ast?: unknown;
37598
+ meta?: {
37599
+ rationale?: string | undefined;
37600
+ generatedBy?: string | undefined;
37601
+ } | undefined;
37602
+ } | undefined;
37603
+ readonly hidden?: boolean | undefined;
37604
+ readonly sortable?: boolean | undefined;
37605
+ readonly inlineHelpText?: string | undefined;
37606
+ readonly trackFeedHistory?: boolean | undefined;
37607
+ readonly caseSensitive?: boolean | undefined;
37608
+ readonly autonumberFormat?: string | undefined;
37609
+ readonly index?: boolean | undefined;
37610
+ readonly type: "text";
37611
+ };
37387
37612
  readonly completed_at: {
37388
37613
  readonly readonly?: boolean | undefined;
37389
37614
  readonly format?: string | undefined;
@@ -8169,7 +8169,7 @@ declare const SysActivity: Omit<{
8169
8169
  readonly index?: boolean | undefined;
8170
8170
  readonly type: "url";
8171
8171
  };
8172
- readonly project_id: {
8172
+ readonly environment_id: {
8173
8173
  readonly readonly?: boolean | undefined;
8174
8174
  readonly format?: string | undefined;
8175
8175
  readonly options?: {
@@ -8529,7 +8529,7 @@ declare const SysActivity: Omit<{
8529
8529
  }, {
8530
8530
  readonly fields: ["type"];
8531
8531
  }, {
8532
- readonly fields: ["project_id"];
8532
+ readonly fields: ["environment_id"];
8533
8533
  }];
8534
8534
  readonly enable: {
8535
8535
  readonly trackHistory: false;
@@ -15557,6 +15557,49 @@ declare const SysNotification: Omit<{
15557
15557
  readonly displayNameField: "title";
15558
15558
  readonly titleFormat: "{title}";
15559
15559
  readonly compactLayout: ["title", "type", "is_read", "created_at"];
15560
+ /**
15561
+ * Row-level inbox actions. Use `visible` CEL expressions to ensure
15562
+ * `mark_read` only shows on unread rows and vice-versa, mirroring the
15563
+ * mark-as-read affordances in GitHub / Linear inboxes. The toolbar-level
15564
+ * `mark_all_read` is intentionally omitted server-side: it requires a
15565
+ * bulk update primitive that doesn't yet exist on the REST surface, and
15566
+ * the popover already handles the multi-row case client-side via N
15567
+ * single-row PATCHes (see `InboxPopover.tsx` -> AppHeader `markAllRead`).
15568
+ */
15569
+ readonly actions: [{
15570
+ readonly name: "mark_read";
15571
+ readonly label: "Mark as Read";
15572
+ readonly icon: "check";
15573
+ readonly variant: "secondary";
15574
+ readonly mode: "custom";
15575
+ readonly locations: ["list_item"];
15576
+ readonly type: "api";
15577
+ readonly method: "PATCH";
15578
+ readonly target: "/api/v1/data/sys_notification/{id}";
15579
+ readonly bodyExtra: {
15580
+ readonly is_read: true;
15581
+ };
15582
+ readonly visible: "!record.is_read";
15583
+ readonly successMessage: "Notification marked as read";
15584
+ readonly refreshAfter: true;
15585
+ }, {
15586
+ readonly name: "mark_unread";
15587
+ readonly label: "Mark as Unread";
15588
+ readonly icon: "bell-dot";
15589
+ readonly variant: "secondary";
15590
+ readonly mode: "custom";
15591
+ readonly locations: ["list_item"];
15592
+ readonly type: "api";
15593
+ readonly method: "PATCH";
15594
+ readonly target: "/api/v1/data/sys_notification/{id}";
15595
+ readonly bodyExtra: {
15596
+ readonly is_read: false;
15597
+ readonly read_at: null;
15598
+ };
15599
+ readonly visible: "record.is_read";
15600
+ readonly successMessage: "Notification marked as unread";
15601
+ readonly refreshAfter: true;
15602
+ }];
15560
15603
  readonly listViews: {
15561
15604
  readonly unread: {
15562
15605
  readonly type: "grid";
@@ -15566,7 +15609,7 @@ declare const SysNotification: Omit<{
15566
15609
  readonly provider: "object";
15567
15610
  readonly object: "sys_notification";
15568
15611
  };
15569
- readonly columns: ["type", "title", "recipient_id", "created_at"];
15612
+ readonly columns: ["title", "actor_name", "type", "created_at"];
15570
15613
  readonly filter: [{
15571
15614
  readonly field: "recipient_id";
15572
15615
  readonly operator: "equals";
@@ -15596,7 +15639,7 @@ declare const SysNotification: Omit<{
15596
15639
  readonly provider: "object";
15597
15640
  readonly object: "sys_notification";
15598
15641
  };
15599
- readonly columns: ["type", "title", "is_read", "created_at"];
15642
+ readonly columns: ["title", "actor_name", "type", "is_read", "created_at"];
15600
15643
  readonly filter: [{
15601
15644
  readonly field: "recipient_id";
15602
15645
  readonly operator: "equals";
@@ -15609,6 +15652,13 @@ declare const SysNotification: Omit<{
15609
15652
  readonly pagination: {
15610
15653
  readonly pageSize: 50;
15611
15654
  };
15655
+ readonly grouping: {
15656
+ readonly fields: [{
15657
+ readonly field: "type";
15658
+ readonly order: "asc";
15659
+ readonly collapsed: false;
15660
+ }];
15661
+ };
15612
15662
  };
15613
15663
  readonly all_notifications: {
15614
15664
  readonly type: "grid";
@@ -15618,7 +15668,7 @@ declare const SysNotification: Omit<{
15618
15668
  readonly provider: "object";
15619
15669
  readonly object: "sys_notification";
15620
15670
  };
15621
- readonly columns: ["type", "title", "recipient_id", "is_read", "created_at"];
15671
+ readonly columns: ["title", "recipient_id", "actor_name", "type", "is_read", "created_at"];
15622
15672
  readonly sort: [{
15623
15673
  readonly field: "created_at";
15624
15674
  readonly order: "desc";
@@ -37384,6 +37434,181 @@ declare const SysApprovalRequest: Omit<{
37384
37434
  readonly index?: boolean | undefined;
37385
37435
  readonly type: "textarea";
37386
37436
  };
37437
+ readonly process_hash: {
37438
+ readonly readonly?: boolean | undefined;
37439
+ readonly format?: string | undefined;
37440
+ readonly options?: {
37441
+ label: string;
37442
+ value: string;
37443
+ color?: string | undefined;
37444
+ default?: boolean | undefined;
37445
+ }[] | undefined;
37446
+ readonly description?: string | undefined;
37447
+ readonly label?: string | undefined;
37448
+ readonly name?: string | undefined;
37449
+ readonly precision?: number | undefined;
37450
+ readonly required?: boolean | undefined;
37451
+ readonly multiple?: boolean | undefined;
37452
+ readonly dependencies?: string[] | undefined;
37453
+ readonly theme?: string | undefined;
37454
+ readonly externalId?: boolean | undefined;
37455
+ readonly system?: boolean | undefined;
37456
+ readonly min?: number | undefined;
37457
+ readonly max?: number | undefined;
37458
+ readonly group?: string | undefined;
37459
+ readonly encryptionConfig?: {
37460
+ enabled: boolean;
37461
+ algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
37462
+ keyManagement: {
37463
+ provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
37464
+ keyId?: string | undefined;
37465
+ rotationPolicy?: {
37466
+ enabled: boolean;
37467
+ frequencyDays: number;
37468
+ retainOldVersions: number;
37469
+ autoRotate: boolean;
37470
+ } | undefined;
37471
+ };
37472
+ scope: "record" | "field" | "table" | "database";
37473
+ deterministicEncryption: boolean;
37474
+ searchableEncryption: boolean;
37475
+ } | undefined;
37476
+ readonly columnName?: string | undefined;
37477
+ readonly searchable?: boolean | undefined;
37478
+ readonly unique?: boolean | undefined;
37479
+ readonly defaultValue?: unknown;
37480
+ readonly maxLength?: number | undefined;
37481
+ readonly minLength?: number | undefined;
37482
+ readonly scale?: number | undefined;
37483
+ readonly reference?: string | undefined;
37484
+ readonly referenceFilters?: string[] | undefined;
37485
+ readonly writeRequiresMasterRead?: boolean | undefined;
37486
+ readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
37487
+ readonly expression?: {
37488
+ dialect: "cel" | "js" | "cron" | "template";
37489
+ source?: string | undefined;
37490
+ ast?: unknown;
37491
+ meta?: {
37492
+ rationale?: string | undefined;
37493
+ generatedBy?: string | undefined;
37494
+ } | undefined;
37495
+ } | undefined;
37496
+ readonly summaryOperations?: {
37497
+ object: string;
37498
+ field: string;
37499
+ function: "min" | "max" | "count" | "sum" | "avg";
37500
+ } | undefined;
37501
+ readonly language?: string | undefined;
37502
+ readonly lineNumbers?: boolean | undefined;
37503
+ readonly maxRating?: number | undefined;
37504
+ readonly allowHalf?: boolean | undefined;
37505
+ readonly displayMap?: boolean | undefined;
37506
+ readonly allowGeocoding?: boolean | undefined;
37507
+ readonly addressFormat?: "us" | "uk" | "international" | undefined;
37508
+ readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
37509
+ readonly allowAlpha?: boolean | undefined;
37510
+ readonly presetColors?: string[] | undefined;
37511
+ readonly step?: number | undefined;
37512
+ readonly showValue?: boolean | undefined;
37513
+ readonly marks?: Record<string, string> | undefined;
37514
+ readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
37515
+ readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
37516
+ readonly displayValue?: boolean | undefined;
37517
+ readonly allowScanning?: boolean | undefined;
37518
+ readonly currencyConfig?: {
37519
+ precision: number;
37520
+ currencyMode: "fixed" | "dynamic";
37521
+ defaultCurrency: string;
37522
+ } | undefined;
37523
+ readonly vectorConfig?: {
37524
+ dimensions: number;
37525
+ distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
37526
+ normalized: boolean;
37527
+ indexed: boolean;
37528
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
37529
+ } | undefined;
37530
+ readonly fileAttachmentConfig?: {
37531
+ virusScan: boolean;
37532
+ virusScanOnUpload: boolean;
37533
+ quarantineOnThreat: boolean;
37534
+ allowMultiple: boolean;
37535
+ allowReplace: boolean;
37536
+ allowDelete: boolean;
37537
+ requireUpload: boolean;
37538
+ extractMetadata: boolean;
37539
+ extractText: boolean;
37540
+ versioningEnabled: boolean;
37541
+ publicRead: boolean;
37542
+ presignedUrlExpiry: number;
37543
+ minSize?: number | undefined;
37544
+ maxSize?: number | undefined;
37545
+ allowedTypes?: string[] | undefined;
37546
+ blockedTypes?: string[] | undefined;
37547
+ allowedMimeTypes?: string[] | undefined;
37548
+ blockedMimeTypes?: string[] | undefined;
37549
+ virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
37550
+ storageProvider?: string | undefined;
37551
+ storageBucket?: string | undefined;
37552
+ storagePrefix?: string | undefined;
37553
+ imageValidation?: {
37554
+ generateThumbnails: boolean;
37555
+ preserveMetadata: boolean;
37556
+ autoRotate: boolean;
37557
+ minWidth?: number | undefined;
37558
+ maxWidth?: number | undefined;
37559
+ minHeight?: number | undefined;
37560
+ maxHeight?: number | undefined;
37561
+ aspectRatio?: string | undefined;
37562
+ thumbnailSizes?: {
37563
+ name: string;
37564
+ width: number;
37565
+ height: number;
37566
+ crop: boolean;
37567
+ }[] | undefined;
37568
+ } | undefined;
37569
+ maxVersions?: number | undefined;
37570
+ } | undefined;
37571
+ readonly maskingRule?: {
37572
+ field: string;
37573
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
37574
+ preserveFormat: boolean;
37575
+ preserveLength: boolean;
37576
+ pattern?: string | undefined;
37577
+ roles?: string[] | undefined;
37578
+ exemptRoles?: string[] | undefined;
37579
+ } | undefined;
37580
+ readonly auditTrail?: boolean | undefined;
37581
+ readonly cached?: {
37582
+ enabled: boolean;
37583
+ ttl: number;
37584
+ invalidateOn: string[];
37585
+ } | undefined;
37586
+ readonly dataQuality?: {
37587
+ uniqueness: boolean;
37588
+ completeness: number;
37589
+ accuracy?: {
37590
+ source: string;
37591
+ threshold: number;
37592
+ } | undefined;
37593
+ } | undefined;
37594
+ readonly conditionalRequired?: {
37595
+ dialect: "cel" | "js" | "cron" | "template";
37596
+ source?: string | undefined;
37597
+ ast?: unknown;
37598
+ meta?: {
37599
+ rationale?: string | undefined;
37600
+ generatedBy?: string | undefined;
37601
+ } | undefined;
37602
+ } | undefined;
37603
+ readonly hidden?: boolean | undefined;
37604
+ readonly sortable?: boolean | undefined;
37605
+ readonly inlineHelpText?: string | undefined;
37606
+ readonly trackFeedHistory?: boolean | undefined;
37607
+ readonly caseSensitive?: boolean | undefined;
37608
+ readonly autonumberFormat?: string | undefined;
37609
+ readonly index?: boolean | undefined;
37610
+ readonly type: "text";
37611
+ };
37387
37612
  readonly completed_at: {
37388
37613
  readonly readonly?: boolean | undefined;
37389
37614
  readonly format?: string | undefined;