@objectstack/spec 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.d.mts +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +794 -686
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +789 -686
- package/dist/api/index.mjs.map +1 -1
- package/dist/contracts/index.d.mts +2 -2
- package/dist/contracts/index.d.ts +2 -2
- package/dist/data/index.d.mts +2 -2
- package/dist/data/index.d.ts +2 -2
- package/dist/data/index.js +482 -453
- package/dist/data/index.js.map +1 -1
- package/dist/data/index.mjs +481 -453
- package/dist/data/index.mjs.map +1 -1
- package/dist/{driver.zod-DddW_4lJ.d.mts → driver.zod-DnOPgUGi.d.mts} +430 -1
- package/dist/{driver.zod-BJHWEbwG.d.ts → driver.zod-E3C6n0W-.d.ts} +430 -1
- package/dist/{index-yvEIvpa3.d.ts → index-BPhGHW32.d.ts} +4 -2
- package/dist/{index-DAQcdY6O.d.ts → index-BbtSaxHm.d.ts} +138 -2
- package/dist/{index-D9IaDTui.d.ts → index-BpP0MwlW.d.ts} +1 -1
- package/dist/{index-C8xlxqpA.d.ts → index-C6p-2KXV.d.ts} +1 -1
- package/dist/index-CDN6TRx9.d.mts +765 -0
- package/dist/index-CDN6TRx9.d.ts +765 -0
- package/dist/{index-wFiQRott.d.mts → index-CVnGe2b8.d.mts} +1 -1
- package/dist/{index-Cp6xnrOM.d.mts → index-D-tf4nDV.d.mts} +4 -2
- package/dist/{index-C_oDEJoO.d.mts → index-DRCh2NTZ.d.mts} +138 -2
- package/dist/{index-DRMAu-1t.d.mts → index-DTCkpGMm.d.mts} +1 -1
- package/dist/{index-DOuMlF5h.d.ts → index-DyawwLFZ.d.ts} +31 -2
- package/dist/{index-DPlvQwlz.d.mts → index-E1mP_eoE.d.mts} +31 -2
- package/dist/index.d.mts +41 -802
- package/dist/index.d.ts +41 -802
- package/dist/index.js +8656 -8523
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8656 -8523
- package/dist/index.mjs.map +1 -1
- package/dist/kernel/index.d.mts +1 -1
- package/dist/kernel/index.d.ts +1 -1
- package/dist/kernel/index.js +23 -0
- package/dist/kernel/index.js.map +1 -1
- package/dist/kernel/index.mjs +22 -0
- package/dist/kernel/index.mjs.map +1 -1
- package/dist/security/index.d.mts +2 -0
- package/dist/security/index.d.ts +2 -0
- package/dist/security/index.js +666 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/index.mjs +616 -0
- package/dist/security/index.mjs.map +1 -0
- package/dist/system/index.d.mts +1 -1
- package/dist/system/index.d.ts +1 -1
- package/dist/system/index.js +2 -1
- package/dist/system/index.js.map +1 -1
- package/dist/system/index.mjs +2 -1
- package/dist/system/index.mjs.map +1 -1
- package/json-schema/api/AuthEndpoint.json +201 -0
- package/json-schema/api/GetDiscoveryResponse.json +42 -0
- package/json-schema/data/BaseEngineOptions.json +49 -0
- package/json-schema/data/DataEngineAggregateOptions.json +42 -0
- package/json-schema/data/DataEngineAggregateRequest.json +42 -0
- package/json-schema/data/DataEngineBatchRequest.json +294 -0
- package/json-schema/data/DataEngineCountOptions.json +42 -0
- package/json-schema/data/DataEngineCountRequest.json +42 -0
- package/json-schema/data/DataEngineDeleteOptions.json +42 -0
- package/json-schema/data/DataEngineDeleteRequest.json +42 -0
- package/json-schema/data/DataEngineFindOneRequest.json +42 -0
- package/json-schema/data/DataEngineFindRequest.json +42 -0
- package/json-schema/data/DataEngineInsertOptions.json +42 -0
- package/json-schema/data/DataEngineInsertRequest.json +42 -0
- package/json-schema/data/DataEngineQueryOptions.json +42 -0
- package/json-schema/data/DataEngineRequest.json +588 -0
- package/json-schema/data/DataEngineUpdateOptions.json +42 -0
- package/json-schema/data/DataEngineUpdateRequest.json +42 -0
- package/json-schema/kernel/ExecutionContext.json +43 -0
- package/package.json +6 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { C as CorsConfig, a as CorsConfigSchema, H as HttpMethod, R as RateLimitConfig, b as RateLimitConfigSchema, S as StaticMount, c as StaticMountSchema } from './index-
|
|
3
|
-
export { i as API } from './index-
|
|
4
|
-
export { i as Data } from './index-
|
|
2
|
+
import { C as CorsConfig, a as CorsConfigSchema, H as HttpMethod, R as RateLimitConfig, b as RateLimitConfigSchema, S as StaticMount, c as StaticMountSchema } from './index-BbtSaxHm.js';
|
|
3
|
+
export { i as API } from './index-BbtSaxHm.js';
|
|
4
|
+
export { i as Data } from './index-BPhGHW32.js';
|
|
5
|
+
export { i as Security } from './index-CDN6TRx9.js';
|
|
5
6
|
export { i as UI } from './index-CgkjUheS.js';
|
|
6
|
-
export { i as System } from './index-
|
|
7
|
-
export { i as Kernel, P as PluginContext, d as definePlugin } from './index-
|
|
7
|
+
export { i as System } from './index-BpP0MwlW.js';
|
|
8
|
+
export { i as Kernel, P as PluginContext, d as definePlugin } from './index-DyawwLFZ.js';
|
|
8
9
|
export { i as Hub } from './index-CEl7Law0.js';
|
|
9
10
|
import { F as FilterGroup } from './index-CisfSmuF.js';
|
|
10
11
|
export { i as AI } from './index-CisfSmuF.js';
|
|
11
12
|
export { i as Automation } from './index-DqnBqATx.js';
|
|
12
13
|
export { i as Integration } from './index-d9wYlv-g.js';
|
|
13
|
-
export { i as Contracts } from './index-
|
|
14
|
+
export { i as Contracts } from './index-C6p-2KXV.js';
|
|
14
15
|
export { i as Studio } from './index-cnIz7iRP.js';
|
|
15
16
|
import { S as StateNodeConfig } from './state-machine.zod-DoC0JvQb.js';
|
|
16
17
|
import { Q as QueryAST } from './field.zod-DuaF0Lcl.js';
|
|
17
18
|
import { F as FilterCondition } from './filter.zod-CtZ3VJ3e.js';
|
|
18
19
|
import { B as BaseValidationRuleShape } from './validation.zod-zTCn4LEC.js';
|
|
19
20
|
import './package-registry.zod-CbS9FKeH.js';
|
|
20
|
-
import './driver.zod-
|
|
21
|
+
import './driver.zod-E3C6n0W-.js';
|
|
21
22
|
import './registry-config.zod-BCb7Z1Xs.js';
|
|
22
23
|
import './plugin-security.zod-Cgwq94Q8.js';
|
|
23
24
|
|
|
@@ -291,801 +292,39 @@ type BaseMetadataRecord = z.infer<typeof BaseMetadataRecordSchema>;
|
|
|
291
292
|
* Common schemas used across multiple modules
|
|
292
293
|
*/
|
|
293
294
|
|
|
294
|
-
type index$
|
|
295
|
-
declare const index$
|
|
296
|
-
type index$
|
|
297
|
-
declare const index$
|
|
298
|
-
type index$
|
|
299
|
-
declare const index$
|
|
300
|
-
declare const index$
|
|
301
|
-
declare const index$
|
|
302
|
-
type index$
|
|
303
|
-
declare const index$
|
|
304
|
-
type index$
|
|
305
|
-
declare const index$
|
|
306
|
-
declare const index$
|
|
307
|
-
type index$
|
|
308
|
-
declare const index$
|
|
309
|
-
type index$
|
|
310
|
-
declare const index$
|
|
311
|
-
type index$
|
|
312
|
-
declare const index$
|
|
313
|
-
declare const index$
|
|
314
|
-
declare const index$
|
|
315
|
-
type index$
|
|
316
|
-
declare const index$
|
|
317
|
-
type index$
|
|
318
|
-
declare const index$
|
|
319
|
-
declare const index$
|
|
320
|
-
declare const index$
|
|
321
|
-
type index$
|
|
322
|
-
declare const index$
|
|
323
|
-
type index$
|
|
324
|
-
declare const index$
|
|
325
|
-
declare namespace index$3 {
|
|
326
|
-
export { type index$3_AggregationFunction as AggregationFunction, index$3_AggregationFunctionEnum as AggregationFunctionEnum, type index$3_BaseMetadataRecord as BaseMetadataRecord, index$3_BaseMetadataRecordSchema as BaseMetadataRecordSchema, type index$3_CacheStrategy as CacheStrategy, index$3_CacheStrategyEnum as CacheStrategyEnum, index$3_CorsConfig as CorsConfig, index$3_CorsConfigSchema as CorsConfigSchema, type index$3_EventName as EventName, index$3_EventNameSchema as EventNameSchema, type index$3_FieldMapping as FieldMapping, index$3_FieldMappingSchema as FieldMappingSchema, index$3_HttpMethod as HttpMethod, type index$3_IsolationLevel as IsolationLevel, index$3_IsolationLevelEnum as IsolationLevelEnum, type index$3_MetadataFormat as MetadataFormat, index$3_MetadataFormatSchema as MetadataFormatSchema, type index$3_MutationEvent as MutationEvent, index$3_MutationEventEnum as MutationEventEnum, index$3_RateLimitConfig as RateLimitConfig, index$3_RateLimitConfigSchema as RateLimitConfigSchema, type index$3_SnakeCaseIdentifier as SnakeCaseIdentifier, index$3_SnakeCaseIdentifierSchema as SnakeCaseIdentifierSchema, type index$3_SortDirection as SortDirection, index$3_SortDirectionEnum as SortDirectionEnum, index$3_StaticMount as StaticMount, index$3_StaticMountSchema as StaticMountSchema, type index$3_SystemIdentifier as SystemIdentifier, index$3_SystemIdentifierSchema as SystemIdentifierSchema, type index$3_TransformType as TransformType, index$3_TransformTypeSchema as TransformTypeSchema };
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* Entity (Object) Level Permissions
|
|
331
|
-
* Defines CRUD + VAMA (View All / Modify All) + Lifecycle access.
|
|
332
|
-
*
|
|
333
|
-
* Refined with enterprise data lifecycle controls:
|
|
334
|
-
* - Transfer (Ownership change)
|
|
335
|
-
* - Restore (Soft delete recovery)
|
|
336
|
-
* - Purge (Hard delete / Compliance)
|
|
337
|
-
*/
|
|
338
|
-
declare const ObjectPermissionSchema: z.ZodObject<{
|
|
339
|
-
allowCreate: z.ZodDefault<z.ZodBoolean>;
|
|
340
|
-
allowRead: z.ZodDefault<z.ZodBoolean>;
|
|
341
|
-
allowEdit: z.ZodDefault<z.ZodBoolean>;
|
|
342
|
-
allowDelete: z.ZodDefault<z.ZodBoolean>;
|
|
343
|
-
allowTransfer: z.ZodDefault<z.ZodBoolean>;
|
|
344
|
-
allowRestore: z.ZodDefault<z.ZodBoolean>;
|
|
345
|
-
allowPurge: z.ZodDefault<z.ZodBoolean>;
|
|
346
|
-
viewAllRecords: z.ZodDefault<z.ZodBoolean>;
|
|
347
|
-
modifyAllRecords: z.ZodDefault<z.ZodBoolean>;
|
|
348
|
-
}, z.core.$strip>;
|
|
349
|
-
/**
|
|
350
|
-
* Field Level Security (FLS)
|
|
351
|
-
*/
|
|
352
|
-
declare const FieldPermissionSchema: z.ZodObject<{
|
|
353
|
-
readable: z.ZodDefault<z.ZodBoolean>;
|
|
354
|
-
editable: z.ZodDefault<z.ZodBoolean>;
|
|
355
|
-
}, z.core.$strip>;
|
|
356
|
-
/**
|
|
357
|
-
* Permission Set Schema
|
|
358
|
-
* Defines a collection of permissions that can be assigned to users.
|
|
359
|
-
*
|
|
360
|
-
* DIFFERENTIATION:
|
|
361
|
-
* - Profile: The ONE primary functional definition of a user (e.g. Standard User).
|
|
362
|
-
* - Permission Set: Add-on capabilities assigned to users (e.g. Export Reports).
|
|
363
|
-
* - Role: (Defined in src/system/role.zod.ts) Defines data visibility hierarchy.
|
|
364
|
-
*
|
|
365
|
-
* **NAMING CONVENTION:**
|
|
366
|
-
* Permission set names MUST be lowercase snake_case to prevent security issues.
|
|
367
|
-
*
|
|
368
|
-
* @example Good permission set names
|
|
369
|
-
* - 'read_only'
|
|
370
|
-
* - 'system_admin'
|
|
371
|
-
* - 'standard_user'
|
|
372
|
-
* - 'api_access'
|
|
373
|
-
*
|
|
374
|
-
* @example Bad permission set names (will be rejected)
|
|
375
|
-
* - 'ReadOnly' (camelCase)
|
|
376
|
-
* - 'SystemAdmin' (mixed case)
|
|
377
|
-
* - 'Read Only' (spaces)
|
|
378
|
-
*/
|
|
379
|
-
declare const PermissionSetSchema: z.ZodObject<{
|
|
380
|
-
name: z.ZodString;
|
|
381
|
-
label: z.ZodOptional<z.ZodString>;
|
|
382
|
-
isProfile: z.ZodDefault<z.ZodBoolean>;
|
|
383
|
-
objects: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
384
|
-
allowCreate: z.ZodDefault<z.ZodBoolean>;
|
|
385
|
-
allowRead: z.ZodDefault<z.ZodBoolean>;
|
|
386
|
-
allowEdit: z.ZodDefault<z.ZodBoolean>;
|
|
387
|
-
allowDelete: z.ZodDefault<z.ZodBoolean>;
|
|
388
|
-
allowTransfer: z.ZodDefault<z.ZodBoolean>;
|
|
389
|
-
allowRestore: z.ZodDefault<z.ZodBoolean>;
|
|
390
|
-
allowPurge: z.ZodDefault<z.ZodBoolean>;
|
|
391
|
-
viewAllRecords: z.ZodDefault<z.ZodBoolean>;
|
|
392
|
-
modifyAllRecords: z.ZodDefault<z.ZodBoolean>;
|
|
393
|
-
}, z.core.$strip>>;
|
|
394
|
-
fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
395
|
-
readable: z.ZodDefault<z.ZodBoolean>;
|
|
396
|
-
editable: z.ZodDefault<z.ZodBoolean>;
|
|
397
|
-
}, z.core.$strip>>>;
|
|
398
|
-
systemPermissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
399
|
-
rowLevelSecurity: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
400
|
-
name: z.ZodString;
|
|
401
|
-
label: z.ZodOptional<z.ZodString>;
|
|
402
|
-
description: z.ZodOptional<z.ZodString>;
|
|
403
|
-
object: z.ZodString;
|
|
404
|
-
operation: z.ZodEnum<{
|
|
405
|
-
insert: "insert";
|
|
406
|
-
update: "update";
|
|
407
|
-
delete: "delete";
|
|
408
|
-
select: "select";
|
|
409
|
-
all: "all";
|
|
410
|
-
}>;
|
|
411
|
-
using: z.ZodOptional<z.ZodString>;
|
|
412
|
-
check: z.ZodOptional<z.ZodString>;
|
|
413
|
-
roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
414
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
415
|
-
priority: z.ZodDefault<z.ZodNumber>;
|
|
416
|
-
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
417
|
-
}, z.core.$strip>>>;
|
|
418
|
-
contextVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
419
|
-
}, z.core.$strip>;
|
|
420
|
-
type PermissionSet = z.infer<typeof PermissionSetSchema>;
|
|
421
|
-
type ObjectPermission = z.infer<typeof ObjectPermissionSchema>;
|
|
422
|
-
type FieldPermission = z.infer<typeof FieldPermissionSchema>;
|
|
423
|
-
|
|
424
|
-
/**
|
|
425
|
-
* Organization-Wide Defaults (OWD)
|
|
426
|
-
* The baseline security posture for an object.
|
|
427
|
-
*/
|
|
428
|
-
declare const OWDModel: z.ZodEnum<{
|
|
429
|
-
private: "private";
|
|
430
|
-
public_read: "public_read";
|
|
431
|
-
public_read_write: "public_read_write";
|
|
432
|
-
controlled_by_parent: "controlled_by_parent";
|
|
433
|
-
}>;
|
|
434
|
-
/**
|
|
435
|
-
* Sharing Rule Type
|
|
436
|
-
* How is the data shared?
|
|
437
|
-
*/
|
|
438
|
-
declare const SharingRuleType: z.ZodEnum<{
|
|
439
|
-
owner: "owner";
|
|
440
|
-
criteria: "criteria";
|
|
441
|
-
}>;
|
|
442
|
-
/**
|
|
443
|
-
* Sharing Level
|
|
444
|
-
* What access is granted?
|
|
445
|
-
*/
|
|
446
|
-
declare const SharingLevel: z.ZodEnum<{
|
|
447
|
-
full: "full";
|
|
448
|
-
read: "read";
|
|
449
|
-
edit: "edit";
|
|
450
|
-
}>;
|
|
451
|
-
/**
|
|
452
|
-
* Recipient Type
|
|
453
|
-
* Who receives the access?
|
|
454
|
-
*/
|
|
455
|
-
declare const ShareRecipientType: z.ZodEnum<{
|
|
456
|
-
role: "role";
|
|
457
|
-
user: "user";
|
|
458
|
-
group: "group";
|
|
459
|
-
role_and_subordinates: "role_and_subordinates";
|
|
460
|
-
guest: "guest";
|
|
461
|
-
}>;
|
|
462
|
-
/**
|
|
463
|
-
* 1. Criteria-Based Sharing Rule
|
|
464
|
-
* Share records that meet specific field criteria.
|
|
465
|
-
*/
|
|
466
|
-
declare const CriteriaSharingRuleSchema: z.ZodObject<{
|
|
467
|
-
name: z.ZodString;
|
|
468
|
-
label: z.ZodOptional<z.ZodString>;
|
|
469
|
-
description: z.ZodOptional<z.ZodString>;
|
|
470
|
-
object: z.ZodString;
|
|
471
|
-
active: z.ZodDefault<z.ZodBoolean>;
|
|
472
|
-
accessLevel: z.ZodDefault<z.ZodEnum<{
|
|
473
|
-
full: "full";
|
|
474
|
-
read: "read";
|
|
475
|
-
edit: "edit";
|
|
476
|
-
}>>;
|
|
477
|
-
sharedWith: z.ZodObject<{
|
|
478
|
-
type: z.ZodEnum<{
|
|
479
|
-
role: "role";
|
|
480
|
-
user: "user";
|
|
481
|
-
group: "group";
|
|
482
|
-
role_and_subordinates: "role_and_subordinates";
|
|
483
|
-
guest: "guest";
|
|
484
|
-
}>;
|
|
485
|
-
value: z.ZodString;
|
|
486
|
-
}, z.core.$strip>;
|
|
487
|
-
type: z.ZodLiteral<"criteria">;
|
|
488
|
-
condition: z.ZodString;
|
|
489
|
-
}, z.core.$strip>;
|
|
490
|
-
/**
|
|
491
|
-
* 2. Owner-Based Sharing Rule
|
|
492
|
-
* Share records owned by a specific group of users.
|
|
493
|
-
*/
|
|
494
|
-
declare const OwnerSharingRuleSchema: z.ZodObject<{
|
|
495
|
-
name: z.ZodString;
|
|
496
|
-
label: z.ZodOptional<z.ZodString>;
|
|
497
|
-
description: z.ZodOptional<z.ZodString>;
|
|
498
|
-
object: z.ZodString;
|
|
499
|
-
active: z.ZodDefault<z.ZodBoolean>;
|
|
500
|
-
accessLevel: z.ZodDefault<z.ZodEnum<{
|
|
501
|
-
full: "full";
|
|
502
|
-
read: "read";
|
|
503
|
-
edit: "edit";
|
|
504
|
-
}>>;
|
|
505
|
-
sharedWith: z.ZodObject<{
|
|
506
|
-
type: z.ZodEnum<{
|
|
507
|
-
role: "role";
|
|
508
|
-
user: "user";
|
|
509
|
-
group: "group";
|
|
510
|
-
role_and_subordinates: "role_and_subordinates";
|
|
511
|
-
guest: "guest";
|
|
512
|
-
}>;
|
|
513
|
-
value: z.ZodString;
|
|
514
|
-
}, z.core.$strip>;
|
|
515
|
-
type: z.ZodLiteral<"owner">;
|
|
516
|
-
ownedBy: z.ZodObject<{
|
|
517
|
-
type: z.ZodEnum<{
|
|
518
|
-
role: "role";
|
|
519
|
-
user: "user";
|
|
520
|
-
group: "group";
|
|
521
|
-
role_and_subordinates: "role_and_subordinates";
|
|
522
|
-
guest: "guest";
|
|
523
|
-
}>;
|
|
524
|
-
value: z.ZodString;
|
|
525
|
-
}, z.core.$strip>;
|
|
526
|
-
}, z.core.$strip>;
|
|
527
|
-
/**
|
|
528
|
-
* Master Sharing Rule Schema
|
|
529
|
-
*/
|
|
530
|
-
declare const SharingRuleSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
531
|
-
name: z.ZodString;
|
|
532
|
-
label: z.ZodOptional<z.ZodString>;
|
|
533
|
-
description: z.ZodOptional<z.ZodString>;
|
|
534
|
-
object: z.ZodString;
|
|
535
|
-
active: z.ZodDefault<z.ZodBoolean>;
|
|
536
|
-
accessLevel: z.ZodDefault<z.ZodEnum<{
|
|
537
|
-
full: "full";
|
|
538
|
-
read: "read";
|
|
539
|
-
edit: "edit";
|
|
540
|
-
}>>;
|
|
541
|
-
sharedWith: z.ZodObject<{
|
|
542
|
-
type: z.ZodEnum<{
|
|
543
|
-
role: "role";
|
|
544
|
-
user: "user";
|
|
545
|
-
group: "group";
|
|
546
|
-
role_and_subordinates: "role_and_subordinates";
|
|
547
|
-
guest: "guest";
|
|
548
|
-
}>;
|
|
549
|
-
value: z.ZodString;
|
|
550
|
-
}, z.core.$strip>;
|
|
551
|
-
type: z.ZodLiteral<"criteria">;
|
|
552
|
-
condition: z.ZodString;
|
|
553
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
554
|
-
name: z.ZodString;
|
|
555
|
-
label: z.ZodOptional<z.ZodString>;
|
|
556
|
-
description: z.ZodOptional<z.ZodString>;
|
|
557
|
-
object: z.ZodString;
|
|
558
|
-
active: z.ZodDefault<z.ZodBoolean>;
|
|
559
|
-
accessLevel: z.ZodDefault<z.ZodEnum<{
|
|
560
|
-
full: "full";
|
|
561
|
-
read: "read";
|
|
562
|
-
edit: "edit";
|
|
563
|
-
}>>;
|
|
564
|
-
sharedWith: z.ZodObject<{
|
|
565
|
-
type: z.ZodEnum<{
|
|
566
|
-
role: "role";
|
|
567
|
-
user: "user";
|
|
568
|
-
group: "group";
|
|
569
|
-
role_and_subordinates: "role_and_subordinates";
|
|
570
|
-
guest: "guest";
|
|
571
|
-
}>;
|
|
572
|
-
value: z.ZodString;
|
|
573
|
-
}, z.core.$strip>;
|
|
574
|
-
type: z.ZodLiteral<"owner">;
|
|
575
|
-
ownedBy: z.ZodObject<{
|
|
576
|
-
type: z.ZodEnum<{
|
|
577
|
-
role: "role";
|
|
578
|
-
user: "user";
|
|
579
|
-
group: "group";
|
|
580
|
-
role_and_subordinates: "role_and_subordinates";
|
|
581
|
-
guest: "guest";
|
|
582
|
-
}>;
|
|
583
|
-
value: z.ZodString;
|
|
584
|
-
}, z.core.$strip>;
|
|
585
|
-
}, z.core.$strip>], "type">;
|
|
586
|
-
type SharingRule = z.infer<typeof SharingRuleSchema>;
|
|
587
|
-
type CriteriaSharingRule = z.infer<typeof CriteriaSharingRuleSchema>;
|
|
588
|
-
type OwnerSharingRule = z.infer<typeof OwnerSharingRuleSchema>;
|
|
589
|
-
|
|
590
|
-
/**
|
|
591
|
-
* Territory Management Protocol
|
|
592
|
-
* Defines a matrix reporting structure that exists parallel to the Role Hierarchy.
|
|
593
|
-
*
|
|
594
|
-
* USE CASE:
|
|
595
|
-
* - Enterprise Sales Teams (Geo-based: "EMEA", "APAC")
|
|
596
|
-
* - Industry Verticals (Industry-based: "Healthcare", "Financial")
|
|
597
|
-
* - Strategic Accounts (Account-based: "Strategic Accounts")
|
|
598
|
-
*
|
|
599
|
-
* DIFFERENCE FROM ROLE:
|
|
600
|
-
* - Role: Hierarchy of PEOPLE (Who reports to whom). Stable. HR-driven.
|
|
601
|
-
* - Territory: Hierarchy of ACCOUNTS/REVENUE (Who owns which market). Flexible. Sales-driven.
|
|
602
|
-
* - One User can be assigned to MANY Territories (Matrix).
|
|
603
|
-
* - One User has only ONE Role (Tree).
|
|
604
|
-
*/
|
|
605
|
-
declare const TerritoryType: z.ZodEnum<{
|
|
606
|
-
geography: "geography";
|
|
607
|
-
industry: "industry";
|
|
608
|
-
named_account: "named_account";
|
|
609
|
-
product_line: "product_line";
|
|
610
|
-
}>;
|
|
611
|
-
/**
|
|
612
|
-
* Territory Model Schema
|
|
613
|
-
* A container for a version of territory planning.
|
|
614
|
-
* (e.g. "Fiscal Year 2024 Planning" vs "Fiscal Year 2025 Planning")
|
|
615
|
-
*/
|
|
616
|
-
declare const TerritoryModelSchema: z.ZodObject<{
|
|
617
|
-
name: z.ZodString;
|
|
618
|
-
state: z.ZodDefault<z.ZodEnum<{
|
|
619
|
-
active: "active";
|
|
620
|
-
planning: "planning";
|
|
621
|
-
archived: "archived";
|
|
622
|
-
}>>;
|
|
623
|
-
startDate: z.ZodOptional<z.ZodString>;
|
|
624
|
-
endDate: z.ZodOptional<z.ZodString>;
|
|
625
|
-
}, z.core.$strip>;
|
|
626
|
-
/**
|
|
627
|
-
* Territory Node Schema
|
|
628
|
-
* A single node in the territory tree.
|
|
629
|
-
*
|
|
630
|
-
* **NAMING CONVENTION:**
|
|
631
|
-
* Territory names are machine identifiers and must be lowercase snake_case.
|
|
632
|
-
*
|
|
633
|
-
* @example Good territory names
|
|
634
|
-
* - 'west_coast'
|
|
635
|
-
* - 'emea_region'
|
|
636
|
-
* - 'healthcare_vertical'
|
|
637
|
-
* - 'strategic_accounts'
|
|
638
|
-
*
|
|
639
|
-
* @example Bad territory names (will be rejected)
|
|
640
|
-
* - 'WestCoast' (PascalCase)
|
|
641
|
-
* - 'West Coast' (spaces)
|
|
642
|
-
*/
|
|
643
|
-
declare const TerritorySchema: z.ZodObject<{
|
|
644
|
-
name: z.ZodString;
|
|
645
|
-
label: z.ZodString;
|
|
646
|
-
modelId: z.ZodString;
|
|
647
|
-
parent: z.ZodOptional<z.ZodString>;
|
|
648
|
-
type: z.ZodDefault<z.ZodEnum<{
|
|
649
|
-
geography: "geography";
|
|
650
|
-
industry: "industry";
|
|
651
|
-
named_account: "named_account";
|
|
652
|
-
product_line: "product_line";
|
|
653
|
-
}>>;
|
|
654
|
-
assignmentRule: z.ZodOptional<z.ZodString>;
|
|
655
|
-
assignedUsers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
656
|
-
accountAccess: z.ZodDefault<z.ZodEnum<{
|
|
657
|
-
read: "read";
|
|
658
|
-
edit: "edit";
|
|
659
|
-
}>>;
|
|
660
|
-
opportunityAccess: z.ZodDefault<z.ZodEnum<{
|
|
661
|
-
read: "read";
|
|
662
|
-
edit: "edit";
|
|
663
|
-
}>>;
|
|
664
|
-
caseAccess: z.ZodDefault<z.ZodEnum<{
|
|
665
|
-
read: "read";
|
|
666
|
-
edit: "edit";
|
|
667
|
-
}>>;
|
|
668
|
-
}, z.core.$strip>;
|
|
669
|
-
type Territory = z.infer<typeof TerritorySchema>;
|
|
670
|
-
type TerritoryModel = z.infer<typeof TerritoryModelSchema>;
|
|
671
|
-
|
|
672
|
-
/**
|
|
673
|
-
* # Row-Level Security (RLS) Protocol
|
|
674
|
-
*
|
|
675
|
-
* Implements fine-grained record-level access control inspired by PostgreSQL RLS
|
|
676
|
-
* and Salesforce Criteria-Based Sharing Rules.
|
|
677
|
-
*
|
|
678
|
-
* ## Overview
|
|
679
|
-
*
|
|
680
|
-
* Row-Level Security (RLS) allows you to control which rows users can access
|
|
681
|
-
* in database tables based on their identity and role. Unlike object-level
|
|
682
|
-
* permissions (CRUD), RLS provides record-level filtering.
|
|
683
|
-
*
|
|
684
|
-
* ## Use Cases
|
|
685
|
-
*
|
|
686
|
-
* 1. **Multi-Tenant Data Isolation**
|
|
687
|
-
* - Users only see records from their organization
|
|
688
|
-
* - `using: "tenant_id = current_user.tenant_id"`
|
|
689
|
-
*
|
|
690
|
-
* 2. **Ownership-Based Access**
|
|
691
|
-
* - Users only see records they own
|
|
692
|
-
* - `using: "owner_id = current_user.id"`
|
|
693
|
-
*
|
|
694
|
-
* 3. **Department-Based Access**
|
|
695
|
-
* - Users only see records from their department
|
|
696
|
-
* - `using: "department = current_user.department"`
|
|
697
|
-
*
|
|
698
|
-
* 4. **Regional Access Control**
|
|
699
|
-
* - Sales reps only see accounts in their territory
|
|
700
|
-
* - `using: "region IN (current_user.assigned_regions)"`
|
|
701
|
-
*
|
|
702
|
-
* 5. **Time-Based Access**
|
|
703
|
-
* - Users can only access active records
|
|
704
|
-
* - `using: "status = 'active' AND expiry_date > NOW()"`
|
|
705
|
-
*
|
|
706
|
-
* ## PostgreSQL RLS Comparison
|
|
707
|
-
*
|
|
708
|
-
* PostgreSQL RLS Example:
|
|
709
|
-
* ```sql
|
|
710
|
-
* CREATE POLICY tenant_isolation ON accounts
|
|
711
|
-
* FOR SELECT
|
|
712
|
-
* USING (tenant_id = current_setting('app.current_tenant_id')::uuid);
|
|
713
|
-
*
|
|
714
|
-
* CREATE POLICY account_insert ON accounts
|
|
715
|
-
* FOR INSERT
|
|
716
|
-
* WITH CHECK (tenant_id = current_setting('app.current_tenant_id')::uuid);
|
|
717
|
-
* ```
|
|
718
|
-
*
|
|
719
|
-
* ObjectStack RLS Equivalent:
|
|
720
|
-
* ```typescript
|
|
721
|
-
* {
|
|
722
|
-
* name: 'tenant_isolation',
|
|
723
|
-
* object: 'account',
|
|
724
|
-
* operation: 'select',
|
|
725
|
-
* using: 'tenant_id = current_user.tenant_id'
|
|
726
|
-
* }
|
|
727
|
-
* ```
|
|
728
|
-
*
|
|
729
|
-
* ## Salesforce Sharing Rules Comparison
|
|
730
|
-
*
|
|
731
|
-
* Salesforce uses "Sharing Rules" and "Role Hierarchy" for record-level access.
|
|
732
|
-
* ObjectStack RLS provides similar functionality with more flexibility.
|
|
733
|
-
*
|
|
734
|
-
* Salesforce:
|
|
735
|
-
* - Criteria-Based Sharing: Share records matching criteria with users/roles
|
|
736
|
-
* - Owner-Based Sharing: Share records based on owner's role
|
|
737
|
-
* - Manual Sharing: Individual record sharing
|
|
738
|
-
*
|
|
739
|
-
* ObjectStack RLS:
|
|
740
|
-
* - More flexible formula-based conditions
|
|
741
|
-
* - Direct SQL-like syntax
|
|
742
|
-
* - Supports complex logic with AND/OR/NOT
|
|
743
|
-
*
|
|
744
|
-
* ## Best Practices
|
|
745
|
-
*
|
|
746
|
-
* 1. **Always Define SELECT Policy**: Control what users can view
|
|
747
|
-
* 2. **Define INSERT/UPDATE CHECK Policies**: Prevent data leakage
|
|
748
|
-
* 3. **Use Role-Based Policies**: Apply different rules to different roles
|
|
749
|
-
* 4. **Test Thoroughly**: RLS can have complex interactions
|
|
750
|
-
* 5. **Monitor Performance**: Complex RLS policies can impact query performance
|
|
751
|
-
*
|
|
752
|
-
* ## Security Considerations
|
|
753
|
-
*
|
|
754
|
-
* 1. **Defense in Depth**: RLS is one layer; use with object permissions
|
|
755
|
-
* 2. **Default Deny**: If no policy matches, access is denied
|
|
756
|
-
* 3. **Policy Precedence**: More permissive policy wins (OR logic)
|
|
757
|
-
* 4. **Context Variables**: Ensure current_user context is always set
|
|
758
|
-
*
|
|
759
|
-
* @see https://www.postgresql.org/docs/current/ddl-rowsecurity.html
|
|
760
|
-
* @see https://help.salesforce.com/s/articleView?id=sf.security_sharing_rules.htm
|
|
761
|
-
*/
|
|
762
|
-
/**
|
|
763
|
-
* RLS Operation Enum
|
|
764
|
-
* Specifies which database operation this policy applies to.
|
|
765
|
-
*
|
|
766
|
-
* - **select**: Controls which rows can be read (SELECT queries)
|
|
767
|
-
* - **insert**: Controls which rows can be inserted (INSERT statements)
|
|
768
|
-
* - **update**: Controls which rows can be updated (UPDATE statements)
|
|
769
|
-
* - **delete**: Controls which rows can be deleted (DELETE statements)
|
|
770
|
-
* - **all**: Shorthand for all operations (equivalent to defining 4 separate policies)
|
|
771
|
-
*/
|
|
772
|
-
declare const RLSOperation: z.ZodEnum<{
|
|
773
|
-
insert: "insert";
|
|
774
|
-
update: "update";
|
|
775
|
-
delete: "delete";
|
|
776
|
-
select: "select";
|
|
777
|
-
all: "all";
|
|
778
|
-
}>;
|
|
779
|
-
type RLSOperation = z.infer<typeof RLSOperation>;
|
|
780
|
-
/**
|
|
781
|
-
* Row-Level Security Policy Schema
|
|
782
|
-
*
|
|
783
|
-
* Defines a single RLS policy that filters records based on conditions.
|
|
784
|
-
* Multiple policies can be defined for the same object, and they are
|
|
785
|
-
* combined with OR logic (union of results).
|
|
786
|
-
*
|
|
787
|
-
* @example Multi-Tenant Isolation
|
|
788
|
-
* ```typescript
|
|
789
|
-
* {
|
|
790
|
-
* name: 'tenant_isolation',
|
|
791
|
-
* label: 'Multi-Tenant Data Isolation',
|
|
792
|
-
* object: 'account',
|
|
793
|
-
* operation: 'select',
|
|
794
|
-
* using: 'tenant_id = current_user.tenant_id',
|
|
795
|
-
* enabled: true
|
|
796
|
-
* }
|
|
797
|
-
* ```
|
|
798
|
-
*
|
|
799
|
-
* @example Owner-Based Access
|
|
800
|
-
* ```typescript
|
|
801
|
-
* {
|
|
802
|
-
* name: 'owner_access',
|
|
803
|
-
* label: 'Users Can View Their Own Records',
|
|
804
|
-
* object: 'opportunity',
|
|
805
|
-
* operation: 'select',
|
|
806
|
-
* using: 'owner_id = current_user.id',
|
|
807
|
-
* enabled: true
|
|
808
|
-
* }
|
|
809
|
-
* ```
|
|
810
|
-
*
|
|
811
|
-
* @example Manager Can View Team Records
|
|
812
|
-
* ```typescript
|
|
813
|
-
* {
|
|
814
|
-
* name: 'manager_team_access',
|
|
815
|
-
* label: 'Managers Can View Team Records',
|
|
816
|
-
* object: 'task',
|
|
817
|
-
* operation: 'select',
|
|
818
|
-
* using: 'assigned_to_id IN (SELECT id FROM users WHERE manager_id = current_user.id)',
|
|
819
|
-
* roles: ['manager', 'director'],
|
|
820
|
-
* enabled: true
|
|
821
|
-
* }
|
|
822
|
-
* ```
|
|
823
|
-
*
|
|
824
|
-
* @example Prevent Cross-Tenant Data Insertion
|
|
825
|
-
* ```typescript
|
|
826
|
-
* {
|
|
827
|
-
* name: 'tenant_insert_check',
|
|
828
|
-
* label: 'Prevent Cross-Tenant Data Creation',
|
|
829
|
-
* object: 'account',
|
|
830
|
-
* operation: 'insert',
|
|
831
|
-
* check: 'tenant_id = current_user.tenant_id',
|
|
832
|
-
* enabled: true
|
|
833
|
-
* }
|
|
834
|
-
* ```
|
|
835
|
-
*
|
|
836
|
-
* @example Regional Sales Access
|
|
837
|
-
* ```typescript
|
|
838
|
-
* {
|
|
839
|
-
* name: 'regional_sales_access',
|
|
840
|
-
* label: 'Sales Reps Access Regional Accounts',
|
|
841
|
-
* object: 'account',
|
|
842
|
-
* operation: 'select',
|
|
843
|
-
* using: 'region = current_user.region OR region IS NULL',
|
|
844
|
-
* roles: ['sales_rep'],
|
|
845
|
-
* enabled: true
|
|
846
|
-
* }
|
|
847
|
-
* ```
|
|
848
|
-
*
|
|
849
|
-
* @example Time-Based Access Control
|
|
850
|
-
* ```typescript
|
|
851
|
-
* {
|
|
852
|
-
* name: 'active_records_only',
|
|
853
|
-
* label: 'Users Only Access Active Records',
|
|
854
|
-
* object: 'contract',
|
|
855
|
-
* operation: 'select',
|
|
856
|
-
* using: 'status = "active" AND start_date <= NOW() AND end_date >= NOW()',
|
|
857
|
-
* enabled: true
|
|
858
|
-
* }
|
|
859
|
-
* ```
|
|
860
|
-
*
|
|
861
|
-
* @example Hierarchical Access (Role-Based)
|
|
862
|
-
* ```typescript
|
|
863
|
-
* {
|
|
864
|
-
* name: 'executive_full_access',
|
|
865
|
-
* label: 'Executives See All Records',
|
|
866
|
-
* object: 'account',
|
|
867
|
-
* operation: 'all',
|
|
868
|
-
* using: '1 = 1', // Always true - see everything
|
|
869
|
-
* roles: ['ceo', 'cfo', 'cto'],
|
|
870
|
-
* enabled: true
|
|
871
|
-
* }
|
|
872
|
-
* ```
|
|
873
|
-
*/
|
|
874
|
-
declare const RowLevelSecurityPolicySchema: z.ZodObject<{
|
|
875
|
-
name: z.ZodString;
|
|
876
|
-
label: z.ZodOptional<z.ZodString>;
|
|
877
|
-
description: z.ZodOptional<z.ZodString>;
|
|
878
|
-
object: z.ZodString;
|
|
879
|
-
operation: z.ZodEnum<{
|
|
880
|
-
insert: "insert";
|
|
881
|
-
update: "update";
|
|
882
|
-
delete: "delete";
|
|
883
|
-
select: "select";
|
|
884
|
-
all: "all";
|
|
885
|
-
}>;
|
|
886
|
-
using: z.ZodOptional<z.ZodString>;
|
|
887
|
-
check: z.ZodOptional<z.ZodString>;
|
|
888
|
-
roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
889
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
890
|
-
priority: z.ZodDefault<z.ZodNumber>;
|
|
891
|
-
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
892
|
-
}, z.core.$strip>;
|
|
893
|
-
/**
|
|
894
|
-
* RLS Configuration Schema
|
|
895
|
-
*
|
|
896
|
-
* Global configuration for the Row-Level Security system.
|
|
897
|
-
* Defines how RLS is enforced across the entire platform.
|
|
898
|
-
*/
|
|
899
|
-
declare const RLSConfigSchema: z.ZodObject<{
|
|
900
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
901
|
-
defaultPolicy: z.ZodDefault<z.ZodEnum<{
|
|
902
|
-
deny: "deny";
|
|
903
|
-
allow: "allow";
|
|
904
|
-
}>>;
|
|
905
|
-
allowSuperuserBypass: z.ZodDefault<z.ZodBoolean>;
|
|
906
|
-
bypassRoles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
907
|
-
logEvaluations: z.ZodDefault<z.ZodBoolean>;
|
|
908
|
-
cacheResults: z.ZodDefault<z.ZodBoolean>;
|
|
909
|
-
cacheTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
910
|
-
prefetchUserContext: z.ZodDefault<z.ZodBoolean>;
|
|
911
|
-
}, z.core.$strip>;
|
|
912
|
-
/**
|
|
913
|
-
* User Context Schema
|
|
914
|
-
*
|
|
915
|
-
* Represents the current user's context for RLS evaluation.
|
|
916
|
-
* This data is used to evaluate USING and CHECK clauses.
|
|
917
|
-
*/
|
|
918
|
-
declare const RLSUserContextSchema: z.ZodObject<{
|
|
919
|
-
id: z.ZodString;
|
|
920
|
-
email: z.ZodOptional<z.ZodString>;
|
|
921
|
-
tenantId: z.ZodOptional<z.ZodString>;
|
|
922
|
-
role: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
923
|
-
department: z.ZodOptional<z.ZodString>;
|
|
924
|
-
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
925
|
-
}, z.core.$strip>;
|
|
926
|
-
/**
|
|
927
|
-
* RLS Policy Evaluation Result
|
|
928
|
-
*
|
|
929
|
-
* Result of evaluating an RLS policy for a specific record.
|
|
930
|
-
* Used for debugging and audit logging.
|
|
931
|
-
*/
|
|
932
|
-
declare const RLSEvaluationResultSchema: z.ZodObject<{
|
|
933
|
-
policyName: z.ZodString;
|
|
934
|
-
granted: z.ZodBoolean;
|
|
935
|
-
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
936
|
-
error: z.ZodOptional<z.ZodString>;
|
|
937
|
-
usingResult: z.ZodOptional<z.ZodBoolean>;
|
|
938
|
-
checkResult: z.ZodOptional<z.ZodBoolean>;
|
|
939
|
-
}, z.core.$strip>;
|
|
940
|
-
/**
|
|
941
|
-
* Type exports
|
|
942
|
-
*/
|
|
943
|
-
type RowLevelSecurityPolicy = z.infer<typeof RowLevelSecurityPolicySchema>;
|
|
944
|
-
type RLSConfig = z.infer<typeof RLSConfigSchema>;
|
|
945
|
-
type RLSUserContext = z.infer<typeof RLSUserContextSchema>;
|
|
946
|
-
type RLSEvaluationResult = z.infer<typeof RLSEvaluationResultSchema>;
|
|
947
|
-
/**
|
|
948
|
-
* Helper factory for creating RLS policies
|
|
949
|
-
*/
|
|
950
|
-
declare const RLS: {
|
|
951
|
-
/**
|
|
952
|
-
* Create a simple owner-based policy
|
|
953
|
-
*/
|
|
954
|
-
readonly ownerPolicy: (object: string, ownerField?: string) => RowLevelSecurityPolicy;
|
|
955
|
-
/**
|
|
956
|
-
* Create a tenant isolation policy
|
|
957
|
-
*/
|
|
958
|
-
readonly tenantPolicy: (object: string, tenantField?: string) => RowLevelSecurityPolicy;
|
|
959
|
-
/**
|
|
960
|
-
* Create a role-based policy
|
|
961
|
-
*/
|
|
962
|
-
readonly rolePolicy: (object: string, roles: string[], condition: string) => RowLevelSecurityPolicy;
|
|
963
|
-
/**
|
|
964
|
-
* Create a permissive policy (allow all for specific roles)
|
|
965
|
-
*/
|
|
966
|
-
readonly allowAllPolicy: (object: string, roles: string[]) => RowLevelSecurityPolicy;
|
|
967
|
-
};
|
|
968
|
-
|
|
969
|
-
/**
|
|
970
|
-
* Password Complexity Policy
|
|
971
|
-
*/
|
|
972
|
-
declare const PasswordPolicySchema: z.ZodObject<{
|
|
973
|
-
minLength: z.ZodDefault<z.ZodNumber>;
|
|
974
|
-
requireUppercase: z.ZodDefault<z.ZodBoolean>;
|
|
975
|
-
requireLowercase: z.ZodDefault<z.ZodBoolean>;
|
|
976
|
-
requireNumbers: z.ZodDefault<z.ZodBoolean>;
|
|
977
|
-
requireSymbols: z.ZodDefault<z.ZodBoolean>;
|
|
978
|
-
expirationDays: z.ZodOptional<z.ZodNumber>;
|
|
979
|
-
historyCount: z.ZodDefault<z.ZodNumber>;
|
|
980
|
-
}, z.core.$strip>;
|
|
981
|
-
/**
|
|
982
|
-
* Network Access Policy (IP Whitelisting)
|
|
983
|
-
*/
|
|
984
|
-
declare const NetworkPolicySchema: z.ZodObject<{
|
|
985
|
-
trustedRanges: z.ZodArray<z.ZodString>;
|
|
986
|
-
blockUnknown: z.ZodDefault<z.ZodBoolean>;
|
|
987
|
-
vpnRequired: z.ZodDefault<z.ZodBoolean>;
|
|
988
|
-
}, z.core.$strip>;
|
|
989
|
-
/**
|
|
990
|
-
* Session Policy
|
|
991
|
-
*/
|
|
992
|
-
declare const SessionPolicySchema: z.ZodObject<{
|
|
993
|
-
idleTimeout: z.ZodDefault<z.ZodNumber>;
|
|
994
|
-
absoluteTimeout: z.ZodDefault<z.ZodNumber>;
|
|
995
|
-
forceMfa: z.ZodDefault<z.ZodBoolean>;
|
|
996
|
-
}, z.core.$strip>;
|
|
997
|
-
/**
|
|
998
|
-
* Audit Retention Policy
|
|
999
|
-
*/
|
|
1000
|
-
declare const AuditPolicySchema: z.ZodObject<{
|
|
1001
|
-
logRetentionDays: z.ZodDefault<z.ZodNumber>;
|
|
1002
|
-
sensitiveFields: z.ZodArray<z.ZodString>;
|
|
1003
|
-
captureRead: z.ZodDefault<z.ZodBoolean>;
|
|
1004
|
-
}, z.core.$strip>;
|
|
1005
|
-
/**
|
|
1006
|
-
* Security Policy Schema
|
|
1007
|
-
* "The Cloud Compliance Contract"
|
|
1008
|
-
*/
|
|
1009
|
-
declare const PolicySchema: z.ZodObject<{
|
|
1010
|
-
name: z.ZodString;
|
|
1011
|
-
password: z.ZodOptional<z.ZodObject<{
|
|
1012
|
-
minLength: z.ZodDefault<z.ZodNumber>;
|
|
1013
|
-
requireUppercase: z.ZodDefault<z.ZodBoolean>;
|
|
1014
|
-
requireLowercase: z.ZodDefault<z.ZodBoolean>;
|
|
1015
|
-
requireNumbers: z.ZodDefault<z.ZodBoolean>;
|
|
1016
|
-
requireSymbols: z.ZodDefault<z.ZodBoolean>;
|
|
1017
|
-
expirationDays: z.ZodOptional<z.ZodNumber>;
|
|
1018
|
-
historyCount: z.ZodDefault<z.ZodNumber>;
|
|
1019
|
-
}, z.core.$strip>>;
|
|
1020
|
-
network: z.ZodOptional<z.ZodObject<{
|
|
1021
|
-
trustedRanges: z.ZodArray<z.ZodString>;
|
|
1022
|
-
blockUnknown: z.ZodDefault<z.ZodBoolean>;
|
|
1023
|
-
vpnRequired: z.ZodDefault<z.ZodBoolean>;
|
|
1024
|
-
}, z.core.$strip>>;
|
|
1025
|
-
session: z.ZodOptional<z.ZodObject<{
|
|
1026
|
-
idleTimeout: z.ZodDefault<z.ZodNumber>;
|
|
1027
|
-
absoluteTimeout: z.ZodDefault<z.ZodNumber>;
|
|
1028
|
-
forceMfa: z.ZodDefault<z.ZodBoolean>;
|
|
1029
|
-
}, z.core.$strip>>;
|
|
1030
|
-
audit: z.ZodOptional<z.ZodObject<{
|
|
1031
|
-
logRetentionDays: z.ZodDefault<z.ZodNumber>;
|
|
1032
|
-
sensitiveFields: z.ZodArray<z.ZodString>;
|
|
1033
|
-
captureRead: z.ZodDefault<z.ZodBoolean>;
|
|
1034
|
-
}, z.core.$strip>>;
|
|
1035
|
-
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
1036
|
-
assignedProfiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1037
|
-
}, z.core.$strip>;
|
|
1038
|
-
type Policy = z.infer<typeof PolicySchema>;
|
|
1039
|
-
|
|
1040
|
-
/**
|
|
1041
|
-
* Permission Protocol Exports
|
|
1042
|
-
*
|
|
1043
|
-
* Fine-grained Access Control
|
|
1044
|
-
* - Permission Sets (CRUD + Field-Level Security)
|
|
1045
|
-
* - Sharing Rules (Record Ownership)
|
|
1046
|
-
* - Territory Management (Geographic/Hierarchical)
|
|
1047
|
-
* - Row-Level Security (RLS - PostgreSQL-style)
|
|
1048
|
-
*/
|
|
1049
|
-
|
|
1050
|
-
declare const index$2_AuditPolicySchema: typeof AuditPolicySchema;
|
|
1051
|
-
type index$2_CriteriaSharingRule = CriteriaSharingRule;
|
|
1052
|
-
declare const index$2_CriteriaSharingRuleSchema: typeof CriteriaSharingRuleSchema;
|
|
1053
|
-
type index$2_FieldPermission = FieldPermission;
|
|
1054
|
-
declare const index$2_FieldPermissionSchema: typeof FieldPermissionSchema;
|
|
1055
|
-
declare const index$2_NetworkPolicySchema: typeof NetworkPolicySchema;
|
|
1056
|
-
declare const index$2_OWDModel: typeof OWDModel;
|
|
1057
|
-
type index$2_ObjectPermission = ObjectPermission;
|
|
1058
|
-
declare const index$2_ObjectPermissionSchema: typeof ObjectPermissionSchema;
|
|
1059
|
-
type index$2_OwnerSharingRule = OwnerSharingRule;
|
|
1060
|
-
declare const index$2_OwnerSharingRuleSchema: typeof OwnerSharingRuleSchema;
|
|
1061
|
-
declare const index$2_PasswordPolicySchema: typeof PasswordPolicySchema;
|
|
1062
|
-
type index$2_PermissionSet = PermissionSet;
|
|
1063
|
-
declare const index$2_PermissionSetSchema: typeof PermissionSetSchema;
|
|
1064
|
-
type index$2_Policy = Policy;
|
|
1065
|
-
declare const index$2_PolicySchema: typeof PolicySchema;
|
|
1066
|
-
declare const index$2_RLS: typeof RLS;
|
|
1067
|
-
type index$2_RLSConfig = RLSConfig;
|
|
1068
|
-
declare const index$2_RLSConfigSchema: typeof RLSConfigSchema;
|
|
1069
|
-
type index$2_RLSEvaluationResult = RLSEvaluationResult;
|
|
1070
|
-
declare const index$2_RLSEvaluationResultSchema: typeof RLSEvaluationResultSchema;
|
|
1071
|
-
type index$2_RLSOperation = RLSOperation;
|
|
1072
|
-
type index$2_RLSUserContext = RLSUserContext;
|
|
1073
|
-
declare const index$2_RLSUserContextSchema: typeof RLSUserContextSchema;
|
|
1074
|
-
type index$2_RowLevelSecurityPolicy = RowLevelSecurityPolicy;
|
|
1075
|
-
declare const index$2_RowLevelSecurityPolicySchema: typeof RowLevelSecurityPolicySchema;
|
|
1076
|
-
declare const index$2_SessionPolicySchema: typeof SessionPolicySchema;
|
|
1077
|
-
declare const index$2_ShareRecipientType: typeof ShareRecipientType;
|
|
1078
|
-
declare const index$2_SharingLevel: typeof SharingLevel;
|
|
1079
|
-
type index$2_SharingRule = SharingRule;
|
|
1080
|
-
declare const index$2_SharingRuleSchema: typeof SharingRuleSchema;
|
|
1081
|
-
declare const index$2_SharingRuleType: typeof SharingRuleType;
|
|
1082
|
-
type index$2_Territory = Territory;
|
|
1083
|
-
type index$2_TerritoryModel = TerritoryModel;
|
|
1084
|
-
declare const index$2_TerritoryModelSchema: typeof TerritoryModelSchema;
|
|
1085
|
-
declare const index$2_TerritorySchema: typeof TerritorySchema;
|
|
1086
|
-
declare const index$2_TerritoryType: typeof TerritoryType;
|
|
295
|
+
type index$2_AggregationFunction = AggregationFunction;
|
|
296
|
+
declare const index$2_AggregationFunctionEnum: typeof AggregationFunctionEnum;
|
|
297
|
+
type index$2_BaseMetadataRecord = BaseMetadataRecord;
|
|
298
|
+
declare const index$2_BaseMetadataRecordSchema: typeof BaseMetadataRecordSchema;
|
|
299
|
+
type index$2_CacheStrategy = CacheStrategy;
|
|
300
|
+
declare const index$2_CacheStrategyEnum: typeof CacheStrategyEnum;
|
|
301
|
+
declare const index$2_CorsConfig: typeof CorsConfig;
|
|
302
|
+
declare const index$2_CorsConfigSchema: typeof CorsConfigSchema;
|
|
303
|
+
type index$2_EventName = EventName;
|
|
304
|
+
declare const index$2_EventNameSchema: typeof EventNameSchema;
|
|
305
|
+
type index$2_FieldMapping = FieldMapping;
|
|
306
|
+
declare const index$2_FieldMappingSchema: typeof FieldMappingSchema;
|
|
307
|
+
declare const index$2_HttpMethod: typeof HttpMethod;
|
|
308
|
+
type index$2_IsolationLevel = IsolationLevel;
|
|
309
|
+
declare const index$2_IsolationLevelEnum: typeof IsolationLevelEnum;
|
|
310
|
+
type index$2_MetadataFormat = MetadataFormat;
|
|
311
|
+
declare const index$2_MetadataFormatSchema: typeof MetadataFormatSchema;
|
|
312
|
+
type index$2_MutationEvent = MutationEvent;
|
|
313
|
+
declare const index$2_MutationEventEnum: typeof MutationEventEnum;
|
|
314
|
+
declare const index$2_RateLimitConfig: typeof RateLimitConfig;
|
|
315
|
+
declare const index$2_RateLimitConfigSchema: typeof RateLimitConfigSchema;
|
|
316
|
+
type index$2_SnakeCaseIdentifier = SnakeCaseIdentifier;
|
|
317
|
+
declare const index$2_SnakeCaseIdentifierSchema: typeof SnakeCaseIdentifierSchema;
|
|
318
|
+
type index$2_SortDirection = SortDirection;
|
|
319
|
+
declare const index$2_SortDirectionEnum: typeof SortDirectionEnum;
|
|
320
|
+
declare const index$2_StaticMount: typeof StaticMount;
|
|
321
|
+
declare const index$2_StaticMountSchema: typeof StaticMountSchema;
|
|
322
|
+
type index$2_SystemIdentifier = SystemIdentifier;
|
|
323
|
+
declare const index$2_SystemIdentifierSchema: typeof SystemIdentifierSchema;
|
|
324
|
+
type index$2_TransformType = TransformType;
|
|
325
|
+
declare const index$2_TransformTypeSchema: typeof TransformTypeSchema;
|
|
1087
326
|
declare namespace index$2 {
|
|
1088
|
-
export {
|
|
327
|
+
export { type index$2_AggregationFunction as AggregationFunction, index$2_AggregationFunctionEnum as AggregationFunctionEnum, type index$2_BaseMetadataRecord as BaseMetadataRecord, index$2_BaseMetadataRecordSchema as BaseMetadataRecordSchema, type index$2_CacheStrategy as CacheStrategy, index$2_CacheStrategyEnum as CacheStrategyEnum, index$2_CorsConfig as CorsConfig, index$2_CorsConfigSchema as CorsConfigSchema, type index$2_EventName as EventName, index$2_EventNameSchema as EventNameSchema, type index$2_FieldMapping as FieldMapping, index$2_FieldMappingSchema as FieldMappingSchema, index$2_HttpMethod as HttpMethod, type index$2_IsolationLevel as IsolationLevel, index$2_IsolationLevelEnum as IsolationLevelEnum, type index$2_MetadataFormat as MetadataFormat, index$2_MetadataFormatSchema as MetadataFormatSchema, type index$2_MutationEvent as MutationEvent, index$2_MutationEventEnum as MutationEventEnum, index$2_RateLimitConfig as RateLimitConfig, index$2_RateLimitConfigSchema as RateLimitConfigSchema, type index$2_SnakeCaseIdentifier as SnakeCaseIdentifier, index$2_SnakeCaseIdentifierSchema as SnakeCaseIdentifierSchema, type index$2_SortDirection as SortDirection, index$2_SortDirectionEnum as SortDirectionEnum, index$2_StaticMount as StaticMount, index$2_StaticMountSchema as StaticMountSchema, type index$2_SystemIdentifier as SystemIdentifier, index$2_SystemIdentifierSchema as SystemIdentifierSchema, type index$2_TransformType as TransformType, index$2_TransformTypeSchema as TransformTypeSchema };
|
|
1089
328
|
}
|
|
1090
329
|
|
|
1091
330
|
declare const TestContextSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
@@ -14366,4 +13605,4 @@ type ObjectUICapabilities = z.infer<typeof ObjectUICapabilitiesSchema>;
|
|
|
14366
13605
|
type ObjectOSCapabilities = z.infer<typeof ObjectOSCapabilitiesSchema>;
|
|
14367
13606
|
type ObjectStackCapabilities = z.infer<typeof ObjectStackCapabilitiesSchema>;
|
|
14368
13607
|
|
|
14369
|
-
export { index as Identity, type ObjectOSCapabilities, ObjectOSCapabilitiesSchema, type ObjectQLCapabilities, ObjectQLCapabilitiesSchema, type ObjectStack, type ObjectStackCapabilities, ObjectStackCapabilitiesSchema, type ObjectStackDefinition, ObjectStackDefinitionSchema, ObjectStackSchema, type ObjectUICapabilities, ObjectUICapabilitiesSchema, index$1 as QA, index$2 as
|
|
13608
|
+
export { index as Identity, type ObjectOSCapabilities, ObjectOSCapabilitiesSchema, type ObjectQLCapabilities, ObjectQLCapabilitiesSchema, type ObjectStack, type ObjectStackCapabilities, ObjectStackCapabilitiesSchema, type ObjectStackDefinition, ObjectStackDefinitionSchema, ObjectStackSchema, type ObjectUICapabilities, ObjectUICapabilitiesSchema, index$1 as QA, index$2 as Shared, defineStack };
|