@objectstack/metadata 4.0.1 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.cjs +1046 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2618 -36
- package/dist/index.d.ts +2618 -36
- package/dist/index.js +1039 -18
- package/dist/index.js.map +1 -1
- package/dist/node.cjs +1046 -19
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.cts +2 -2
- package/dist/node.d.ts +2 -2
- package/dist/node.js +1039 -18
- package/dist/node.js.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { MetadataFormat, MetadataLoaderContract, MetadataLoadOptions, MetadataLoadResult, MetadataStats, MetadataSaveOptions, MetadataSaveResult, MetadataWatchEvent, MetadataManagerConfig, PackagePublishResult } from '@objectstack/spec/system';
|
|
2
|
-
export { MetadataCollectionInfo, MetadataExportOptions, MetadataFormat, MetadataImportOptions, MetadataLoadOptions, MetadataLoadResult, MetadataLoaderContract, MetadataManagerConfig, MetadataSaveOptions, MetadataSaveResult, MetadataStats, MetadataWatchEvent } from '@objectstack/spec/system';
|
|
3
|
-
import { IMetadataService, IDataDriver, MetadataWatchCallback, MetadataWatchHandle, MetadataExportOptions, MetadataImportOptions, MetadataImportResult, MetadataTypeInfo, ISchemaDriver } from '@objectstack/spec/contracts';
|
|
1
|
+
import { MetadataFormat, MetadataLoaderContract, MetadataLoadOptions, MetadataLoadResult, MetadataStats, MetadataSaveOptions, MetadataSaveResult, MetadataWatchEvent, MetadataManagerConfig, PackagePublishResult, MetadataHistoryQueryOptions, MetadataHistoryQueryResult, MetadataDiffResult, MetadataHistoryRecord, MetadataHistoryRetentionPolicy } from '@objectstack/spec/system';
|
|
2
|
+
export { MetadataCollectionInfo, MetadataDiffResult, MetadataExportOptions, MetadataFormat, MetadataHistoryQueryOptions, MetadataHistoryQueryResult, MetadataHistoryRecord, MetadataHistoryRetentionPolicy, MetadataImportOptions, MetadataLoadOptions, MetadataLoadResult, MetadataLoaderContract, MetadataManagerConfig, MetadataSaveOptions, MetadataSaveResult, MetadataStats, MetadataWatchEvent } from '@objectstack/spec/system';
|
|
3
|
+
import { IMetadataService, IDataDriver, IRealtimeService, MetadataWatchCallback, MetadataWatchHandle, MetadataExportOptions, MetadataImportOptions, MetadataImportResult, MetadataTypeInfo, ISchemaDriver } from '@objectstack/spec/contracts';
|
|
4
4
|
export { IMetadataService, MetadataImportResult, MetadataTypeInfo, MetadataWatchCallback, MetadataWatchHandle } from '@objectstack/spec/contracts';
|
|
5
5
|
import { MetadataTypeRegistryEntry, MetadataQuery, MetadataQueryResult, MetadataBulkResult, MetadataOverlay, MetadataValidationResult, MetadataDependency, MetadataPluginConfig } from '@objectstack/spec/kernel';
|
|
6
6
|
export { MetadataBulkResult, MetadataDependency, MetadataPluginConfig, MetadataPluginManifest, MetadataQuery, MetadataQueryResult, MetadataType, MetadataTypeRegistryEntry, MetadataValidationResult } from '@objectstack/spec/kernel';
|
|
@@ -156,6 +156,7 @@ declare class MetadataManager implements IMetadataService {
|
|
|
156
156
|
private overlays;
|
|
157
157
|
private typeRegistry;
|
|
158
158
|
private dependencies;
|
|
159
|
+
private realtimeService?;
|
|
159
160
|
constructor(config: MetadataManagerOptions);
|
|
160
161
|
/**
|
|
161
162
|
* Set the type registry for metadata type discovery.
|
|
@@ -168,12 +169,22 @@ declare class MetadataManager implements IMetadataService {
|
|
|
168
169
|
* @param driver - An IDataDriver instance for database operations
|
|
169
170
|
*/
|
|
170
171
|
setDatabaseDriver(driver: IDataDriver): void;
|
|
172
|
+
/**
|
|
173
|
+
* Set the realtime service for publishing metadata change events.
|
|
174
|
+
* Should be called after kernel resolves the realtime service.
|
|
175
|
+
*
|
|
176
|
+
* @param service - An IRealtimeService instance for event publishing
|
|
177
|
+
*/
|
|
178
|
+
setRealtimeService(service: IRealtimeService): void;
|
|
171
179
|
/**
|
|
172
180
|
* Register a new metadata loader (data source)
|
|
173
181
|
*/
|
|
174
182
|
registerLoader(loader: MetadataLoader): void;
|
|
175
183
|
/**
|
|
176
184
|
* Register/save a metadata item by type
|
|
185
|
+
* Stores in-memory registry and persists to database-backed loaders only.
|
|
186
|
+
* FilesystemLoader (protocol 'file:') is read-only for static metadata and
|
|
187
|
+
* should not be written to during runtime registration.
|
|
177
188
|
*/
|
|
178
189
|
register(type: string, name: string, data: unknown): Promise<void>;
|
|
179
190
|
/**
|
|
@@ -186,7 +197,8 @@ declare class MetadataManager implements IMetadataService {
|
|
|
186
197
|
*/
|
|
187
198
|
list(type: string): Promise<unknown[]>;
|
|
188
199
|
/**
|
|
189
|
-
* Unregister/remove a metadata item by type and name
|
|
200
|
+
* Unregister/remove a metadata item by type and name.
|
|
201
|
+
* Deletes from database-backed loaders only (same rationale as register()).
|
|
190
202
|
*/
|
|
191
203
|
unregister(type: string, name: string): Promise<void>;
|
|
192
204
|
/**
|
|
@@ -359,6 +371,29 @@ declare class MetadataManager implements IMetadataService {
|
|
|
359
371
|
*/
|
|
360
372
|
stopWatching(): Promise<void>;
|
|
361
373
|
protected notifyWatchers(type: string, event: MetadataWatchEvent): void;
|
|
374
|
+
/**
|
|
375
|
+
* Get the database loader for history operations.
|
|
376
|
+
* Returns undefined if no database loader is configured.
|
|
377
|
+
*/
|
|
378
|
+
private getDatabaseLoader;
|
|
379
|
+
/**
|
|
380
|
+
* Get version history for a metadata item.
|
|
381
|
+
* Returns a timeline of all changes made to the item.
|
|
382
|
+
*/
|
|
383
|
+
getHistory(type: string, name: string, options?: MetadataHistoryQueryOptions): Promise<MetadataHistoryQueryResult>;
|
|
384
|
+
/**
|
|
385
|
+
* Rollback a metadata item to a specific version.
|
|
386
|
+
* Restores the metadata definition from the history snapshot.
|
|
387
|
+
*/
|
|
388
|
+
rollback(type: string, name: string, version: number, options?: {
|
|
389
|
+
changeNote?: string;
|
|
390
|
+
recordedBy?: string;
|
|
391
|
+
}): Promise<unknown>;
|
|
392
|
+
/**
|
|
393
|
+
* Compare two versions of a metadata item.
|
|
394
|
+
* Returns a diff showing what changed between versions.
|
|
395
|
+
*/
|
|
396
|
+
diff(type: string, name: string, version1: number, version2: number): Promise<MetadataDiffResult>;
|
|
362
397
|
}
|
|
363
398
|
|
|
364
399
|
interface MetadataPluginOptions {
|
|
@@ -393,6 +428,10 @@ declare class MemoryLoader implements MetadataLoader {
|
|
|
393
428
|
stat(type: string, name: string): Promise<MetadataStats | null>;
|
|
394
429
|
list(type: string): Promise<string[]>;
|
|
395
430
|
save(type: string, name: string, data: any, _options?: MetadataSaveOptions): Promise<MetadataSaveResult>;
|
|
431
|
+
/**
|
|
432
|
+
* Delete a metadata item from memory storage
|
|
433
|
+
*/
|
|
434
|
+
delete(type: string, name: string): Promise<void>;
|
|
396
435
|
}
|
|
397
436
|
|
|
398
437
|
/**
|
|
@@ -433,8 +472,12 @@ interface DatabaseLoaderOptions {
|
|
|
433
472
|
driver: IDataDriver;
|
|
434
473
|
/** The table name to store metadata records (default: 'sys_metadata') */
|
|
435
474
|
tableName?: string;
|
|
475
|
+
/** The table name to store history records (default: 'sys_metadata_history') */
|
|
476
|
+
historyTableName?: string;
|
|
436
477
|
/** Tenant ID for multi-tenant isolation */
|
|
437
478
|
tenantId?: string;
|
|
479
|
+
/** Enable history tracking (default: true) */
|
|
480
|
+
trackHistory?: boolean;
|
|
438
481
|
}
|
|
439
482
|
/**
|
|
440
483
|
* DatabaseLoader — Datasource-backed metadata persistence.
|
|
@@ -447,8 +490,11 @@ declare class DatabaseLoader implements MetadataLoader {
|
|
|
447
490
|
readonly contract: MetadataLoaderContract;
|
|
448
491
|
private driver;
|
|
449
492
|
private tableName;
|
|
493
|
+
private historyTableName;
|
|
450
494
|
private tenantId?;
|
|
495
|
+
private trackHistory;
|
|
451
496
|
private schemaReady;
|
|
497
|
+
private historySchemaReady;
|
|
452
498
|
constructor(options: DatabaseLoaderOptions);
|
|
453
499
|
/**
|
|
454
500
|
* Ensure the metadata table exists.
|
|
@@ -456,11 +502,30 @@ declare class DatabaseLoader implements MetadataLoader {
|
|
|
456
502
|
* to idempotently create/update the table.
|
|
457
503
|
*/
|
|
458
504
|
private ensureSchema;
|
|
505
|
+
/**
|
|
506
|
+
* Ensure the history table exists.
|
|
507
|
+
* Uses IDataDriver.syncSchema with the SysMetadataHistoryObject definition.
|
|
508
|
+
*/
|
|
509
|
+
private ensureHistorySchema;
|
|
459
510
|
/**
|
|
460
511
|
* Build base filter conditions for queries.
|
|
461
512
|
* Always includes tenantId when configured.
|
|
462
513
|
*/
|
|
463
514
|
private baseFilter;
|
|
515
|
+
/**
|
|
516
|
+
* Create a history record for a metadata change.
|
|
517
|
+
*
|
|
518
|
+
* @param metadataId - The metadata record ID
|
|
519
|
+
* @param type - Metadata type
|
|
520
|
+
* @param name - Metadata name
|
|
521
|
+
* @param version - Version number
|
|
522
|
+
* @param metadata - The metadata payload
|
|
523
|
+
* @param operationType - Type of operation
|
|
524
|
+
* @param previousChecksum - Checksum of previous version (if any)
|
|
525
|
+
* @param changeNote - Optional change description
|
|
526
|
+
* @param recordedBy - Optional user who made the change
|
|
527
|
+
*/
|
|
528
|
+
private createHistoryRecord;
|
|
464
529
|
/**
|
|
465
530
|
* Convert a database row to a metadata payload.
|
|
466
531
|
* Parses the JSON `metadata` column back into an object.
|
|
@@ -475,7 +540,24 @@ declare class DatabaseLoader implements MetadataLoader {
|
|
|
475
540
|
exists(type: string, name: string): Promise<boolean>;
|
|
476
541
|
stat(type: string, name: string): Promise<MetadataStats | null>;
|
|
477
542
|
list(type: string): Promise<string[]>;
|
|
543
|
+
/**
|
|
544
|
+
* Fetch a single history snapshot by (type, name, version).
|
|
545
|
+
* Returns null when the record does not exist.
|
|
546
|
+
*/
|
|
547
|
+
getHistoryRecord(type: string, name: string, version: number): Promise<MetadataHistoryRecord | null>;
|
|
548
|
+
/**
|
|
549
|
+
* Perform a rollback: persist `restoredData` as the new current state and record a
|
|
550
|
+
* single 'revert' history entry (instead of the usual 'update' entry that `save()`
|
|
551
|
+
* would produce). This avoids the duplicate-version problem that arises when
|
|
552
|
+
* `register()` → `save()` writes an 'update' entry followed by an additional
|
|
553
|
+
* 'revert' entry for the same version number.
|
|
554
|
+
*/
|
|
555
|
+
registerRollback(type: string, name: string, restoredData: unknown, targetVersion: number, changeNote?: string, recordedBy?: string): Promise<void>;
|
|
478
556
|
save(type: string, name: string, data: any, _options?: MetadataSaveOptions): Promise<MetadataSaveResult>;
|
|
557
|
+
/**
|
|
558
|
+
* Delete a metadata item from the database
|
|
559
|
+
*/
|
|
560
|
+
delete(type: string, name: string): Promise<void>;
|
|
479
561
|
}
|
|
480
562
|
|
|
481
563
|
/**
|
|
@@ -804,12 +886,8 @@ declare const SysMetadataObject: Omit<{
|
|
|
804
886
|
keyPrefix?: string | undefined;
|
|
805
887
|
actions?: {
|
|
806
888
|
name: string;
|
|
807
|
-
label: string
|
|
808
|
-
|
|
809
|
-
defaultValue?: string | undefined;
|
|
810
|
-
params?: Record<string, string | number | boolean> | undefined;
|
|
811
|
-
};
|
|
812
|
-
type: "url" | "script" | "modal" | "flow" | "api";
|
|
889
|
+
label: string;
|
|
890
|
+
type: "url" | "flow" | "api" | "script" | "modal";
|
|
813
891
|
refreshAfter: boolean;
|
|
814
892
|
objectName?: string | undefined;
|
|
815
893
|
icon?: string | undefined;
|
|
@@ -819,44 +897,24 @@ declare const SysMetadataObject: Omit<{
|
|
|
819
897
|
execute?: string | undefined;
|
|
820
898
|
params?: {
|
|
821
899
|
name: string;
|
|
822
|
-
label: string
|
|
823
|
-
key: string;
|
|
824
|
-
defaultValue?: string | undefined;
|
|
825
|
-
params?: Record<string, string | number | boolean> | undefined;
|
|
826
|
-
};
|
|
900
|
+
label: string;
|
|
827
901
|
type: "number" | "boolean" | "date" | "lookup" | "file" | "url" | "json" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "code" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "tags" | "vector";
|
|
828
902
|
required: boolean;
|
|
829
903
|
options?: {
|
|
830
|
-
label: string
|
|
831
|
-
key: string;
|
|
832
|
-
defaultValue?: string | undefined;
|
|
833
|
-
params?: Record<string, string | number | boolean> | undefined;
|
|
834
|
-
};
|
|
904
|
+
label: string;
|
|
835
905
|
value: string;
|
|
836
906
|
}[] | undefined;
|
|
837
907
|
}[] | undefined;
|
|
838
908
|
variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
|
|
839
|
-
confirmText?: string |
|
|
840
|
-
|
|
841
|
-
defaultValue?: string | undefined;
|
|
842
|
-
params?: Record<string, string | number | boolean> | undefined;
|
|
843
|
-
} | undefined;
|
|
844
|
-
successMessage?: string | {
|
|
845
|
-
key: string;
|
|
846
|
-
defaultValue?: string | undefined;
|
|
847
|
-
params?: Record<string, string | number | boolean> | undefined;
|
|
848
|
-
} | undefined;
|
|
909
|
+
confirmText?: string | undefined;
|
|
910
|
+
successMessage?: string | undefined;
|
|
849
911
|
visible?: string | undefined;
|
|
850
912
|
disabled?: string | boolean | undefined;
|
|
851
913
|
shortcut?: string | undefined;
|
|
852
914
|
bulkEnabled?: boolean | undefined;
|
|
853
915
|
timeout?: number | undefined;
|
|
854
916
|
aria?: {
|
|
855
|
-
ariaLabel?: string |
|
|
856
|
-
key: string;
|
|
857
|
-
defaultValue?: string | undefined;
|
|
858
|
-
params?: Record<string, string | number | boolean> | undefined;
|
|
859
|
-
} | undefined;
|
|
917
|
+
ariaLabel?: string | undefined;
|
|
860
918
|
ariaDescribedBy?: string | undefined;
|
|
861
919
|
role?: string | undefined;
|
|
862
920
|
} | undefined;
|
|
@@ -4228,6 +4286,2530 @@ declare const SysMetadataObject: Omit<{
|
|
|
4228
4286
|
};
|
|
4229
4287
|
}, "fields">;
|
|
4230
4288
|
|
|
4289
|
+
/**
|
|
4290
|
+
* sys_metadata_history — Metadata Version History Object
|
|
4291
|
+
*
|
|
4292
|
+
* Stores historical snapshots of metadata changes for version tracking,
|
|
4293
|
+
* audit trail, and rollback capabilities.
|
|
4294
|
+
*
|
|
4295
|
+
* This is a system object (isSystem: true) — protected from deletion and
|
|
4296
|
+
* automatically provisioned when metadata history is enabled.
|
|
4297
|
+
*
|
|
4298
|
+
* Each record represents a single version snapshot of a metadata item,
|
|
4299
|
+
* created whenever the metadata is modified, published, or reverted.
|
|
4300
|
+
*
|
|
4301
|
+
* @see MetadataHistoryRecordSchema in metadata-persistence.zod.ts
|
|
4302
|
+
*/
|
|
4303
|
+
declare const SysMetadataHistoryObject: Omit<{
|
|
4304
|
+
name: string;
|
|
4305
|
+
active: boolean;
|
|
4306
|
+
isSystem: boolean;
|
|
4307
|
+
abstract: boolean;
|
|
4308
|
+
datasource: string;
|
|
4309
|
+
fields: Record<string, {
|
|
4310
|
+
type: "number" | "boolean" | "json" | "tags" | "date" | "lookup" | "file" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "code" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "vector";
|
|
4311
|
+
required: boolean;
|
|
4312
|
+
searchable: boolean;
|
|
4313
|
+
multiple: boolean;
|
|
4314
|
+
unique: boolean;
|
|
4315
|
+
deleteBehavior: "set_null" | "cascade" | "restrict";
|
|
4316
|
+
auditTrail: boolean;
|
|
4317
|
+
hidden: boolean;
|
|
4318
|
+
readonly: boolean;
|
|
4319
|
+
sortable: boolean;
|
|
4320
|
+
index: boolean;
|
|
4321
|
+
externalId: boolean;
|
|
4322
|
+
name?: string | undefined;
|
|
4323
|
+
label?: string | undefined;
|
|
4324
|
+
description?: string | undefined;
|
|
4325
|
+
format?: string | undefined;
|
|
4326
|
+
columnName?: string | undefined;
|
|
4327
|
+
defaultValue?: unknown;
|
|
4328
|
+
maxLength?: number | undefined;
|
|
4329
|
+
minLength?: number | undefined;
|
|
4330
|
+
precision?: number | undefined;
|
|
4331
|
+
scale?: number | undefined;
|
|
4332
|
+
min?: number | undefined;
|
|
4333
|
+
max?: number | undefined;
|
|
4334
|
+
options?: {
|
|
4335
|
+
label: string;
|
|
4336
|
+
value: string;
|
|
4337
|
+
color?: string | undefined;
|
|
4338
|
+
default?: boolean | undefined;
|
|
4339
|
+
}[] | undefined;
|
|
4340
|
+
reference?: string | undefined;
|
|
4341
|
+
referenceFilters?: string[] | undefined;
|
|
4342
|
+
writeRequiresMasterRead?: boolean | undefined;
|
|
4343
|
+
expression?: string | undefined;
|
|
4344
|
+
summaryOperations?: {
|
|
4345
|
+
object: string;
|
|
4346
|
+
field: string;
|
|
4347
|
+
function: "min" | "max" | "count" | "sum" | "avg";
|
|
4348
|
+
} | undefined;
|
|
4349
|
+
language?: string | undefined;
|
|
4350
|
+
theme?: string | undefined;
|
|
4351
|
+
lineNumbers?: boolean | undefined;
|
|
4352
|
+
maxRating?: number | undefined;
|
|
4353
|
+
allowHalf?: boolean | undefined;
|
|
4354
|
+
displayMap?: boolean | undefined;
|
|
4355
|
+
allowGeocoding?: boolean | undefined;
|
|
4356
|
+
addressFormat?: "us" | "uk" | "international" | undefined;
|
|
4357
|
+
colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
4358
|
+
allowAlpha?: boolean | undefined;
|
|
4359
|
+
presetColors?: string[] | undefined;
|
|
4360
|
+
step?: number | undefined;
|
|
4361
|
+
showValue?: boolean | undefined;
|
|
4362
|
+
marks?: Record<string, string> | undefined;
|
|
4363
|
+
barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
4364
|
+
qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
4365
|
+
displayValue?: boolean | undefined;
|
|
4366
|
+
allowScanning?: boolean | undefined;
|
|
4367
|
+
currencyConfig?: {
|
|
4368
|
+
precision: number;
|
|
4369
|
+
currencyMode: "dynamic" | "fixed";
|
|
4370
|
+
defaultCurrency: string;
|
|
4371
|
+
} | undefined;
|
|
4372
|
+
vectorConfig?: {
|
|
4373
|
+
dimensions: number;
|
|
4374
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
4375
|
+
normalized: boolean;
|
|
4376
|
+
indexed: boolean;
|
|
4377
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
4378
|
+
} | undefined;
|
|
4379
|
+
fileAttachmentConfig?: {
|
|
4380
|
+
virusScan: boolean;
|
|
4381
|
+
virusScanOnUpload: boolean;
|
|
4382
|
+
quarantineOnThreat: boolean;
|
|
4383
|
+
allowMultiple: boolean;
|
|
4384
|
+
allowReplace: boolean;
|
|
4385
|
+
allowDelete: boolean;
|
|
4386
|
+
requireUpload: boolean;
|
|
4387
|
+
extractMetadata: boolean;
|
|
4388
|
+
extractText: boolean;
|
|
4389
|
+
versioningEnabled: boolean;
|
|
4390
|
+
publicRead: boolean;
|
|
4391
|
+
presignedUrlExpiry: number;
|
|
4392
|
+
minSize?: number | undefined;
|
|
4393
|
+
maxSize?: number | undefined;
|
|
4394
|
+
allowedTypes?: string[] | undefined;
|
|
4395
|
+
blockedTypes?: string[] | undefined;
|
|
4396
|
+
allowedMimeTypes?: string[] | undefined;
|
|
4397
|
+
blockedMimeTypes?: string[] | undefined;
|
|
4398
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
4399
|
+
storageProvider?: string | undefined;
|
|
4400
|
+
storageBucket?: string | undefined;
|
|
4401
|
+
storagePrefix?: string | undefined;
|
|
4402
|
+
imageValidation?: {
|
|
4403
|
+
generateThumbnails: boolean;
|
|
4404
|
+
preserveMetadata: boolean;
|
|
4405
|
+
autoRotate: boolean;
|
|
4406
|
+
minWidth?: number | undefined;
|
|
4407
|
+
maxWidth?: number | undefined;
|
|
4408
|
+
minHeight?: number | undefined;
|
|
4409
|
+
maxHeight?: number | undefined;
|
|
4410
|
+
aspectRatio?: string | undefined;
|
|
4411
|
+
thumbnailSizes?: {
|
|
4412
|
+
name: string;
|
|
4413
|
+
width: number;
|
|
4414
|
+
height: number;
|
|
4415
|
+
crop: boolean;
|
|
4416
|
+
}[] | undefined;
|
|
4417
|
+
} | undefined;
|
|
4418
|
+
maxVersions?: number | undefined;
|
|
4419
|
+
} | undefined;
|
|
4420
|
+
encryptionConfig?: {
|
|
4421
|
+
enabled: boolean;
|
|
4422
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
4423
|
+
keyManagement: {
|
|
4424
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
4425
|
+
keyId?: string | undefined;
|
|
4426
|
+
rotationPolicy?: {
|
|
4427
|
+
enabled: boolean;
|
|
4428
|
+
frequencyDays: number;
|
|
4429
|
+
retainOldVersions: number;
|
|
4430
|
+
autoRotate: boolean;
|
|
4431
|
+
} | undefined;
|
|
4432
|
+
};
|
|
4433
|
+
scope: "field" | "table" | "record" | "database";
|
|
4434
|
+
deterministicEncryption: boolean;
|
|
4435
|
+
searchableEncryption: boolean;
|
|
4436
|
+
} | undefined;
|
|
4437
|
+
maskingRule?: {
|
|
4438
|
+
field: string;
|
|
4439
|
+
strategy: "hash" | "redact" | "partial" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
4440
|
+
preserveFormat: boolean;
|
|
4441
|
+
preserveLength: boolean;
|
|
4442
|
+
pattern?: string | undefined;
|
|
4443
|
+
roles?: string[] | undefined;
|
|
4444
|
+
exemptRoles?: string[] | undefined;
|
|
4445
|
+
} | undefined;
|
|
4446
|
+
dependencies?: string[] | undefined;
|
|
4447
|
+
cached?: {
|
|
4448
|
+
enabled: boolean;
|
|
4449
|
+
ttl: number;
|
|
4450
|
+
invalidateOn: string[];
|
|
4451
|
+
} | undefined;
|
|
4452
|
+
dataQuality?: {
|
|
4453
|
+
uniqueness: boolean;
|
|
4454
|
+
completeness: number;
|
|
4455
|
+
accuracy?: {
|
|
4456
|
+
source: string;
|
|
4457
|
+
threshold: number;
|
|
4458
|
+
} | undefined;
|
|
4459
|
+
} | undefined;
|
|
4460
|
+
group?: string | undefined;
|
|
4461
|
+
conditionalRequired?: string | undefined;
|
|
4462
|
+
inlineHelpText?: string | undefined;
|
|
4463
|
+
trackFeedHistory?: boolean | undefined;
|
|
4464
|
+
caseSensitive?: boolean | undefined;
|
|
4465
|
+
autonumberFormat?: string | undefined;
|
|
4466
|
+
}>;
|
|
4467
|
+
label?: string | undefined;
|
|
4468
|
+
pluralLabel?: string | undefined;
|
|
4469
|
+
description?: string | undefined;
|
|
4470
|
+
icon?: string | undefined;
|
|
4471
|
+
namespace?: string | undefined;
|
|
4472
|
+
tags?: string[] | undefined;
|
|
4473
|
+
tableName?: string | undefined;
|
|
4474
|
+
indexes?: {
|
|
4475
|
+
fields: string[];
|
|
4476
|
+
type: "hash" | "btree" | "gin" | "gist" | "fulltext";
|
|
4477
|
+
unique: boolean;
|
|
4478
|
+
name?: string | undefined;
|
|
4479
|
+
partial?: string | undefined;
|
|
4480
|
+
}[] | undefined;
|
|
4481
|
+
tenancy?: {
|
|
4482
|
+
enabled: boolean;
|
|
4483
|
+
strategy: "shared" | "isolated" | "hybrid";
|
|
4484
|
+
tenantField: string;
|
|
4485
|
+
crossTenantAccess: boolean;
|
|
4486
|
+
} | undefined;
|
|
4487
|
+
softDelete?: {
|
|
4488
|
+
enabled: boolean;
|
|
4489
|
+
field: string;
|
|
4490
|
+
cascadeDelete: boolean;
|
|
4491
|
+
} | undefined;
|
|
4492
|
+
versioning?: {
|
|
4493
|
+
enabled: boolean;
|
|
4494
|
+
strategy: "snapshot" | "delta" | "event-sourcing";
|
|
4495
|
+
versionField: string;
|
|
4496
|
+
retentionDays?: number | undefined;
|
|
4497
|
+
} | undefined;
|
|
4498
|
+
partitioning?: {
|
|
4499
|
+
enabled: boolean;
|
|
4500
|
+
strategy: "hash" | "range" | "list";
|
|
4501
|
+
key: string;
|
|
4502
|
+
interval?: string | undefined;
|
|
4503
|
+
} | undefined;
|
|
4504
|
+
cdc?: {
|
|
4505
|
+
enabled: boolean;
|
|
4506
|
+
events: ("update" | "delete" | "insert")[];
|
|
4507
|
+
destination: string;
|
|
4508
|
+
} | undefined;
|
|
4509
|
+
validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
|
|
4510
|
+
stateMachines?: Record<string, {
|
|
4511
|
+
id: string;
|
|
4512
|
+
initial: string;
|
|
4513
|
+
states: Record<string, StateNodeConfig>;
|
|
4514
|
+
description?: string | undefined;
|
|
4515
|
+
contextSchema?: Record<string, unknown> | undefined;
|
|
4516
|
+
on?: Record<string, string | {
|
|
4517
|
+
target?: string | undefined;
|
|
4518
|
+
cond?: string | {
|
|
4519
|
+
type: string;
|
|
4520
|
+
params?: Record<string, unknown> | undefined;
|
|
4521
|
+
} | undefined;
|
|
4522
|
+
actions?: (string | {
|
|
4523
|
+
type: string;
|
|
4524
|
+
params?: Record<string, unknown> | undefined;
|
|
4525
|
+
})[] | undefined;
|
|
4526
|
+
description?: string | undefined;
|
|
4527
|
+
} | {
|
|
4528
|
+
target?: string | undefined;
|
|
4529
|
+
cond?: string | {
|
|
4530
|
+
type: string;
|
|
4531
|
+
params?: Record<string, unknown> | undefined;
|
|
4532
|
+
} | undefined;
|
|
4533
|
+
actions?: (string | {
|
|
4534
|
+
type: string;
|
|
4535
|
+
params?: Record<string, unknown> | undefined;
|
|
4536
|
+
})[] | undefined;
|
|
4537
|
+
description?: string | undefined;
|
|
4538
|
+
}[]> | undefined;
|
|
4539
|
+
}> | undefined;
|
|
4540
|
+
displayNameField?: string | undefined;
|
|
4541
|
+
recordName?: {
|
|
4542
|
+
type: "text" | "autonumber";
|
|
4543
|
+
displayFormat?: string | undefined;
|
|
4544
|
+
startNumber?: number | undefined;
|
|
4545
|
+
} | undefined;
|
|
4546
|
+
titleFormat?: string | undefined;
|
|
4547
|
+
compactLayout?: string[] | undefined;
|
|
4548
|
+
search?: {
|
|
4549
|
+
fields: string[];
|
|
4550
|
+
displayFields?: string[] | undefined;
|
|
4551
|
+
filters?: string[] | undefined;
|
|
4552
|
+
} | undefined;
|
|
4553
|
+
enable?: {
|
|
4554
|
+
trackHistory: boolean;
|
|
4555
|
+
searchable: boolean;
|
|
4556
|
+
apiEnabled: boolean;
|
|
4557
|
+
files: boolean;
|
|
4558
|
+
feeds: boolean;
|
|
4559
|
+
activities: boolean;
|
|
4560
|
+
trash: boolean;
|
|
4561
|
+
mru: boolean;
|
|
4562
|
+
clone: boolean;
|
|
4563
|
+
apiMethods?: ("create" | "search" | "list" | "update" | "delete" | "upsert" | "history" | "get" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
|
|
4564
|
+
} | undefined;
|
|
4565
|
+
recordTypes?: string[] | undefined;
|
|
4566
|
+
sharingModel?: "full" | "private" | "read" | "read_write" | undefined;
|
|
4567
|
+
keyPrefix?: string | undefined;
|
|
4568
|
+
actions?: {
|
|
4569
|
+
name: string;
|
|
4570
|
+
label: string;
|
|
4571
|
+
type: "url" | "flow" | "api" | "script" | "modal";
|
|
4572
|
+
refreshAfter: boolean;
|
|
4573
|
+
objectName?: string | undefined;
|
|
4574
|
+
icon?: string | undefined;
|
|
4575
|
+
locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "global_nav")[] | undefined;
|
|
4576
|
+
component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
|
|
4577
|
+
target?: string | undefined;
|
|
4578
|
+
execute?: string | undefined;
|
|
4579
|
+
params?: {
|
|
4580
|
+
name: string;
|
|
4581
|
+
label: string;
|
|
4582
|
+
type: "number" | "boolean" | "date" | "lookup" | "file" | "url" | "json" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "code" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "tags" | "vector";
|
|
4583
|
+
required: boolean;
|
|
4584
|
+
options?: {
|
|
4585
|
+
label: string;
|
|
4586
|
+
value: string;
|
|
4587
|
+
}[] | undefined;
|
|
4588
|
+
}[] | undefined;
|
|
4589
|
+
variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
|
|
4590
|
+
confirmText?: string | undefined;
|
|
4591
|
+
successMessage?: string | undefined;
|
|
4592
|
+
visible?: string | undefined;
|
|
4593
|
+
disabled?: string | boolean | undefined;
|
|
4594
|
+
shortcut?: string | undefined;
|
|
4595
|
+
bulkEnabled?: boolean | undefined;
|
|
4596
|
+
timeout?: number | undefined;
|
|
4597
|
+
aria?: {
|
|
4598
|
+
ariaLabel?: string | undefined;
|
|
4599
|
+
ariaDescribedBy?: string | undefined;
|
|
4600
|
+
role?: string | undefined;
|
|
4601
|
+
} | undefined;
|
|
4602
|
+
}[] | undefined;
|
|
4603
|
+
}, "fields"> & Pick<{
|
|
4604
|
+
readonly namespace: "sys";
|
|
4605
|
+
readonly name: "metadata_history";
|
|
4606
|
+
readonly label: "Metadata History";
|
|
4607
|
+
readonly pluralLabel: "Metadata History";
|
|
4608
|
+
readonly icon: "history";
|
|
4609
|
+
readonly isSystem: true;
|
|
4610
|
+
readonly description: "Version history and audit trail for metadata changes";
|
|
4611
|
+
readonly fields: {
|
|
4612
|
+
/** Primary Key (UUID) */
|
|
4613
|
+
readonly id: {
|
|
4614
|
+
readonly format?: string | undefined;
|
|
4615
|
+
readonly expression?: string | undefined;
|
|
4616
|
+
readonly readonly?: boolean | undefined;
|
|
4617
|
+
readonly defaultValue?: unknown;
|
|
4618
|
+
readonly min?: number | undefined;
|
|
4619
|
+
readonly max?: number | undefined;
|
|
4620
|
+
readonly name?: string | undefined;
|
|
4621
|
+
readonly encryptionConfig?: {
|
|
4622
|
+
enabled: boolean;
|
|
4623
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
4624
|
+
keyManagement: {
|
|
4625
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
4626
|
+
keyId?: string | undefined;
|
|
4627
|
+
rotationPolicy?: {
|
|
4628
|
+
enabled: boolean;
|
|
4629
|
+
frequencyDays: number;
|
|
4630
|
+
retainOldVersions: number;
|
|
4631
|
+
autoRotate: boolean;
|
|
4632
|
+
} | undefined;
|
|
4633
|
+
};
|
|
4634
|
+
scope: "table" | "record" | "field" | "database";
|
|
4635
|
+
deterministicEncryption: boolean;
|
|
4636
|
+
searchableEncryption: boolean;
|
|
4637
|
+
} | undefined;
|
|
4638
|
+
readonly label?: string | undefined;
|
|
4639
|
+
readonly precision?: number | undefined;
|
|
4640
|
+
readonly description?: string | undefined;
|
|
4641
|
+
readonly columnName?: string | undefined;
|
|
4642
|
+
readonly required?: boolean | undefined;
|
|
4643
|
+
readonly searchable?: boolean | undefined;
|
|
4644
|
+
readonly multiple?: boolean | undefined;
|
|
4645
|
+
readonly unique?: boolean | undefined;
|
|
4646
|
+
readonly maxLength?: number | undefined;
|
|
4647
|
+
readonly minLength?: number | undefined;
|
|
4648
|
+
readonly scale?: number | undefined;
|
|
4649
|
+
readonly options?: {
|
|
4650
|
+
label: string;
|
|
4651
|
+
value: string;
|
|
4652
|
+
color?: string | undefined;
|
|
4653
|
+
default?: boolean | undefined;
|
|
4654
|
+
}[] | undefined;
|
|
4655
|
+
readonly reference?: string | undefined;
|
|
4656
|
+
readonly referenceFilters?: string[] | undefined;
|
|
4657
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
4658
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
4659
|
+
readonly summaryOperations?: {
|
|
4660
|
+
object: string;
|
|
4661
|
+
field: string;
|
|
4662
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
4663
|
+
} | undefined;
|
|
4664
|
+
readonly language?: string | undefined;
|
|
4665
|
+
readonly theme?: string | undefined;
|
|
4666
|
+
readonly lineNumbers?: boolean | undefined;
|
|
4667
|
+
readonly maxRating?: number | undefined;
|
|
4668
|
+
readonly allowHalf?: boolean | undefined;
|
|
4669
|
+
readonly displayMap?: boolean | undefined;
|
|
4670
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
4671
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
4672
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
4673
|
+
readonly allowAlpha?: boolean | undefined;
|
|
4674
|
+
readonly presetColors?: string[] | undefined;
|
|
4675
|
+
readonly step?: number | undefined;
|
|
4676
|
+
readonly showValue?: boolean | undefined;
|
|
4677
|
+
readonly marks?: Record<string, string> | undefined;
|
|
4678
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
4679
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
4680
|
+
readonly displayValue?: boolean | undefined;
|
|
4681
|
+
readonly allowScanning?: boolean | undefined;
|
|
4682
|
+
readonly currencyConfig?: {
|
|
4683
|
+
precision: number;
|
|
4684
|
+
currencyMode: "dynamic" | "fixed";
|
|
4685
|
+
defaultCurrency: string;
|
|
4686
|
+
} | undefined;
|
|
4687
|
+
readonly vectorConfig?: {
|
|
4688
|
+
dimensions: number;
|
|
4689
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
4690
|
+
normalized: boolean;
|
|
4691
|
+
indexed: boolean;
|
|
4692
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
4693
|
+
} | undefined;
|
|
4694
|
+
readonly fileAttachmentConfig?: {
|
|
4695
|
+
virusScan: boolean;
|
|
4696
|
+
virusScanOnUpload: boolean;
|
|
4697
|
+
quarantineOnThreat: boolean;
|
|
4698
|
+
allowMultiple: boolean;
|
|
4699
|
+
allowReplace: boolean;
|
|
4700
|
+
allowDelete: boolean;
|
|
4701
|
+
requireUpload: boolean;
|
|
4702
|
+
extractMetadata: boolean;
|
|
4703
|
+
extractText: boolean;
|
|
4704
|
+
versioningEnabled: boolean;
|
|
4705
|
+
publicRead: boolean;
|
|
4706
|
+
presignedUrlExpiry: number;
|
|
4707
|
+
minSize?: number | undefined;
|
|
4708
|
+
maxSize?: number | undefined;
|
|
4709
|
+
allowedTypes?: string[] | undefined;
|
|
4710
|
+
blockedTypes?: string[] | undefined;
|
|
4711
|
+
allowedMimeTypes?: string[] | undefined;
|
|
4712
|
+
blockedMimeTypes?: string[] | undefined;
|
|
4713
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
4714
|
+
storageProvider?: string | undefined;
|
|
4715
|
+
storageBucket?: string | undefined;
|
|
4716
|
+
storagePrefix?: string | undefined;
|
|
4717
|
+
imageValidation?: {
|
|
4718
|
+
generateThumbnails: boolean;
|
|
4719
|
+
preserveMetadata: boolean;
|
|
4720
|
+
autoRotate: boolean;
|
|
4721
|
+
minWidth?: number | undefined;
|
|
4722
|
+
maxWidth?: number | undefined;
|
|
4723
|
+
minHeight?: number | undefined;
|
|
4724
|
+
maxHeight?: number | undefined;
|
|
4725
|
+
aspectRatio?: string | undefined;
|
|
4726
|
+
thumbnailSizes?: {
|
|
4727
|
+
name: string;
|
|
4728
|
+
width: number;
|
|
4729
|
+
height: number;
|
|
4730
|
+
crop: boolean;
|
|
4731
|
+
}[] | undefined;
|
|
4732
|
+
} | undefined;
|
|
4733
|
+
maxVersions?: number | undefined;
|
|
4734
|
+
} | undefined;
|
|
4735
|
+
readonly maskingRule?: {
|
|
4736
|
+
field: string;
|
|
4737
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
4738
|
+
preserveFormat: boolean;
|
|
4739
|
+
preserveLength: boolean;
|
|
4740
|
+
pattern?: string | undefined;
|
|
4741
|
+
roles?: string[] | undefined;
|
|
4742
|
+
exemptRoles?: string[] | undefined;
|
|
4743
|
+
} | undefined;
|
|
4744
|
+
readonly auditTrail?: boolean | undefined;
|
|
4745
|
+
readonly dependencies?: string[] | undefined;
|
|
4746
|
+
readonly cached?: {
|
|
4747
|
+
enabled: boolean;
|
|
4748
|
+
ttl: number;
|
|
4749
|
+
invalidateOn: string[];
|
|
4750
|
+
} | undefined;
|
|
4751
|
+
readonly dataQuality?: {
|
|
4752
|
+
uniqueness: boolean;
|
|
4753
|
+
completeness: number;
|
|
4754
|
+
accuracy?: {
|
|
4755
|
+
source: string;
|
|
4756
|
+
threshold: number;
|
|
4757
|
+
} | undefined;
|
|
4758
|
+
} | undefined;
|
|
4759
|
+
readonly group?: string | undefined;
|
|
4760
|
+
readonly conditionalRequired?: string | undefined;
|
|
4761
|
+
readonly hidden?: boolean | undefined;
|
|
4762
|
+
readonly sortable?: boolean | undefined;
|
|
4763
|
+
readonly inlineHelpText?: string | undefined;
|
|
4764
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
4765
|
+
readonly caseSensitive?: boolean | undefined;
|
|
4766
|
+
readonly autonumberFormat?: string | undefined;
|
|
4767
|
+
readonly index?: boolean | undefined;
|
|
4768
|
+
readonly externalId?: boolean | undefined;
|
|
4769
|
+
readonly type: "text";
|
|
4770
|
+
};
|
|
4771
|
+
/** Foreign key to sys_metadata.id */
|
|
4772
|
+
readonly metadata_id: {
|
|
4773
|
+
readonly format?: string | undefined;
|
|
4774
|
+
readonly expression?: string | undefined;
|
|
4775
|
+
readonly readonly?: boolean | undefined;
|
|
4776
|
+
readonly defaultValue?: unknown;
|
|
4777
|
+
readonly min?: number | undefined;
|
|
4778
|
+
readonly max?: number | undefined;
|
|
4779
|
+
readonly name?: string | undefined;
|
|
4780
|
+
readonly encryptionConfig?: {
|
|
4781
|
+
enabled: boolean;
|
|
4782
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
4783
|
+
keyManagement: {
|
|
4784
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
4785
|
+
keyId?: string | undefined;
|
|
4786
|
+
rotationPolicy?: {
|
|
4787
|
+
enabled: boolean;
|
|
4788
|
+
frequencyDays: number;
|
|
4789
|
+
retainOldVersions: number;
|
|
4790
|
+
autoRotate: boolean;
|
|
4791
|
+
} | undefined;
|
|
4792
|
+
};
|
|
4793
|
+
scope: "table" | "record" | "field" | "database";
|
|
4794
|
+
deterministicEncryption: boolean;
|
|
4795
|
+
searchableEncryption: boolean;
|
|
4796
|
+
} | undefined;
|
|
4797
|
+
readonly label?: string | undefined;
|
|
4798
|
+
readonly precision?: number | undefined;
|
|
4799
|
+
readonly description?: string | undefined;
|
|
4800
|
+
readonly columnName?: string | undefined;
|
|
4801
|
+
readonly required?: boolean | undefined;
|
|
4802
|
+
readonly searchable?: boolean | undefined;
|
|
4803
|
+
readonly multiple?: boolean | undefined;
|
|
4804
|
+
readonly unique?: boolean | undefined;
|
|
4805
|
+
readonly maxLength?: number | undefined;
|
|
4806
|
+
readonly minLength?: number | undefined;
|
|
4807
|
+
readonly scale?: number | undefined;
|
|
4808
|
+
readonly options?: {
|
|
4809
|
+
label: string;
|
|
4810
|
+
value: string;
|
|
4811
|
+
color?: string | undefined;
|
|
4812
|
+
default?: boolean | undefined;
|
|
4813
|
+
}[] | undefined;
|
|
4814
|
+
readonly reference?: string | undefined;
|
|
4815
|
+
readonly referenceFilters?: string[] | undefined;
|
|
4816
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
4817
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
4818
|
+
readonly summaryOperations?: {
|
|
4819
|
+
object: string;
|
|
4820
|
+
field: string;
|
|
4821
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
4822
|
+
} | undefined;
|
|
4823
|
+
readonly language?: string | undefined;
|
|
4824
|
+
readonly theme?: string | undefined;
|
|
4825
|
+
readonly lineNumbers?: boolean | undefined;
|
|
4826
|
+
readonly maxRating?: number | undefined;
|
|
4827
|
+
readonly allowHalf?: boolean | undefined;
|
|
4828
|
+
readonly displayMap?: boolean | undefined;
|
|
4829
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
4830
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
4831
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
4832
|
+
readonly allowAlpha?: boolean | undefined;
|
|
4833
|
+
readonly presetColors?: string[] | undefined;
|
|
4834
|
+
readonly step?: number | undefined;
|
|
4835
|
+
readonly showValue?: boolean | undefined;
|
|
4836
|
+
readonly marks?: Record<string, string> | undefined;
|
|
4837
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
4838
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
4839
|
+
readonly displayValue?: boolean | undefined;
|
|
4840
|
+
readonly allowScanning?: boolean | undefined;
|
|
4841
|
+
readonly currencyConfig?: {
|
|
4842
|
+
precision: number;
|
|
4843
|
+
currencyMode: "dynamic" | "fixed";
|
|
4844
|
+
defaultCurrency: string;
|
|
4845
|
+
} | undefined;
|
|
4846
|
+
readonly vectorConfig?: {
|
|
4847
|
+
dimensions: number;
|
|
4848
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
4849
|
+
normalized: boolean;
|
|
4850
|
+
indexed: boolean;
|
|
4851
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
4852
|
+
} | undefined;
|
|
4853
|
+
readonly fileAttachmentConfig?: {
|
|
4854
|
+
virusScan: boolean;
|
|
4855
|
+
virusScanOnUpload: boolean;
|
|
4856
|
+
quarantineOnThreat: boolean;
|
|
4857
|
+
allowMultiple: boolean;
|
|
4858
|
+
allowReplace: boolean;
|
|
4859
|
+
allowDelete: boolean;
|
|
4860
|
+
requireUpload: boolean;
|
|
4861
|
+
extractMetadata: boolean;
|
|
4862
|
+
extractText: boolean;
|
|
4863
|
+
versioningEnabled: boolean;
|
|
4864
|
+
publicRead: boolean;
|
|
4865
|
+
presignedUrlExpiry: number;
|
|
4866
|
+
minSize?: number | undefined;
|
|
4867
|
+
maxSize?: number | undefined;
|
|
4868
|
+
allowedTypes?: string[] | undefined;
|
|
4869
|
+
blockedTypes?: string[] | undefined;
|
|
4870
|
+
allowedMimeTypes?: string[] | undefined;
|
|
4871
|
+
blockedMimeTypes?: string[] | undefined;
|
|
4872
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
4873
|
+
storageProvider?: string | undefined;
|
|
4874
|
+
storageBucket?: string | undefined;
|
|
4875
|
+
storagePrefix?: string | undefined;
|
|
4876
|
+
imageValidation?: {
|
|
4877
|
+
generateThumbnails: boolean;
|
|
4878
|
+
preserveMetadata: boolean;
|
|
4879
|
+
autoRotate: boolean;
|
|
4880
|
+
minWidth?: number | undefined;
|
|
4881
|
+
maxWidth?: number | undefined;
|
|
4882
|
+
minHeight?: number | undefined;
|
|
4883
|
+
maxHeight?: number | undefined;
|
|
4884
|
+
aspectRatio?: string | undefined;
|
|
4885
|
+
thumbnailSizes?: {
|
|
4886
|
+
name: string;
|
|
4887
|
+
width: number;
|
|
4888
|
+
height: number;
|
|
4889
|
+
crop: boolean;
|
|
4890
|
+
}[] | undefined;
|
|
4891
|
+
} | undefined;
|
|
4892
|
+
maxVersions?: number | undefined;
|
|
4893
|
+
} | undefined;
|
|
4894
|
+
readonly maskingRule?: {
|
|
4895
|
+
field: string;
|
|
4896
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
4897
|
+
preserveFormat: boolean;
|
|
4898
|
+
preserveLength: boolean;
|
|
4899
|
+
pattern?: string | undefined;
|
|
4900
|
+
roles?: string[] | undefined;
|
|
4901
|
+
exemptRoles?: string[] | undefined;
|
|
4902
|
+
} | undefined;
|
|
4903
|
+
readonly auditTrail?: boolean | undefined;
|
|
4904
|
+
readonly dependencies?: string[] | undefined;
|
|
4905
|
+
readonly cached?: {
|
|
4906
|
+
enabled: boolean;
|
|
4907
|
+
ttl: number;
|
|
4908
|
+
invalidateOn: string[];
|
|
4909
|
+
} | undefined;
|
|
4910
|
+
readonly dataQuality?: {
|
|
4911
|
+
uniqueness: boolean;
|
|
4912
|
+
completeness: number;
|
|
4913
|
+
accuracy?: {
|
|
4914
|
+
source: string;
|
|
4915
|
+
threshold: number;
|
|
4916
|
+
} | undefined;
|
|
4917
|
+
} | undefined;
|
|
4918
|
+
readonly group?: string | undefined;
|
|
4919
|
+
readonly conditionalRequired?: string | undefined;
|
|
4920
|
+
readonly hidden?: boolean | undefined;
|
|
4921
|
+
readonly sortable?: boolean | undefined;
|
|
4922
|
+
readonly inlineHelpText?: string | undefined;
|
|
4923
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
4924
|
+
readonly caseSensitive?: boolean | undefined;
|
|
4925
|
+
readonly autonumberFormat?: string | undefined;
|
|
4926
|
+
readonly index?: boolean | undefined;
|
|
4927
|
+
readonly externalId?: boolean | undefined;
|
|
4928
|
+
readonly type: "text";
|
|
4929
|
+
};
|
|
4930
|
+
/** Machine name (denormalized for easier querying) */
|
|
4931
|
+
readonly name: {
|
|
4932
|
+
readonly format?: string | undefined;
|
|
4933
|
+
readonly expression?: string | undefined;
|
|
4934
|
+
readonly readonly?: boolean | undefined;
|
|
4935
|
+
readonly defaultValue?: unknown;
|
|
4936
|
+
readonly min?: number | undefined;
|
|
4937
|
+
readonly max?: number | undefined;
|
|
4938
|
+
readonly name?: string | undefined;
|
|
4939
|
+
readonly encryptionConfig?: {
|
|
4940
|
+
enabled: boolean;
|
|
4941
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
4942
|
+
keyManagement: {
|
|
4943
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
4944
|
+
keyId?: string | undefined;
|
|
4945
|
+
rotationPolicy?: {
|
|
4946
|
+
enabled: boolean;
|
|
4947
|
+
frequencyDays: number;
|
|
4948
|
+
retainOldVersions: number;
|
|
4949
|
+
autoRotate: boolean;
|
|
4950
|
+
} | undefined;
|
|
4951
|
+
};
|
|
4952
|
+
scope: "table" | "record" | "field" | "database";
|
|
4953
|
+
deterministicEncryption: boolean;
|
|
4954
|
+
searchableEncryption: boolean;
|
|
4955
|
+
} | undefined;
|
|
4956
|
+
readonly label?: string | undefined;
|
|
4957
|
+
readonly precision?: number | undefined;
|
|
4958
|
+
readonly description?: string | undefined;
|
|
4959
|
+
readonly columnName?: string | undefined;
|
|
4960
|
+
readonly required?: boolean | undefined;
|
|
4961
|
+
readonly searchable?: boolean | undefined;
|
|
4962
|
+
readonly multiple?: boolean | undefined;
|
|
4963
|
+
readonly unique?: boolean | undefined;
|
|
4964
|
+
readonly maxLength?: number | undefined;
|
|
4965
|
+
readonly minLength?: number | undefined;
|
|
4966
|
+
readonly scale?: number | undefined;
|
|
4967
|
+
readonly options?: {
|
|
4968
|
+
label: string;
|
|
4969
|
+
value: string;
|
|
4970
|
+
color?: string | undefined;
|
|
4971
|
+
default?: boolean | undefined;
|
|
4972
|
+
}[] | undefined;
|
|
4973
|
+
readonly reference?: string | undefined;
|
|
4974
|
+
readonly referenceFilters?: string[] | undefined;
|
|
4975
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
4976
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
4977
|
+
readonly summaryOperations?: {
|
|
4978
|
+
object: string;
|
|
4979
|
+
field: string;
|
|
4980
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
4981
|
+
} | undefined;
|
|
4982
|
+
readonly language?: string | undefined;
|
|
4983
|
+
readonly theme?: string | undefined;
|
|
4984
|
+
readonly lineNumbers?: boolean | undefined;
|
|
4985
|
+
readonly maxRating?: number | undefined;
|
|
4986
|
+
readonly allowHalf?: boolean | undefined;
|
|
4987
|
+
readonly displayMap?: boolean | undefined;
|
|
4988
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
4989
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
4990
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
4991
|
+
readonly allowAlpha?: boolean | undefined;
|
|
4992
|
+
readonly presetColors?: string[] | undefined;
|
|
4993
|
+
readonly step?: number | undefined;
|
|
4994
|
+
readonly showValue?: boolean | undefined;
|
|
4995
|
+
readonly marks?: Record<string, string> | undefined;
|
|
4996
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
4997
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
4998
|
+
readonly displayValue?: boolean | undefined;
|
|
4999
|
+
readonly allowScanning?: boolean | undefined;
|
|
5000
|
+
readonly currencyConfig?: {
|
|
5001
|
+
precision: number;
|
|
5002
|
+
currencyMode: "dynamic" | "fixed";
|
|
5003
|
+
defaultCurrency: string;
|
|
5004
|
+
} | undefined;
|
|
5005
|
+
readonly vectorConfig?: {
|
|
5006
|
+
dimensions: number;
|
|
5007
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
5008
|
+
normalized: boolean;
|
|
5009
|
+
indexed: boolean;
|
|
5010
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
5011
|
+
} | undefined;
|
|
5012
|
+
readonly fileAttachmentConfig?: {
|
|
5013
|
+
virusScan: boolean;
|
|
5014
|
+
virusScanOnUpload: boolean;
|
|
5015
|
+
quarantineOnThreat: boolean;
|
|
5016
|
+
allowMultiple: boolean;
|
|
5017
|
+
allowReplace: boolean;
|
|
5018
|
+
allowDelete: boolean;
|
|
5019
|
+
requireUpload: boolean;
|
|
5020
|
+
extractMetadata: boolean;
|
|
5021
|
+
extractText: boolean;
|
|
5022
|
+
versioningEnabled: boolean;
|
|
5023
|
+
publicRead: boolean;
|
|
5024
|
+
presignedUrlExpiry: number;
|
|
5025
|
+
minSize?: number | undefined;
|
|
5026
|
+
maxSize?: number | undefined;
|
|
5027
|
+
allowedTypes?: string[] | undefined;
|
|
5028
|
+
blockedTypes?: string[] | undefined;
|
|
5029
|
+
allowedMimeTypes?: string[] | undefined;
|
|
5030
|
+
blockedMimeTypes?: string[] | undefined;
|
|
5031
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
5032
|
+
storageProvider?: string | undefined;
|
|
5033
|
+
storageBucket?: string | undefined;
|
|
5034
|
+
storagePrefix?: string | undefined;
|
|
5035
|
+
imageValidation?: {
|
|
5036
|
+
generateThumbnails: boolean;
|
|
5037
|
+
preserveMetadata: boolean;
|
|
5038
|
+
autoRotate: boolean;
|
|
5039
|
+
minWidth?: number | undefined;
|
|
5040
|
+
maxWidth?: number | undefined;
|
|
5041
|
+
minHeight?: number | undefined;
|
|
5042
|
+
maxHeight?: number | undefined;
|
|
5043
|
+
aspectRatio?: string | undefined;
|
|
5044
|
+
thumbnailSizes?: {
|
|
5045
|
+
name: string;
|
|
5046
|
+
width: number;
|
|
5047
|
+
height: number;
|
|
5048
|
+
crop: boolean;
|
|
5049
|
+
}[] | undefined;
|
|
5050
|
+
} | undefined;
|
|
5051
|
+
maxVersions?: number | undefined;
|
|
5052
|
+
} | undefined;
|
|
5053
|
+
readonly maskingRule?: {
|
|
5054
|
+
field: string;
|
|
5055
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
5056
|
+
preserveFormat: boolean;
|
|
5057
|
+
preserveLength: boolean;
|
|
5058
|
+
pattern?: string | undefined;
|
|
5059
|
+
roles?: string[] | undefined;
|
|
5060
|
+
exemptRoles?: string[] | undefined;
|
|
5061
|
+
} | undefined;
|
|
5062
|
+
readonly auditTrail?: boolean | undefined;
|
|
5063
|
+
readonly dependencies?: string[] | undefined;
|
|
5064
|
+
readonly cached?: {
|
|
5065
|
+
enabled: boolean;
|
|
5066
|
+
ttl: number;
|
|
5067
|
+
invalidateOn: string[];
|
|
5068
|
+
} | undefined;
|
|
5069
|
+
readonly dataQuality?: {
|
|
5070
|
+
uniqueness: boolean;
|
|
5071
|
+
completeness: number;
|
|
5072
|
+
accuracy?: {
|
|
5073
|
+
source: string;
|
|
5074
|
+
threshold: number;
|
|
5075
|
+
} | undefined;
|
|
5076
|
+
} | undefined;
|
|
5077
|
+
readonly group?: string | undefined;
|
|
5078
|
+
readonly conditionalRequired?: string | undefined;
|
|
5079
|
+
readonly hidden?: boolean | undefined;
|
|
5080
|
+
readonly sortable?: boolean | undefined;
|
|
5081
|
+
readonly inlineHelpText?: string | undefined;
|
|
5082
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
5083
|
+
readonly caseSensitive?: boolean | undefined;
|
|
5084
|
+
readonly autonumberFormat?: string | undefined;
|
|
5085
|
+
readonly index?: boolean | undefined;
|
|
5086
|
+
readonly externalId?: boolean | undefined;
|
|
5087
|
+
readonly type: "text";
|
|
5088
|
+
};
|
|
5089
|
+
/** Metadata type (denormalized for easier querying) */
|
|
5090
|
+
readonly type: {
|
|
5091
|
+
readonly format?: string | undefined;
|
|
5092
|
+
readonly expression?: string | undefined;
|
|
5093
|
+
readonly readonly?: boolean | undefined;
|
|
5094
|
+
readonly defaultValue?: unknown;
|
|
5095
|
+
readonly min?: number | undefined;
|
|
5096
|
+
readonly max?: number | undefined;
|
|
5097
|
+
readonly name?: string | undefined;
|
|
5098
|
+
readonly encryptionConfig?: {
|
|
5099
|
+
enabled: boolean;
|
|
5100
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
5101
|
+
keyManagement: {
|
|
5102
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
5103
|
+
keyId?: string | undefined;
|
|
5104
|
+
rotationPolicy?: {
|
|
5105
|
+
enabled: boolean;
|
|
5106
|
+
frequencyDays: number;
|
|
5107
|
+
retainOldVersions: number;
|
|
5108
|
+
autoRotate: boolean;
|
|
5109
|
+
} | undefined;
|
|
5110
|
+
};
|
|
5111
|
+
scope: "table" | "record" | "field" | "database";
|
|
5112
|
+
deterministicEncryption: boolean;
|
|
5113
|
+
searchableEncryption: boolean;
|
|
5114
|
+
} | undefined;
|
|
5115
|
+
readonly label?: string | undefined;
|
|
5116
|
+
readonly precision?: number | undefined;
|
|
5117
|
+
readonly description?: string | undefined;
|
|
5118
|
+
readonly columnName?: string | undefined;
|
|
5119
|
+
readonly required?: boolean | undefined;
|
|
5120
|
+
readonly searchable?: boolean | undefined;
|
|
5121
|
+
readonly multiple?: boolean | undefined;
|
|
5122
|
+
readonly unique?: boolean | undefined;
|
|
5123
|
+
readonly maxLength?: number | undefined;
|
|
5124
|
+
readonly minLength?: number | undefined;
|
|
5125
|
+
readonly scale?: number | undefined;
|
|
5126
|
+
readonly options?: {
|
|
5127
|
+
label: string;
|
|
5128
|
+
value: string;
|
|
5129
|
+
color?: string | undefined;
|
|
5130
|
+
default?: boolean | undefined;
|
|
5131
|
+
}[] | undefined;
|
|
5132
|
+
readonly reference?: string | undefined;
|
|
5133
|
+
readonly referenceFilters?: string[] | undefined;
|
|
5134
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
5135
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
5136
|
+
readonly summaryOperations?: {
|
|
5137
|
+
object: string;
|
|
5138
|
+
field: string;
|
|
5139
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
5140
|
+
} | undefined;
|
|
5141
|
+
readonly language?: string | undefined;
|
|
5142
|
+
readonly theme?: string | undefined;
|
|
5143
|
+
readonly lineNumbers?: boolean | undefined;
|
|
5144
|
+
readonly maxRating?: number | undefined;
|
|
5145
|
+
readonly allowHalf?: boolean | undefined;
|
|
5146
|
+
readonly displayMap?: boolean | undefined;
|
|
5147
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
5148
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
5149
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
5150
|
+
readonly allowAlpha?: boolean | undefined;
|
|
5151
|
+
readonly presetColors?: string[] | undefined;
|
|
5152
|
+
readonly step?: number | undefined;
|
|
5153
|
+
readonly showValue?: boolean | undefined;
|
|
5154
|
+
readonly marks?: Record<string, string> | undefined;
|
|
5155
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
5156
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
5157
|
+
readonly displayValue?: boolean | undefined;
|
|
5158
|
+
readonly allowScanning?: boolean | undefined;
|
|
5159
|
+
readonly currencyConfig?: {
|
|
5160
|
+
precision: number;
|
|
5161
|
+
currencyMode: "dynamic" | "fixed";
|
|
5162
|
+
defaultCurrency: string;
|
|
5163
|
+
} | undefined;
|
|
5164
|
+
readonly vectorConfig?: {
|
|
5165
|
+
dimensions: number;
|
|
5166
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
5167
|
+
normalized: boolean;
|
|
5168
|
+
indexed: boolean;
|
|
5169
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
5170
|
+
} | undefined;
|
|
5171
|
+
readonly fileAttachmentConfig?: {
|
|
5172
|
+
virusScan: boolean;
|
|
5173
|
+
virusScanOnUpload: boolean;
|
|
5174
|
+
quarantineOnThreat: boolean;
|
|
5175
|
+
allowMultiple: boolean;
|
|
5176
|
+
allowReplace: boolean;
|
|
5177
|
+
allowDelete: boolean;
|
|
5178
|
+
requireUpload: boolean;
|
|
5179
|
+
extractMetadata: boolean;
|
|
5180
|
+
extractText: boolean;
|
|
5181
|
+
versioningEnabled: boolean;
|
|
5182
|
+
publicRead: boolean;
|
|
5183
|
+
presignedUrlExpiry: number;
|
|
5184
|
+
minSize?: number | undefined;
|
|
5185
|
+
maxSize?: number | undefined;
|
|
5186
|
+
allowedTypes?: string[] | undefined;
|
|
5187
|
+
blockedTypes?: string[] | undefined;
|
|
5188
|
+
allowedMimeTypes?: string[] | undefined;
|
|
5189
|
+
blockedMimeTypes?: string[] | undefined;
|
|
5190
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
5191
|
+
storageProvider?: string | undefined;
|
|
5192
|
+
storageBucket?: string | undefined;
|
|
5193
|
+
storagePrefix?: string | undefined;
|
|
5194
|
+
imageValidation?: {
|
|
5195
|
+
generateThumbnails: boolean;
|
|
5196
|
+
preserveMetadata: boolean;
|
|
5197
|
+
autoRotate: boolean;
|
|
5198
|
+
minWidth?: number | undefined;
|
|
5199
|
+
maxWidth?: number | undefined;
|
|
5200
|
+
minHeight?: number | undefined;
|
|
5201
|
+
maxHeight?: number | undefined;
|
|
5202
|
+
aspectRatio?: string | undefined;
|
|
5203
|
+
thumbnailSizes?: {
|
|
5204
|
+
name: string;
|
|
5205
|
+
width: number;
|
|
5206
|
+
height: number;
|
|
5207
|
+
crop: boolean;
|
|
5208
|
+
}[] | undefined;
|
|
5209
|
+
} | undefined;
|
|
5210
|
+
maxVersions?: number | undefined;
|
|
5211
|
+
} | undefined;
|
|
5212
|
+
readonly maskingRule?: {
|
|
5213
|
+
field: string;
|
|
5214
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
5215
|
+
preserveFormat: boolean;
|
|
5216
|
+
preserveLength: boolean;
|
|
5217
|
+
pattern?: string | undefined;
|
|
5218
|
+
roles?: string[] | undefined;
|
|
5219
|
+
exemptRoles?: string[] | undefined;
|
|
5220
|
+
} | undefined;
|
|
5221
|
+
readonly auditTrail?: boolean | undefined;
|
|
5222
|
+
readonly dependencies?: string[] | undefined;
|
|
5223
|
+
readonly cached?: {
|
|
5224
|
+
enabled: boolean;
|
|
5225
|
+
ttl: number;
|
|
5226
|
+
invalidateOn: string[];
|
|
5227
|
+
} | undefined;
|
|
5228
|
+
readonly dataQuality?: {
|
|
5229
|
+
uniqueness: boolean;
|
|
5230
|
+
completeness: number;
|
|
5231
|
+
accuracy?: {
|
|
5232
|
+
source: string;
|
|
5233
|
+
threshold: number;
|
|
5234
|
+
} | undefined;
|
|
5235
|
+
} | undefined;
|
|
5236
|
+
readonly group?: string | undefined;
|
|
5237
|
+
readonly conditionalRequired?: string | undefined;
|
|
5238
|
+
readonly hidden?: boolean | undefined;
|
|
5239
|
+
readonly sortable?: boolean | undefined;
|
|
5240
|
+
readonly inlineHelpText?: string | undefined;
|
|
5241
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
5242
|
+
readonly caseSensitive?: boolean | undefined;
|
|
5243
|
+
readonly autonumberFormat?: string | undefined;
|
|
5244
|
+
readonly index?: boolean | undefined;
|
|
5245
|
+
readonly externalId?: boolean | undefined;
|
|
5246
|
+
readonly type: "text";
|
|
5247
|
+
};
|
|
5248
|
+
/** Version number at this snapshot */
|
|
5249
|
+
readonly version: {
|
|
5250
|
+
readonly format?: string | undefined;
|
|
5251
|
+
readonly expression?: string | undefined;
|
|
5252
|
+
readonly readonly?: boolean | undefined;
|
|
5253
|
+
readonly defaultValue?: unknown;
|
|
5254
|
+
readonly min?: number | undefined;
|
|
5255
|
+
readonly max?: number | undefined;
|
|
5256
|
+
readonly name?: string | undefined;
|
|
5257
|
+
readonly encryptionConfig?: {
|
|
5258
|
+
enabled: boolean;
|
|
5259
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
5260
|
+
keyManagement: {
|
|
5261
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
5262
|
+
keyId?: string | undefined;
|
|
5263
|
+
rotationPolicy?: {
|
|
5264
|
+
enabled: boolean;
|
|
5265
|
+
frequencyDays: number;
|
|
5266
|
+
retainOldVersions: number;
|
|
5267
|
+
autoRotate: boolean;
|
|
5268
|
+
} | undefined;
|
|
5269
|
+
};
|
|
5270
|
+
scope: "table" | "record" | "field" | "database";
|
|
5271
|
+
deterministicEncryption: boolean;
|
|
5272
|
+
searchableEncryption: boolean;
|
|
5273
|
+
} | undefined;
|
|
5274
|
+
readonly label?: string | undefined;
|
|
5275
|
+
readonly precision?: number | undefined;
|
|
5276
|
+
readonly description?: string | undefined;
|
|
5277
|
+
readonly columnName?: string | undefined;
|
|
5278
|
+
readonly required?: boolean | undefined;
|
|
5279
|
+
readonly searchable?: boolean | undefined;
|
|
5280
|
+
readonly multiple?: boolean | undefined;
|
|
5281
|
+
readonly unique?: boolean | undefined;
|
|
5282
|
+
readonly maxLength?: number | undefined;
|
|
5283
|
+
readonly minLength?: number | undefined;
|
|
5284
|
+
readonly scale?: number | undefined;
|
|
5285
|
+
readonly options?: {
|
|
5286
|
+
label: string;
|
|
5287
|
+
value: string;
|
|
5288
|
+
color?: string | undefined;
|
|
5289
|
+
default?: boolean | undefined;
|
|
5290
|
+
}[] | undefined;
|
|
5291
|
+
readonly reference?: string | undefined;
|
|
5292
|
+
readonly referenceFilters?: string[] | undefined;
|
|
5293
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
5294
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
5295
|
+
readonly summaryOperations?: {
|
|
5296
|
+
object: string;
|
|
5297
|
+
field: string;
|
|
5298
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
5299
|
+
} | undefined;
|
|
5300
|
+
readonly language?: string | undefined;
|
|
5301
|
+
readonly theme?: string | undefined;
|
|
5302
|
+
readonly lineNumbers?: boolean | undefined;
|
|
5303
|
+
readonly maxRating?: number | undefined;
|
|
5304
|
+
readonly allowHalf?: boolean | undefined;
|
|
5305
|
+
readonly displayMap?: boolean | undefined;
|
|
5306
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
5307
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
5308
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
5309
|
+
readonly allowAlpha?: boolean | undefined;
|
|
5310
|
+
readonly presetColors?: string[] | undefined;
|
|
5311
|
+
readonly step?: number | undefined;
|
|
5312
|
+
readonly showValue?: boolean | undefined;
|
|
5313
|
+
readonly marks?: Record<string, string> | undefined;
|
|
5314
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
5315
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
5316
|
+
readonly displayValue?: boolean | undefined;
|
|
5317
|
+
readonly allowScanning?: boolean | undefined;
|
|
5318
|
+
readonly currencyConfig?: {
|
|
5319
|
+
precision: number;
|
|
5320
|
+
currencyMode: "dynamic" | "fixed";
|
|
5321
|
+
defaultCurrency: string;
|
|
5322
|
+
} | undefined;
|
|
5323
|
+
readonly vectorConfig?: {
|
|
5324
|
+
dimensions: number;
|
|
5325
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
5326
|
+
normalized: boolean;
|
|
5327
|
+
indexed: boolean;
|
|
5328
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
5329
|
+
} | undefined;
|
|
5330
|
+
readonly fileAttachmentConfig?: {
|
|
5331
|
+
virusScan: boolean;
|
|
5332
|
+
virusScanOnUpload: boolean;
|
|
5333
|
+
quarantineOnThreat: boolean;
|
|
5334
|
+
allowMultiple: boolean;
|
|
5335
|
+
allowReplace: boolean;
|
|
5336
|
+
allowDelete: boolean;
|
|
5337
|
+
requireUpload: boolean;
|
|
5338
|
+
extractMetadata: boolean;
|
|
5339
|
+
extractText: boolean;
|
|
5340
|
+
versioningEnabled: boolean;
|
|
5341
|
+
publicRead: boolean;
|
|
5342
|
+
presignedUrlExpiry: number;
|
|
5343
|
+
minSize?: number | undefined;
|
|
5344
|
+
maxSize?: number | undefined;
|
|
5345
|
+
allowedTypes?: string[] | undefined;
|
|
5346
|
+
blockedTypes?: string[] | undefined;
|
|
5347
|
+
allowedMimeTypes?: string[] | undefined;
|
|
5348
|
+
blockedMimeTypes?: string[] | undefined;
|
|
5349
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
5350
|
+
storageProvider?: string | undefined;
|
|
5351
|
+
storageBucket?: string | undefined;
|
|
5352
|
+
storagePrefix?: string | undefined;
|
|
5353
|
+
imageValidation?: {
|
|
5354
|
+
generateThumbnails: boolean;
|
|
5355
|
+
preserveMetadata: boolean;
|
|
5356
|
+
autoRotate: boolean;
|
|
5357
|
+
minWidth?: number | undefined;
|
|
5358
|
+
maxWidth?: number | undefined;
|
|
5359
|
+
minHeight?: number | undefined;
|
|
5360
|
+
maxHeight?: number | undefined;
|
|
5361
|
+
aspectRatio?: string | undefined;
|
|
5362
|
+
thumbnailSizes?: {
|
|
5363
|
+
name: string;
|
|
5364
|
+
width: number;
|
|
5365
|
+
height: number;
|
|
5366
|
+
crop: boolean;
|
|
5367
|
+
}[] | undefined;
|
|
5368
|
+
} | undefined;
|
|
5369
|
+
maxVersions?: number | undefined;
|
|
5370
|
+
} | undefined;
|
|
5371
|
+
readonly maskingRule?: {
|
|
5372
|
+
field: string;
|
|
5373
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
5374
|
+
preserveFormat: boolean;
|
|
5375
|
+
preserveLength: boolean;
|
|
5376
|
+
pattern?: string | undefined;
|
|
5377
|
+
roles?: string[] | undefined;
|
|
5378
|
+
exemptRoles?: string[] | undefined;
|
|
5379
|
+
} | undefined;
|
|
5380
|
+
readonly auditTrail?: boolean | undefined;
|
|
5381
|
+
readonly dependencies?: string[] | undefined;
|
|
5382
|
+
readonly cached?: {
|
|
5383
|
+
enabled: boolean;
|
|
5384
|
+
ttl: number;
|
|
5385
|
+
invalidateOn: string[];
|
|
5386
|
+
} | undefined;
|
|
5387
|
+
readonly dataQuality?: {
|
|
5388
|
+
uniqueness: boolean;
|
|
5389
|
+
completeness: number;
|
|
5390
|
+
accuracy?: {
|
|
5391
|
+
source: string;
|
|
5392
|
+
threshold: number;
|
|
5393
|
+
} | undefined;
|
|
5394
|
+
} | undefined;
|
|
5395
|
+
readonly group?: string | undefined;
|
|
5396
|
+
readonly conditionalRequired?: string | undefined;
|
|
5397
|
+
readonly hidden?: boolean | undefined;
|
|
5398
|
+
readonly sortable?: boolean | undefined;
|
|
5399
|
+
readonly inlineHelpText?: string | undefined;
|
|
5400
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
5401
|
+
readonly caseSensitive?: boolean | undefined;
|
|
5402
|
+
readonly autonumberFormat?: string | undefined;
|
|
5403
|
+
readonly index?: boolean | undefined;
|
|
5404
|
+
readonly externalId?: boolean | undefined;
|
|
5405
|
+
readonly type: "number";
|
|
5406
|
+
};
|
|
5407
|
+
/** Type of operation that created this history entry */
|
|
5408
|
+
readonly operation_type: {
|
|
5409
|
+
readonly format?: string | undefined;
|
|
5410
|
+
readonly expression?: string | undefined;
|
|
5411
|
+
readonly readonly?: boolean | undefined;
|
|
5412
|
+
readonly defaultValue?: unknown;
|
|
5413
|
+
readonly min?: number | undefined;
|
|
5414
|
+
readonly max?: number | undefined;
|
|
5415
|
+
readonly name?: string | undefined;
|
|
5416
|
+
readonly encryptionConfig?: {
|
|
5417
|
+
enabled: boolean;
|
|
5418
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
5419
|
+
keyManagement: {
|
|
5420
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
5421
|
+
keyId?: string | undefined;
|
|
5422
|
+
rotationPolicy?: {
|
|
5423
|
+
enabled: boolean;
|
|
5424
|
+
frequencyDays: number;
|
|
5425
|
+
retainOldVersions: number;
|
|
5426
|
+
autoRotate: boolean;
|
|
5427
|
+
} | undefined;
|
|
5428
|
+
};
|
|
5429
|
+
scope: "table" | "record" | "field" | "database";
|
|
5430
|
+
deterministicEncryption: boolean;
|
|
5431
|
+
searchableEncryption: boolean;
|
|
5432
|
+
} | undefined;
|
|
5433
|
+
readonly label?: string | undefined;
|
|
5434
|
+
readonly precision?: number | undefined;
|
|
5435
|
+
readonly description?: string | undefined;
|
|
5436
|
+
readonly columnName?: string | undefined;
|
|
5437
|
+
readonly required?: boolean | undefined;
|
|
5438
|
+
readonly searchable?: boolean | undefined;
|
|
5439
|
+
readonly multiple?: boolean | undefined;
|
|
5440
|
+
readonly unique?: boolean | undefined;
|
|
5441
|
+
readonly maxLength?: number | undefined;
|
|
5442
|
+
readonly minLength?: number | undefined;
|
|
5443
|
+
readonly scale?: number | undefined;
|
|
5444
|
+
options: {
|
|
5445
|
+
label: string;
|
|
5446
|
+
value: string;
|
|
5447
|
+
color?: string | undefined;
|
|
5448
|
+
default?: boolean | undefined;
|
|
5449
|
+
}[];
|
|
5450
|
+
readonly reference?: string | undefined;
|
|
5451
|
+
readonly referenceFilters?: string[] | undefined;
|
|
5452
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
5453
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
5454
|
+
readonly summaryOperations?: {
|
|
5455
|
+
object: string;
|
|
5456
|
+
field: string;
|
|
5457
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
5458
|
+
} | undefined;
|
|
5459
|
+
readonly language?: string | undefined;
|
|
5460
|
+
readonly theme?: string | undefined;
|
|
5461
|
+
readonly lineNumbers?: boolean | undefined;
|
|
5462
|
+
readonly maxRating?: number | undefined;
|
|
5463
|
+
readonly allowHalf?: boolean | undefined;
|
|
5464
|
+
readonly displayMap?: boolean | undefined;
|
|
5465
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
5466
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
5467
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
5468
|
+
readonly allowAlpha?: boolean | undefined;
|
|
5469
|
+
readonly presetColors?: string[] | undefined;
|
|
5470
|
+
readonly step?: number | undefined;
|
|
5471
|
+
readonly showValue?: boolean | undefined;
|
|
5472
|
+
readonly marks?: Record<string, string> | undefined;
|
|
5473
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
5474
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
5475
|
+
readonly displayValue?: boolean | undefined;
|
|
5476
|
+
readonly allowScanning?: boolean | undefined;
|
|
5477
|
+
readonly currencyConfig?: {
|
|
5478
|
+
precision: number;
|
|
5479
|
+
currencyMode: "dynamic" | "fixed";
|
|
5480
|
+
defaultCurrency: string;
|
|
5481
|
+
} | undefined;
|
|
5482
|
+
readonly vectorConfig?: {
|
|
5483
|
+
dimensions: number;
|
|
5484
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
5485
|
+
normalized: boolean;
|
|
5486
|
+
indexed: boolean;
|
|
5487
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
5488
|
+
} | undefined;
|
|
5489
|
+
readonly fileAttachmentConfig?: {
|
|
5490
|
+
virusScan: boolean;
|
|
5491
|
+
virusScanOnUpload: boolean;
|
|
5492
|
+
quarantineOnThreat: boolean;
|
|
5493
|
+
allowMultiple: boolean;
|
|
5494
|
+
allowReplace: boolean;
|
|
5495
|
+
allowDelete: boolean;
|
|
5496
|
+
requireUpload: boolean;
|
|
5497
|
+
extractMetadata: boolean;
|
|
5498
|
+
extractText: boolean;
|
|
5499
|
+
versioningEnabled: boolean;
|
|
5500
|
+
publicRead: boolean;
|
|
5501
|
+
presignedUrlExpiry: number;
|
|
5502
|
+
minSize?: number | undefined;
|
|
5503
|
+
maxSize?: number | undefined;
|
|
5504
|
+
allowedTypes?: string[] | undefined;
|
|
5505
|
+
blockedTypes?: string[] | undefined;
|
|
5506
|
+
allowedMimeTypes?: string[] | undefined;
|
|
5507
|
+
blockedMimeTypes?: string[] | undefined;
|
|
5508
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
5509
|
+
storageProvider?: string | undefined;
|
|
5510
|
+
storageBucket?: string | undefined;
|
|
5511
|
+
storagePrefix?: string | undefined;
|
|
5512
|
+
imageValidation?: {
|
|
5513
|
+
generateThumbnails: boolean;
|
|
5514
|
+
preserveMetadata: boolean;
|
|
5515
|
+
autoRotate: boolean;
|
|
5516
|
+
minWidth?: number | undefined;
|
|
5517
|
+
maxWidth?: number | undefined;
|
|
5518
|
+
minHeight?: number | undefined;
|
|
5519
|
+
maxHeight?: number | undefined;
|
|
5520
|
+
aspectRatio?: string | undefined;
|
|
5521
|
+
thumbnailSizes?: {
|
|
5522
|
+
name: string;
|
|
5523
|
+
width: number;
|
|
5524
|
+
height: number;
|
|
5525
|
+
crop: boolean;
|
|
5526
|
+
}[] | undefined;
|
|
5527
|
+
} | undefined;
|
|
5528
|
+
maxVersions?: number | undefined;
|
|
5529
|
+
} | undefined;
|
|
5530
|
+
readonly maskingRule?: {
|
|
5531
|
+
field: string;
|
|
5532
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
5533
|
+
preserveFormat: boolean;
|
|
5534
|
+
preserveLength: boolean;
|
|
5535
|
+
pattern?: string | undefined;
|
|
5536
|
+
roles?: string[] | undefined;
|
|
5537
|
+
exemptRoles?: string[] | undefined;
|
|
5538
|
+
} | undefined;
|
|
5539
|
+
readonly auditTrail?: boolean | undefined;
|
|
5540
|
+
readonly dependencies?: string[] | undefined;
|
|
5541
|
+
readonly cached?: {
|
|
5542
|
+
enabled: boolean;
|
|
5543
|
+
ttl: number;
|
|
5544
|
+
invalidateOn: string[];
|
|
5545
|
+
} | undefined;
|
|
5546
|
+
readonly dataQuality?: {
|
|
5547
|
+
uniqueness: boolean;
|
|
5548
|
+
completeness: number;
|
|
5549
|
+
accuracy?: {
|
|
5550
|
+
source: string;
|
|
5551
|
+
threshold: number;
|
|
5552
|
+
} | undefined;
|
|
5553
|
+
} | undefined;
|
|
5554
|
+
readonly group?: string | undefined;
|
|
5555
|
+
readonly conditionalRequired?: string | undefined;
|
|
5556
|
+
readonly hidden?: boolean | undefined;
|
|
5557
|
+
readonly sortable?: boolean | undefined;
|
|
5558
|
+
readonly inlineHelpText?: string | undefined;
|
|
5559
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
5560
|
+
readonly caseSensitive?: boolean | undefined;
|
|
5561
|
+
readonly autonumberFormat?: string | undefined;
|
|
5562
|
+
readonly index?: boolean | undefined;
|
|
5563
|
+
readonly externalId?: boolean | undefined;
|
|
5564
|
+
readonly type: "select";
|
|
5565
|
+
};
|
|
5566
|
+
/** Historical metadata snapshot (JSON payload) */
|
|
5567
|
+
readonly metadata: {
|
|
5568
|
+
readonly format?: string | undefined;
|
|
5569
|
+
readonly expression?: string | undefined;
|
|
5570
|
+
readonly readonly?: boolean | undefined;
|
|
5571
|
+
readonly defaultValue?: unknown;
|
|
5572
|
+
readonly min?: number | undefined;
|
|
5573
|
+
readonly max?: number | undefined;
|
|
5574
|
+
readonly name?: string | undefined;
|
|
5575
|
+
readonly encryptionConfig?: {
|
|
5576
|
+
enabled: boolean;
|
|
5577
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
5578
|
+
keyManagement: {
|
|
5579
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
5580
|
+
keyId?: string | undefined;
|
|
5581
|
+
rotationPolicy?: {
|
|
5582
|
+
enabled: boolean;
|
|
5583
|
+
frequencyDays: number;
|
|
5584
|
+
retainOldVersions: number;
|
|
5585
|
+
autoRotate: boolean;
|
|
5586
|
+
} | undefined;
|
|
5587
|
+
};
|
|
5588
|
+
scope: "table" | "record" | "field" | "database";
|
|
5589
|
+
deterministicEncryption: boolean;
|
|
5590
|
+
searchableEncryption: boolean;
|
|
5591
|
+
} | undefined;
|
|
5592
|
+
readonly label?: string | undefined;
|
|
5593
|
+
readonly precision?: number | undefined;
|
|
5594
|
+
readonly description?: string | undefined;
|
|
5595
|
+
readonly columnName?: string | undefined;
|
|
5596
|
+
readonly required?: boolean | undefined;
|
|
5597
|
+
readonly searchable?: boolean | undefined;
|
|
5598
|
+
readonly multiple?: boolean | undefined;
|
|
5599
|
+
readonly unique?: boolean | undefined;
|
|
5600
|
+
readonly maxLength?: number | undefined;
|
|
5601
|
+
readonly minLength?: number | undefined;
|
|
5602
|
+
readonly scale?: number | undefined;
|
|
5603
|
+
readonly options?: {
|
|
5604
|
+
label: string;
|
|
5605
|
+
value: string;
|
|
5606
|
+
color?: string | undefined;
|
|
5607
|
+
default?: boolean | undefined;
|
|
5608
|
+
}[] | undefined;
|
|
5609
|
+
readonly reference?: string | undefined;
|
|
5610
|
+
readonly referenceFilters?: string[] | undefined;
|
|
5611
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
5612
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
5613
|
+
readonly summaryOperations?: {
|
|
5614
|
+
object: string;
|
|
5615
|
+
field: string;
|
|
5616
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
5617
|
+
} | undefined;
|
|
5618
|
+
readonly language?: string | undefined;
|
|
5619
|
+
readonly theme?: string | undefined;
|
|
5620
|
+
readonly lineNumbers?: boolean | undefined;
|
|
5621
|
+
readonly maxRating?: number | undefined;
|
|
5622
|
+
readonly allowHalf?: boolean | undefined;
|
|
5623
|
+
readonly displayMap?: boolean | undefined;
|
|
5624
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
5625
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
5626
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
5627
|
+
readonly allowAlpha?: boolean | undefined;
|
|
5628
|
+
readonly presetColors?: string[] | undefined;
|
|
5629
|
+
readonly step?: number | undefined;
|
|
5630
|
+
readonly showValue?: boolean | undefined;
|
|
5631
|
+
readonly marks?: Record<string, string> | undefined;
|
|
5632
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
5633
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
5634
|
+
readonly displayValue?: boolean | undefined;
|
|
5635
|
+
readonly allowScanning?: boolean | undefined;
|
|
5636
|
+
readonly currencyConfig?: {
|
|
5637
|
+
precision: number;
|
|
5638
|
+
currencyMode: "dynamic" | "fixed";
|
|
5639
|
+
defaultCurrency: string;
|
|
5640
|
+
} | undefined;
|
|
5641
|
+
readonly vectorConfig?: {
|
|
5642
|
+
dimensions: number;
|
|
5643
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
5644
|
+
normalized: boolean;
|
|
5645
|
+
indexed: boolean;
|
|
5646
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
5647
|
+
} | undefined;
|
|
5648
|
+
readonly fileAttachmentConfig?: {
|
|
5649
|
+
virusScan: boolean;
|
|
5650
|
+
virusScanOnUpload: boolean;
|
|
5651
|
+
quarantineOnThreat: boolean;
|
|
5652
|
+
allowMultiple: boolean;
|
|
5653
|
+
allowReplace: boolean;
|
|
5654
|
+
allowDelete: boolean;
|
|
5655
|
+
requireUpload: boolean;
|
|
5656
|
+
extractMetadata: boolean;
|
|
5657
|
+
extractText: boolean;
|
|
5658
|
+
versioningEnabled: boolean;
|
|
5659
|
+
publicRead: boolean;
|
|
5660
|
+
presignedUrlExpiry: number;
|
|
5661
|
+
minSize?: number | undefined;
|
|
5662
|
+
maxSize?: number | undefined;
|
|
5663
|
+
allowedTypes?: string[] | undefined;
|
|
5664
|
+
blockedTypes?: string[] | undefined;
|
|
5665
|
+
allowedMimeTypes?: string[] | undefined;
|
|
5666
|
+
blockedMimeTypes?: string[] | undefined;
|
|
5667
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
5668
|
+
storageProvider?: string | undefined;
|
|
5669
|
+
storageBucket?: string | undefined;
|
|
5670
|
+
storagePrefix?: string | undefined;
|
|
5671
|
+
imageValidation?: {
|
|
5672
|
+
generateThumbnails: boolean;
|
|
5673
|
+
preserveMetadata: boolean;
|
|
5674
|
+
autoRotate: boolean;
|
|
5675
|
+
minWidth?: number | undefined;
|
|
5676
|
+
maxWidth?: number | undefined;
|
|
5677
|
+
minHeight?: number | undefined;
|
|
5678
|
+
maxHeight?: number | undefined;
|
|
5679
|
+
aspectRatio?: string | undefined;
|
|
5680
|
+
thumbnailSizes?: {
|
|
5681
|
+
name: string;
|
|
5682
|
+
width: number;
|
|
5683
|
+
height: number;
|
|
5684
|
+
crop: boolean;
|
|
5685
|
+
}[] | undefined;
|
|
5686
|
+
} | undefined;
|
|
5687
|
+
maxVersions?: number | undefined;
|
|
5688
|
+
} | undefined;
|
|
5689
|
+
readonly maskingRule?: {
|
|
5690
|
+
field: string;
|
|
5691
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
5692
|
+
preserveFormat: boolean;
|
|
5693
|
+
preserveLength: boolean;
|
|
5694
|
+
pattern?: string | undefined;
|
|
5695
|
+
roles?: string[] | undefined;
|
|
5696
|
+
exemptRoles?: string[] | undefined;
|
|
5697
|
+
} | undefined;
|
|
5698
|
+
readonly auditTrail?: boolean | undefined;
|
|
5699
|
+
readonly dependencies?: string[] | undefined;
|
|
5700
|
+
readonly cached?: {
|
|
5701
|
+
enabled: boolean;
|
|
5702
|
+
ttl: number;
|
|
5703
|
+
invalidateOn: string[];
|
|
5704
|
+
} | undefined;
|
|
5705
|
+
readonly dataQuality?: {
|
|
5706
|
+
uniqueness: boolean;
|
|
5707
|
+
completeness: number;
|
|
5708
|
+
accuracy?: {
|
|
5709
|
+
source: string;
|
|
5710
|
+
threshold: number;
|
|
5711
|
+
} | undefined;
|
|
5712
|
+
} | undefined;
|
|
5713
|
+
readonly group?: string | undefined;
|
|
5714
|
+
readonly conditionalRequired?: string | undefined;
|
|
5715
|
+
readonly hidden?: boolean | undefined;
|
|
5716
|
+
readonly sortable?: boolean | undefined;
|
|
5717
|
+
readonly inlineHelpText?: string | undefined;
|
|
5718
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
5719
|
+
readonly caseSensitive?: boolean | undefined;
|
|
5720
|
+
readonly autonumberFormat?: string | undefined;
|
|
5721
|
+
readonly index?: boolean | undefined;
|
|
5722
|
+
readonly externalId?: boolean | undefined;
|
|
5723
|
+
readonly type: "textarea";
|
|
5724
|
+
};
|
|
5725
|
+
/** SHA-256 checksum of metadata content */
|
|
5726
|
+
readonly checksum: {
|
|
5727
|
+
readonly format?: string | undefined;
|
|
5728
|
+
readonly expression?: string | undefined;
|
|
5729
|
+
readonly readonly?: boolean | undefined;
|
|
5730
|
+
readonly defaultValue?: unknown;
|
|
5731
|
+
readonly min?: number | undefined;
|
|
5732
|
+
readonly max?: number | undefined;
|
|
5733
|
+
readonly name?: string | undefined;
|
|
5734
|
+
readonly encryptionConfig?: {
|
|
5735
|
+
enabled: boolean;
|
|
5736
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
5737
|
+
keyManagement: {
|
|
5738
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
5739
|
+
keyId?: string | undefined;
|
|
5740
|
+
rotationPolicy?: {
|
|
5741
|
+
enabled: boolean;
|
|
5742
|
+
frequencyDays: number;
|
|
5743
|
+
retainOldVersions: number;
|
|
5744
|
+
autoRotate: boolean;
|
|
5745
|
+
} | undefined;
|
|
5746
|
+
};
|
|
5747
|
+
scope: "table" | "record" | "field" | "database";
|
|
5748
|
+
deterministicEncryption: boolean;
|
|
5749
|
+
searchableEncryption: boolean;
|
|
5750
|
+
} | undefined;
|
|
5751
|
+
readonly label?: string | undefined;
|
|
5752
|
+
readonly precision?: number | undefined;
|
|
5753
|
+
readonly description?: string | undefined;
|
|
5754
|
+
readonly columnName?: string | undefined;
|
|
5755
|
+
readonly required?: boolean | undefined;
|
|
5756
|
+
readonly searchable?: boolean | undefined;
|
|
5757
|
+
readonly multiple?: boolean | undefined;
|
|
5758
|
+
readonly unique?: boolean | undefined;
|
|
5759
|
+
readonly maxLength?: number | undefined;
|
|
5760
|
+
readonly minLength?: number | undefined;
|
|
5761
|
+
readonly scale?: number | undefined;
|
|
5762
|
+
readonly options?: {
|
|
5763
|
+
label: string;
|
|
5764
|
+
value: string;
|
|
5765
|
+
color?: string | undefined;
|
|
5766
|
+
default?: boolean | undefined;
|
|
5767
|
+
}[] | undefined;
|
|
5768
|
+
readonly reference?: string | undefined;
|
|
5769
|
+
readonly referenceFilters?: string[] | undefined;
|
|
5770
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
5771
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
5772
|
+
readonly summaryOperations?: {
|
|
5773
|
+
object: string;
|
|
5774
|
+
field: string;
|
|
5775
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
5776
|
+
} | undefined;
|
|
5777
|
+
readonly language?: string | undefined;
|
|
5778
|
+
readonly theme?: string | undefined;
|
|
5779
|
+
readonly lineNumbers?: boolean | undefined;
|
|
5780
|
+
readonly maxRating?: number | undefined;
|
|
5781
|
+
readonly allowHalf?: boolean | undefined;
|
|
5782
|
+
readonly displayMap?: boolean | undefined;
|
|
5783
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
5784
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
5785
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
5786
|
+
readonly allowAlpha?: boolean | undefined;
|
|
5787
|
+
readonly presetColors?: string[] | undefined;
|
|
5788
|
+
readonly step?: number | undefined;
|
|
5789
|
+
readonly showValue?: boolean | undefined;
|
|
5790
|
+
readonly marks?: Record<string, string> | undefined;
|
|
5791
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
5792
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
5793
|
+
readonly displayValue?: boolean | undefined;
|
|
5794
|
+
readonly allowScanning?: boolean | undefined;
|
|
5795
|
+
readonly currencyConfig?: {
|
|
5796
|
+
precision: number;
|
|
5797
|
+
currencyMode: "dynamic" | "fixed";
|
|
5798
|
+
defaultCurrency: string;
|
|
5799
|
+
} | undefined;
|
|
5800
|
+
readonly vectorConfig?: {
|
|
5801
|
+
dimensions: number;
|
|
5802
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
5803
|
+
normalized: boolean;
|
|
5804
|
+
indexed: boolean;
|
|
5805
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
5806
|
+
} | undefined;
|
|
5807
|
+
readonly fileAttachmentConfig?: {
|
|
5808
|
+
virusScan: boolean;
|
|
5809
|
+
virusScanOnUpload: boolean;
|
|
5810
|
+
quarantineOnThreat: boolean;
|
|
5811
|
+
allowMultiple: boolean;
|
|
5812
|
+
allowReplace: boolean;
|
|
5813
|
+
allowDelete: boolean;
|
|
5814
|
+
requireUpload: boolean;
|
|
5815
|
+
extractMetadata: boolean;
|
|
5816
|
+
extractText: boolean;
|
|
5817
|
+
versioningEnabled: boolean;
|
|
5818
|
+
publicRead: boolean;
|
|
5819
|
+
presignedUrlExpiry: number;
|
|
5820
|
+
minSize?: number | undefined;
|
|
5821
|
+
maxSize?: number | undefined;
|
|
5822
|
+
allowedTypes?: string[] | undefined;
|
|
5823
|
+
blockedTypes?: string[] | undefined;
|
|
5824
|
+
allowedMimeTypes?: string[] | undefined;
|
|
5825
|
+
blockedMimeTypes?: string[] | undefined;
|
|
5826
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
5827
|
+
storageProvider?: string | undefined;
|
|
5828
|
+
storageBucket?: string | undefined;
|
|
5829
|
+
storagePrefix?: string | undefined;
|
|
5830
|
+
imageValidation?: {
|
|
5831
|
+
generateThumbnails: boolean;
|
|
5832
|
+
preserveMetadata: boolean;
|
|
5833
|
+
autoRotate: boolean;
|
|
5834
|
+
minWidth?: number | undefined;
|
|
5835
|
+
maxWidth?: number | undefined;
|
|
5836
|
+
minHeight?: number | undefined;
|
|
5837
|
+
maxHeight?: number | undefined;
|
|
5838
|
+
aspectRatio?: string | undefined;
|
|
5839
|
+
thumbnailSizes?: {
|
|
5840
|
+
name: string;
|
|
5841
|
+
width: number;
|
|
5842
|
+
height: number;
|
|
5843
|
+
crop: boolean;
|
|
5844
|
+
}[] | undefined;
|
|
5845
|
+
} | undefined;
|
|
5846
|
+
maxVersions?: number | undefined;
|
|
5847
|
+
} | undefined;
|
|
5848
|
+
readonly maskingRule?: {
|
|
5849
|
+
field: string;
|
|
5850
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
5851
|
+
preserveFormat: boolean;
|
|
5852
|
+
preserveLength: boolean;
|
|
5853
|
+
pattern?: string | undefined;
|
|
5854
|
+
roles?: string[] | undefined;
|
|
5855
|
+
exemptRoles?: string[] | undefined;
|
|
5856
|
+
} | undefined;
|
|
5857
|
+
readonly auditTrail?: boolean | undefined;
|
|
5858
|
+
readonly dependencies?: string[] | undefined;
|
|
5859
|
+
readonly cached?: {
|
|
5860
|
+
enabled: boolean;
|
|
5861
|
+
ttl: number;
|
|
5862
|
+
invalidateOn: string[];
|
|
5863
|
+
} | undefined;
|
|
5864
|
+
readonly dataQuality?: {
|
|
5865
|
+
uniqueness: boolean;
|
|
5866
|
+
completeness: number;
|
|
5867
|
+
accuracy?: {
|
|
5868
|
+
source: string;
|
|
5869
|
+
threshold: number;
|
|
5870
|
+
} | undefined;
|
|
5871
|
+
} | undefined;
|
|
5872
|
+
readonly group?: string | undefined;
|
|
5873
|
+
readonly conditionalRequired?: string | undefined;
|
|
5874
|
+
readonly hidden?: boolean | undefined;
|
|
5875
|
+
readonly sortable?: boolean | undefined;
|
|
5876
|
+
readonly inlineHelpText?: string | undefined;
|
|
5877
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
5878
|
+
readonly caseSensitive?: boolean | undefined;
|
|
5879
|
+
readonly autonumberFormat?: string | undefined;
|
|
5880
|
+
readonly index?: boolean | undefined;
|
|
5881
|
+
readonly externalId?: boolean | undefined;
|
|
5882
|
+
readonly type: "text";
|
|
5883
|
+
};
|
|
5884
|
+
/** Checksum of the previous version */
|
|
5885
|
+
readonly previous_checksum: {
|
|
5886
|
+
readonly format?: string | undefined;
|
|
5887
|
+
readonly expression?: string | undefined;
|
|
5888
|
+
readonly readonly?: boolean | undefined;
|
|
5889
|
+
readonly defaultValue?: unknown;
|
|
5890
|
+
readonly min?: number | undefined;
|
|
5891
|
+
readonly max?: number | undefined;
|
|
5892
|
+
readonly name?: string | undefined;
|
|
5893
|
+
readonly encryptionConfig?: {
|
|
5894
|
+
enabled: boolean;
|
|
5895
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
5896
|
+
keyManagement: {
|
|
5897
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
5898
|
+
keyId?: string | undefined;
|
|
5899
|
+
rotationPolicy?: {
|
|
5900
|
+
enabled: boolean;
|
|
5901
|
+
frequencyDays: number;
|
|
5902
|
+
retainOldVersions: number;
|
|
5903
|
+
autoRotate: boolean;
|
|
5904
|
+
} | undefined;
|
|
5905
|
+
};
|
|
5906
|
+
scope: "table" | "record" | "field" | "database";
|
|
5907
|
+
deterministicEncryption: boolean;
|
|
5908
|
+
searchableEncryption: boolean;
|
|
5909
|
+
} | undefined;
|
|
5910
|
+
readonly label?: string | undefined;
|
|
5911
|
+
readonly precision?: number | undefined;
|
|
5912
|
+
readonly description?: string | undefined;
|
|
5913
|
+
readonly columnName?: string | undefined;
|
|
5914
|
+
readonly required?: boolean | undefined;
|
|
5915
|
+
readonly searchable?: boolean | undefined;
|
|
5916
|
+
readonly multiple?: boolean | undefined;
|
|
5917
|
+
readonly unique?: boolean | undefined;
|
|
5918
|
+
readonly maxLength?: number | undefined;
|
|
5919
|
+
readonly minLength?: number | undefined;
|
|
5920
|
+
readonly scale?: number | undefined;
|
|
5921
|
+
readonly options?: {
|
|
5922
|
+
label: string;
|
|
5923
|
+
value: string;
|
|
5924
|
+
color?: string | undefined;
|
|
5925
|
+
default?: boolean | undefined;
|
|
5926
|
+
}[] | undefined;
|
|
5927
|
+
readonly reference?: string | undefined;
|
|
5928
|
+
readonly referenceFilters?: string[] | undefined;
|
|
5929
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
5930
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
5931
|
+
readonly summaryOperations?: {
|
|
5932
|
+
object: string;
|
|
5933
|
+
field: string;
|
|
5934
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
5935
|
+
} | undefined;
|
|
5936
|
+
readonly language?: string | undefined;
|
|
5937
|
+
readonly theme?: string | undefined;
|
|
5938
|
+
readonly lineNumbers?: boolean | undefined;
|
|
5939
|
+
readonly maxRating?: number | undefined;
|
|
5940
|
+
readonly allowHalf?: boolean | undefined;
|
|
5941
|
+
readonly displayMap?: boolean | undefined;
|
|
5942
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
5943
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
5944
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
5945
|
+
readonly allowAlpha?: boolean | undefined;
|
|
5946
|
+
readonly presetColors?: string[] | undefined;
|
|
5947
|
+
readonly step?: number | undefined;
|
|
5948
|
+
readonly showValue?: boolean | undefined;
|
|
5949
|
+
readonly marks?: Record<string, string> | undefined;
|
|
5950
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
5951
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
5952
|
+
readonly displayValue?: boolean | undefined;
|
|
5953
|
+
readonly allowScanning?: boolean | undefined;
|
|
5954
|
+
readonly currencyConfig?: {
|
|
5955
|
+
precision: number;
|
|
5956
|
+
currencyMode: "dynamic" | "fixed";
|
|
5957
|
+
defaultCurrency: string;
|
|
5958
|
+
} | undefined;
|
|
5959
|
+
readonly vectorConfig?: {
|
|
5960
|
+
dimensions: number;
|
|
5961
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
5962
|
+
normalized: boolean;
|
|
5963
|
+
indexed: boolean;
|
|
5964
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
5965
|
+
} | undefined;
|
|
5966
|
+
readonly fileAttachmentConfig?: {
|
|
5967
|
+
virusScan: boolean;
|
|
5968
|
+
virusScanOnUpload: boolean;
|
|
5969
|
+
quarantineOnThreat: boolean;
|
|
5970
|
+
allowMultiple: boolean;
|
|
5971
|
+
allowReplace: boolean;
|
|
5972
|
+
allowDelete: boolean;
|
|
5973
|
+
requireUpload: boolean;
|
|
5974
|
+
extractMetadata: boolean;
|
|
5975
|
+
extractText: boolean;
|
|
5976
|
+
versioningEnabled: boolean;
|
|
5977
|
+
publicRead: boolean;
|
|
5978
|
+
presignedUrlExpiry: number;
|
|
5979
|
+
minSize?: number | undefined;
|
|
5980
|
+
maxSize?: number | undefined;
|
|
5981
|
+
allowedTypes?: string[] | undefined;
|
|
5982
|
+
blockedTypes?: string[] | undefined;
|
|
5983
|
+
allowedMimeTypes?: string[] | undefined;
|
|
5984
|
+
blockedMimeTypes?: string[] | undefined;
|
|
5985
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
5986
|
+
storageProvider?: string | undefined;
|
|
5987
|
+
storageBucket?: string | undefined;
|
|
5988
|
+
storagePrefix?: string | undefined;
|
|
5989
|
+
imageValidation?: {
|
|
5990
|
+
generateThumbnails: boolean;
|
|
5991
|
+
preserveMetadata: boolean;
|
|
5992
|
+
autoRotate: boolean;
|
|
5993
|
+
minWidth?: number | undefined;
|
|
5994
|
+
maxWidth?: number | undefined;
|
|
5995
|
+
minHeight?: number | undefined;
|
|
5996
|
+
maxHeight?: number | undefined;
|
|
5997
|
+
aspectRatio?: string | undefined;
|
|
5998
|
+
thumbnailSizes?: {
|
|
5999
|
+
name: string;
|
|
6000
|
+
width: number;
|
|
6001
|
+
height: number;
|
|
6002
|
+
crop: boolean;
|
|
6003
|
+
}[] | undefined;
|
|
6004
|
+
} | undefined;
|
|
6005
|
+
maxVersions?: number | undefined;
|
|
6006
|
+
} | undefined;
|
|
6007
|
+
readonly maskingRule?: {
|
|
6008
|
+
field: string;
|
|
6009
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
6010
|
+
preserveFormat: boolean;
|
|
6011
|
+
preserveLength: boolean;
|
|
6012
|
+
pattern?: string | undefined;
|
|
6013
|
+
roles?: string[] | undefined;
|
|
6014
|
+
exemptRoles?: string[] | undefined;
|
|
6015
|
+
} | undefined;
|
|
6016
|
+
readonly auditTrail?: boolean | undefined;
|
|
6017
|
+
readonly dependencies?: string[] | undefined;
|
|
6018
|
+
readonly cached?: {
|
|
6019
|
+
enabled: boolean;
|
|
6020
|
+
ttl: number;
|
|
6021
|
+
invalidateOn: string[];
|
|
6022
|
+
} | undefined;
|
|
6023
|
+
readonly dataQuality?: {
|
|
6024
|
+
uniqueness: boolean;
|
|
6025
|
+
completeness: number;
|
|
6026
|
+
accuracy?: {
|
|
6027
|
+
source: string;
|
|
6028
|
+
threshold: number;
|
|
6029
|
+
} | undefined;
|
|
6030
|
+
} | undefined;
|
|
6031
|
+
readonly group?: string | undefined;
|
|
6032
|
+
readonly conditionalRequired?: string | undefined;
|
|
6033
|
+
readonly hidden?: boolean | undefined;
|
|
6034
|
+
readonly sortable?: boolean | undefined;
|
|
6035
|
+
readonly inlineHelpText?: string | undefined;
|
|
6036
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
6037
|
+
readonly caseSensitive?: boolean | undefined;
|
|
6038
|
+
readonly autonumberFormat?: string | undefined;
|
|
6039
|
+
readonly index?: boolean | undefined;
|
|
6040
|
+
readonly externalId?: boolean | undefined;
|
|
6041
|
+
readonly type: "text";
|
|
6042
|
+
};
|
|
6043
|
+
/** Human-readable description of changes */
|
|
6044
|
+
readonly change_note: {
|
|
6045
|
+
readonly format?: string | undefined;
|
|
6046
|
+
readonly expression?: string | undefined;
|
|
6047
|
+
readonly readonly?: boolean | undefined;
|
|
6048
|
+
readonly defaultValue?: unknown;
|
|
6049
|
+
readonly min?: number | undefined;
|
|
6050
|
+
readonly max?: number | undefined;
|
|
6051
|
+
readonly name?: string | undefined;
|
|
6052
|
+
readonly encryptionConfig?: {
|
|
6053
|
+
enabled: boolean;
|
|
6054
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
6055
|
+
keyManagement: {
|
|
6056
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
6057
|
+
keyId?: string | undefined;
|
|
6058
|
+
rotationPolicy?: {
|
|
6059
|
+
enabled: boolean;
|
|
6060
|
+
frequencyDays: number;
|
|
6061
|
+
retainOldVersions: number;
|
|
6062
|
+
autoRotate: boolean;
|
|
6063
|
+
} | undefined;
|
|
6064
|
+
};
|
|
6065
|
+
scope: "table" | "record" | "field" | "database";
|
|
6066
|
+
deterministicEncryption: boolean;
|
|
6067
|
+
searchableEncryption: boolean;
|
|
6068
|
+
} | undefined;
|
|
6069
|
+
readonly label?: string | undefined;
|
|
6070
|
+
readonly precision?: number | undefined;
|
|
6071
|
+
readonly description?: string | undefined;
|
|
6072
|
+
readonly columnName?: string | undefined;
|
|
6073
|
+
readonly required?: boolean | undefined;
|
|
6074
|
+
readonly searchable?: boolean | undefined;
|
|
6075
|
+
readonly multiple?: boolean | undefined;
|
|
6076
|
+
readonly unique?: boolean | undefined;
|
|
6077
|
+
readonly maxLength?: number | undefined;
|
|
6078
|
+
readonly minLength?: number | undefined;
|
|
6079
|
+
readonly scale?: number | undefined;
|
|
6080
|
+
readonly options?: {
|
|
6081
|
+
label: string;
|
|
6082
|
+
value: string;
|
|
6083
|
+
color?: string | undefined;
|
|
6084
|
+
default?: boolean | undefined;
|
|
6085
|
+
}[] | undefined;
|
|
6086
|
+
readonly reference?: string | undefined;
|
|
6087
|
+
readonly referenceFilters?: string[] | undefined;
|
|
6088
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
6089
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
6090
|
+
readonly summaryOperations?: {
|
|
6091
|
+
object: string;
|
|
6092
|
+
field: string;
|
|
6093
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
6094
|
+
} | undefined;
|
|
6095
|
+
readonly language?: string | undefined;
|
|
6096
|
+
readonly theme?: string | undefined;
|
|
6097
|
+
readonly lineNumbers?: boolean | undefined;
|
|
6098
|
+
readonly maxRating?: number | undefined;
|
|
6099
|
+
readonly allowHalf?: boolean | undefined;
|
|
6100
|
+
readonly displayMap?: boolean | undefined;
|
|
6101
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
6102
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
6103
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
6104
|
+
readonly allowAlpha?: boolean | undefined;
|
|
6105
|
+
readonly presetColors?: string[] | undefined;
|
|
6106
|
+
readonly step?: number | undefined;
|
|
6107
|
+
readonly showValue?: boolean | undefined;
|
|
6108
|
+
readonly marks?: Record<string, string> | undefined;
|
|
6109
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
6110
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
6111
|
+
readonly displayValue?: boolean | undefined;
|
|
6112
|
+
readonly allowScanning?: boolean | undefined;
|
|
6113
|
+
readonly currencyConfig?: {
|
|
6114
|
+
precision: number;
|
|
6115
|
+
currencyMode: "dynamic" | "fixed";
|
|
6116
|
+
defaultCurrency: string;
|
|
6117
|
+
} | undefined;
|
|
6118
|
+
readonly vectorConfig?: {
|
|
6119
|
+
dimensions: number;
|
|
6120
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
6121
|
+
normalized: boolean;
|
|
6122
|
+
indexed: boolean;
|
|
6123
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
6124
|
+
} | undefined;
|
|
6125
|
+
readonly fileAttachmentConfig?: {
|
|
6126
|
+
virusScan: boolean;
|
|
6127
|
+
virusScanOnUpload: boolean;
|
|
6128
|
+
quarantineOnThreat: boolean;
|
|
6129
|
+
allowMultiple: boolean;
|
|
6130
|
+
allowReplace: boolean;
|
|
6131
|
+
allowDelete: boolean;
|
|
6132
|
+
requireUpload: boolean;
|
|
6133
|
+
extractMetadata: boolean;
|
|
6134
|
+
extractText: boolean;
|
|
6135
|
+
versioningEnabled: boolean;
|
|
6136
|
+
publicRead: boolean;
|
|
6137
|
+
presignedUrlExpiry: number;
|
|
6138
|
+
minSize?: number | undefined;
|
|
6139
|
+
maxSize?: number | undefined;
|
|
6140
|
+
allowedTypes?: string[] | undefined;
|
|
6141
|
+
blockedTypes?: string[] | undefined;
|
|
6142
|
+
allowedMimeTypes?: string[] | undefined;
|
|
6143
|
+
blockedMimeTypes?: string[] | undefined;
|
|
6144
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
6145
|
+
storageProvider?: string | undefined;
|
|
6146
|
+
storageBucket?: string | undefined;
|
|
6147
|
+
storagePrefix?: string | undefined;
|
|
6148
|
+
imageValidation?: {
|
|
6149
|
+
generateThumbnails: boolean;
|
|
6150
|
+
preserveMetadata: boolean;
|
|
6151
|
+
autoRotate: boolean;
|
|
6152
|
+
minWidth?: number | undefined;
|
|
6153
|
+
maxWidth?: number | undefined;
|
|
6154
|
+
minHeight?: number | undefined;
|
|
6155
|
+
maxHeight?: number | undefined;
|
|
6156
|
+
aspectRatio?: string | undefined;
|
|
6157
|
+
thumbnailSizes?: {
|
|
6158
|
+
name: string;
|
|
6159
|
+
width: number;
|
|
6160
|
+
height: number;
|
|
6161
|
+
crop: boolean;
|
|
6162
|
+
}[] | undefined;
|
|
6163
|
+
} | undefined;
|
|
6164
|
+
maxVersions?: number | undefined;
|
|
6165
|
+
} | undefined;
|
|
6166
|
+
readonly maskingRule?: {
|
|
6167
|
+
field: string;
|
|
6168
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
6169
|
+
preserveFormat: boolean;
|
|
6170
|
+
preserveLength: boolean;
|
|
6171
|
+
pattern?: string | undefined;
|
|
6172
|
+
roles?: string[] | undefined;
|
|
6173
|
+
exemptRoles?: string[] | undefined;
|
|
6174
|
+
} | undefined;
|
|
6175
|
+
readonly auditTrail?: boolean | undefined;
|
|
6176
|
+
readonly dependencies?: string[] | undefined;
|
|
6177
|
+
readonly cached?: {
|
|
6178
|
+
enabled: boolean;
|
|
6179
|
+
ttl: number;
|
|
6180
|
+
invalidateOn: string[];
|
|
6181
|
+
} | undefined;
|
|
6182
|
+
readonly dataQuality?: {
|
|
6183
|
+
uniqueness: boolean;
|
|
6184
|
+
completeness: number;
|
|
6185
|
+
accuracy?: {
|
|
6186
|
+
source: string;
|
|
6187
|
+
threshold: number;
|
|
6188
|
+
} | undefined;
|
|
6189
|
+
} | undefined;
|
|
6190
|
+
readonly group?: string | undefined;
|
|
6191
|
+
readonly conditionalRequired?: string | undefined;
|
|
6192
|
+
readonly hidden?: boolean | undefined;
|
|
6193
|
+
readonly sortable?: boolean | undefined;
|
|
6194
|
+
readonly inlineHelpText?: string | undefined;
|
|
6195
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
6196
|
+
readonly caseSensitive?: boolean | undefined;
|
|
6197
|
+
readonly autonumberFormat?: string | undefined;
|
|
6198
|
+
readonly index?: boolean | undefined;
|
|
6199
|
+
readonly externalId?: boolean | undefined;
|
|
6200
|
+
readonly type: "textarea";
|
|
6201
|
+
};
|
|
6202
|
+
/** Tenant ID for multi-tenant isolation */
|
|
6203
|
+
readonly tenant_id: {
|
|
6204
|
+
readonly format?: string | undefined;
|
|
6205
|
+
readonly expression?: string | undefined;
|
|
6206
|
+
readonly readonly?: boolean | undefined;
|
|
6207
|
+
readonly defaultValue?: unknown;
|
|
6208
|
+
readonly min?: number | undefined;
|
|
6209
|
+
readonly max?: number | undefined;
|
|
6210
|
+
readonly name?: string | undefined;
|
|
6211
|
+
readonly encryptionConfig?: {
|
|
6212
|
+
enabled: boolean;
|
|
6213
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
6214
|
+
keyManagement: {
|
|
6215
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
6216
|
+
keyId?: string | undefined;
|
|
6217
|
+
rotationPolicy?: {
|
|
6218
|
+
enabled: boolean;
|
|
6219
|
+
frequencyDays: number;
|
|
6220
|
+
retainOldVersions: number;
|
|
6221
|
+
autoRotate: boolean;
|
|
6222
|
+
} | undefined;
|
|
6223
|
+
};
|
|
6224
|
+
scope: "table" | "record" | "field" | "database";
|
|
6225
|
+
deterministicEncryption: boolean;
|
|
6226
|
+
searchableEncryption: boolean;
|
|
6227
|
+
} | undefined;
|
|
6228
|
+
readonly label?: string | undefined;
|
|
6229
|
+
readonly precision?: number | undefined;
|
|
6230
|
+
readonly description?: string | undefined;
|
|
6231
|
+
readonly columnName?: string | undefined;
|
|
6232
|
+
readonly required?: boolean | undefined;
|
|
6233
|
+
readonly searchable?: boolean | undefined;
|
|
6234
|
+
readonly multiple?: boolean | undefined;
|
|
6235
|
+
readonly unique?: boolean | undefined;
|
|
6236
|
+
readonly maxLength?: number | undefined;
|
|
6237
|
+
readonly minLength?: number | undefined;
|
|
6238
|
+
readonly scale?: number | undefined;
|
|
6239
|
+
readonly options?: {
|
|
6240
|
+
label: string;
|
|
6241
|
+
value: string;
|
|
6242
|
+
color?: string | undefined;
|
|
6243
|
+
default?: boolean | undefined;
|
|
6244
|
+
}[] | undefined;
|
|
6245
|
+
readonly reference?: string | undefined;
|
|
6246
|
+
readonly referenceFilters?: string[] | undefined;
|
|
6247
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
6248
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
6249
|
+
readonly summaryOperations?: {
|
|
6250
|
+
object: string;
|
|
6251
|
+
field: string;
|
|
6252
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
6253
|
+
} | undefined;
|
|
6254
|
+
readonly language?: string | undefined;
|
|
6255
|
+
readonly theme?: string | undefined;
|
|
6256
|
+
readonly lineNumbers?: boolean | undefined;
|
|
6257
|
+
readonly maxRating?: number | undefined;
|
|
6258
|
+
readonly allowHalf?: boolean | undefined;
|
|
6259
|
+
readonly displayMap?: boolean | undefined;
|
|
6260
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
6261
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
6262
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
6263
|
+
readonly allowAlpha?: boolean | undefined;
|
|
6264
|
+
readonly presetColors?: string[] | undefined;
|
|
6265
|
+
readonly step?: number | undefined;
|
|
6266
|
+
readonly showValue?: boolean | undefined;
|
|
6267
|
+
readonly marks?: Record<string, string> | undefined;
|
|
6268
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
6269
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
6270
|
+
readonly displayValue?: boolean | undefined;
|
|
6271
|
+
readonly allowScanning?: boolean | undefined;
|
|
6272
|
+
readonly currencyConfig?: {
|
|
6273
|
+
precision: number;
|
|
6274
|
+
currencyMode: "dynamic" | "fixed";
|
|
6275
|
+
defaultCurrency: string;
|
|
6276
|
+
} | undefined;
|
|
6277
|
+
readonly vectorConfig?: {
|
|
6278
|
+
dimensions: number;
|
|
6279
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
6280
|
+
normalized: boolean;
|
|
6281
|
+
indexed: boolean;
|
|
6282
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
6283
|
+
} | undefined;
|
|
6284
|
+
readonly fileAttachmentConfig?: {
|
|
6285
|
+
virusScan: boolean;
|
|
6286
|
+
virusScanOnUpload: boolean;
|
|
6287
|
+
quarantineOnThreat: boolean;
|
|
6288
|
+
allowMultiple: boolean;
|
|
6289
|
+
allowReplace: boolean;
|
|
6290
|
+
allowDelete: boolean;
|
|
6291
|
+
requireUpload: boolean;
|
|
6292
|
+
extractMetadata: boolean;
|
|
6293
|
+
extractText: boolean;
|
|
6294
|
+
versioningEnabled: boolean;
|
|
6295
|
+
publicRead: boolean;
|
|
6296
|
+
presignedUrlExpiry: number;
|
|
6297
|
+
minSize?: number | undefined;
|
|
6298
|
+
maxSize?: number | undefined;
|
|
6299
|
+
allowedTypes?: string[] | undefined;
|
|
6300
|
+
blockedTypes?: string[] | undefined;
|
|
6301
|
+
allowedMimeTypes?: string[] | undefined;
|
|
6302
|
+
blockedMimeTypes?: string[] | undefined;
|
|
6303
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
6304
|
+
storageProvider?: string | undefined;
|
|
6305
|
+
storageBucket?: string | undefined;
|
|
6306
|
+
storagePrefix?: string | undefined;
|
|
6307
|
+
imageValidation?: {
|
|
6308
|
+
generateThumbnails: boolean;
|
|
6309
|
+
preserveMetadata: boolean;
|
|
6310
|
+
autoRotate: boolean;
|
|
6311
|
+
minWidth?: number | undefined;
|
|
6312
|
+
maxWidth?: number | undefined;
|
|
6313
|
+
minHeight?: number | undefined;
|
|
6314
|
+
maxHeight?: number | undefined;
|
|
6315
|
+
aspectRatio?: string | undefined;
|
|
6316
|
+
thumbnailSizes?: {
|
|
6317
|
+
name: string;
|
|
6318
|
+
width: number;
|
|
6319
|
+
height: number;
|
|
6320
|
+
crop: boolean;
|
|
6321
|
+
}[] | undefined;
|
|
6322
|
+
} | undefined;
|
|
6323
|
+
maxVersions?: number | undefined;
|
|
6324
|
+
} | undefined;
|
|
6325
|
+
readonly maskingRule?: {
|
|
6326
|
+
field: string;
|
|
6327
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
6328
|
+
preserveFormat: boolean;
|
|
6329
|
+
preserveLength: boolean;
|
|
6330
|
+
pattern?: string | undefined;
|
|
6331
|
+
roles?: string[] | undefined;
|
|
6332
|
+
exemptRoles?: string[] | undefined;
|
|
6333
|
+
} | undefined;
|
|
6334
|
+
readonly auditTrail?: boolean | undefined;
|
|
6335
|
+
readonly dependencies?: string[] | undefined;
|
|
6336
|
+
readonly cached?: {
|
|
6337
|
+
enabled: boolean;
|
|
6338
|
+
ttl: number;
|
|
6339
|
+
invalidateOn: string[];
|
|
6340
|
+
} | undefined;
|
|
6341
|
+
readonly dataQuality?: {
|
|
6342
|
+
uniqueness: boolean;
|
|
6343
|
+
completeness: number;
|
|
6344
|
+
accuracy?: {
|
|
6345
|
+
source: string;
|
|
6346
|
+
threshold: number;
|
|
6347
|
+
} | undefined;
|
|
6348
|
+
} | undefined;
|
|
6349
|
+
readonly group?: string | undefined;
|
|
6350
|
+
readonly conditionalRequired?: string | undefined;
|
|
6351
|
+
readonly hidden?: boolean | undefined;
|
|
6352
|
+
readonly sortable?: boolean | undefined;
|
|
6353
|
+
readonly inlineHelpText?: string | undefined;
|
|
6354
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
6355
|
+
readonly caseSensitive?: boolean | undefined;
|
|
6356
|
+
readonly autonumberFormat?: string | undefined;
|
|
6357
|
+
readonly index?: boolean | undefined;
|
|
6358
|
+
readonly externalId?: boolean | undefined;
|
|
6359
|
+
readonly type: "text";
|
|
6360
|
+
};
|
|
6361
|
+
/** User who made this change */
|
|
6362
|
+
readonly recorded_by: {
|
|
6363
|
+
readonly format?: string | undefined;
|
|
6364
|
+
readonly expression?: string | undefined;
|
|
6365
|
+
readonly readonly?: boolean | undefined;
|
|
6366
|
+
readonly defaultValue?: unknown;
|
|
6367
|
+
readonly min?: number | undefined;
|
|
6368
|
+
readonly max?: number | undefined;
|
|
6369
|
+
readonly name?: string | undefined;
|
|
6370
|
+
readonly encryptionConfig?: {
|
|
6371
|
+
enabled: boolean;
|
|
6372
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
6373
|
+
keyManagement: {
|
|
6374
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
6375
|
+
keyId?: string | undefined;
|
|
6376
|
+
rotationPolicy?: {
|
|
6377
|
+
enabled: boolean;
|
|
6378
|
+
frequencyDays: number;
|
|
6379
|
+
retainOldVersions: number;
|
|
6380
|
+
autoRotate: boolean;
|
|
6381
|
+
} | undefined;
|
|
6382
|
+
};
|
|
6383
|
+
scope: "table" | "record" | "field" | "database";
|
|
6384
|
+
deterministicEncryption: boolean;
|
|
6385
|
+
searchableEncryption: boolean;
|
|
6386
|
+
} | undefined;
|
|
6387
|
+
readonly label?: string | undefined;
|
|
6388
|
+
readonly precision?: number | undefined;
|
|
6389
|
+
readonly description?: string | undefined;
|
|
6390
|
+
readonly columnName?: string | undefined;
|
|
6391
|
+
readonly required?: boolean | undefined;
|
|
6392
|
+
readonly searchable?: boolean | undefined;
|
|
6393
|
+
readonly multiple?: boolean | undefined;
|
|
6394
|
+
readonly unique?: boolean | undefined;
|
|
6395
|
+
readonly maxLength?: number | undefined;
|
|
6396
|
+
readonly minLength?: number | undefined;
|
|
6397
|
+
readonly scale?: number | undefined;
|
|
6398
|
+
readonly options?: {
|
|
6399
|
+
label: string;
|
|
6400
|
+
value: string;
|
|
6401
|
+
color?: string | undefined;
|
|
6402
|
+
default?: boolean | undefined;
|
|
6403
|
+
}[] | undefined;
|
|
6404
|
+
readonly reference?: string | undefined;
|
|
6405
|
+
readonly referenceFilters?: string[] | undefined;
|
|
6406
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
6407
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
6408
|
+
readonly summaryOperations?: {
|
|
6409
|
+
object: string;
|
|
6410
|
+
field: string;
|
|
6411
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
6412
|
+
} | undefined;
|
|
6413
|
+
readonly language?: string | undefined;
|
|
6414
|
+
readonly theme?: string | undefined;
|
|
6415
|
+
readonly lineNumbers?: boolean | undefined;
|
|
6416
|
+
readonly maxRating?: number | undefined;
|
|
6417
|
+
readonly allowHalf?: boolean | undefined;
|
|
6418
|
+
readonly displayMap?: boolean | undefined;
|
|
6419
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
6420
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
6421
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
6422
|
+
readonly allowAlpha?: boolean | undefined;
|
|
6423
|
+
readonly presetColors?: string[] | undefined;
|
|
6424
|
+
readonly step?: number | undefined;
|
|
6425
|
+
readonly showValue?: boolean | undefined;
|
|
6426
|
+
readonly marks?: Record<string, string> | undefined;
|
|
6427
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
6428
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
6429
|
+
readonly displayValue?: boolean | undefined;
|
|
6430
|
+
readonly allowScanning?: boolean | undefined;
|
|
6431
|
+
readonly currencyConfig?: {
|
|
6432
|
+
precision: number;
|
|
6433
|
+
currencyMode: "dynamic" | "fixed";
|
|
6434
|
+
defaultCurrency: string;
|
|
6435
|
+
} | undefined;
|
|
6436
|
+
readonly vectorConfig?: {
|
|
6437
|
+
dimensions: number;
|
|
6438
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
6439
|
+
normalized: boolean;
|
|
6440
|
+
indexed: boolean;
|
|
6441
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
6442
|
+
} | undefined;
|
|
6443
|
+
readonly fileAttachmentConfig?: {
|
|
6444
|
+
virusScan: boolean;
|
|
6445
|
+
virusScanOnUpload: boolean;
|
|
6446
|
+
quarantineOnThreat: boolean;
|
|
6447
|
+
allowMultiple: boolean;
|
|
6448
|
+
allowReplace: boolean;
|
|
6449
|
+
allowDelete: boolean;
|
|
6450
|
+
requireUpload: boolean;
|
|
6451
|
+
extractMetadata: boolean;
|
|
6452
|
+
extractText: boolean;
|
|
6453
|
+
versioningEnabled: boolean;
|
|
6454
|
+
publicRead: boolean;
|
|
6455
|
+
presignedUrlExpiry: number;
|
|
6456
|
+
minSize?: number | undefined;
|
|
6457
|
+
maxSize?: number | undefined;
|
|
6458
|
+
allowedTypes?: string[] | undefined;
|
|
6459
|
+
blockedTypes?: string[] | undefined;
|
|
6460
|
+
allowedMimeTypes?: string[] | undefined;
|
|
6461
|
+
blockedMimeTypes?: string[] | undefined;
|
|
6462
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
6463
|
+
storageProvider?: string | undefined;
|
|
6464
|
+
storageBucket?: string | undefined;
|
|
6465
|
+
storagePrefix?: string | undefined;
|
|
6466
|
+
imageValidation?: {
|
|
6467
|
+
generateThumbnails: boolean;
|
|
6468
|
+
preserveMetadata: boolean;
|
|
6469
|
+
autoRotate: boolean;
|
|
6470
|
+
minWidth?: number | undefined;
|
|
6471
|
+
maxWidth?: number | undefined;
|
|
6472
|
+
minHeight?: number | undefined;
|
|
6473
|
+
maxHeight?: number | undefined;
|
|
6474
|
+
aspectRatio?: string | undefined;
|
|
6475
|
+
thumbnailSizes?: {
|
|
6476
|
+
name: string;
|
|
6477
|
+
width: number;
|
|
6478
|
+
height: number;
|
|
6479
|
+
crop: boolean;
|
|
6480
|
+
}[] | undefined;
|
|
6481
|
+
} | undefined;
|
|
6482
|
+
maxVersions?: number | undefined;
|
|
6483
|
+
} | undefined;
|
|
6484
|
+
readonly maskingRule?: {
|
|
6485
|
+
field: string;
|
|
6486
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
6487
|
+
preserveFormat: boolean;
|
|
6488
|
+
preserveLength: boolean;
|
|
6489
|
+
pattern?: string | undefined;
|
|
6490
|
+
roles?: string[] | undefined;
|
|
6491
|
+
exemptRoles?: string[] | undefined;
|
|
6492
|
+
} | undefined;
|
|
6493
|
+
readonly auditTrail?: boolean | undefined;
|
|
6494
|
+
readonly dependencies?: string[] | undefined;
|
|
6495
|
+
readonly cached?: {
|
|
6496
|
+
enabled: boolean;
|
|
6497
|
+
ttl: number;
|
|
6498
|
+
invalidateOn: string[];
|
|
6499
|
+
} | undefined;
|
|
6500
|
+
readonly dataQuality?: {
|
|
6501
|
+
uniqueness: boolean;
|
|
6502
|
+
completeness: number;
|
|
6503
|
+
accuracy?: {
|
|
6504
|
+
source: string;
|
|
6505
|
+
threshold: number;
|
|
6506
|
+
} | undefined;
|
|
6507
|
+
} | undefined;
|
|
6508
|
+
readonly group?: string | undefined;
|
|
6509
|
+
readonly conditionalRequired?: string | undefined;
|
|
6510
|
+
readonly hidden?: boolean | undefined;
|
|
6511
|
+
readonly sortable?: boolean | undefined;
|
|
6512
|
+
readonly inlineHelpText?: string | undefined;
|
|
6513
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
6514
|
+
readonly caseSensitive?: boolean | undefined;
|
|
6515
|
+
readonly autonumberFormat?: string | undefined;
|
|
6516
|
+
readonly index?: boolean | undefined;
|
|
6517
|
+
readonly externalId?: boolean | undefined;
|
|
6518
|
+
readonly type: "text";
|
|
6519
|
+
};
|
|
6520
|
+
/** When was this version recorded */
|
|
6521
|
+
readonly recorded_at: {
|
|
6522
|
+
readonly format?: string | undefined;
|
|
6523
|
+
readonly expression?: string | undefined;
|
|
6524
|
+
readonly readonly?: boolean | undefined;
|
|
6525
|
+
readonly defaultValue?: unknown;
|
|
6526
|
+
readonly min?: number | undefined;
|
|
6527
|
+
readonly max?: number | undefined;
|
|
6528
|
+
readonly name?: string | undefined;
|
|
6529
|
+
readonly encryptionConfig?: {
|
|
6530
|
+
enabled: boolean;
|
|
6531
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
6532
|
+
keyManagement: {
|
|
6533
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
6534
|
+
keyId?: string | undefined;
|
|
6535
|
+
rotationPolicy?: {
|
|
6536
|
+
enabled: boolean;
|
|
6537
|
+
frequencyDays: number;
|
|
6538
|
+
retainOldVersions: number;
|
|
6539
|
+
autoRotate: boolean;
|
|
6540
|
+
} | undefined;
|
|
6541
|
+
};
|
|
6542
|
+
scope: "table" | "record" | "field" | "database";
|
|
6543
|
+
deterministicEncryption: boolean;
|
|
6544
|
+
searchableEncryption: boolean;
|
|
6545
|
+
} | undefined;
|
|
6546
|
+
readonly label?: string | undefined;
|
|
6547
|
+
readonly precision?: number | undefined;
|
|
6548
|
+
readonly description?: string | undefined;
|
|
6549
|
+
readonly columnName?: string | undefined;
|
|
6550
|
+
readonly required?: boolean | undefined;
|
|
6551
|
+
readonly searchable?: boolean | undefined;
|
|
6552
|
+
readonly multiple?: boolean | undefined;
|
|
6553
|
+
readonly unique?: boolean | undefined;
|
|
6554
|
+
readonly maxLength?: number | undefined;
|
|
6555
|
+
readonly minLength?: number | undefined;
|
|
6556
|
+
readonly scale?: number | undefined;
|
|
6557
|
+
readonly options?: {
|
|
6558
|
+
label: string;
|
|
6559
|
+
value: string;
|
|
6560
|
+
color?: string | undefined;
|
|
6561
|
+
default?: boolean | undefined;
|
|
6562
|
+
}[] | undefined;
|
|
6563
|
+
readonly reference?: string | undefined;
|
|
6564
|
+
readonly referenceFilters?: string[] | undefined;
|
|
6565
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
6566
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
6567
|
+
readonly summaryOperations?: {
|
|
6568
|
+
object: string;
|
|
6569
|
+
field: string;
|
|
6570
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
6571
|
+
} | undefined;
|
|
6572
|
+
readonly language?: string | undefined;
|
|
6573
|
+
readonly theme?: string | undefined;
|
|
6574
|
+
readonly lineNumbers?: boolean | undefined;
|
|
6575
|
+
readonly maxRating?: number | undefined;
|
|
6576
|
+
readonly allowHalf?: boolean | undefined;
|
|
6577
|
+
readonly displayMap?: boolean | undefined;
|
|
6578
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
6579
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
6580
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
6581
|
+
readonly allowAlpha?: boolean | undefined;
|
|
6582
|
+
readonly presetColors?: string[] | undefined;
|
|
6583
|
+
readonly step?: number | undefined;
|
|
6584
|
+
readonly showValue?: boolean | undefined;
|
|
6585
|
+
readonly marks?: Record<string, string> | undefined;
|
|
6586
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
6587
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
6588
|
+
readonly displayValue?: boolean | undefined;
|
|
6589
|
+
readonly allowScanning?: boolean | undefined;
|
|
6590
|
+
readonly currencyConfig?: {
|
|
6591
|
+
precision: number;
|
|
6592
|
+
currencyMode: "dynamic" | "fixed";
|
|
6593
|
+
defaultCurrency: string;
|
|
6594
|
+
} | undefined;
|
|
6595
|
+
readonly vectorConfig?: {
|
|
6596
|
+
dimensions: number;
|
|
6597
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
6598
|
+
normalized: boolean;
|
|
6599
|
+
indexed: boolean;
|
|
6600
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
6601
|
+
} | undefined;
|
|
6602
|
+
readonly fileAttachmentConfig?: {
|
|
6603
|
+
virusScan: boolean;
|
|
6604
|
+
virusScanOnUpload: boolean;
|
|
6605
|
+
quarantineOnThreat: boolean;
|
|
6606
|
+
allowMultiple: boolean;
|
|
6607
|
+
allowReplace: boolean;
|
|
6608
|
+
allowDelete: boolean;
|
|
6609
|
+
requireUpload: boolean;
|
|
6610
|
+
extractMetadata: boolean;
|
|
6611
|
+
extractText: boolean;
|
|
6612
|
+
versioningEnabled: boolean;
|
|
6613
|
+
publicRead: boolean;
|
|
6614
|
+
presignedUrlExpiry: number;
|
|
6615
|
+
minSize?: number | undefined;
|
|
6616
|
+
maxSize?: number | undefined;
|
|
6617
|
+
allowedTypes?: string[] | undefined;
|
|
6618
|
+
blockedTypes?: string[] | undefined;
|
|
6619
|
+
allowedMimeTypes?: string[] | undefined;
|
|
6620
|
+
blockedMimeTypes?: string[] | undefined;
|
|
6621
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
6622
|
+
storageProvider?: string | undefined;
|
|
6623
|
+
storageBucket?: string | undefined;
|
|
6624
|
+
storagePrefix?: string | undefined;
|
|
6625
|
+
imageValidation?: {
|
|
6626
|
+
generateThumbnails: boolean;
|
|
6627
|
+
preserveMetadata: boolean;
|
|
6628
|
+
autoRotate: boolean;
|
|
6629
|
+
minWidth?: number | undefined;
|
|
6630
|
+
maxWidth?: number | undefined;
|
|
6631
|
+
minHeight?: number | undefined;
|
|
6632
|
+
maxHeight?: number | undefined;
|
|
6633
|
+
aspectRatio?: string | undefined;
|
|
6634
|
+
thumbnailSizes?: {
|
|
6635
|
+
name: string;
|
|
6636
|
+
width: number;
|
|
6637
|
+
height: number;
|
|
6638
|
+
crop: boolean;
|
|
6639
|
+
}[] | undefined;
|
|
6640
|
+
} | undefined;
|
|
6641
|
+
maxVersions?: number | undefined;
|
|
6642
|
+
} | undefined;
|
|
6643
|
+
readonly maskingRule?: {
|
|
6644
|
+
field: string;
|
|
6645
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
6646
|
+
preserveFormat: boolean;
|
|
6647
|
+
preserveLength: boolean;
|
|
6648
|
+
pattern?: string | undefined;
|
|
6649
|
+
roles?: string[] | undefined;
|
|
6650
|
+
exemptRoles?: string[] | undefined;
|
|
6651
|
+
} | undefined;
|
|
6652
|
+
readonly auditTrail?: boolean | undefined;
|
|
6653
|
+
readonly dependencies?: string[] | undefined;
|
|
6654
|
+
readonly cached?: {
|
|
6655
|
+
enabled: boolean;
|
|
6656
|
+
ttl: number;
|
|
6657
|
+
invalidateOn: string[];
|
|
6658
|
+
} | undefined;
|
|
6659
|
+
readonly dataQuality?: {
|
|
6660
|
+
uniqueness: boolean;
|
|
6661
|
+
completeness: number;
|
|
6662
|
+
accuracy?: {
|
|
6663
|
+
source: string;
|
|
6664
|
+
threshold: number;
|
|
6665
|
+
} | undefined;
|
|
6666
|
+
} | undefined;
|
|
6667
|
+
readonly group?: string | undefined;
|
|
6668
|
+
readonly conditionalRequired?: string | undefined;
|
|
6669
|
+
readonly hidden?: boolean | undefined;
|
|
6670
|
+
readonly sortable?: boolean | undefined;
|
|
6671
|
+
readonly inlineHelpText?: string | undefined;
|
|
6672
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
6673
|
+
readonly caseSensitive?: boolean | undefined;
|
|
6674
|
+
readonly autonumberFormat?: string | undefined;
|
|
6675
|
+
readonly index?: boolean | undefined;
|
|
6676
|
+
readonly externalId?: boolean | undefined;
|
|
6677
|
+
readonly type: "datetime";
|
|
6678
|
+
};
|
|
6679
|
+
};
|
|
6680
|
+
readonly indexes: [{
|
|
6681
|
+
readonly fields: ["metadata_id", "version"];
|
|
6682
|
+
readonly unique: true;
|
|
6683
|
+
}, {
|
|
6684
|
+
readonly fields: ["metadata_id", "recorded_at"];
|
|
6685
|
+
}, {
|
|
6686
|
+
readonly fields: ["type", "name"];
|
|
6687
|
+
}, {
|
|
6688
|
+
readonly fields: ["recorded_at"];
|
|
6689
|
+
}, {
|
|
6690
|
+
readonly fields: ["operation_type"];
|
|
6691
|
+
}, {
|
|
6692
|
+
readonly fields: ["tenant_id"];
|
|
6693
|
+
}];
|
|
6694
|
+
readonly enable: {
|
|
6695
|
+
readonly trackHistory: false;
|
|
6696
|
+
readonly searchable: false;
|
|
6697
|
+
readonly apiEnabled: true;
|
|
6698
|
+
readonly apiMethods: ["get", "list"];
|
|
6699
|
+
readonly trash: false;
|
|
6700
|
+
};
|
|
6701
|
+
}, "fields">;
|
|
6702
|
+
|
|
6703
|
+
/**
|
|
6704
|
+
* Metadata History API Routes
|
|
6705
|
+
*
|
|
6706
|
+
* REST API endpoints for metadata version history, rollback, and diff operations.
|
|
6707
|
+
* These routes extend the standard metadata API with history-specific functionality.
|
|
6708
|
+
*
|
|
6709
|
+
* Routes:
|
|
6710
|
+
* - GET /api/v1/metadata/:type/:name/history - Get version history
|
|
6711
|
+
* - POST /api/v1/metadata/:type/:name/rollback - Rollback to a specific version
|
|
6712
|
+
* - GET /api/v1/metadata/:type/:name/diff - Compare two versions
|
|
6713
|
+
*/
|
|
6714
|
+
|
|
6715
|
+
/**
|
|
6716
|
+
* Register metadata history routes on a Hono app or any HTTP server.
|
|
6717
|
+
*
|
|
6718
|
+
* @param app - The HTTP server/router instance (Hono-compatible)
|
|
6719
|
+
* @param metadataService - The metadata service instance
|
|
6720
|
+
*/
|
|
6721
|
+
declare function registerMetadataHistoryRoutes(app: any, // Hono app or compatible
|
|
6722
|
+
metadataService: IMetadataService): void;
|
|
6723
|
+
|
|
6724
|
+
/**
|
|
6725
|
+
* Metadata History Utilities
|
|
6726
|
+
*
|
|
6727
|
+
* Utility functions for metadata versioning and history tracking,
|
|
6728
|
+
* including checksum calculation, JSON normalization, and diff generation.
|
|
6729
|
+
*/
|
|
6730
|
+
/**
|
|
6731
|
+
* Calculate SHA-256 checksum of normalized JSON metadata.
|
|
6732
|
+
* Normalizes the JSON by sorting keys and removing whitespace
|
|
6733
|
+
* to ensure consistent checksums across identical content.
|
|
6734
|
+
*
|
|
6735
|
+
* @param metadata - The metadata object to checksum
|
|
6736
|
+
* @returns SHA-256 hex string
|
|
6737
|
+
*/
|
|
6738
|
+
declare function calculateChecksum(metadata: unknown): Promise<string>;
|
|
6739
|
+
/**
|
|
6740
|
+
* Generate a simple JSON patch between two objects.
|
|
6741
|
+
* Returns an array of operations showing what changed.
|
|
6742
|
+
*
|
|
6743
|
+
* @param oldObj - Original object
|
|
6744
|
+
* @param newObj - New object
|
|
6745
|
+
* @param path - Current path (for recursion)
|
|
6746
|
+
* @returns Array of change operations
|
|
6747
|
+
*/
|
|
6748
|
+
declare function generateSimpleDiff(oldObj: unknown, newObj: unknown, path?: string): Array<{
|
|
6749
|
+
op: string;
|
|
6750
|
+
path: string;
|
|
6751
|
+
value?: unknown;
|
|
6752
|
+
oldValue?: unknown;
|
|
6753
|
+
}>;
|
|
6754
|
+
/**
|
|
6755
|
+
* Generate a human-readable summary of changes.
|
|
6756
|
+
*
|
|
6757
|
+
* @param diff - The diff operations
|
|
6758
|
+
* @returns Human-readable summary
|
|
6759
|
+
*/
|
|
6760
|
+
declare function generateDiffSummary(diff: Array<{
|
|
6761
|
+
op: string;
|
|
6762
|
+
path: string;
|
|
6763
|
+
value?: unknown;
|
|
6764
|
+
oldValue?: unknown;
|
|
6765
|
+
}>): string;
|
|
6766
|
+
|
|
6767
|
+
/**
|
|
6768
|
+
* History Cleanup Manager
|
|
6769
|
+
*
|
|
6770
|
+
* Handles automatic cleanup of metadata history records based on
|
|
6771
|
+
* configured retention policies.
|
|
6772
|
+
*/
|
|
6773
|
+
declare class HistoryCleanupManager {
|
|
6774
|
+
private policy;
|
|
6775
|
+
private dbLoader;
|
|
6776
|
+
private cleanupTimer?;
|
|
6777
|
+
constructor(policy: MetadataHistoryRetentionPolicy, dbLoader: DatabaseLoader);
|
|
6778
|
+
/**
|
|
6779
|
+
* Start automatic cleanup if enabled in the policy.
|
|
6780
|
+
*/
|
|
6781
|
+
start(): void;
|
|
6782
|
+
/**
|
|
6783
|
+
* Stop automatic cleanup.
|
|
6784
|
+
*/
|
|
6785
|
+
stop(): void;
|
|
6786
|
+
/**
|
|
6787
|
+
* Run cleanup based on the retention policy.
|
|
6788
|
+
* Removes history records that exceed the configured limits.
|
|
6789
|
+
*/
|
|
6790
|
+
runCleanup(): Promise<{
|
|
6791
|
+
deleted: number;
|
|
6792
|
+
errors: number;
|
|
6793
|
+
}>;
|
|
6794
|
+
/**
|
|
6795
|
+
* Delete records matching a filter using the most efficient method available on the driver.
|
|
6796
|
+
*/
|
|
6797
|
+
private bulkDeleteByFilter;
|
|
6798
|
+
/**
|
|
6799
|
+
* Delete records by IDs using bulkDelete when available, otherwise one-by-one.
|
|
6800
|
+
*/
|
|
6801
|
+
private bulkDeleteByIds;
|
|
6802
|
+
/**
|
|
6803
|
+
* Get cleanup statistics without actually deleting anything.
|
|
6804
|
+
* Useful for previewing what would be cleaned up.
|
|
6805
|
+
*/
|
|
6806
|
+
getCleanupStats(): Promise<{
|
|
6807
|
+
recordsByAge: number;
|
|
6808
|
+
recordsByCount: number;
|
|
6809
|
+
total: number;
|
|
6810
|
+
}>;
|
|
6811
|
+
}
|
|
6812
|
+
|
|
4231
6813
|
/**
|
|
4232
6814
|
* JSON Metadata Serializer
|
|
4233
6815
|
*
|
|
@@ -4283,4 +6865,4 @@ declare class TypeScriptSerializer implements MetadataSerializer {
|
|
|
4283
6865
|
getFormat(): MetadataFormat;
|
|
4284
6866
|
}
|
|
4285
6867
|
|
|
4286
|
-
export { DatabaseLoader, type DatabaseLoaderOptions, JSONSerializer, MemoryLoader, type MetadataLoader, MetadataManager, type MetadataManagerOptions, MetadataPlugin, type MetadataSerializer, index as Migration, RemoteLoader, type SerializeOptions, SysMetadataObject, TypeScriptSerializer, type WatchCallback, YAMLSerializer };
|
|
6868
|
+
export { DatabaseLoader, type DatabaseLoaderOptions, HistoryCleanupManager, JSONSerializer, MemoryLoader, type MetadataLoader, MetadataManager, type MetadataManagerOptions, MetadataPlugin, type MetadataSerializer, index as Migration, RemoteLoader, type SerializeOptions, SysMetadataHistoryObject, SysMetadataObject, TypeScriptSerializer, type WatchCallback, YAMLSerializer, calculateChecksum, generateDiffSummary, generateSimpleDiff, registerMetadataHistoryRoutes };
|