@stndrds/schema 1.0.0-alpha.234 → 1.0.0-alpha.236
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/{attributes-C8AjT2x0.d.ts → attributes-B4847Nul.d.ts} +1 -1
- package/dist/{attributes-ej1MUv6H.d.mts → attributes-BpMes5H_.d.mts} +1 -1
- package/dist/{chunk-SSKDQQHI.mjs → chunk-NAS2HJ3Y.mjs} +7 -7
- package/dist/{chunk-5YVX5E7Q.js → chunk-PZJN5IJW.js} +8 -8
- package/dist/{chunk-SGSGREPG.js → chunk-QAF3HNKQ.js} +9 -8
- package/dist/{chunk-NOMHDOVE.mjs → chunk-U36ZIBEM.mjs} +9 -8
- package/dist/{helpers-ChTf56gW.d.ts → helpers-DsJff5r-.d.ts} +2 -2
- package/dist/{helpers-CihXtV0s.d.mts → helpers-ow7sORSi.d.mts} +2 -2
- package/dist/index.d.mts +31 -18
- package/dist/index.d.ts +31 -18
- package/dist/index.js +228 -167
- package/dist/index.mjs +150 -90
- package/dist/{types-DzZex_aX.d.ts → types-C8nztuFF.d.ts} +1 -1
- package/dist/{types-DrT3ZBoK.d.mts → types-CyxVuV_d.d.mts} +1 -1
- package/dist/validation/all.d.mts +3 -3
- package/dist/validation/all.d.ts +3 -3
- package/dist/validation/all.js +18 -18
- package/dist/validation/all.mjs +7 -7
- package/dist/validation/complex/currency.d.mts +2 -2
- package/dist/validation/complex/currency.d.ts +2 -2
- package/dist/validation/complex/file.d.mts +2 -2
- package/dist/validation/complex/file.d.ts +2 -2
- package/dist/validation/complex/location.d.mts +2 -2
- package/dist/validation/complex/location.d.ts +2 -2
- package/dist/validation/complex/phone.d.mts +2 -2
- package/dist/validation/complex/phone.d.ts +2 -2
- package/dist/validation/complex/relation.d.mts +2 -2
- package/dist/validation/complex/relation.d.ts +2 -2
- package/dist/validation/complex/richtext.d.mts +2 -2
- package/dist/validation/complex/richtext.d.ts +2 -2
- package/dist/validation/complex/select.d.mts +2 -2
- package/dist/validation/complex/select.d.ts +2 -2
- package/dist/validation/complex/user.d.mts +2 -2
- package/dist/validation/complex/user.d.ts +2 -2
- package/dist/validation/computed/formula.d.mts +2 -2
- package/dist/validation/computed/formula.d.ts +2 -2
- package/dist/validation/computed/rollup.d.mts +2 -2
- package/dist/validation/computed/rollup.d.ts +2 -2
- package/dist/validation/config/index.d.mts +1 -1
- package/dist/validation/config/index.d.ts +1 -1
- package/dist/validation/core/index.d.mts +3 -3
- package/dist/validation/core/index.d.ts +3 -3
- package/dist/validation/object/index.d.mts +3 -3
- package/dist/validation/object/index.d.ts +3 -3
- package/dist/validation/object/index.js +19 -19
- package/dist/validation/object/index.mjs +6 -6
- package/dist/validation/primitives/checkbox.d.mts +2 -2
- package/dist/validation/primitives/checkbox.d.ts +2 -2
- package/dist/validation/primitives/date.d.mts +2 -2
- package/dist/validation/primitives/date.d.ts +2 -2
- package/dist/validation/primitives/number.d.mts +2 -2
- package/dist/validation/primitives/number.d.ts +2 -2
- package/dist/validation/primitives/text.d.mts +2 -2
- package/dist/validation/primitives/text.d.ts +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
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkFRCDMQER_js = require('./chunk-FRCDMQER.js');
|
|
4
4
|
require('./chunk-PGERPYDR.js');
|
|
5
|
-
var
|
|
5
|
+
var chunkNSM2JPC3_js = require('./chunk-NSM2JPC3.js');
|
|
6
|
+
var chunkPZJN5IJW_js = require('./chunk-PZJN5IJW.js');
|
|
6
7
|
require('./chunk-5WATIVCA.js');
|
|
7
8
|
require('./chunk-SI34M4IC.js');
|
|
8
9
|
require('./chunk-YIP5FJ5H.js');
|
|
9
|
-
require('./chunk-
|
|
10
|
-
require('./chunk-Q5DIOYUE.js');
|
|
11
|
-
require('./chunk-E6JUYGJX.js');
|
|
12
|
-
var chunkEBGRZUIH_js = require('./chunk-EBGRZUIH.js');
|
|
13
|
-
require('./chunk-EEH4XQ7W.js');
|
|
10
|
+
require('./chunk-QAF3HNKQ.js');
|
|
14
11
|
require('./chunk-EW5XR2X3.js');
|
|
15
12
|
require('./chunk-QWKLQRBX.js');
|
|
16
13
|
require('./chunk-KNGWHQLR.js');
|
|
17
14
|
require('./chunk-HTSTPTNZ.js');
|
|
18
15
|
require('./chunk-V2UA2D4E.js');
|
|
19
|
-
var chunkNSM2JPC3_js = require('./chunk-NSM2JPC3.js');
|
|
20
16
|
require('./chunk-ACKMC6FL.js');
|
|
17
|
+
require('./chunk-Q5DIOYUE.js');
|
|
18
|
+
require('./chunk-E6JUYGJX.js');
|
|
19
|
+
var chunkEBGRZUIH_js = require('./chunk-EBGRZUIH.js');
|
|
20
|
+
require('./chunk-EEH4XQ7W.js');
|
|
21
21
|
var chunkYKWSHBT5_js = require('./chunk-YKWSHBT5.js');
|
|
22
22
|
var constants = require('@stndrds/constants');
|
|
23
23
|
var z3 = require('zod');
|
|
@@ -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.
|
|
@@ -6946,6 +6995,17 @@ function getOperatorPolarity(op) {
|
|
|
6946
6995
|
function normalizeForEdgeRpc(op) {
|
|
6947
6996
|
return NEGATIVE_TO_POSITIVE[op] ?? op;
|
|
6948
6997
|
}
|
|
6998
|
+
var SINGLE_TO_MULTI = {
|
|
6999
|
+
is: "any_of",
|
|
7000
|
+
eq: "any_of",
|
|
7001
|
+
contains: "any_of",
|
|
7002
|
+
is_not: "none_of",
|
|
7003
|
+
neq: "none_of",
|
|
7004
|
+
not_contains: "none_of"
|
|
7005
|
+
};
|
|
7006
|
+
function toMultiValueOperator(op) {
|
|
7007
|
+
return SINGLE_TO_MULTI[op] ?? op;
|
|
7008
|
+
}
|
|
6949
7009
|
|
|
6950
7010
|
// src/filters/dynamic-value.ts
|
|
6951
7011
|
function isDynamicValue(value) {
|
|
@@ -6994,7 +7054,7 @@ function assertOperatorForType(operator, type, context) {
|
|
|
6994
7054
|
if (!ops?.includes(operator)) {
|
|
6995
7055
|
const validList = ops?.length ? ops.join(", ") : "(no operators registered for this type)";
|
|
6996
7056
|
const summary = `Operator "${operator}" is not valid for ${context} type "${type}". Valid operators: ${validList}.`;
|
|
6997
|
-
throw new
|
|
7057
|
+
throw new chunkPZJN5IJW_js.ValidationError(summary, [
|
|
6998
7058
|
{
|
|
6999
7059
|
path: ["operator"],
|
|
7000
7060
|
message: summary
|
|
@@ -7010,7 +7070,7 @@ function assertRelativeDateValue(rule) {
|
|
|
7010
7070
|
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
7071
|
if (!valid) {
|
|
7012
7072
|
const m = `Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }`;
|
|
7013
|
-
throw new
|
|
7073
|
+
throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7014
7074
|
}
|
|
7015
7075
|
}
|
|
7016
7076
|
function assertDynamicValueForAttribute(rule, attrType) {
|
|
@@ -7018,34 +7078,34 @@ function assertDynamicValueForAttribute(rule, attrType) {
|
|
|
7018
7078
|
const v = rule.value;
|
|
7019
7079
|
if (v.dynamic === "actor" && attrType !== "user") {
|
|
7020
7080
|
const m = `actor token (@me) is only valid on user attributes, not "${attrType}"`;
|
|
7021
|
-
throw new
|
|
7081
|
+
throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7022
7082
|
}
|
|
7023
7083
|
if (v.dynamic === "date" && attrType !== "date") {
|
|
7024
7084
|
const m = `date token (@today/@now) is only valid on date attributes, not "${attrType}"`;
|
|
7025
|
-
throw new
|
|
7085
|
+
throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7026
7086
|
}
|
|
7027
7087
|
}
|
|
7028
7088
|
function validateQualifiedRule(rule, context) {
|
|
7029
7089
|
const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
|
|
7030
7090
|
const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
|
|
7031
7091
|
if (!(rootAttr || systemOps)) {
|
|
7032
|
-
throw new
|
|
7092
|
+
throw new chunkPZJN5IJW_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
|
|
7033
7093
|
{ path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
|
|
7034
7094
|
]);
|
|
7035
7095
|
}
|
|
7036
7096
|
if (rule.quantifier !== void 0 && !rule.property) {
|
|
7037
7097
|
const m = `quantifier is only valid on qualified edge rules (set "property")`;
|
|
7038
|
-
throw new
|
|
7098
|
+
throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
|
|
7039
7099
|
}
|
|
7040
7100
|
if (!rootAttr) {
|
|
7041
7101
|
if (rule.property) {
|
|
7042
|
-
throw new
|
|
7102
|
+
throw new chunkPZJN5IJW_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
|
|
7043
7103
|
{ path: ["property"], message: `"${rule.attribute}" is a system column, not a reference` }
|
|
7044
7104
|
]);
|
|
7045
7105
|
}
|
|
7046
7106
|
if (!systemOps.includes(rule.operator)) {
|
|
7047
7107
|
const summary = `Operator "${rule.operator}" is not valid for system attribute "${rule.attribute}". Valid operators: ${systemOps.join(", ")}.`;
|
|
7048
|
-
throw new
|
|
7108
|
+
throw new chunkPZJN5IJW_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
7049
7109
|
}
|
|
7050
7110
|
assertRelativeDateValue(rule);
|
|
7051
7111
|
return;
|
|
@@ -7056,25 +7116,25 @@ function validateQualifiedRule(rule, context) {
|
|
|
7056
7116
|
if (!ops.includes(rule.operator)) {
|
|
7057
7117
|
const validList = ops.length ? ops.join(", ") : "(not filterable)";
|
|
7058
7118
|
const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
|
|
7059
|
-
throw new
|
|
7119
|
+
throw new chunkPZJN5IJW_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
7060
7120
|
}
|
|
7061
7121
|
assertRelativeDateValue(rule);
|
|
7062
7122
|
return;
|
|
7063
7123
|
}
|
|
7064
7124
|
if (!REFERENCE_TYPES.has(rootAttr.type)) {
|
|
7065
|
-
throw new
|
|
7125
|
+
throw new chunkPZJN5IJW_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
|
|
7066
7126
|
{ path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
|
|
7067
7127
|
]);
|
|
7068
7128
|
}
|
|
7069
7129
|
const propSchema = rootAttr.properties;
|
|
7070
7130
|
if (!propSchema) {
|
|
7071
|
-
throw new
|
|
7131
|
+
throw new chunkPZJN5IJW_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
|
|
7072
7132
|
{ path: ["property"], message: `"${rule.attribute}" has no qualifyWith` }
|
|
7073
7133
|
]);
|
|
7074
7134
|
}
|
|
7075
7135
|
const propDef = propSchema.definitions.find((p) => p.name === rule.property);
|
|
7076
7136
|
if (!propDef) {
|
|
7077
|
-
throw new
|
|
7137
|
+
throw new chunkPZJN5IJW_js.ValidationError(
|
|
7078
7138
|
`Property "${rule.property}" not defined on "${rule.attribute}".qualifyWith()`,
|
|
7079
7139
|
[{ path: ["property"], message: `Unknown property: ${rule.property}` }]
|
|
7080
7140
|
);
|
|
@@ -7110,193 +7170,193 @@ Object.defineProperty(exports, "indexBy", {
|
|
|
7110
7170
|
enumerable: true,
|
|
7111
7171
|
get: function () { return chunkFRCDMQER_js.indexBy; }
|
|
7112
7172
|
});
|
|
7173
|
+
Object.defineProperty(exports, "ComputedFormulaParseError", {
|
|
7174
|
+
enumerable: true,
|
|
7175
|
+
get: function () { return chunkNSM2JPC3_js.ComputedFormulaParseError; }
|
|
7176
|
+
});
|
|
7177
|
+
Object.defineProperty(exports, "parseAttributeConfig", {
|
|
7178
|
+
enumerable: true,
|
|
7179
|
+
get: function () { return chunkNSM2JPC3_js.parseAttributeConfig; }
|
|
7180
|
+
});
|
|
7181
|
+
Object.defineProperty(exports, "parseComputedFormula", {
|
|
7182
|
+
enumerable: true,
|
|
7183
|
+
get: function () { return chunkNSM2JPC3_js.parseComputedFormula; }
|
|
7184
|
+
});
|
|
7113
7185
|
Object.defineProperty(exports, "AccessDeniedError", {
|
|
7114
7186
|
enumerable: true,
|
|
7115
|
-
get: function () { return
|
|
7187
|
+
get: function () { return chunkPZJN5IJW_js.AccessDeniedError; }
|
|
7116
7188
|
});
|
|
7117
7189
|
Object.defineProperty(exports, "AttributeInUseError", {
|
|
7118
7190
|
enumerable: true,
|
|
7119
|
-
get: function () { return
|
|
7191
|
+
get: function () { return chunkPZJN5IJW_js.AttributeInUseError; }
|
|
7120
7192
|
});
|
|
7121
7193
|
Object.defineProperty(exports, "AttributeNotFoundError", {
|
|
7122
7194
|
enumerable: true,
|
|
7123
|
-
get: function () { return
|
|
7195
|
+
get: function () { return chunkPZJN5IJW_js.AttributeNotFoundError; }
|
|
7124
7196
|
});
|
|
7125
7197
|
Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
|
|
7126
7198
|
enumerable: true,
|
|
7127
|
-
get: function () { return
|
|
7199
|
+
get: function () { return chunkPZJN5IJW_js.ChangeTypeNotSupportedError; }
|
|
7128
7200
|
});
|
|
7129
7201
|
Object.defineProperty(exports, "ConcurrentModificationError", {
|
|
7130
7202
|
enumerable: true,
|
|
7131
|
-
get: function () { return
|
|
7203
|
+
get: function () { return chunkPZJN5IJW_js.ConcurrentModificationError; }
|
|
7132
7204
|
});
|
|
7133
7205
|
Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
|
|
7134
7206
|
enumerable: true,
|
|
7135
|
-
get: function () { return
|
|
7207
|
+
get: function () { return chunkPZJN5IJW_js.DestructiveSyncNotAllowedError; }
|
|
7136
7208
|
});
|
|
7137
7209
|
Object.defineProperty(exports, "DuplicateError", {
|
|
7138
7210
|
enumerable: true,
|
|
7139
|
-
get: function () { return
|
|
7211
|
+
get: function () { return chunkPZJN5IJW_js.DuplicateError; }
|
|
7140
7212
|
});
|
|
7141
7213
|
Object.defineProperty(exports, "ForbiddenError", {
|
|
7142
7214
|
enumerable: true,
|
|
7143
|
-
get: function () { return
|
|
7215
|
+
get: function () { return chunkPZJN5IJW_js.ForbiddenError; }
|
|
7144
7216
|
});
|
|
7145
7217
|
Object.defineProperty(exports, "MemoryNotFoundError", {
|
|
7146
7218
|
enumerable: true,
|
|
7147
|
-
get: function () { return
|
|
7219
|
+
get: function () { return chunkPZJN5IJW_js.MemoryNotFoundError; }
|
|
7148
7220
|
});
|
|
7149
7221
|
Object.defineProperty(exports, "MigrationTimeoutError", {
|
|
7150
7222
|
enumerable: true,
|
|
7151
|
-
get: function () { return
|
|
7223
|
+
get: function () { return chunkPZJN5IJW_js.MigrationTimeoutError; }
|
|
7152
7224
|
});
|
|
7153
7225
|
Object.defineProperty(exports, "NotFoundError", {
|
|
7154
7226
|
enumerable: true,
|
|
7155
|
-
get: function () { return
|
|
7227
|
+
get: function () { return chunkPZJN5IJW_js.NotFoundError; }
|
|
7156
7228
|
});
|
|
7157
7229
|
Object.defineProperty(exports, "NotImplementedError", {
|
|
7158
7230
|
enumerable: true,
|
|
7159
|
-
get: function () { return
|
|
7231
|
+
get: function () { return chunkPZJN5IJW_js.NotImplementedError; }
|
|
7160
7232
|
});
|
|
7161
7233
|
Object.defineProperty(exports, "ObjectNotFoundError", {
|
|
7162
7234
|
enumerable: true,
|
|
7163
|
-
get: function () { return
|
|
7235
|
+
get: function () { return chunkPZJN5IJW_js.ObjectNotFoundError; }
|
|
7164
7236
|
});
|
|
7165
7237
|
Object.defineProperty(exports, "ObjectReferencedError", {
|
|
7166
7238
|
enumerable: true,
|
|
7167
|
-
get: function () { return
|
|
7239
|
+
get: function () { return chunkPZJN5IJW_js.ObjectReferencedError; }
|
|
7168
7240
|
});
|
|
7169
7241
|
Object.defineProperty(exports, "OrphanSystemAttributeError", {
|
|
7170
7242
|
enumerable: true,
|
|
7171
|
-
get: function () { return
|
|
7243
|
+
get: function () { return chunkPZJN5IJW_js.OrphanSystemAttributeError; }
|
|
7172
7244
|
});
|
|
7173
7245
|
Object.defineProperty(exports, "ProtectedResourceError", {
|
|
7174
7246
|
enumerable: true,
|
|
7175
|
-
get: function () { return
|
|
7247
|
+
get: function () { return chunkPZJN5IJW_js.ProtectedResourceError; }
|
|
7176
7248
|
});
|
|
7177
7249
|
Object.defineProperty(exports, "ProtectedRoleError", {
|
|
7178
7250
|
enumerable: true,
|
|
7179
|
-
get: function () { return
|
|
7251
|
+
get: function () { return chunkPZJN5IJW_js.ProtectedRoleError; }
|
|
7180
7252
|
});
|
|
7181
7253
|
Object.defineProperty(exports, "RecordNotFoundError", {
|
|
7182
7254
|
enumerable: true,
|
|
7183
|
-
get: function () { return
|
|
7255
|
+
get: function () { return chunkPZJN5IJW_js.RecordNotFoundError; }
|
|
7184
7256
|
});
|
|
7185
7257
|
Object.defineProperty(exports, "RecordReferencedError", {
|
|
7186
7258
|
enumerable: true,
|
|
7187
|
-
get: function () { return
|
|
7259
|
+
get: function () { return chunkPZJN5IJW_js.RecordReferencedError; }
|
|
7188
7260
|
});
|
|
7189
7261
|
Object.defineProperty(exports, "RepositoryError", {
|
|
7190
7262
|
enumerable: true,
|
|
7191
|
-
get: function () { return
|
|
7263
|
+
get: function () { return chunkPZJN5IJW_js.RepositoryError; }
|
|
7192
7264
|
});
|
|
7193
7265
|
Object.defineProperty(exports, "RoleNotFoundError", {
|
|
7194
7266
|
enumerable: true,
|
|
7195
|
-
get: function () { return
|
|
7267
|
+
get: function () { return chunkPZJN5IJW_js.RoleNotFoundError; }
|
|
7196
7268
|
});
|
|
7197
7269
|
Object.defineProperty(exports, "SchemaError", {
|
|
7198
7270
|
enumerable: true,
|
|
7199
|
-
get: function () { return
|
|
7271
|
+
get: function () { return chunkPZJN5IJW_js.SchemaError; }
|
|
7200
7272
|
});
|
|
7201
7273
|
Object.defineProperty(exports, "SchemaErrorCode", {
|
|
7202
7274
|
enumerable: true,
|
|
7203
|
-
get: function () { return
|
|
7275
|
+
get: function () { return chunkPZJN5IJW_js.SchemaErrorCode; }
|
|
7204
7276
|
});
|
|
7205
7277
|
Object.defineProperty(exports, "SearchBackendError", {
|
|
7206
7278
|
enumerable: true,
|
|
7207
|
-
get: function () { return
|
|
7279
|
+
get: function () { return chunkPZJN5IJW_js.SearchBackendError; }
|
|
7208
7280
|
});
|
|
7209
7281
|
Object.defineProperty(exports, "StorageError", {
|
|
7210
7282
|
enumerable: true,
|
|
7211
|
-
get: function () { return
|
|
7283
|
+
get: function () { return chunkPZJN5IJW_js.StorageError; }
|
|
7212
7284
|
});
|
|
7213
7285
|
Object.defineProperty(exports, "SyncCascadeError", {
|
|
7214
7286
|
enumerable: true,
|
|
7215
|
-
get: function () { return
|
|
7287
|
+
get: function () { return chunkPZJN5IJW_js.SyncCascadeError; }
|
|
7216
7288
|
});
|
|
7217
7289
|
Object.defineProperty(exports, "SyncConflictError", {
|
|
7218
7290
|
enumerable: true,
|
|
7219
|
-
get: function () { return
|
|
7291
|
+
get: function () { return chunkPZJN5IJW_js.SyncConflictError; }
|
|
7220
7292
|
});
|
|
7221
7293
|
Object.defineProperty(exports, "SyncError", {
|
|
7222
7294
|
enumerable: true,
|
|
7223
|
-
get: function () { return
|
|
7295
|
+
get: function () { return chunkPZJN5IJW_js.SyncError; }
|
|
7224
7296
|
});
|
|
7225
7297
|
Object.defineProperty(exports, "SystemEntityImmutableError", {
|
|
7226
7298
|
enumerable: true,
|
|
7227
|
-
get: function () { return
|
|
7299
|
+
get: function () { return chunkPZJN5IJW_js.SystemEntityImmutableError; }
|
|
7228
7300
|
});
|
|
7229
7301
|
Object.defineProperty(exports, "ValidationError", {
|
|
7230
7302
|
enumerable: true,
|
|
7231
|
-
get: function () { return
|
|
7303
|
+
get: function () { return chunkPZJN5IJW_js.ValidationError; }
|
|
7232
7304
|
});
|
|
7233
7305
|
Object.defineProperty(exports, "computeRecordStatus", {
|
|
7234
7306
|
enumerable: true,
|
|
7235
|
-
get: function () { return
|
|
7307
|
+
get: function () { return chunkPZJN5IJW_js.computeRecordStatus; }
|
|
7236
7308
|
});
|
|
7237
7309
|
Object.defineProperty(exports, "createFormAttributeValidator", {
|
|
7238
7310
|
enumerable: true,
|
|
7239
|
-
get: function () { return
|
|
7311
|
+
get: function () { return chunkPZJN5IJW_js.createFormAttributeValidator; }
|
|
7240
7312
|
});
|
|
7241
7313
|
Object.defineProperty(exports, "isAttributeInUseError", {
|
|
7242
7314
|
enumerable: true,
|
|
7243
|
-
get: function () { return
|
|
7315
|
+
get: function () { return chunkPZJN5IJW_js.isAttributeInUseError; }
|
|
7244
7316
|
});
|
|
7245
7317
|
Object.defineProperty(exports, "isNotFoundError", {
|
|
7246
7318
|
enumerable: true,
|
|
7247
|
-
get: function () { return
|
|
7319
|
+
get: function () { return chunkPZJN5IJW_js.isNotFoundError; }
|
|
7248
7320
|
});
|
|
7249
7321
|
Object.defineProperty(exports, "isObjectReferencedError", {
|
|
7250
7322
|
enumerable: true,
|
|
7251
|
-
get: function () { return
|
|
7323
|
+
get: function () { return chunkPZJN5IJW_js.isObjectReferencedError; }
|
|
7252
7324
|
});
|
|
7253
7325
|
Object.defineProperty(exports, "isProtectedResourceError", {
|
|
7254
7326
|
enumerable: true,
|
|
7255
|
-
get: function () { return
|
|
7327
|
+
get: function () { return chunkPZJN5IJW_js.isProtectedResourceError; }
|
|
7256
7328
|
});
|
|
7257
7329
|
Object.defineProperty(exports, "isRecordReferencedError", {
|
|
7258
7330
|
enumerable: true,
|
|
7259
|
-
get: function () { return
|
|
7331
|
+
get: function () { return chunkPZJN5IJW_js.isRecordReferencedError; }
|
|
7260
7332
|
});
|
|
7261
7333
|
Object.defineProperty(exports, "isSchemaError", {
|
|
7262
7334
|
enumerable: true,
|
|
7263
|
-
get: function () { return
|
|
7335
|
+
get: function () { return chunkPZJN5IJW_js.isSchemaError; }
|
|
7264
7336
|
});
|
|
7265
7337
|
Object.defineProperty(exports, "isValidationError", {
|
|
7266
7338
|
enumerable: true,
|
|
7267
|
-
get: function () { return
|
|
7339
|
+
get: function () { return chunkPZJN5IJW_js.isValidationError; }
|
|
7268
7340
|
});
|
|
7269
7341
|
Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
|
|
7270
7342
|
enumerable: true,
|
|
7271
|
-
get: function () { return
|
|
7343
|
+
get: function () { return chunkPZJN5IJW_js.rejectUnknownAttributesOrThrow; }
|
|
7272
7344
|
});
|
|
7273
7345
|
Object.defineProperty(exports, "validateDraft", {
|
|
7274
7346
|
enumerable: true,
|
|
7275
|
-
get: function () { return
|
|
7347
|
+
get: function () { return chunkPZJN5IJW_js.validateDraft; }
|
|
7276
7348
|
});
|
|
7277
7349
|
Object.defineProperty(exports, "validateDraftOrThrow", {
|
|
7278
7350
|
enumerable: true,
|
|
7279
|
-
get: function () { return
|
|
7351
|
+
get: function () { return chunkPZJN5IJW_js.validateDraftOrThrow; }
|
|
7280
7352
|
});
|
|
7281
7353
|
Object.defineProperty(exports, "validateObject", {
|
|
7282
7354
|
enumerable: true,
|
|
7283
|
-
get: function () { return
|
|
7355
|
+
get: function () { return chunkPZJN5IJW_js.validateObject; }
|
|
7284
7356
|
});
|
|
7285
7357
|
Object.defineProperty(exports, "validateObjectOrThrow", {
|
|
7286
7358
|
enumerable: true,
|
|
7287
|
-
get: function () { return
|
|
7288
|
-
});
|
|
7289
|
-
Object.defineProperty(exports, "ComputedFormulaParseError", {
|
|
7290
|
-
enumerable: true,
|
|
7291
|
-
get: function () { return chunkNSM2JPC3_js.ComputedFormulaParseError; }
|
|
7292
|
-
});
|
|
7293
|
-
Object.defineProperty(exports, "parseAttributeConfig", {
|
|
7294
|
-
enumerable: true,
|
|
7295
|
-
get: function () { return chunkNSM2JPC3_js.parseAttributeConfig; }
|
|
7296
|
-
});
|
|
7297
|
-
Object.defineProperty(exports, "parseComputedFormula", {
|
|
7298
|
-
enumerable: true,
|
|
7299
|
-
get: function () { return chunkNSM2JPC3_js.parseComputedFormula; }
|
|
7359
|
+
get: function () { return chunkPZJN5IJW_js.validateObjectOrThrow; }
|
|
7300
7360
|
});
|
|
7301
7361
|
Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
|
|
7302
7362
|
enumerable: true,
|
|
@@ -7504,6 +7564,7 @@ exports.select = select;
|
|
|
7504
7564
|
exports.status = status;
|
|
7505
7565
|
exports.stringFlag = stringFlag;
|
|
7506
7566
|
exports.text = text;
|
|
7567
|
+
exports.toMultiValueOperator = toMultiValueOperator;
|
|
7507
7568
|
exports.toUndefinedIfEmpty = toUndefinedIfEmpty;
|
|
7508
7569
|
exports.today = today;
|
|
7509
7570
|
exports.user = user;
|