@stndrds/schema 1.0.0-alpha.263 → 1.0.0-alpha.265
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-_6tvjbyl.d.ts → attributes-_b3Db8vT.d.ts} +1 -23
- package/dist/{attributes-Cmkc7UgJ.d.mts → attributes-lBLiOIY3.d.mts} +1 -23
- package/dist/chunk-NGGU6BSN.mjs +216 -0
- package/dist/chunk-NI3HCSYH.js +229 -0
- package/dist/{chunk-54WDPQ6R.mjs → chunk-QIWADKYA.mjs} +12 -216
- package/dist/{chunk-TS3PJOMZ.js → chunk-ZBQEMIAV.js} +11 -227
- package/dist/exceptions.d.mts +458 -0
- package/dist/exceptions.d.ts +458 -0
- package/dist/exceptions.js +154 -0
- package/dist/exceptions.mjs +1 -0
- package/dist/{helpers-BTC6TsKH.d.ts → helpers-eyrnPJEF.d.ts} +4 -39
- package/dist/{helpers-BO10yqih.d.mts → helpers-uKLet0kF.d.mts} +4 -39
- package/dist/index.d.mts +150 -476
- package/dist/index.d.ts +150 -476
- package/dist/index.js +238 -139
- package/dist/index.mjs +131 -35
- package/dist/migrations-BXd2ZGfM.d.mts +39 -0
- package/dist/migrations-DcuJZ8qO.d.ts +39 -0
- package/dist/{types-CVswgCx9.d.mts → types-DNz3ITS-.d.mts} +1 -1
- package/dist/{types-B_UZK_6m.d.ts → types-DqLi1tx1.d.ts} +1 -1
- package/dist/validation/all.d.mts +4 -3
- package/dist/validation/all.d.ts +4 -3
- package/dist/validation/all.js +10 -9
- package/dist/validation/all.mjs +4 -3
- package/dist/validation/complex/currency.d.mts +2 -2
- package/dist/validation/complex/currency.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 +5 -4
- package/dist/validation/object/index.d.ts +5 -4
- package/dist/validation/object/index.js +16 -15
- package/dist/validation/object/index.mjs +4 -3
- 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/package.json +7 -2
package/dist/index.js
CHANGED
|
@@ -3,20 +3,21 @@
|
|
|
3
3
|
var chunkFRCDMQER_js = require('./chunk-FRCDMQER.js');
|
|
4
4
|
require('./chunk-PGERPYDR.js');
|
|
5
5
|
var chunkL4U5QEQL_js = require('./chunk-L4U5QEQL.js');
|
|
6
|
-
var
|
|
6
|
+
var chunkNI3HCSYH_js = require('./chunk-NI3HCSYH.js');
|
|
7
|
+
require('./chunk-5WATIVCA.js');
|
|
7
8
|
require('./chunk-SI34M4IC.js');
|
|
8
9
|
require('./chunk-YIP5FJ5H.js');
|
|
9
10
|
require('./chunk-QAF3HNKQ.js');
|
|
11
|
+
require('./chunk-EW5XR2X3.js');
|
|
10
12
|
require('./chunk-QWKLQRBX.js');
|
|
11
13
|
require('./chunk-KNGWHQLR.js');
|
|
12
14
|
require('./chunk-HTSTPTNZ.js');
|
|
13
15
|
require('./chunk-V2UA2D4E.js');
|
|
14
|
-
require('./chunk-
|
|
16
|
+
var chunkZBQEMIAV_js = require('./chunk-ZBQEMIAV.js');
|
|
15
17
|
require('./chunk-ACKMC6FL.js');
|
|
16
18
|
require('./chunk-E6JUYGJX.js');
|
|
17
19
|
var chunkEBGRZUIH_js = require('./chunk-EBGRZUIH.js');
|
|
18
20
|
require('./chunk-EEH4XQ7W.js');
|
|
19
|
-
require('./chunk-EW5XR2X3.js');
|
|
20
21
|
var chunkYKWSHBT5_js = require('./chunk-YKWSHBT5.js');
|
|
21
22
|
var constants = require('@stndrds/constants');
|
|
22
23
|
var z3 = require('zod');
|
|
@@ -485,19 +486,6 @@ function isAttributeSortable2(attr) {
|
|
|
485
486
|
return isAttributeSortable(attr);
|
|
486
487
|
}
|
|
487
488
|
|
|
488
|
-
// src/types/autofill.ts
|
|
489
|
-
var AUTOFILL_ELIGIBLE_TYPES = [
|
|
490
|
-
"text",
|
|
491
|
-
"number",
|
|
492
|
-
"checkbox",
|
|
493
|
-
"date",
|
|
494
|
-
"phone",
|
|
495
|
-
"currency",
|
|
496
|
-
"status",
|
|
497
|
-
"select",
|
|
498
|
-
"multiselect"
|
|
499
|
-
];
|
|
500
|
-
|
|
501
489
|
// src/types/audit.ts
|
|
502
490
|
var AUDIT_RESOURCE_TYPES = [
|
|
503
491
|
"record",
|
|
@@ -1217,17 +1205,25 @@ var DEFAULT_ROLES = {
|
|
|
1217
1205
|
/** Standard user - can work with business data and view people */
|
|
1218
1206
|
MEMBER: "member",
|
|
1219
1207
|
/** Default role for agent actors - CRUD on records + documents/files */
|
|
1220
|
-
AGENT_DEFAULT: "agent_default"
|
|
1208
|
+
AGENT_DEFAULT: "agent_default",
|
|
1209
|
+
/**
|
|
1210
|
+
* Default role for reflex actors — deliberately NO record access (D22).
|
|
1211
|
+
* An agent is interactive, watched, and acts once; a reflex is unattended and
|
|
1212
|
+
* repeats. Real access is a per-reflex role derived from its first rehearsal.
|
|
1213
|
+
*/
|
|
1214
|
+
REFLEX_DEFAULT: "reflex_default"
|
|
1221
1215
|
};
|
|
1222
1216
|
var DEFAULT_ROLE_LABELS = {
|
|
1223
1217
|
owner: "Owner",
|
|
1224
1218
|
member: "Member",
|
|
1225
|
-
agent_default: "Agent Default"
|
|
1219
|
+
agent_default: "Agent Default",
|
|
1220
|
+
reflex_default: "Reflex Default"
|
|
1226
1221
|
};
|
|
1227
1222
|
var DEFAULT_ROLE_DESCRIPTIONS = {
|
|
1228
1223
|
owner: "Full access to all platform features and data",
|
|
1229
1224
|
member: "Can view, create, edit and delete business data",
|
|
1230
|
-
agent_default: "Default role for AI agents \u2014 CRUD on records plus documents and files"
|
|
1225
|
+
agent_default: "Default role for AI agents \u2014 CRUD on records plus documents and files",
|
|
1226
|
+
reflex_default: "Default role for reflexes \u2014 no data access; each reflex is granted exactly what its rehearsal showed it uses"
|
|
1231
1227
|
};
|
|
1232
1228
|
var ALL_ACTIONS2 = ["read", "create", "update", "delete", "manage"];
|
|
1233
1229
|
var MEMBER_CONNECTOR_ACTIONS = ["read", "create", "delete"];
|
|
@@ -1257,6 +1253,13 @@ var DEFAULT_ROLE_PERMISSIONS = {
|
|
|
1257
1253
|
{ target: "session", actions: ["observe"] }
|
|
1258
1254
|
],
|
|
1259
1255
|
object: [{ target: "*", actions: ["read", "create", "update", "delete"] }]
|
|
1256
|
+
},
|
|
1257
|
+
reflex_default: {
|
|
1258
|
+
// Intentionally empty (D22): a reflex starts with no access at all. Real
|
|
1259
|
+
// access is a per-reflex role derived from its first rehearsal, not a
|
|
1260
|
+
// shared default.
|
|
1261
|
+
system: [],
|
|
1262
|
+
object: []
|
|
1260
1263
|
}
|
|
1261
1264
|
};
|
|
1262
1265
|
function isDefaultRole(roleName) {
|
|
@@ -1360,7 +1363,7 @@ var DEFAULT_AGENT_EXECUTION_CONFIG = {
|
|
|
1360
1363
|
var AgentBuilder = class {
|
|
1361
1364
|
constructor(config) {
|
|
1362
1365
|
if (!config.name || config.name.trim().length === 0) {
|
|
1363
|
-
throw new
|
|
1366
|
+
throw new chunkZBQEMIAV_js.ValidationError("Agent name is required", []);
|
|
1364
1367
|
}
|
|
1365
1368
|
this.bp = { name: config.name, system: true, triggers: [] };
|
|
1366
1369
|
}
|
|
@@ -1433,15 +1436,15 @@ var AgentBuilder = class {
|
|
|
1433
1436
|
}
|
|
1434
1437
|
build() {
|
|
1435
1438
|
if (!this.bp.systemPrompt) {
|
|
1436
|
-
throw new
|
|
1439
|
+
throw new chunkZBQEMIAV_js.ValidationError(`Agent "${this.bp.name}": systemPrompt is required`, []);
|
|
1437
1440
|
}
|
|
1438
1441
|
if (!this.bp.model) {
|
|
1439
|
-
throw new
|
|
1442
|
+
throw new chunkZBQEMIAV_js.ValidationError(`Agent "${this.bp.name}": model is required`, []);
|
|
1440
1443
|
}
|
|
1441
1444
|
assertUniqueBy(
|
|
1442
1445
|
this.bp.triggers,
|
|
1443
1446
|
(t) => t.name,
|
|
1444
|
-
(name) => new
|
|
1447
|
+
(name) => new chunkZBQEMIAV_js.ValidationError(`Agent "${this.bp.name}": duplicate trigger name "${name}"`, [])
|
|
1445
1448
|
);
|
|
1446
1449
|
return {
|
|
1447
1450
|
...this.bp,
|
|
@@ -1495,7 +1498,7 @@ var BaseAttributeBuilder = class {
|
|
|
1495
1498
|
* @see https://standardschema.dev/
|
|
1496
1499
|
*/
|
|
1497
1500
|
get "~standard"() {
|
|
1498
|
-
const zodSchema =
|
|
1501
|
+
const zodSchema = chunkNI3HCSYH_js.createAttributeValidator(this.build());
|
|
1499
1502
|
return createStandardSchemaProps(zodSchema);
|
|
1500
1503
|
}
|
|
1501
1504
|
constructor(type, name, label) {
|
|
@@ -1575,15 +1578,6 @@ var BaseAttributeBuilder = class {
|
|
|
1575
1578
|
this.attr.placeholder = value;
|
|
1576
1579
|
return this;
|
|
1577
1580
|
}
|
|
1578
|
-
/**
|
|
1579
|
-
* Enable AI autofill for this attribute. `from` is mandatory:
|
|
1580
|
-
* empty array = document-only, non-empty = also triggered when those
|
|
1581
|
-
* source attributes change. Eligibility by type is validated at schema sync.
|
|
1582
|
-
*/
|
|
1583
|
-
autofill(config) {
|
|
1584
|
-
this.attr.autofill = config;
|
|
1585
|
-
return this;
|
|
1586
|
-
}
|
|
1587
1581
|
description(value) {
|
|
1588
1582
|
this.attr.description = value;
|
|
1589
1583
|
return this;
|
|
@@ -2247,9 +2241,9 @@ var RollupAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2247
2241
|
if (fn === "original" && targetType !== void 0 && targetType !== "select" && targetType !== "status" && targetType !== "multiselect") {
|
|
2248
2242
|
const relation2 = this.attr.relationAttribute ?? "relation";
|
|
2249
2243
|
const target = this.attr.targetAttribute ?? "field";
|
|
2250
|
-
throw new
|
|
2244
|
+
throw new chunkZBQEMIAV_js.SchemaError(
|
|
2251
2245
|
`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}").`,
|
|
2252
|
-
|
|
2246
|
+
chunkZBQEMIAV_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2253
2247
|
);
|
|
2254
2248
|
}
|
|
2255
2249
|
return super.build();
|
|
@@ -2759,7 +2753,7 @@ var ObjectBuilder = class {
|
|
|
2759
2753
|
* @see https://standardschema.dev/
|
|
2760
2754
|
*/
|
|
2761
2755
|
get "~standard"() {
|
|
2762
|
-
const zodSchema =
|
|
2756
|
+
const zodSchema = chunkNI3HCSYH_js.createObjectValidator(this.build());
|
|
2763
2757
|
return createStandardSchemaProps(zodSchema);
|
|
2764
2758
|
}
|
|
2765
2759
|
/**
|
|
@@ -2973,26 +2967,26 @@ var ObjectBuilder = class {
|
|
|
2973
2967
|
throw new Error("[ObjectBuilder] Missing required field: label");
|
|
2974
2968
|
}
|
|
2975
2969
|
if (!this._labelExpression) {
|
|
2976
|
-
throw new
|
|
2970
|
+
throw new chunkZBQEMIAV_js.SchemaError(
|
|
2977
2971
|
`Object "${this.obj.name}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,
|
|
2978
|
-
|
|
2972
|
+
chunkZBQEMIAV_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2979
2973
|
);
|
|
2980
2974
|
}
|
|
2981
2975
|
const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
|
|
2982
2976
|
if (!labelResult.success) {
|
|
2983
2977
|
const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
|
|
2984
|
-
throw new
|
|
2978
|
+
throw new chunkZBQEMIAV_js.SchemaError(
|
|
2985
2979
|
`Invalid labelExpression for "${this.obj.name}": ${errorMsg}`,
|
|
2986
|
-
|
|
2980
|
+
chunkZBQEMIAV_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2987
2981
|
);
|
|
2988
2982
|
}
|
|
2989
2983
|
if (this._embeddingExpression !== void 0) {
|
|
2990
2984
|
const embeddingResult = labelExpressionSchema.safeParse(this._embeddingExpression);
|
|
2991
2985
|
if (!embeddingResult.success) {
|
|
2992
2986
|
const errorMsg = embeddingResult.error.issues[0]?.message ?? "Invalid embeddingExpression";
|
|
2993
|
-
throw new
|
|
2987
|
+
throw new chunkZBQEMIAV_js.SchemaError(
|
|
2994
2988
|
`Invalid embeddingExpression for "${this.obj.name}": ${errorMsg}`,
|
|
2995
|
-
|
|
2989
|
+
chunkZBQEMIAV_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2996
2990
|
);
|
|
2997
2991
|
}
|
|
2998
2992
|
}
|
|
@@ -3033,7 +3027,7 @@ var ObjectBuilder = class {
|
|
|
3033
3027
|
objectNameSchema.parse(name);
|
|
3034
3028
|
} catch (error) {
|
|
3035
3029
|
if (error instanceof z3__default.default.ZodError) {
|
|
3036
|
-
throw new
|
|
3030
|
+
throw new chunkZBQEMIAV_js.SchemaError(error.issues[0].message, chunkZBQEMIAV_js.SchemaErrorCode.INVALID_OBJECT_NAME);
|
|
3037
3031
|
}
|
|
3038
3032
|
throw error;
|
|
3039
3033
|
}
|
|
@@ -3044,7 +3038,7 @@ function object(config) {
|
|
|
3044
3038
|
}
|
|
3045
3039
|
function validatePresetStructure(presetId, nodes, depth) {
|
|
3046
3040
|
const fail = (message, detail) => {
|
|
3047
|
-
throw new
|
|
3041
|
+
throw new chunkZBQEMIAV_js.ValidationError(message, [
|
|
3048
3042
|
{ path: ["documentLayout", "presets", presetId], message: detail }
|
|
3049
3043
|
]);
|
|
3050
3044
|
};
|
|
@@ -4279,7 +4273,7 @@ function jsonFlag(name, defaultValue) {
|
|
|
4279
4273
|
|
|
4280
4274
|
// src/feature-flags/flag-registry.ts
|
|
4281
4275
|
function duplicateFlagError(name) {
|
|
4282
|
-
return new
|
|
4276
|
+
return new chunkZBQEMIAV_js.DuplicateError(
|
|
4283
4277
|
"feature flag",
|
|
4284
4278
|
name,
|
|
4285
4279
|
`Flag "${name}" is already registered. Each flag name must be unique.`
|
|
@@ -4357,7 +4351,7 @@ var FlagRegistry = class {
|
|
|
4357
4351
|
getOrThrow(name) {
|
|
4358
4352
|
const flag = this.get(name);
|
|
4359
4353
|
if (!flag) {
|
|
4360
|
-
throw new
|
|
4354
|
+
throw new chunkZBQEMIAV_js.NotFoundError(
|
|
4361
4355
|
"Feature flag",
|
|
4362
4356
|
name,
|
|
4363
4357
|
void 0,
|
|
@@ -4514,19 +4508,19 @@ var FlagService = class {
|
|
|
4514
4508
|
*/
|
|
4515
4509
|
async setOverride(flagName, level, value, options = {}) {
|
|
4516
4510
|
if (!this.repository) {
|
|
4517
|
-
throw new
|
|
4511
|
+
throw new chunkZBQEMIAV_js.SchemaError(
|
|
4518
4512
|
"Cannot set override: no FeatureFlagsRepository configured. Add featureFlags to your DatabaseAdapter to enable runtime overrides.",
|
|
4519
|
-
|
|
4513
|
+
chunkZBQEMIAV_js.SchemaErrorCode.CONFIGURATION_REQUIRED
|
|
4520
4514
|
);
|
|
4521
4515
|
}
|
|
4522
4516
|
const flag = this.registry.get(flagName);
|
|
4523
4517
|
if (flag && !flag.allowedLevels.includes(level)) {
|
|
4524
4518
|
const message = `Flag "${flagName}" does not allow ${level}-level overrides. Allowed levels: ${flag.allowedLevels.join(", ")}`;
|
|
4525
|
-
throw new
|
|
4519
|
+
throw new chunkZBQEMIAV_js.ValidationError(message, [{ path: ["level"], message }]);
|
|
4526
4520
|
}
|
|
4527
4521
|
if (flag?.system) {
|
|
4528
4522
|
const message = `Flag "${flagName}" is a system flag and cannot be overridden via API.`;
|
|
4529
|
-
throw new
|
|
4523
|
+
throw new chunkZBQEMIAV_js.ValidationError(message, [{ path: ["flagName"], message }]);
|
|
4530
4524
|
}
|
|
4531
4525
|
await this.repository.setOverride({
|
|
4532
4526
|
flagName,
|
|
@@ -4546,9 +4540,9 @@ var FlagService = class {
|
|
|
4546
4540
|
*/
|
|
4547
4541
|
async deleteOverride(flagName, level, targetId) {
|
|
4548
4542
|
if (!this.repository) {
|
|
4549
|
-
throw new
|
|
4543
|
+
throw new chunkZBQEMIAV_js.SchemaError(
|
|
4550
4544
|
"Cannot delete override: no FeatureFlagsRepository configured.",
|
|
4551
|
-
|
|
4545
|
+
chunkZBQEMIAV_js.SchemaErrorCode.CONFIGURATION_REQUIRED
|
|
4552
4546
|
);
|
|
4553
4547
|
}
|
|
4554
4548
|
await this.repository.deleteOverride(flagName, level, targetId);
|
|
@@ -4685,7 +4679,7 @@ var NativeObjectRegistryClass = class {
|
|
|
4685
4679
|
if (!object2.system) {
|
|
4686
4680
|
const message = `[NativeObjectRegistry] Cannot register object "${object2.name}" (id: ${object2.id}): missing system flag.
|
|
4687
4681
|
Native objects must have system=true. Did you call .runtime() on the builder? Remove that call \u2014 objects are system:true by default.`;
|
|
4688
|
-
throw new
|
|
4682
|
+
throw new chunkZBQEMIAV_js.ValidationError(message, []);
|
|
4689
4683
|
}
|
|
4690
4684
|
if (this.objects.has(object2.name)) {
|
|
4691
4685
|
const existing = this.objects.get(object2.name);
|
|
@@ -4693,7 +4687,7 @@ Native objects must have system=true. Did you call .runtime() on the builder? Re
|
|
|
4693
4687
|
- Existing: "${existing?.label}" (id: ${existing?.id})
|
|
4694
4688
|
- New: "${object2.label}" (id: ${object2.id})
|
|
4695
4689
|
Please use unique names for each native object.`;
|
|
4696
|
-
throw new
|
|
4690
|
+
throw new chunkZBQEMIAV_js.DuplicateError("object", object2.name, message);
|
|
4697
4691
|
}
|
|
4698
4692
|
this.objects.set(object2.name, cloneObjectDefinition(object2));
|
|
4699
4693
|
}
|
|
@@ -4725,7 +4719,7 @@ Please use unique names for each native object.`;
|
|
|
4725
4719
|
if (!object2) {
|
|
4726
4720
|
const message = `[NativeObjectRegistry] Native object "${name}" not found.
|
|
4727
4721
|
Available objects: ${this.listNames().join(", ")}`;
|
|
4728
|
-
throw new
|
|
4722
|
+
throw new chunkZBQEMIAV_js.NotFoundError("Native object", name, chunkZBQEMIAV_js.SchemaErrorCode.OBJECT_NOT_FOUND, message);
|
|
4729
4723
|
}
|
|
4730
4724
|
return object2;
|
|
4731
4725
|
}
|
|
@@ -4823,7 +4817,7 @@ var SKILL_OBJECT = object({ name: "skill", label: "Skill" }).sealed().icon("spar
|
|
|
4823
4817
|
'What this skill does and when to use it \u2014 e.g. "Drafts replies to customer complaints. Use when asked to answer an unhappy customer."'
|
|
4824
4818
|
)
|
|
4825
4819
|
).attribute(richtext({ name: "content", label: "Content" }).defaultValue(SKILL_CONTENT_TEMPLATE)).build();
|
|
4826
|
-
var SKILL_VIEW = detailView("skill-detail", "Skill").for("skill").default().sidePanel({ attributes: ["name", "description"] }).tab("content", "Content").richtext("content").titleAttribute("name").done().build();
|
|
4820
|
+
var SKILL_VIEW = detailView("skill-detail", "Skill").for("skill").default().sidePanel({ attributes: ["name", "description"] }).tab("content", "Content").richtext("content").titleAttribute("name").done().tab("files", "Files").documents().done().build();
|
|
4827
4821
|
var SKILL_LIST_VIEW = listView("skill-list", "Skills").for("skill").default().tab("all", "All").table().columns("name", "description").sort("name", "asc").build();
|
|
4828
4822
|
var MEMORY_OBJECT = object({ name: "memory", label: "Memory" }).sealed().icon("database").order(Number.MAX_SAFE_INTEGER).pluralLabel("Memories").labelExpression("{{ name }}").embeddingExpression("{{ name }}\n{{ description }}\n{{ content }}").attribute(text({ name: "name", label: "Name" }).maxLength(constants.MEMORY_NAME_MAX_LENGTH).required()).attribute(
|
|
4829
4823
|
text({ name: "description", label: "Description" }).multiline().maxLength(constants.MEMORY_DESCRIPTION_MAX_LENGTH).required()
|
|
@@ -4864,7 +4858,7 @@ var ViewRegistry = class {
|
|
|
4864
4858
|
const key = this.makeKey(view.object, view.name, view.type);
|
|
4865
4859
|
if (this.views.has(key)) {
|
|
4866
4860
|
const message = `[ViewRegistry] Duplicate view: "${view.name}" (${view.type}) for object "${view.object}"`;
|
|
4867
|
-
throw new
|
|
4861
|
+
throw new chunkZBQEMIAV_js.DuplicateError("view", key, message);
|
|
4868
4862
|
}
|
|
4869
4863
|
const storedView = cloneViewDefinition(view);
|
|
4870
4864
|
this.views.set(key, storedView);
|
|
@@ -4909,7 +4903,7 @@ var ViewRegistry = class {
|
|
|
4909
4903
|
const availableNames = available.map((v) => `${v.name} (${v.type})`).join(", ") || "(none)";
|
|
4910
4904
|
const message = `[ViewRegistry] View "${viewName}" not found for object "${objectName}".
|
|
4911
4905
|
Available views: ${availableNames}`;
|
|
4912
|
-
throw new
|
|
4906
|
+
throw new chunkZBQEMIAV_js.NotFoundError("View", `${objectName}:${viewName}`, void 0, message);
|
|
4913
4907
|
}
|
|
4914
4908
|
return view;
|
|
4915
4909
|
}
|
|
@@ -5215,7 +5209,7 @@ var FormRegistry = class {
|
|
|
5215
5209
|
const forms = Array.isArray(formOrForms) ? formOrForms : [formOrForms];
|
|
5216
5210
|
for (const f of forms) {
|
|
5217
5211
|
if (this.forms.has(f.name)) {
|
|
5218
|
-
throw new
|
|
5212
|
+
throw new chunkZBQEMIAV_js.DuplicateError("form", f.name, `[FormRegistry] Duplicate form: "${f.name}"`);
|
|
5219
5213
|
}
|
|
5220
5214
|
this.forms.set(f.name, cloneFormDefinition(f));
|
|
5221
5215
|
}
|
|
@@ -7070,6 +7064,66 @@ function now() {
|
|
|
7070
7064
|
return { dynamic: "date", anchor: "now" };
|
|
7071
7065
|
}
|
|
7072
7066
|
|
|
7067
|
+
// src/filters/normalize-operator.ts
|
|
7068
|
+
var SYNONYM_ALIASES = {
|
|
7069
|
+
// equality
|
|
7070
|
+
equals: "is",
|
|
7071
|
+
equal: "is",
|
|
7072
|
+
"==": "is",
|
|
7073
|
+
"=": "is",
|
|
7074
|
+
notEqual: "is_not",
|
|
7075
|
+
isNot: "is_not",
|
|
7076
|
+
"!=": "is_not",
|
|
7077
|
+
"<>": "is_not",
|
|
7078
|
+
// set
|
|
7079
|
+
in: "any_of",
|
|
7080
|
+
isAnyOf: "any_of",
|
|
7081
|
+
oneOf: "any_of",
|
|
7082
|
+
notIn: "none_of",
|
|
7083
|
+
not_in: "none_of",
|
|
7084
|
+
isNoneOf: "none_of",
|
|
7085
|
+
notOneOf: "none_of",
|
|
7086
|
+
// text
|
|
7087
|
+
startsWith: "starts_with",
|
|
7088
|
+
beginsWith: "starts_with",
|
|
7089
|
+
endsWith: "ends_with",
|
|
7090
|
+
doesNotContain: "not_contains",
|
|
7091
|
+
notContain: "not_contains",
|
|
7092
|
+
// nullity
|
|
7093
|
+
isEmpty: "is_empty",
|
|
7094
|
+
isNotEmpty: "is_not_empty",
|
|
7095
|
+
// checkbox
|
|
7096
|
+
isChecked: "is_checked",
|
|
7097
|
+
isUnchecked: "is_not_checked"
|
|
7098
|
+
};
|
|
7099
|
+
var CROSS_TYPE_CONVERSIONS = {
|
|
7100
|
+
date: {
|
|
7101
|
+
gte: "on_or_after",
|
|
7102
|
+
lte: "on_or_before",
|
|
7103
|
+
gt: "after",
|
|
7104
|
+
lt: "before",
|
|
7105
|
+
eq: "is",
|
|
7106
|
+
neq: "is_not"
|
|
7107
|
+
},
|
|
7108
|
+
number: { is: "eq", is_not: "neq" },
|
|
7109
|
+
currency: { is: "eq", is_not: "neq" },
|
|
7110
|
+
text: { eq: "is", neq: "is_not" },
|
|
7111
|
+
phone: { eq: "is", neq: "is_not" },
|
|
7112
|
+
select: { eq: "is", neq: "is_not" },
|
|
7113
|
+
status: { eq: "is", neq: "is_not" },
|
|
7114
|
+
multiselect: { eq: "contains", neq: "not_contains" },
|
|
7115
|
+
relation: { eq: "is", neq: "is_not" },
|
|
7116
|
+
user: { eq: "is", neq: "is_not" },
|
|
7117
|
+
document: { eq: "is", neq: "is_not" },
|
|
7118
|
+
file: { eq: "is", neq: "is_not" },
|
|
7119
|
+
checkbox: { eq: "is_checked", neq: "is_not_checked", is: "is_checked", is_not: "is_not_checked" }
|
|
7120
|
+
};
|
|
7121
|
+
function normalizeOperator(rawOp, effectiveType) {
|
|
7122
|
+
const synonymed = SYNONYM_ALIASES[rawOp] ?? rawOp;
|
|
7123
|
+
const typeMap = CROSS_TYPE_CONVERSIONS[effectiveType];
|
|
7124
|
+
return typeMap?.[synonymed] ?? synonymed;
|
|
7125
|
+
}
|
|
7126
|
+
|
|
7073
7127
|
// src/filters/validation.ts
|
|
7074
7128
|
var REFERENCE_TYPES = /* @__PURE__ */ new Set(["relation", "document", "user"]);
|
|
7075
7129
|
var ID_LIKE_OPERATORS = [
|
|
@@ -7097,18 +7151,31 @@ var SYSTEM_FILTER_OPERATORS = {
|
|
|
7097
7151
|
createdBy: OPERATORS_BY_TYPE.user,
|
|
7098
7152
|
lastUpdatedBy: OPERATORS_BY_TYPE.user
|
|
7099
7153
|
};
|
|
7154
|
+
var SYSTEM_ATTRIBUTE_TYPES = {
|
|
7155
|
+
id: "id",
|
|
7156
|
+
objectId: "id",
|
|
7157
|
+
tenantId: "id",
|
|
7158
|
+
label: "text",
|
|
7159
|
+
createdAt: "date",
|
|
7160
|
+
updatedAt: "date",
|
|
7161
|
+
deletedAt: "date",
|
|
7162
|
+
createdBy: "user",
|
|
7163
|
+
lastUpdatedBy: "user"
|
|
7164
|
+
};
|
|
7100
7165
|
function assertOperatorForType(operator, type, context) {
|
|
7166
|
+
const normalized = normalizeOperator(operator, type);
|
|
7101
7167
|
const ops = OPERATORS_BY_TYPE[type];
|
|
7102
|
-
if (!ops?.includes(
|
|
7168
|
+
if (!ops?.includes(normalized)) {
|
|
7103
7169
|
const validList = ops?.length ? ops.join(", ") : "(no operators registered for this type)";
|
|
7104
7170
|
const summary = `Operator "${operator}" is not valid for ${context} type "${type}". Valid operators: ${validList}.`;
|
|
7105
|
-
throw new
|
|
7171
|
+
throw new chunkZBQEMIAV_js.ValidationError(summary, [
|
|
7106
7172
|
{
|
|
7107
7173
|
path: ["operator"],
|
|
7108
7174
|
message: summary
|
|
7109
7175
|
}
|
|
7110
7176
|
]);
|
|
7111
7177
|
}
|
|
7178
|
+
return normalized;
|
|
7112
7179
|
}
|
|
7113
7180
|
var RELATIVE_DATE_UNITS = /* @__PURE__ */ new Set(["days", "weeks", "months", "years"]);
|
|
7114
7181
|
var RELATIVE_DATE_DIRECTIONS = /* @__PURE__ */ new Set(["past", "future"]);
|
|
@@ -7118,7 +7185,7 @@ function assertRelativeDateValue(rule) {
|
|
|
7118
7185
|
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);
|
|
7119
7186
|
if (!valid) {
|
|
7120
7187
|
const m = `Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }`;
|
|
7121
|
-
throw new
|
|
7188
|
+
throw new chunkZBQEMIAV_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7122
7189
|
}
|
|
7123
7190
|
}
|
|
7124
7191
|
function assertDynamicValueForAttribute(rule, attrType) {
|
|
@@ -7126,71 +7193,99 @@ function assertDynamicValueForAttribute(rule, attrType) {
|
|
|
7126
7193
|
const v = rule.value;
|
|
7127
7194
|
if (v.dynamic === "actor" && attrType !== "user") {
|
|
7128
7195
|
const m = `actor token (@me) is only valid on user attributes, not "${attrType}"`;
|
|
7129
|
-
throw new
|
|
7196
|
+
throw new chunkZBQEMIAV_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7130
7197
|
}
|
|
7131
7198
|
if (v.dynamic === "date" && attrType !== "date") {
|
|
7132
7199
|
const m = `date token (@today/@now) is only valid on date attributes, not "${attrType}"`;
|
|
7133
|
-
throw new
|
|
7200
|
+
throw new chunkZBQEMIAV_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
7134
7201
|
}
|
|
7135
7202
|
}
|
|
7136
7203
|
function validateQualifiedRule(rule, context) {
|
|
7137
7204
|
const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
|
|
7138
7205
|
const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
|
|
7139
7206
|
if (!(rootAttr || systemOps)) {
|
|
7140
|
-
throw new
|
|
7207
|
+
throw new chunkZBQEMIAV_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
|
|
7141
7208
|
{ path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
|
|
7142
7209
|
]);
|
|
7143
7210
|
}
|
|
7144
7211
|
if (rule.quantifier !== void 0 && !rule.property) {
|
|
7145
7212
|
const m = `quantifier is only valid on qualified edge rules (set "property")`;
|
|
7146
|
-
throw new
|
|
7213
|
+
throw new chunkZBQEMIAV_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
|
|
7147
7214
|
}
|
|
7148
7215
|
if (!rootAttr) {
|
|
7149
7216
|
if (rule.property) {
|
|
7150
|
-
throw new
|
|
7217
|
+
throw new chunkZBQEMIAV_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
|
|
7151
7218
|
{ path: ["property"], message: `"${rule.attribute}" is a system column, not a reference` }
|
|
7152
7219
|
]);
|
|
7153
7220
|
}
|
|
7154
|
-
|
|
7221
|
+
const effectiveType = SYSTEM_ATTRIBUTE_TYPES[rule.attribute] ?? "id";
|
|
7222
|
+
const normalizedOperator = normalizeOperator(
|
|
7223
|
+
rule.operator,
|
|
7224
|
+
effectiveType
|
|
7225
|
+
);
|
|
7226
|
+
if (!systemOps.includes(normalizedOperator)) {
|
|
7155
7227
|
const summary = `Operator "${rule.operator}" is not valid for system attribute "${rule.attribute}". Valid operators: ${systemOps.join(", ")}.`;
|
|
7156
|
-
throw new
|
|
7228
|
+
throw new chunkZBQEMIAV_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
7157
7229
|
}
|
|
7230
|
+
rule.operator = normalizedOperator;
|
|
7158
7231
|
assertRelativeDateValue(rule);
|
|
7159
7232
|
return;
|
|
7160
7233
|
}
|
|
7161
7234
|
if (!rule.property) {
|
|
7162
7235
|
assertDynamicValueForAttribute(rule, rootAttr.type);
|
|
7163
7236
|
const ops = getAttributeFilterOperators(rootAttr);
|
|
7164
|
-
|
|
7237
|
+
const normalizedOperator = normalizeOperator(
|
|
7238
|
+
rule.operator,
|
|
7239
|
+
rootAttr.type
|
|
7240
|
+
);
|
|
7241
|
+
if (!ops.includes(normalizedOperator)) {
|
|
7165
7242
|
const validList = ops.length ? ops.join(", ") : "(not filterable)";
|
|
7166
7243
|
const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
|
|
7167
|
-
throw new
|
|
7244
|
+
throw new chunkZBQEMIAV_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
7168
7245
|
}
|
|
7246
|
+
rule.operator = normalizedOperator;
|
|
7169
7247
|
assertRelativeDateValue(rule);
|
|
7170
7248
|
return;
|
|
7171
7249
|
}
|
|
7172
7250
|
if (!REFERENCE_TYPES.has(rootAttr.type)) {
|
|
7173
|
-
throw new
|
|
7251
|
+
throw new chunkZBQEMIAV_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
|
|
7174
7252
|
{ path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
|
|
7175
7253
|
]);
|
|
7176
7254
|
}
|
|
7177
7255
|
const propSchema = rootAttr.properties;
|
|
7178
7256
|
if (!propSchema) {
|
|
7179
|
-
throw new
|
|
7257
|
+
throw new chunkZBQEMIAV_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
|
|
7180
7258
|
{ path: ["property"], message: `"${rule.attribute}" has no qualifyWith` }
|
|
7181
7259
|
]);
|
|
7182
7260
|
}
|
|
7183
7261
|
const propDef = propSchema.definitions.find((p) => p.name === rule.property);
|
|
7184
7262
|
if (!propDef) {
|
|
7185
|
-
throw new
|
|
7263
|
+
throw new chunkZBQEMIAV_js.ValidationError(
|
|
7186
7264
|
`Property "${rule.property}" not defined on "${rule.attribute}".qualifyWith()`,
|
|
7187
7265
|
[{ path: ["property"], message: `Unknown property: ${rule.property}` }]
|
|
7188
7266
|
);
|
|
7189
7267
|
}
|
|
7190
|
-
assertOperatorForType(rule.operator, propDef.type, "property");
|
|
7268
|
+
rule.operator = assertOperatorForType(rule.operator, propDef.type, "property");
|
|
7191
7269
|
assertRelativeDateValue(rule);
|
|
7192
7270
|
}
|
|
7193
7271
|
|
|
7272
|
+
// src/filters/extract-filter-value.ts
|
|
7273
|
+
function extractCurrencyFilterValue(value) {
|
|
7274
|
+
if (typeof value === "number") return value;
|
|
7275
|
+
if (value !== null && typeof value === "object" && "value" in value) {
|
|
7276
|
+
const inner = value.value;
|
|
7277
|
+
return typeof inner === "number" ? inner : null;
|
|
7278
|
+
}
|
|
7279
|
+
return null;
|
|
7280
|
+
}
|
|
7281
|
+
function extractFilterValue(value) {
|
|
7282
|
+
if (value === null || value === void 0) return null;
|
|
7283
|
+
if (typeof value === "object" && "value" in value) {
|
|
7284
|
+
return value.value ?? null;
|
|
7285
|
+
}
|
|
7286
|
+
return value;
|
|
7287
|
+
}
|
|
7288
|
+
|
|
7194
7289
|
// src/connectors/types.ts
|
|
7195
7290
|
var CONNECTOR_CALLBACK_PARAM = {
|
|
7196
7291
|
status: "connector_status",
|
|
@@ -7213,10 +7308,10 @@ function canonicalStringify(value) {
|
|
|
7213
7308
|
case "object":
|
|
7214
7309
|
break;
|
|
7215
7310
|
default:
|
|
7216
|
-
throw new
|
|
7311
|
+
throw new chunkZBQEMIAV_js.ValidationError(`Cannot canonicalize value of type ${typeof v}`, []);
|
|
7217
7312
|
}
|
|
7218
7313
|
const obj = v;
|
|
7219
|
-
if (seen.has(obj)) throw new
|
|
7314
|
+
if (seen.has(obj)) throw new chunkZBQEMIAV_js.ValidationError("Cannot canonicalize circular structure", []);
|
|
7220
7315
|
seen.add(obj);
|
|
7221
7316
|
try {
|
|
7222
7317
|
if (Array.isArray(obj)) return `[${obj.map((e) => encode(e) ?? "null").join(",")}]`;
|
|
@@ -7273,177 +7368,177 @@ Object.defineProperty(exports, "parseComputedFormula", {
|
|
|
7273
7368
|
enumerable: true,
|
|
7274
7369
|
get: function () { return chunkL4U5QEQL_js.parseComputedFormula; }
|
|
7275
7370
|
});
|
|
7371
|
+
Object.defineProperty(exports, "createFormAttributeValidator", {
|
|
7372
|
+
enumerable: true,
|
|
7373
|
+
get: function () { return chunkNI3HCSYH_js.createFormAttributeValidator; }
|
|
7374
|
+
});
|
|
7375
|
+
Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
|
|
7376
|
+
enumerable: true,
|
|
7377
|
+
get: function () { return chunkNI3HCSYH_js.rejectUnknownAttributesOrThrow; }
|
|
7378
|
+
});
|
|
7379
|
+
Object.defineProperty(exports, "validateDraft", {
|
|
7380
|
+
enumerable: true,
|
|
7381
|
+
get: function () { return chunkNI3HCSYH_js.validateDraft; }
|
|
7382
|
+
});
|
|
7383
|
+
Object.defineProperty(exports, "validateDraftOrThrow", {
|
|
7384
|
+
enumerable: true,
|
|
7385
|
+
get: function () { return chunkNI3HCSYH_js.validateDraftOrThrow; }
|
|
7386
|
+
});
|
|
7387
|
+
Object.defineProperty(exports, "validateObject", {
|
|
7388
|
+
enumerable: true,
|
|
7389
|
+
get: function () { return chunkNI3HCSYH_js.validateObject; }
|
|
7390
|
+
});
|
|
7391
|
+
Object.defineProperty(exports, "validateObjectOrThrow", {
|
|
7392
|
+
enumerable: true,
|
|
7393
|
+
get: function () { return chunkNI3HCSYH_js.validateObjectOrThrow; }
|
|
7394
|
+
});
|
|
7276
7395
|
Object.defineProperty(exports, "AccessDeniedError", {
|
|
7277
7396
|
enumerable: true,
|
|
7278
|
-
get: function () { return
|
|
7397
|
+
get: function () { return chunkZBQEMIAV_js.AccessDeniedError; }
|
|
7279
7398
|
});
|
|
7280
7399
|
Object.defineProperty(exports, "AttributeInUseError", {
|
|
7281
7400
|
enumerable: true,
|
|
7282
|
-
get: function () { return
|
|
7401
|
+
get: function () { return chunkZBQEMIAV_js.AttributeInUseError; }
|
|
7283
7402
|
});
|
|
7284
7403
|
Object.defineProperty(exports, "AttributeNotFoundError", {
|
|
7285
7404
|
enumerable: true,
|
|
7286
|
-
get: function () { return
|
|
7405
|
+
get: function () { return chunkZBQEMIAV_js.AttributeNotFoundError; }
|
|
7287
7406
|
});
|
|
7288
7407
|
Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
|
|
7289
7408
|
enumerable: true,
|
|
7290
|
-
get: function () { return
|
|
7409
|
+
get: function () { return chunkZBQEMIAV_js.ChangeTypeNotSupportedError; }
|
|
7291
7410
|
});
|
|
7292
7411
|
Object.defineProperty(exports, "ConcurrentModificationError", {
|
|
7293
7412
|
enumerable: true,
|
|
7294
|
-
get: function () { return
|
|
7413
|
+
get: function () { return chunkZBQEMIAV_js.ConcurrentModificationError; }
|
|
7295
7414
|
});
|
|
7296
7415
|
Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
|
|
7297
7416
|
enumerable: true,
|
|
7298
|
-
get: function () { return
|
|
7417
|
+
get: function () { return chunkZBQEMIAV_js.DestructiveSyncNotAllowedError; }
|
|
7299
7418
|
});
|
|
7300
7419
|
Object.defineProperty(exports, "DuplicateError", {
|
|
7301
7420
|
enumerable: true,
|
|
7302
|
-
get: function () { return
|
|
7421
|
+
get: function () { return chunkZBQEMIAV_js.DuplicateError; }
|
|
7303
7422
|
});
|
|
7304
7423
|
Object.defineProperty(exports, "ForbiddenError", {
|
|
7305
7424
|
enumerable: true,
|
|
7306
|
-
get: function () { return
|
|
7425
|
+
get: function () { return chunkZBQEMIAV_js.ForbiddenError; }
|
|
7307
7426
|
});
|
|
7308
7427
|
Object.defineProperty(exports, "MemoryNotFoundError", {
|
|
7309
7428
|
enumerable: true,
|
|
7310
|
-
get: function () { return
|
|
7429
|
+
get: function () { return chunkZBQEMIAV_js.MemoryNotFoundError; }
|
|
7311
7430
|
});
|
|
7312
7431
|
Object.defineProperty(exports, "MigrationTimeoutError", {
|
|
7313
7432
|
enumerable: true,
|
|
7314
|
-
get: function () { return
|
|
7433
|
+
get: function () { return chunkZBQEMIAV_js.MigrationTimeoutError; }
|
|
7315
7434
|
});
|
|
7316
7435
|
Object.defineProperty(exports, "NotFoundError", {
|
|
7317
7436
|
enumerable: true,
|
|
7318
|
-
get: function () { return
|
|
7437
|
+
get: function () { return chunkZBQEMIAV_js.NotFoundError; }
|
|
7319
7438
|
});
|
|
7320
7439
|
Object.defineProperty(exports, "NotImplementedError", {
|
|
7321
7440
|
enumerable: true,
|
|
7322
|
-
get: function () { return
|
|
7441
|
+
get: function () { return chunkZBQEMIAV_js.NotImplementedError; }
|
|
7323
7442
|
});
|
|
7324
7443
|
Object.defineProperty(exports, "ObjectNotFoundError", {
|
|
7325
7444
|
enumerable: true,
|
|
7326
|
-
get: function () { return
|
|
7445
|
+
get: function () { return chunkZBQEMIAV_js.ObjectNotFoundError; }
|
|
7327
7446
|
});
|
|
7328
7447
|
Object.defineProperty(exports, "ObjectReferencedError", {
|
|
7329
7448
|
enumerable: true,
|
|
7330
|
-
get: function () { return
|
|
7449
|
+
get: function () { return chunkZBQEMIAV_js.ObjectReferencedError; }
|
|
7331
7450
|
});
|
|
7332
7451
|
Object.defineProperty(exports, "OrphanSystemAttributeError", {
|
|
7333
7452
|
enumerable: true,
|
|
7334
|
-
get: function () { return
|
|
7453
|
+
get: function () { return chunkZBQEMIAV_js.OrphanSystemAttributeError; }
|
|
7335
7454
|
});
|
|
7336
7455
|
Object.defineProperty(exports, "ProtectedResourceError", {
|
|
7337
7456
|
enumerable: true,
|
|
7338
|
-
get: function () { return
|
|
7457
|
+
get: function () { return chunkZBQEMIAV_js.ProtectedResourceError; }
|
|
7339
7458
|
});
|
|
7340
7459
|
Object.defineProperty(exports, "ProtectedRoleError", {
|
|
7341
7460
|
enumerable: true,
|
|
7342
|
-
get: function () { return
|
|
7461
|
+
get: function () { return chunkZBQEMIAV_js.ProtectedRoleError; }
|
|
7343
7462
|
});
|
|
7344
7463
|
Object.defineProperty(exports, "RecordNotFoundError", {
|
|
7345
7464
|
enumerable: true,
|
|
7346
|
-
get: function () { return
|
|
7465
|
+
get: function () { return chunkZBQEMIAV_js.RecordNotFoundError; }
|
|
7347
7466
|
});
|
|
7348
7467
|
Object.defineProperty(exports, "RecordReferencedError", {
|
|
7349
7468
|
enumerable: true,
|
|
7350
|
-
get: function () { return
|
|
7469
|
+
get: function () { return chunkZBQEMIAV_js.RecordReferencedError; }
|
|
7351
7470
|
});
|
|
7352
7471
|
Object.defineProperty(exports, "RepositoryError", {
|
|
7353
7472
|
enumerable: true,
|
|
7354
|
-
get: function () { return
|
|
7473
|
+
get: function () { return chunkZBQEMIAV_js.RepositoryError; }
|
|
7355
7474
|
});
|
|
7356
7475
|
Object.defineProperty(exports, "RoleNotFoundError", {
|
|
7357
7476
|
enumerable: true,
|
|
7358
|
-
get: function () { return
|
|
7477
|
+
get: function () { return chunkZBQEMIAV_js.RoleNotFoundError; }
|
|
7359
7478
|
});
|
|
7360
7479
|
Object.defineProperty(exports, "SchemaError", {
|
|
7361
7480
|
enumerable: true,
|
|
7362
|
-
get: function () { return
|
|
7481
|
+
get: function () { return chunkZBQEMIAV_js.SchemaError; }
|
|
7363
7482
|
});
|
|
7364
7483
|
Object.defineProperty(exports, "SchemaErrorCode", {
|
|
7365
7484
|
enumerable: true,
|
|
7366
|
-
get: function () { return
|
|
7485
|
+
get: function () { return chunkZBQEMIAV_js.SchemaErrorCode; }
|
|
7367
7486
|
});
|
|
7368
7487
|
Object.defineProperty(exports, "SearchBackendError", {
|
|
7369
7488
|
enumerable: true,
|
|
7370
|
-
get: function () { return
|
|
7489
|
+
get: function () { return chunkZBQEMIAV_js.SearchBackendError; }
|
|
7371
7490
|
});
|
|
7372
7491
|
Object.defineProperty(exports, "StorageError", {
|
|
7373
7492
|
enumerable: true,
|
|
7374
|
-
get: function () { return
|
|
7493
|
+
get: function () { return chunkZBQEMIAV_js.StorageError; }
|
|
7375
7494
|
});
|
|
7376
7495
|
Object.defineProperty(exports, "SyncCascadeError", {
|
|
7377
7496
|
enumerable: true,
|
|
7378
|
-
get: function () { return
|
|
7497
|
+
get: function () { return chunkZBQEMIAV_js.SyncCascadeError; }
|
|
7379
7498
|
});
|
|
7380
7499
|
Object.defineProperty(exports, "SyncConflictError", {
|
|
7381
7500
|
enumerable: true,
|
|
7382
|
-
get: function () { return
|
|
7501
|
+
get: function () { return chunkZBQEMIAV_js.SyncConflictError; }
|
|
7383
7502
|
});
|
|
7384
7503
|
Object.defineProperty(exports, "SyncError", {
|
|
7385
7504
|
enumerable: true,
|
|
7386
|
-
get: function () { return
|
|
7505
|
+
get: function () { return chunkZBQEMIAV_js.SyncError; }
|
|
7387
7506
|
});
|
|
7388
7507
|
Object.defineProperty(exports, "SystemEntityImmutableError", {
|
|
7389
7508
|
enumerable: true,
|
|
7390
|
-
get: function () { return
|
|
7509
|
+
get: function () { return chunkZBQEMIAV_js.SystemEntityImmutableError; }
|
|
7391
7510
|
});
|
|
7392
7511
|
Object.defineProperty(exports, "ValidationError", {
|
|
7393
7512
|
enumerable: true,
|
|
7394
|
-
get: function () { return
|
|
7395
|
-
});
|
|
7396
|
-
Object.defineProperty(exports, "createFormAttributeValidator", {
|
|
7397
|
-
enumerable: true,
|
|
7398
|
-
get: function () { return chunkTS3PJOMZ_js.createFormAttributeValidator; }
|
|
7513
|
+
get: function () { return chunkZBQEMIAV_js.ValidationError; }
|
|
7399
7514
|
});
|
|
7400
7515
|
Object.defineProperty(exports, "isAttributeInUseError", {
|
|
7401
7516
|
enumerable: true,
|
|
7402
|
-
get: function () { return
|
|
7517
|
+
get: function () { return chunkZBQEMIAV_js.isAttributeInUseError; }
|
|
7403
7518
|
});
|
|
7404
7519
|
Object.defineProperty(exports, "isNotFoundError", {
|
|
7405
7520
|
enumerable: true,
|
|
7406
|
-
get: function () { return
|
|
7521
|
+
get: function () { return chunkZBQEMIAV_js.isNotFoundError; }
|
|
7407
7522
|
});
|
|
7408
7523
|
Object.defineProperty(exports, "isObjectReferencedError", {
|
|
7409
7524
|
enumerable: true,
|
|
7410
|
-
get: function () { return
|
|
7525
|
+
get: function () { return chunkZBQEMIAV_js.isObjectReferencedError; }
|
|
7411
7526
|
});
|
|
7412
7527
|
Object.defineProperty(exports, "isProtectedResourceError", {
|
|
7413
7528
|
enumerable: true,
|
|
7414
|
-
get: function () { return
|
|
7529
|
+
get: function () { return chunkZBQEMIAV_js.isProtectedResourceError; }
|
|
7415
7530
|
});
|
|
7416
7531
|
Object.defineProperty(exports, "isRecordReferencedError", {
|
|
7417
7532
|
enumerable: true,
|
|
7418
|
-
get: function () { return
|
|
7533
|
+
get: function () { return chunkZBQEMIAV_js.isRecordReferencedError; }
|
|
7419
7534
|
});
|
|
7420
7535
|
Object.defineProperty(exports, "isSchemaError", {
|
|
7421
7536
|
enumerable: true,
|
|
7422
|
-
get: function () { return
|
|
7537
|
+
get: function () { return chunkZBQEMIAV_js.isSchemaError; }
|
|
7423
7538
|
});
|
|
7424
7539
|
Object.defineProperty(exports, "isValidationError", {
|
|
7425
7540
|
enumerable: true,
|
|
7426
|
-
get: function () { return
|
|
7427
|
-
});
|
|
7428
|
-
Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
|
|
7429
|
-
enumerable: true,
|
|
7430
|
-
get: function () { return chunkTS3PJOMZ_js.rejectUnknownAttributesOrThrow; }
|
|
7431
|
-
});
|
|
7432
|
-
Object.defineProperty(exports, "validateDraft", {
|
|
7433
|
-
enumerable: true,
|
|
7434
|
-
get: function () { return chunkTS3PJOMZ_js.validateDraft; }
|
|
7435
|
-
});
|
|
7436
|
-
Object.defineProperty(exports, "validateDraftOrThrow", {
|
|
7437
|
-
enumerable: true,
|
|
7438
|
-
get: function () { return chunkTS3PJOMZ_js.validateDraftOrThrow; }
|
|
7439
|
-
});
|
|
7440
|
-
Object.defineProperty(exports, "validateObject", {
|
|
7441
|
-
enumerable: true,
|
|
7442
|
-
get: function () { return chunkTS3PJOMZ_js.validateObject; }
|
|
7443
|
-
});
|
|
7444
|
-
Object.defineProperty(exports, "validateObjectOrThrow", {
|
|
7445
|
-
enumerable: true,
|
|
7446
|
-
get: function () { return chunkTS3PJOMZ_js.validateObjectOrThrow; }
|
|
7541
|
+
get: function () { return chunkZBQEMIAV_js.isValidationError; }
|
|
7447
7542
|
});
|
|
7448
7543
|
Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
|
|
7449
7544
|
enumerable: true,
|
|
@@ -7459,7 +7554,6 @@ exports.ALL_SYSTEM_RESOURCES = ALL_SYSTEM_RESOURCES;
|
|
|
7459
7554
|
exports.ATTRIBUTE_FILTER_OPERATORS = ATTRIBUTE_FILTER_OPERATORS;
|
|
7460
7555
|
exports.AUDIT_ACTIONS = AUDIT_ACTIONS;
|
|
7461
7556
|
exports.AUDIT_RESOURCE_TYPES = AUDIT_RESOURCE_TYPES;
|
|
7462
|
-
exports.AUTOFILL_ELIGIBLE_TYPES = AUTOFILL_ELIGIBLE_TYPES;
|
|
7463
7557
|
exports.ActivityTabConfig = ActivityTabConfig;
|
|
7464
7558
|
exports.AgentBuilder = AgentBuilder;
|
|
7465
7559
|
exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES;
|
|
@@ -7468,6 +7562,7 @@ exports.COMPUTED_FUNCTIONS = COMPUTED_FUNCTIONS;
|
|
|
7468
7562
|
exports.COMPUTED_FUNCTION_METADATA = COMPUTED_FUNCTION_METADATA;
|
|
7469
7563
|
exports.COMPUTED_FUNCTION_NAMES = COMPUTED_FUNCTION_NAMES;
|
|
7470
7564
|
exports.CONNECTOR_CALLBACK_PARAM = CONNECTOR_CALLBACK_PARAM;
|
|
7565
|
+
exports.CROSS_TYPE_CONVERSIONS = CROSS_TYPE_CONVERSIONS;
|
|
7471
7566
|
exports.ComputedFormulaCompileError = ComputedFormulaCompileError;
|
|
7472
7567
|
exports.CustomTabConfig = CustomTabConfig;
|
|
7473
7568
|
exports.DB_COLUMN_FIELDS = DB_COLUMN_FIELDS;
|
|
@@ -7526,6 +7621,7 @@ exports.SKILL_LIST_VIEW = SKILL_LIST_VIEW;
|
|
|
7526
7621
|
exports.SKILL_OBJECT = SKILL_OBJECT;
|
|
7527
7622
|
exports.SKILL_VIEW = SKILL_VIEW;
|
|
7528
7623
|
exports.STANDARD_SCHEMA_VENDOR = STANDARD_SCHEMA_VENDOR;
|
|
7624
|
+
exports.SYNONYM_ALIASES = SYNONYM_ALIASES;
|
|
7529
7625
|
exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES;
|
|
7530
7626
|
exports.SYSTEM_ATTRIBUTE_I18N_KEYS = SYSTEM_ATTRIBUTE_I18N_KEYS;
|
|
7531
7627
|
exports.SYSTEM_FIELD_NAMES = SYSTEM_FIELD_NAMES;
|
|
@@ -7563,6 +7659,8 @@ exports.evaluateComputedFormula = evaluateComputedFormula;
|
|
|
7563
7659
|
exports.evaluateComputedFormulaWithResult = evaluateComputedFormulaWithResult;
|
|
7564
7660
|
exports.evaluateFilterState = evaluateFilterState;
|
|
7565
7661
|
exports.extractAttributeNames = extractAttributeNames;
|
|
7662
|
+
exports.extractCurrencyFilterValue = extractCurrencyFilterValue;
|
|
7663
|
+
exports.extractFilterValue = extractFilterValue;
|
|
7566
7664
|
exports.extractValueRefs = extractValueRefs;
|
|
7567
7665
|
exports.flagRegistry = flagRegistry;
|
|
7568
7666
|
exports.form = form;
|
|
@@ -7634,6 +7732,7 @@ exports.matchesMime = matchesMime;
|
|
|
7634
7732
|
exports.multiselect = multiselect;
|
|
7635
7733
|
exports.normalizeDateValue = normalizeDateValue;
|
|
7636
7734
|
exports.normalizeForEdgeRpc = normalizeForEdgeRpc;
|
|
7735
|
+
exports.normalizeOperator = normalizeOperator;
|
|
7637
7736
|
exports.now = now;
|
|
7638
7737
|
exports.number = number;
|
|
7639
7738
|
exports.numberFlag = numberFlag;
|