@stndrds/schema 1.0.0-alpha.233 → 1.0.0-alpha.235
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/{chunk-FRWPIJDK.mjs → chunk-NAS2HJ3Y.mjs} +3 -3
- package/dist/{chunk-6SPNZSXS.js → chunk-PZJN5IJW.js} +4 -4
- package/dist/{chunk-SGSGREPG.js → chunk-QAF3HNKQ.js} +9 -8
- package/dist/{chunk-NOMHDOVE.mjs → chunk-U36ZIBEM.mjs} +9 -8
- package/dist/index.d.mts +11 -11
- package/dist/index.d.ts +11 -11
- package/dist/index.js +199 -150
- package/dist/index.mjs +132 -83
- package/dist/validation/all.js +9 -9
- package/dist/validation/all.mjs +2 -2
- package/dist/validation/object/index.js +15 -15
- package/dist/validation/object/index.mjs +2 -2
- package/dist/validation/primitives/text.js +2 -2
- package/dist/validation/primitives/text.mjs +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
var chunkFRCDMQER_js = require('./chunk-FRCDMQER.js');
|
|
4
4
|
require('./chunk-PGERPYDR.js');
|
|
5
5
|
var chunkNSM2JPC3_js = require('./chunk-NSM2JPC3.js');
|
|
6
|
-
var
|
|
6
|
+
var chunkPZJN5IJW_js = require('./chunk-PZJN5IJW.js');
|
|
7
7
|
require('./chunk-5WATIVCA.js');
|
|
8
8
|
require('./chunk-SI34M4IC.js');
|
|
9
9
|
require('./chunk-YIP5FJ5H.js');
|
|
10
|
-
require('./chunk-
|
|
10
|
+
require('./chunk-QAF3HNKQ.js');
|
|
11
11
|
require('./chunk-EW5XR2X3.js');
|
|
12
12
|
require('./chunk-QWKLQRBX.js');
|
|
13
13
|
require('./chunk-KNGWHQLR.js');
|
|
@@ -1418,7 +1418,7 @@ var BaseAttributeBuilder = class {
|
|
|
1418
1418
|
* @see https://standardschema.dev/
|
|
1419
1419
|
*/
|
|
1420
1420
|
get "~standard"() {
|
|
1421
|
-
const zodSchema =
|
|
1421
|
+
const zodSchema = chunkPZJN5IJW_js.createAttributeValidator(this.build());
|
|
1422
1422
|
return createStandardSchemaProps(zodSchema);
|
|
1423
1423
|
}
|
|
1424
1424
|
constructor(type, name, label) {
|
|
@@ -2205,9 +2205,9 @@ var RollupAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2205
2205
|
if (fn === "original" && targetType !== void 0 && targetType !== "select" && targetType !== "status" && targetType !== "multiselect") {
|
|
2206
2206
|
const relation2 = this.attr.relationAttribute ?? "relation";
|
|
2207
2207
|
const target = this.attr.targetAttribute ?? "field";
|
|
2208
|
-
throw new
|
|
2208
|
+
throw new chunkPZJN5IJW_js.SchemaError(
|
|
2209
2209
|
`Rollup "${this.attr.name}": .using("original") only supports a "select", "status", or "multiselect" target, but .targetType("${targetType}") was given. To surface a plain ${targetType} value from a related record, use a formula instead \u2014 e.g. formula({ name: "${this.attr.name}", label: "\u2026" }).expression("${relation2}.${target}").`,
|
|
2210
|
-
|
|
2210
|
+
chunkPZJN5IJW_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2211
2211
|
);
|
|
2212
2212
|
}
|
|
2213
2213
|
return super.build();
|
|
@@ -2710,7 +2710,7 @@ var ObjectBuilder = class {
|
|
|
2710
2710
|
* @see https://standardschema.dev/
|
|
2711
2711
|
*/
|
|
2712
2712
|
get "~standard"() {
|
|
2713
|
-
const zodSchema =
|
|
2713
|
+
const zodSchema = chunkPZJN5IJW_js.createObjectValidator(this.build());
|
|
2714
2714
|
return createStandardSchemaProps(zodSchema);
|
|
2715
2715
|
}
|
|
2716
2716
|
/**
|
|
@@ -2924,26 +2924,26 @@ var ObjectBuilder = class {
|
|
|
2924
2924
|
throw new Error("[ObjectBuilder] Missing required field: label");
|
|
2925
2925
|
}
|
|
2926
2926
|
if (!this._labelExpression) {
|
|
2927
|
-
throw new
|
|
2927
|
+
throw new chunkPZJN5IJW_js.SchemaError(
|
|
2928
2928
|
`Object "${this.obj.name}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,
|
|
2929
|
-
|
|
2929
|
+
chunkPZJN5IJW_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2930
2930
|
);
|
|
2931
2931
|
}
|
|
2932
2932
|
const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
|
|
2933
2933
|
if (!labelResult.success) {
|
|
2934
2934
|
const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
|
|
2935
|
-
throw new
|
|
2935
|
+
throw new chunkPZJN5IJW_js.SchemaError(
|
|
2936
2936
|
`Invalid labelExpression for "${this.obj.name}": ${errorMsg}`,
|
|
2937
|
-
|
|
2937
|
+
chunkPZJN5IJW_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2938
2938
|
);
|
|
2939
2939
|
}
|
|
2940
2940
|
if (this._embeddingExpression !== void 0) {
|
|
2941
2941
|
const embeddingResult = labelExpressionSchema.safeParse(this._embeddingExpression);
|
|
2942
2942
|
if (!embeddingResult.success) {
|
|
2943
2943
|
const errorMsg = embeddingResult.error.issues[0]?.message ?? "Invalid embeddingExpression";
|
|
2944
|
-
throw new
|
|
2944
|
+
throw new chunkPZJN5IJW_js.SchemaError(
|
|
2945
2945
|
`Invalid embeddingExpression for "${this.obj.name}": ${errorMsg}`,
|
|
2946
|
-
|
|
2946
|
+
chunkPZJN5IJW_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2947
2947
|
);
|
|
2948
2948
|
}
|
|
2949
2949
|
}
|
|
@@ -2984,7 +2984,7 @@ var ObjectBuilder = class {
|
|
|
2984
2984
|
objectNameSchema.parse(name);
|
|
2985
2985
|
} catch (error) {
|
|
2986
2986
|
if (error instanceof z3__default.default.ZodError) {
|
|
2987
|
-
throw new
|
|
2987
|
+
throw new chunkPZJN5IJW_js.SchemaError(error.issues[0].message, chunkPZJN5IJW_js.SchemaErrorCode.INVALID_OBJECT_NAME);
|
|
2988
2988
|
}
|
|
2989
2989
|
throw error;
|
|
2990
2990
|
}
|
|
@@ -2995,7 +2995,7 @@ function object(config) {
|
|
|
2995
2995
|
}
|
|
2996
2996
|
function validatePresetStructure(presetId, nodes, depth) {
|
|
2997
2997
|
const fail = (message, detail) => {
|
|
2998
|
-
throw new
|
|
2998
|
+
throw new chunkPZJN5IJW_js.ValidationError(message, [
|
|
2999
2999
|
{ path: ["documentLayout", "presets", presetId], message: detail }
|
|
3000
3000
|
]);
|
|
3001
3001
|
};
|
|
@@ -4290,6 +4290,19 @@ function jsonFlag(name, defaultValue) {
|
|
|
4290
4290
|
}
|
|
4291
4291
|
|
|
4292
4292
|
// src/feature-flags/flag-registry.ts
|
|
4293
|
+
function duplicateFlagError(name) {
|
|
4294
|
+
return new chunkPZJN5IJW_js.DuplicateError(
|
|
4295
|
+
"feature flag",
|
|
4296
|
+
name,
|
|
4297
|
+
`Flag "${name}" is already registered. Each flag name must be unique.`
|
|
4298
|
+
);
|
|
4299
|
+
}
|
|
4300
|
+
function cloneFlagDefinition(flag) {
|
|
4301
|
+
return {
|
|
4302
|
+
...flag,
|
|
4303
|
+
allowedLevels: [...flag.allowedLevels]
|
|
4304
|
+
};
|
|
4305
|
+
}
|
|
4293
4306
|
var FlagRegistry = class {
|
|
4294
4307
|
constructor() {
|
|
4295
4308
|
this.flags = /* @__PURE__ */ new Map();
|
|
@@ -4298,7 +4311,7 @@ var FlagRegistry = class {
|
|
|
4298
4311
|
* Register a feature flag definition.
|
|
4299
4312
|
*
|
|
4300
4313
|
* @param flag - The flag definition to register
|
|
4301
|
-
* @throws
|
|
4314
|
+
* @throws DuplicateError If a flag with the same name is already registered
|
|
4302
4315
|
*
|
|
4303
4316
|
* @example
|
|
4304
4317
|
* ```typescript
|
|
@@ -4310,33 +4323,25 @@ var FlagRegistry = class {
|
|
|
4310
4323
|
*/
|
|
4311
4324
|
register(flag) {
|
|
4312
4325
|
if (this.flags.has(flag.name)) {
|
|
4313
|
-
throw
|
|
4326
|
+
throw duplicateFlagError(flag.name);
|
|
4314
4327
|
}
|
|
4315
|
-
|
|
4316
|
-
...flag,
|
|
4317
|
-
allowedLevels: [...flag.allowedLevels]
|
|
4318
|
-
};
|
|
4319
|
-
this.flags.set(flag.name, cloned);
|
|
4328
|
+
this.flags.set(flag.name, cloneFlagDefinition(flag));
|
|
4320
4329
|
}
|
|
4321
4330
|
/**
|
|
4322
4331
|
* Register multiple flags at once.
|
|
4323
4332
|
* This operation is atomic - either all flags are registered or none are.
|
|
4324
4333
|
*
|
|
4325
4334
|
* @param flags - Array of flag definitions to register
|
|
4326
|
-
* @throws
|
|
4335
|
+
* @throws DuplicateError If any flag name conflicts with existing or duplicate within batch
|
|
4327
4336
|
*/
|
|
4328
4337
|
registerAll(flags) {
|
|
4329
4338
|
const seenNames = /* @__PURE__ */ new Set();
|
|
4330
4339
|
for (const flag of flags) {
|
|
4331
4340
|
if (this.flags.has(flag.name)) {
|
|
4332
|
-
throw
|
|
4333
|
-
`Flag "${flag.name}" is already registered. Each flag name must be unique.`
|
|
4334
|
-
);
|
|
4341
|
+
throw duplicateFlagError(flag.name);
|
|
4335
4342
|
}
|
|
4336
4343
|
if (seenNames.has(flag.name)) {
|
|
4337
|
-
throw
|
|
4338
|
-
`Flag "${flag.name}" is already registered. Each flag name must be unique.`
|
|
4339
|
-
);
|
|
4344
|
+
throw duplicateFlagError(flag.name);
|
|
4340
4345
|
}
|
|
4341
4346
|
seenNames.add(flag.name);
|
|
4342
4347
|
}
|
|
@@ -4351,19 +4356,23 @@ var FlagRegistry = class {
|
|
|
4351
4356
|
* @returns The flag definition or undefined if not found
|
|
4352
4357
|
*/
|
|
4353
4358
|
get(name) {
|
|
4354
|
-
|
|
4359
|
+
const flag = this.flags.get(name);
|
|
4360
|
+
return flag ? cloneFlagDefinition(flag) : void 0;
|
|
4355
4361
|
}
|
|
4356
4362
|
/**
|
|
4357
4363
|
* Get a flag definition by name, throwing if not found.
|
|
4358
4364
|
*
|
|
4359
4365
|
* @param name - The flag name
|
|
4360
4366
|
* @returns The flag definition
|
|
4361
|
-
* @throws
|
|
4367
|
+
* @throws NotFoundError If the flag is not registered
|
|
4362
4368
|
*/
|
|
4363
4369
|
getOrThrow(name) {
|
|
4364
4370
|
const flag = this.get(name);
|
|
4365
4371
|
if (!flag) {
|
|
4366
|
-
throw new
|
|
4372
|
+
throw new chunkPZJN5IJW_js.NotFoundError(
|
|
4373
|
+
"Feature flag",
|
|
4374
|
+
name,
|
|
4375
|
+
void 0,
|
|
4367
4376
|
`Flag "${name}" is not registered. Available flags: ${this.listNames().join(", ")}`
|
|
4368
4377
|
);
|
|
4369
4378
|
}
|
|
@@ -4384,7 +4393,7 @@ var FlagRegistry = class {
|
|
|
4384
4393
|
* @returns Array of all flag definitions
|
|
4385
4394
|
*/
|
|
4386
4395
|
list() {
|
|
4387
|
-
return Array.from(this.flags.values());
|
|
4396
|
+
return Array.from(this.flags.values(), cloneFlagDefinition);
|
|
4388
4397
|
}
|
|
4389
4398
|
/**
|
|
4390
4399
|
* List all registered flag names.
|
|
@@ -4422,6 +4431,29 @@ function createFlagRegistry() {
|
|
|
4422
4431
|
}
|
|
4423
4432
|
|
|
4424
4433
|
// src/feature-flags/flag-service.ts
|
|
4434
|
+
function emptyOverrides() {
|
|
4435
|
+
return {
|
|
4436
|
+
global: /* @__PURE__ */ new Map(),
|
|
4437
|
+
tenant: /* @__PURE__ */ new Map(),
|
|
4438
|
+
user: /* @__PURE__ */ new Map()
|
|
4439
|
+
};
|
|
4440
|
+
}
|
|
4441
|
+
function isActiveOverride(override, now2) {
|
|
4442
|
+
return override.expiresAt === void 0 || override.expiresAt.getTime() > now2;
|
|
4443
|
+
}
|
|
4444
|
+
function indexOverrides(overrides, now2) {
|
|
4445
|
+
const byFlagName = /* @__PURE__ */ new Map();
|
|
4446
|
+
for (const override of overrides) {
|
|
4447
|
+
if (!isActiveOverride(override, now2)) {
|
|
4448
|
+
continue;
|
|
4449
|
+
}
|
|
4450
|
+
const flagName = override.flagName;
|
|
4451
|
+
if (!byFlagName.has(flagName)) {
|
|
4452
|
+
byFlagName.set(flagName, override);
|
|
4453
|
+
}
|
|
4454
|
+
}
|
|
4455
|
+
return byFlagName;
|
|
4456
|
+
}
|
|
4425
4457
|
var FlagService = class {
|
|
4426
4458
|
constructor(options) {
|
|
4427
4459
|
this.repository = options.repository;
|
|
@@ -4444,7 +4476,7 @@ var FlagService = class {
|
|
|
4444
4476
|
for (const name of this.staticDefaults.keys()) {
|
|
4445
4477
|
flagNames.add(name);
|
|
4446
4478
|
}
|
|
4447
|
-
const overrides = this.repository && flagNames.size > 0 ? await this.getAllOverrides(context, [...flagNames]) :
|
|
4479
|
+
const overrides = this.repository && flagNames.size > 0 ? await this.getAllOverrides(context, [...flagNames]) : emptyOverrides();
|
|
4448
4480
|
for (const name of flagNames) {
|
|
4449
4481
|
const value = this.resolveValue(name, overrides, context);
|
|
4450
4482
|
resolved.set(name, value);
|
|
@@ -4459,7 +4491,7 @@ var FlagService = class {
|
|
|
4459
4491
|
* @returns Resolved flag with source information
|
|
4460
4492
|
*/
|
|
4461
4493
|
async resolve(flagName, context = {}) {
|
|
4462
|
-
const overrides = this.repository ? await this.getAllOverrides(context, [flagName]) :
|
|
4494
|
+
const overrides = this.repository ? await this.getAllOverrides(context, [flagName]) : emptyOverrides();
|
|
4463
4495
|
return this.resolveWithSource(flagName, overrides, context);
|
|
4464
4496
|
}
|
|
4465
4497
|
/**
|
|
@@ -4494,18 +4526,19 @@ var FlagService = class {
|
|
|
4494
4526
|
*/
|
|
4495
4527
|
async setOverride(flagName, level, value, options = {}) {
|
|
4496
4528
|
if (!this.repository) {
|
|
4497
|
-
throw new
|
|
4498
|
-
"Cannot set override: no FeatureFlagsRepository configured. Add featureFlags to your DatabaseAdapter to enable runtime overrides."
|
|
4529
|
+
throw new chunkPZJN5IJW_js.SchemaError(
|
|
4530
|
+
"Cannot set override: no FeatureFlagsRepository configured. Add featureFlags to your DatabaseAdapter to enable runtime overrides.",
|
|
4531
|
+
chunkPZJN5IJW_js.SchemaErrorCode.CONFIGURATION_REQUIRED
|
|
4499
4532
|
);
|
|
4500
4533
|
}
|
|
4501
4534
|
const flag = this.registry.get(flagName);
|
|
4502
4535
|
if (flag && !flag.allowedLevels.includes(level)) {
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
);
|
|
4536
|
+
const message = `Flag "${flagName}" does not allow ${level}-level overrides. Allowed levels: ${flag.allowedLevels.join(", ")}`;
|
|
4537
|
+
throw new chunkPZJN5IJW_js.ValidationError(message, [{ path: ["level"], message }]);
|
|
4506
4538
|
}
|
|
4507
4539
|
if (flag?.system) {
|
|
4508
|
-
|
|
4540
|
+
const message = `Flag "${flagName}" is a system flag and cannot be overridden via API.`;
|
|
4541
|
+
throw new chunkPZJN5IJW_js.ValidationError(message, [{ path: ["flagName"], message }]);
|
|
4509
4542
|
}
|
|
4510
4543
|
await this.repository.setOverride({
|
|
4511
4544
|
flagName,
|
|
@@ -4525,7 +4558,10 @@ var FlagService = class {
|
|
|
4525
4558
|
*/
|
|
4526
4559
|
async deleteOverride(flagName, level, targetId) {
|
|
4527
4560
|
if (!this.repository) {
|
|
4528
|
-
throw new
|
|
4561
|
+
throw new chunkPZJN5IJW_js.SchemaError(
|
|
4562
|
+
"Cannot delete override: no FeatureFlagsRepository configured.",
|
|
4563
|
+
chunkPZJN5IJW_js.SchemaErrorCode.CONFIGURATION_REQUIRED
|
|
4564
|
+
);
|
|
4529
4565
|
}
|
|
4530
4566
|
await this.repository.deleteOverride(flagName, level, targetId);
|
|
4531
4567
|
}
|
|
@@ -4537,17 +4573,18 @@ var FlagService = class {
|
|
|
4537
4573
|
*/
|
|
4538
4574
|
async getAllOverrides(context, flagNames) {
|
|
4539
4575
|
if (!this.repository) {
|
|
4540
|
-
return
|
|
4576
|
+
return emptyOverrides();
|
|
4541
4577
|
}
|
|
4542
4578
|
const [globalOverrides, tenantOverrides, userOverrides] = await Promise.all([
|
|
4543
4579
|
this.repository.getOverrides({ level: "global", flagNames }),
|
|
4544
4580
|
context.tenantId ? this.repository.getOverrides({ level: "tenant", targetId: context.tenantId, flagNames }) : Promise.resolve([]),
|
|
4545
4581
|
context.userId ? this.repository.getOverrides({ level: "user", targetId: context.userId, flagNames }) : Promise.resolve([])
|
|
4546
4582
|
]);
|
|
4583
|
+
const now2 = Date.now();
|
|
4547
4584
|
return {
|
|
4548
|
-
global: globalOverrides,
|
|
4549
|
-
tenant: tenantOverrides,
|
|
4550
|
-
user: userOverrides
|
|
4585
|
+
global: indexOverrides(globalOverrides, now2),
|
|
4586
|
+
tenant: indexOverrides(tenantOverrides, now2),
|
|
4587
|
+
user: indexOverrides(userOverrides, now2)
|
|
4551
4588
|
};
|
|
4552
4589
|
}
|
|
4553
4590
|
/**
|
|
@@ -4564,7 +4601,7 @@ var FlagService = class {
|
|
|
4564
4601
|
const flag = this.registry.get(flagName);
|
|
4565
4602
|
const allowedLevels = flag?.allowedLevels ?? ["global", "tenant", "user"];
|
|
4566
4603
|
if (context.userId && allowedLevels.includes("user")) {
|
|
4567
|
-
const userOverride = overrides.user.
|
|
4604
|
+
const userOverride = overrides.user.get(flagName);
|
|
4568
4605
|
if (userOverride) {
|
|
4569
4606
|
return {
|
|
4570
4607
|
name: flagName,
|
|
@@ -4575,7 +4612,7 @@ var FlagService = class {
|
|
|
4575
4612
|
}
|
|
4576
4613
|
}
|
|
4577
4614
|
if (context.tenantId && allowedLevels.includes("tenant")) {
|
|
4578
|
-
const tenantOverride = overrides.tenant.
|
|
4615
|
+
const tenantOverride = overrides.tenant.get(flagName);
|
|
4579
4616
|
if (tenantOverride) {
|
|
4580
4617
|
return {
|
|
4581
4618
|
name: flagName,
|
|
@@ -4586,7 +4623,7 @@ var FlagService = class {
|
|
|
4586
4623
|
}
|
|
4587
4624
|
}
|
|
4588
4625
|
if (allowedLevels.includes("global")) {
|
|
4589
|
-
const globalOverride = overrides.global.
|
|
4626
|
+
const globalOverride = overrides.global.get(flagName);
|
|
4590
4627
|
if (globalOverride) {
|
|
4591
4628
|
return {
|
|
4592
4629
|
name: flagName,
|
|
@@ -4614,6 +4651,9 @@ function createFlagService(options) {
|
|
|
4614
4651
|
}
|
|
4615
4652
|
|
|
4616
4653
|
// src/native/registry.ts
|
|
4654
|
+
function cloneObjectDefinition(object2) {
|
|
4655
|
+
return structuredClone(object2);
|
|
4656
|
+
}
|
|
4617
4657
|
var NativeObjectRegistryClass = class {
|
|
4618
4658
|
constructor() {
|
|
4619
4659
|
this.objects = /* @__PURE__ */ new Map();
|
|
@@ -4623,7 +4663,7 @@ var NativeObjectRegistryClass = class {
|
|
|
4623
4663
|
* Auto-builds if ObjectBuilder is passed instead of ObjectDefinition
|
|
4624
4664
|
* @param objects - Single object/builder or array of objects/builders to register
|
|
4625
4665
|
* @returns this (for chaining)
|
|
4626
|
-
* @throws
|
|
4666
|
+
* @throws SchemaError if object is invalid or already registered
|
|
4627
4667
|
*
|
|
4628
4668
|
* @example
|
|
4629
4669
|
* ```typescript
|
|
@@ -4655,21 +4695,19 @@ var NativeObjectRegistryClass = class {
|
|
|
4655
4695
|
*/
|
|
4656
4696
|
validateAndRegister(object2) {
|
|
4657
4697
|
if (!object2.system) {
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
);
|
|
4698
|
+
const message = `[NativeObjectRegistry] Cannot register object "${object2.name}" (id: ${object2.id}): missing system flag.
|
|
4699
|
+
Native objects must have system=true. Did you call .runtime() on the builder? Remove that call \u2014 objects are system:true by default.`;
|
|
4700
|
+
throw new chunkPZJN5IJW_js.ValidationError(message, []);
|
|
4662
4701
|
}
|
|
4663
4702
|
if (this.objects.has(object2.name)) {
|
|
4664
4703
|
const existing = this.objects.get(object2.name);
|
|
4665
|
-
|
|
4666
|
-
`[NativeObjectRegistry] Duplicate object name "${object2.name}":
|
|
4704
|
+
const message = `[NativeObjectRegistry] Duplicate object name "${object2.name}":
|
|
4667
4705
|
- Existing: "${existing?.label}" (id: ${existing?.id})
|
|
4668
4706
|
- New: "${object2.label}" (id: ${object2.id})
|
|
4669
|
-
Please use unique names for each native object
|
|
4670
|
-
);
|
|
4707
|
+
Please use unique names for each native object.`;
|
|
4708
|
+
throw new chunkPZJN5IJW_js.DuplicateError("object", object2.name, message);
|
|
4671
4709
|
}
|
|
4672
|
-
this.objects.set(object2.name, object2);
|
|
4710
|
+
this.objects.set(object2.name, cloneObjectDefinition(object2));
|
|
4673
4711
|
}
|
|
4674
4712
|
/**
|
|
4675
4713
|
* Get a native object by its name
|
|
@@ -4685,21 +4723,21 @@ Please use unique names for each native object.`
|
|
|
4685
4723
|
* ```
|
|
4686
4724
|
*/
|
|
4687
4725
|
getByName(name) {
|
|
4688
|
-
|
|
4726
|
+
const object2 = this.objects.get(name);
|
|
4727
|
+
return object2 ? cloneObjectDefinition(object2) : void 0;
|
|
4689
4728
|
}
|
|
4690
4729
|
/**
|
|
4691
4730
|
* Get a native object or throw if not found
|
|
4692
4731
|
* @param name - The object name
|
|
4693
4732
|
* @returns The object definition
|
|
4694
|
-
* @throws
|
|
4733
|
+
* @throws NotFoundError if not found
|
|
4695
4734
|
*/
|
|
4696
4735
|
getByNameOrThrow(name) {
|
|
4697
|
-
const object2 = this.
|
|
4736
|
+
const object2 = this.getByName(name);
|
|
4698
4737
|
if (!object2) {
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
);
|
|
4738
|
+
const message = `[NativeObjectRegistry] Native object "${name}" not found.
|
|
4739
|
+
Available objects: ${this.listNames().join(", ")}`;
|
|
4740
|
+
throw new chunkPZJN5IJW_js.NotFoundError("Native object", name, chunkPZJN5IJW_js.SchemaErrorCode.OBJECT_NOT_FOUND, message);
|
|
4703
4741
|
}
|
|
4704
4742
|
return object2;
|
|
4705
4743
|
}
|
|
@@ -4708,7 +4746,7 @@ Available objects: ${this.listNames().join(", ")}`
|
|
|
4708
4746
|
* @returns Array of all registered object definitions
|
|
4709
4747
|
*/
|
|
4710
4748
|
getAll() {
|
|
4711
|
-
return Array.from(this.objects.values());
|
|
4749
|
+
return Array.from(this.objects.values(), cloneObjectDefinition);
|
|
4712
4750
|
}
|
|
4713
4751
|
/**
|
|
4714
4752
|
* Get all registered native object names
|
|
@@ -4751,10 +4789,12 @@ Available objects: ${this.listNames().join(", ")}`
|
|
|
4751
4789
|
].join("\n");
|
|
4752
4790
|
}
|
|
4753
4791
|
/**
|
|
4754
|
-
*
|
|
4792
|
+
* Return registry summary and optionally pass it to a debug writer.
|
|
4755
4793
|
*/
|
|
4756
|
-
debug() {
|
|
4757
|
-
|
|
4794
|
+
debug(write) {
|
|
4795
|
+
const summary = this.summary();
|
|
4796
|
+
write?.(summary);
|
|
4797
|
+
return summary;
|
|
4758
4798
|
}
|
|
4759
4799
|
};
|
|
4760
4800
|
var registry = new NativeObjectRegistryClass();
|
|
@@ -4765,6 +4805,9 @@ var SKILL_VIEW = detailView("skill-detail", "Skill").for("skill").version(2).def
|
|
|
4765
4805
|
var SKILL_LIST_VIEW = listView("skill-list", "Skills").for("skill").version(2).default().tab("all", "All").table().columns("name", "description").sort("name", "asc").build();
|
|
4766
4806
|
|
|
4767
4807
|
// src/views/registry.ts
|
|
4808
|
+
function cloneViewDefinition(view) {
|
|
4809
|
+
return structuredClone(view);
|
|
4810
|
+
}
|
|
4768
4811
|
var ViewRegistry = class {
|
|
4769
4812
|
constructor() {
|
|
4770
4813
|
this.views = /* @__PURE__ */ new Map();
|
|
@@ -4786,37 +4829,38 @@ var ViewRegistry = class {
|
|
|
4786
4829
|
registerSingle(view) {
|
|
4787
4830
|
const key = this.makeKey(view.object, view.name, view.type);
|
|
4788
4831
|
if (this.views.has(key)) {
|
|
4789
|
-
|
|
4790
|
-
|
|
4791
|
-
|
|
4792
|
-
|
|
4793
|
-
this.views.set(key,
|
|
4794
|
-
const objectViews = this.byObject.get(
|
|
4795
|
-
objectViews.push(
|
|
4796
|
-
this.byObject.set(
|
|
4797
|
-
const typeKey = `${
|
|
4832
|
+
const message = `[ViewRegistry] Duplicate view: "${view.name}" (${view.type}) for object "${view.object}"`;
|
|
4833
|
+
throw new chunkPZJN5IJW_js.DuplicateError("view", key, message);
|
|
4834
|
+
}
|
|
4835
|
+
const storedView = cloneViewDefinition(view);
|
|
4836
|
+
this.views.set(key, storedView);
|
|
4837
|
+
const objectViews = this.byObject.get(storedView.object) ?? [];
|
|
4838
|
+
objectViews.push(storedView);
|
|
4839
|
+
this.byObject.set(storedView.object, objectViews);
|
|
4840
|
+
const typeKey = `${storedView.object}:${storedView.type}`;
|
|
4798
4841
|
const typeViews = this.byObjectAndType.get(typeKey) ?? [];
|
|
4799
|
-
typeViews.push(
|
|
4842
|
+
typeViews.push(storedView);
|
|
4800
4843
|
this.byObjectAndType.set(typeKey, typeViews);
|
|
4801
4844
|
}
|
|
4802
4845
|
/**
|
|
4803
4846
|
* Get all views for an object
|
|
4804
4847
|
*/
|
|
4805
4848
|
getByObjectName(objectName) {
|
|
4806
|
-
return this.byObject.get(objectName) ?? [];
|
|
4849
|
+
return Array.from(this.byObject.get(objectName) ?? [], cloneViewDefinition);
|
|
4807
4850
|
}
|
|
4808
4851
|
/**
|
|
4809
4852
|
* Get views for an object filtered by type
|
|
4810
4853
|
*/
|
|
4811
4854
|
getByObjectNameAndType(objectName, type) {
|
|
4812
|
-
return this.byObjectAndType.get(`${objectName}:${type}`) ?? [];
|
|
4855
|
+
return Array.from(this.byObjectAndType.get(`${objectName}:${type}`) ?? [], cloneViewDefinition);
|
|
4813
4856
|
}
|
|
4814
4857
|
/**
|
|
4815
4858
|
* Get a specific view by object, name, and type
|
|
4816
4859
|
*/
|
|
4817
4860
|
get(objectName, viewName, type) {
|
|
4818
4861
|
if (type) {
|
|
4819
|
-
|
|
4862
|
+
const view = this.views.get(this.makeKey(objectName, viewName, type));
|
|
4863
|
+
return view ? cloneViewDefinition(view) : void 0;
|
|
4820
4864
|
}
|
|
4821
4865
|
const objectViews = this.getByObjectName(objectName);
|
|
4822
4866
|
return objectViews.find((v) => v.name === viewName);
|
|
@@ -4829,10 +4873,9 @@ var ViewRegistry = class {
|
|
|
4829
4873
|
if (!view) {
|
|
4830
4874
|
const available = this.getByObjectName(objectName);
|
|
4831
4875
|
const availableNames = available.map((v) => `${v.name} (${v.type})`).join(", ") || "(none)";
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
|
|
4835
|
-
);
|
|
4876
|
+
const message = `[ViewRegistry] View "${viewName}" not found for object "${objectName}".
|
|
4877
|
+
Available views: ${availableNames}`;
|
|
4878
|
+
throw new chunkPZJN5IJW_js.NotFoundError("View", `${objectName}:${viewName}`, void 0, message);
|
|
4836
4879
|
}
|
|
4837
4880
|
return view;
|
|
4838
4881
|
}
|
|
@@ -4840,7 +4883,7 @@ Available views: ${availableNames}`
|
|
|
4840
4883
|
* Get all registered views
|
|
4841
4884
|
*/
|
|
4842
4885
|
getAll() {
|
|
4843
|
-
return Array.from(this.views.values());
|
|
4886
|
+
return Array.from(this.views.values(), cloneViewDefinition);
|
|
4844
4887
|
}
|
|
4845
4888
|
/**
|
|
4846
4889
|
* Check if a view exists
|
|
@@ -4904,10 +4947,12 @@ Available views: ${availableNames}`
|
|
|
4904
4947
|
return lines.join("\n");
|
|
4905
4948
|
}
|
|
4906
4949
|
/**
|
|
4907
|
-
*
|
|
4950
|
+
* Return summary and optionally pass it to a debug writer.
|
|
4908
4951
|
*/
|
|
4909
|
-
debug() {
|
|
4910
|
-
|
|
4952
|
+
debug(write) {
|
|
4953
|
+
const summary = this.summary();
|
|
4954
|
+
write?.(summary);
|
|
4955
|
+
return summary;
|
|
4911
4956
|
}
|
|
4912
4957
|
makeKey(objectName, viewName, type) {
|
|
4913
4958
|
return `${objectName}:${viewName}:${type}`;
|
|
@@ -5129,6 +5174,9 @@ function getActiveTab(config, tabId) {
|
|
|
5129
5174
|
}
|
|
5130
5175
|
|
|
5131
5176
|
// src/forms/registry.ts
|
|
5177
|
+
function cloneFormDefinition(form2) {
|
|
5178
|
+
return structuredClone(form2);
|
|
5179
|
+
}
|
|
5132
5180
|
var FormRegistry = class {
|
|
5133
5181
|
constructor() {
|
|
5134
5182
|
this.forms = /* @__PURE__ */ new Map();
|
|
@@ -5141,9 +5189,9 @@ var FormRegistry = class {
|
|
|
5141
5189
|
const forms = Array.isArray(formOrForms) ? formOrForms : [formOrForms];
|
|
5142
5190
|
for (const f of forms) {
|
|
5143
5191
|
if (this.forms.has(f.name)) {
|
|
5144
|
-
throw new
|
|
5192
|
+
throw new chunkPZJN5IJW_js.DuplicateError("form", f.name, `[FormRegistry] Duplicate form: "${f.name}"`);
|
|
5145
5193
|
}
|
|
5146
|
-
this.forms.set(f.name, f);
|
|
5194
|
+
this.forms.set(f.name, cloneFormDefinition(f));
|
|
5147
5195
|
}
|
|
5148
5196
|
return this;
|
|
5149
5197
|
}
|
|
@@ -5151,13 +5199,14 @@ var FormRegistry = class {
|
|
|
5151
5199
|
* Get a form definition by name.
|
|
5152
5200
|
*/
|
|
5153
5201
|
get(name) {
|
|
5154
|
-
|
|
5202
|
+
const form2 = this.forms.get(name);
|
|
5203
|
+
return form2 ? cloneFormDefinition(form2) : void 0;
|
|
5155
5204
|
}
|
|
5156
5205
|
/**
|
|
5157
5206
|
* Get all registered form definitions.
|
|
5158
5207
|
*/
|
|
5159
5208
|
getAll() {
|
|
5160
|
-
return Array.from(this.forms.values());
|
|
5209
|
+
return Array.from(this.forms.values(), cloneFormDefinition);
|
|
5161
5210
|
}
|
|
5162
5211
|
/**
|
|
5163
5212
|
* List all registered form names.
|
|
@@ -6994,7 +7043,7 @@ function assertOperatorForType(operator, type, context) {
|
|
|
6994
7043
|
if (!ops?.includes(operator)) {
|
|
6995
7044
|
const validList = ops?.length ? ops.join(", ") : "(no operators registered for this type)";
|
|
6996
7045
|
const summary = `Operator "${operator}" is not valid for ${context} type "${type}". Valid operators: ${validList}.`;
|
|
6997
|
-
throw new
|
|
7046
|
+
throw new chunkPZJN5IJW_js.ValidationError(summary, [
|
|
6998
7047
|
{
|
|
6999
7048
|
path: ["operator"],
|
|
7000
7049
|
message: summary
|
|
@@ -7010,7 +7059,7 @@ function assertRelativeDateValue(rule) {
|
|
|
7010
7059
|
const valid = typeof v === "object" && v !== null && typeof v.amount === "number" && Number.isFinite(v.amount) && v.amount > 0 && typeof v.unit === "string" && RELATIVE_DATE_UNITS.has(v.unit) && typeof v.direction === "string" && RELATIVE_DATE_DIRECTIONS.has(v.direction);
|
|
7011
7060
|
if (!valid) {
|
|
7012
7061
|
const m = `Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }`;
|
|
7013
|
-
throw new
|
|
7062
|
+
throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7014
7063
|
}
|
|
7015
7064
|
}
|
|
7016
7065
|
function assertDynamicValueForAttribute(rule, attrType) {
|
|
@@ -7018,34 +7067,34 @@ function assertDynamicValueForAttribute(rule, attrType) {
|
|
|
7018
7067
|
const v = rule.value;
|
|
7019
7068
|
if (v.dynamic === "actor" && attrType !== "user") {
|
|
7020
7069
|
const m = `actor token (@me) is only valid on user attributes, not "${attrType}"`;
|
|
7021
|
-
throw new
|
|
7070
|
+
throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7022
7071
|
}
|
|
7023
7072
|
if (v.dynamic === "date" && attrType !== "date") {
|
|
7024
7073
|
const m = `date token (@today/@now) is only valid on date attributes, not "${attrType}"`;
|
|
7025
|
-
throw new
|
|
7074
|
+
throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7026
7075
|
}
|
|
7027
7076
|
}
|
|
7028
7077
|
function validateQualifiedRule(rule, context) {
|
|
7029
7078
|
const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
|
|
7030
7079
|
const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
|
|
7031
7080
|
if (!(rootAttr || systemOps)) {
|
|
7032
|
-
throw new
|
|
7081
|
+
throw new chunkPZJN5IJW_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
|
|
7033
7082
|
{ path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
|
|
7034
7083
|
]);
|
|
7035
7084
|
}
|
|
7036
7085
|
if (rule.quantifier !== void 0 && !rule.property) {
|
|
7037
7086
|
const m = `quantifier is only valid on qualified edge rules (set "property")`;
|
|
7038
|
-
throw new
|
|
7087
|
+
throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
|
|
7039
7088
|
}
|
|
7040
7089
|
if (!rootAttr) {
|
|
7041
7090
|
if (rule.property) {
|
|
7042
|
-
throw new
|
|
7091
|
+
throw new chunkPZJN5IJW_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
|
|
7043
7092
|
{ path: ["property"], message: `"${rule.attribute}" is a system column, not a reference` }
|
|
7044
7093
|
]);
|
|
7045
7094
|
}
|
|
7046
7095
|
if (!systemOps.includes(rule.operator)) {
|
|
7047
7096
|
const summary = `Operator "${rule.operator}" is not valid for system attribute "${rule.attribute}". Valid operators: ${systemOps.join(", ")}.`;
|
|
7048
|
-
throw new
|
|
7097
|
+
throw new chunkPZJN5IJW_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
7049
7098
|
}
|
|
7050
7099
|
assertRelativeDateValue(rule);
|
|
7051
7100
|
return;
|
|
@@ -7056,25 +7105,25 @@ function validateQualifiedRule(rule, context) {
|
|
|
7056
7105
|
if (!ops.includes(rule.operator)) {
|
|
7057
7106
|
const validList = ops.length ? ops.join(", ") : "(not filterable)";
|
|
7058
7107
|
const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
|
|
7059
|
-
throw new
|
|
7108
|
+
throw new chunkPZJN5IJW_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
7060
7109
|
}
|
|
7061
7110
|
assertRelativeDateValue(rule);
|
|
7062
7111
|
return;
|
|
7063
7112
|
}
|
|
7064
7113
|
if (!REFERENCE_TYPES.has(rootAttr.type)) {
|
|
7065
|
-
throw new
|
|
7114
|
+
throw new chunkPZJN5IJW_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
|
|
7066
7115
|
{ path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
|
|
7067
7116
|
]);
|
|
7068
7117
|
}
|
|
7069
7118
|
const propSchema = rootAttr.properties;
|
|
7070
7119
|
if (!propSchema) {
|
|
7071
|
-
throw new
|
|
7120
|
+
throw new chunkPZJN5IJW_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
|
|
7072
7121
|
{ path: ["property"], message: `"${rule.attribute}" has no qualifyWith` }
|
|
7073
7122
|
]);
|
|
7074
7123
|
}
|
|
7075
7124
|
const propDef = propSchema.definitions.find((p) => p.name === rule.property);
|
|
7076
7125
|
if (!propDef) {
|
|
7077
|
-
throw new
|
|
7126
|
+
throw new chunkPZJN5IJW_js.ValidationError(
|
|
7078
7127
|
`Property "${rule.property}" not defined on "${rule.attribute}".qualifyWith()`,
|
|
7079
7128
|
[{ path: ["property"], message: `Unknown property: ${rule.property}` }]
|
|
7080
7129
|
);
|
|
@@ -7124,179 +7173,179 @@ Object.defineProperty(exports, "parseComputedFormula", {
|
|
|
7124
7173
|
});
|
|
7125
7174
|
Object.defineProperty(exports, "AccessDeniedError", {
|
|
7126
7175
|
enumerable: true,
|
|
7127
|
-
get: function () { return
|
|
7176
|
+
get: function () { return chunkPZJN5IJW_js.AccessDeniedError; }
|
|
7128
7177
|
});
|
|
7129
7178
|
Object.defineProperty(exports, "AttributeInUseError", {
|
|
7130
7179
|
enumerable: true,
|
|
7131
|
-
get: function () { return
|
|
7180
|
+
get: function () { return chunkPZJN5IJW_js.AttributeInUseError; }
|
|
7132
7181
|
});
|
|
7133
7182
|
Object.defineProperty(exports, "AttributeNotFoundError", {
|
|
7134
7183
|
enumerable: true,
|
|
7135
|
-
get: function () { return
|
|
7184
|
+
get: function () { return chunkPZJN5IJW_js.AttributeNotFoundError; }
|
|
7136
7185
|
});
|
|
7137
7186
|
Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
|
|
7138
7187
|
enumerable: true,
|
|
7139
|
-
get: function () { return
|
|
7188
|
+
get: function () { return chunkPZJN5IJW_js.ChangeTypeNotSupportedError; }
|
|
7140
7189
|
});
|
|
7141
7190
|
Object.defineProperty(exports, "ConcurrentModificationError", {
|
|
7142
7191
|
enumerable: true,
|
|
7143
|
-
get: function () { return
|
|
7192
|
+
get: function () { return chunkPZJN5IJW_js.ConcurrentModificationError; }
|
|
7144
7193
|
});
|
|
7145
7194
|
Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
|
|
7146
7195
|
enumerable: true,
|
|
7147
|
-
get: function () { return
|
|
7196
|
+
get: function () { return chunkPZJN5IJW_js.DestructiveSyncNotAllowedError; }
|
|
7148
7197
|
});
|
|
7149
7198
|
Object.defineProperty(exports, "DuplicateError", {
|
|
7150
7199
|
enumerable: true,
|
|
7151
|
-
get: function () { return
|
|
7200
|
+
get: function () { return chunkPZJN5IJW_js.DuplicateError; }
|
|
7152
7201
|
});
|
|
7153
7202
|
Object.defineProperty(exports, "ForbiddenError", {
|
|
7154
7203
|
enumerable: true,
|
|
7155
|
-
get: function () { return
|
|
7204
|
+
get: function () { return chunkPZJN5IJW_js.ForbiddenError; }
|
|
7156
7205
|
});
|
|
7157
7206
|
Object.defineProperty(exports, "MemoryNotFoundError", {
|
|
7158
7207
|
enumerable: true,
|
|
7159
|
-
get: function () { return
|
|
7208
|
+
get: function () { return chunkPZJN5IJW_js.MemoryNotFoundError; }
|
|
7160
7209
|
});
|
|
7161
7210
|
Object.defineProperty(exports, "MigrationTimeoutError", {
|
|
7162
7211
|
enumerable: true,
|
|
7163
|
-
get: function () { return
|
|
7212
|
+
get: function () { return chunkPZJN5IJW_js.MigrationTimeoutError; }
|
|
7164
7213
|
});
|
|
7165
7214
|
Object.defineProperty(exports, "NotFoundError", {
|
|
7166
7215
|
enumerable: true,
|
|
7167
|
-
get: function () { return
|
|
7216
|
+
get: function () { return chunkPZJN5IJW_js.NotFoundError; }
|
|
7168
7217
|
});
|
|
7169
7218
|
Object.defineProperty(exports, "NotImplementedError", {
|
|
7170
7219
|
enumerable: true,
|
|
7171
|
-
get: function () { return
|
|
7220
|
+
get: function () { return chunkPZJN5IJW_js.NotImplementedError; }
|
|
7172
7221
|
});
|
|
7173
7222
|
Object.defineProperty(exports, "ObjectNotFoundError", {
|
|
7174
7223
|
enumerable: true,
|
|
7175
|
-
get: function () { return
|
|
7224
|
+
get: function () { return chunkPZJN5IJW_js.ObjectNotFoundError; }
|
|
7176
7225
|
});
|
|
7177
7226
|
Object.defineProperty(exports, "ObjectReferencedError", {
|
|
7178
7227
|
enumerable: true,
|
|
7179
|
-
get: function () { return
|
|
7228
|
+
get: function () { return chunkPZJN5IJW_js.ObjectReferencedError; }
|
|
7180
7229
|
});
|
|
7181
7230
|
Object.defineProperty(exports, "OrphanSystemAttributeError", {
|
|
7182
7231
|
enumerable: true,
|
|
7183
|
-
get: function () { return
|
|
7232
|
+
get: function () { return chunkPZJN5IJW_js.OrphanSystemAttributeError; }
|
|
7184
7233
|
});
|
|
7185
7234
|
Object.defineProperty(exports, "ProtectedResourceError", {
|
|
7186
7235
|
enumerable: true,
|
|
7187
|
-
get: function () { return
|
|
7236
|
+
get: function () { return chunkPZJN5IJW_js.ProtectedResourceError; }
|
|
7188
7237
|
});
|
|
7189
7238
|
Object.defineProperty(exports, "ProtectedRoleError", {
|
|
7190
7239
|
enumerable: true,
|
|
7191
|
-
get: function () { return
|
|
7240
|
+
get: function () { return chunkPZJN5IJW_js.ProtectedRoleError; }
|
|
7192
7241
|
});
|
|
7193
7242
|
Object.defineProperty(exports, "RecordNotFoundError", {
|
|
7194
7243
|
enumerable: true,
|
|
7195
|
-
get: function () { return
|
|
7244
|
+
get: function () { return chunkPZJN5IJW_js.RecordNotFoundError; }
|
|
7196
7245
|
});
|
|
7197
7246
|
Object.defineProperty(exports, "RecordReferencedError", {
|
|
7198
7247
|
enumerable: true,
|
|
7199
|
-
get: function () { return
|
|
7248
|
+
get: function () { return chunkPZJN5IJW_js.RecordReferencedError; }
|
|
7200
7249
|
});
|
|
7201
7250
|
Object.defineProperty(exports, "RepositoryError", {
|
|
7202
7251
|
enumerable: true,
|
|
7203
|
-
get: function () { return
|
|
7252
|
+
get: function () { return chunkPZJN5IJW_js.RepositoryError; }
|
|
7204
7253
|
});
|
|
7205
7254
|
Object.defineProperty(exports, "RoleNotFoundError", {
|
|
7206
7255
|
enumerable: true,
|
|
7207
|
-
get: function () { return
|
|
7256
|
+
get: function () { return chunkPZJN5IJW_js.RoleNotFoundError; }
|
|
7208
7257
|
});
|
|
7209
7258
|
Object.defineProperty(exports, "SchemaError", {
|
|
7210
7259
|
enumerable: true,
|
|
7211
|
-
get: function () { return
|
|
7260
|
+
get: function () { return chunkPZJN5IJW_js.SchemaError; }
|
|
7212
7261
|
});
|
|
7213
7262
|
Object.defineProperty(exports, "SchemaErrorCode", {
|
|
7214
7263
|
enumerable: true,
|
|
7215
|
-
get: function () { return
|
|
7264
|
+
get: function () { return chunkPZJN5IJW_js.SchemaErrorCode; }
|
|
7216
7265
|
});
|
|
7217
7266
|
Object.defineProperty(exports, "SearchBackendError", {
|
|
7218
7267
|
enumerable: true,
|
|
7219
|
-
get: function () { return
|
|
7268
|
+
get: function () { return chunkPZJN5IJW_js.SearchBackendError; }
|
|
7220
7269
|
});
|
|
7221
7270
|
Object.defineProperty(exports, "StorageError", {
|
|
7222
7271
|
enumerable: true,
|
|
7223
|
-
get: function () { return
|
|
7272
|
+
get: function () { return chunkPZJN5IJW_js.StorageError; }
|
|
7224
7273
|
});
|
|
7225
7274
|
Object.defineProperty(exports, "SyncCascadeError", {
|
|
7226
7275
|
enumerable: true,
|
|
7227
|
-
get: function () { return
|
|
7276
|
+
get: function () { return chunkPZJN5IJW_js.SyncCascadeError; }
|
|
7228
7277
|
});
|
|
7229
7278
|
Object.defineProperty(exports, "SyncConflictError", {
|
|
7230
7279
|
enumerable: true,
|
|
7231
|
-
get: function () { return
|
|
7280
|
+
get: function () { return chunkPZJN5IJW_js.SyncConflictError; }
|
|
7232
7281
|
});
|
|
7233
7282
|
Object.defineProperty(exports, "SyncError", {
|
|
7234
7283
|
enumerable: true,
|
|
7235
|
-
get: function () { return
|
|
7284
|
+
get: function () { return chunkPZJN5IJW_js.SyncError; }
|
|
7236
7285
|
});
|
|
7237
7286
|
Object.defineProperty(exports, "SystemEntityImmutableError", {
|
|
7238
7287
|
enumerable: true,
|
|
7239
|
-
get: function () { return
|
|
7288
|
+
get: function () { return chunkPZJN5IJW_js.SystemEntityImmutableError; }
|
|
7240
7289
|
});
|
|
7241
7290
|
Object.defineProperty(exports, "ValidationError", {
|
|
7242
7291
|
enumerable: true,
|
|
7243
|
-
get: function () { return
|
|
7292
|
+
get: function () { return chunkPZJN5IJW_js.ValidationError; }
|
|
7244
7293
|
});
|
|
7245
7294
|
Object.defineProperty(exports, "computeRecordStatus", {
|
|
7246
7295
|
enumerable: true,
|
|
7247
|
-
get: function () { return
|
|
7296
|
+
get: function () { return chunkPZJN5IJW_js.computeRecordStatus; }
|
|
7248
7297
|
});
|
|
7249
7298
|
Object.defineProperty(exports, "createFormAttributeValidator", {
|
|
7250
7299
|
enumerable: true,
|
|
7251
|
-
get: function () { return
|
|
7300
|
+
get: function () { return chunkPZJN5IJW_js.createFormAttributeValidator; }
|
|
7252
7301
|
});
|
|
7253
7302
|
Object.defineProperty(exports, "isAttributeInUseError", {
|
|
7254
7303
|
enumerable: true,
|
|
7255
|
-
get: function () { return
|
|
7304
|
+
get: function () { return chunkPZJN5IJW_js.isAttributeInUseError; }
|
|
7256
7305
|
});
|
|
7257
7306
|
Object.defineProperty(exports, "isNotFoundError", {
|
|
7258
7307
|
enumerable: true,
|
|
7259
|
-
get: function () { return
|
|
7308
|
+
get: function () { return chunkPZJN5IJW_js.isNotFoundError; }
|
|
7260
7309
|
});
|
|
7261
7310
|
Object.defineProperty(exports, "isObjectReferencedError", {
|
|
7262
7311
|
enumerable: true,
|
|
7263
|
-
get: function () { return
|
|
7312
|
+
get: function () { return chunkPZJN5IJW_js.isObjectReferencedError; }
|
|
7264
7313
|
});
|
|
7265
7314
|
Object.defineProperty(exports, "isProtectedResourceError", {
|
|
7266
7315
|
enumerable: true,
|
|
7267
|
-
get: function () { return
|
|
7316
|
+
get: function () { return chunkPZJN5IJW_js.isProtectedResourceError; }
|
|
7268
7317
|
});
|
|
7269
7318
|
Object.defineProperty(exports, "isRecordReferencedError", {
|
|
7270
7319
|
enumerable: true,
|
|
7271
|
-
get: function () { return
|
|
7320
|
+
get: function () { return chunkPZJN5IJW_js.isRecordReferencedError; }
|
|
7272
7321
|
});
|
|
7273
7322
|
Object.defineProperty(exports, "isSchemaError", {
|
|
7274
7323
|
enumerable: true,
|
|
7275
|
-
get: function () { return
|
|
7324
|
+
get: function () { return chunkPZJN5IJW_js.isSchemaError; }
|
|
7276
7325
|
});
|
|
7277
7326
|
Object.defineProperty(exports, "isValidationError", {
|
|
7278
7327
|
enumerable: true,
|
|
7279
|
-
get: function () { return
|
|
7328
|
+
get: function () { return chunkPZJN5IJW_js.isValidationError; }
|
|
7280
7329
|
});
|
|
7281
7330
|
Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
|
|
7282
7331
|
enumerable: true,
|
|
7283
|
-
get: function () { return
|
|
7332
|
+
get: function () { return chunkPZJN5IJW_js.rejectUnknownAttributesOrThrow; }
|
|
7284
7333
|
});
|
|
7285
7334
|
Object.defineProperty(exports, "validateDraft", {
|
|
7286
7335
|
enumerable: true,
|
|
7287
|
-
get: function () { return
|
|
7336
|
+
get: function () { return chunkPZJN5IJW_js.validateDraft; }
|
|
7288
7337
|
});
|
|
7289
7338
|
Object.defineProperty(exports, "validateDraftOrThrow", {
|
|
7290
7339
|
enumerable: true,
|
|
7291
|
-
get: function () { return
|
|
7340
|
+
get: function () { return chunkPZJN5IJW_js.validateDraftOrThrow; }
|
|
7292
7341
|
});
|
|
7293
7342
|
Object.defineProperty(exports, "validateObject", {
|
|
7294
7343
|
enumerable: true,
|
|
7295
|
-
get: function () { return
|
|
7344
|
+
get: function () { return chunkPZJN5IJW_js.validateObject; }
|
|
7296
7345
|
});
|
|
7297
7346
|
Object.defineProperty(exports, "validateObjectOrThrow", {
|
|
7298
7347
|
enumerable: true,
|
|
7299
|
-
get: function () { return
|
|
7348
|
+
get: function () { return chunkPZJN5IJW_js.validateObjectOrThrow; }
|
|
7300
7349
|
});
|
|
7301
7350
|
Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
|
|
7302
7351
|
enumerable: true,
|