@stndrds/schema 1.0.0-alpha.229 → 1.0.0-alpha.231
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-DZIol94T.d.ts → attributes-B4847Nul.d.ts} +14 -2
- package/dist/{attributes-C6pCxr5P.d.mts → attributes-BpMes5H_.d.mts} +14 -2
- package/dist/{chunk-MUGKKCY3.js → chunk-6SPNZSXS.js} +11 -3
- package/dist/{chunk-6CTUPVHH.mjs → chunk-FRWPIJDK.mjs} +10 -2
- package/dist/chunk-Q44QKLN4.mjs +43 -0
- package/dist/chunk-SI34M4IC.js +45 -0
- package/dist/{helpers-B3EPtA8t.d.ts → helpers-DsJff5r-.d.ts} +2 -2
- package/dist/{helpers-Ca3PIt9O.d.mts → helpers-ow7sORSi.d.mts} +2 -2
- package/dist/index.d.mts +147 -12
- package/dist/index.d.ts +147 -12
- package/dist/index.js +168 -71
- package/dist/index.mjs +95 -5
- package/dist/{types-CBV2_ikK.d.ts → types-C8nztuFF.d.ts} +1 -1
- package/dist/{types-DjGoodOL.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 +9 -9
- package/dist/validation/all.mjs +2 -2
- 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 +15 -15
- package/dist/validation/object/index.mjs +2 -2
- 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 +16 -3
- package/dist/validation/primitives/date.d.ts +16 -3
- package/dist/validation/primitives/date.js +2 -2
- package/dist/validation/primitives/date.mjs +1 -1
- 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 +2 -2
- package/dist/chunk-6I2R22CX.mjs +0 -8
- package/dist/chunk-O44XVGHE.js +0 -10
package/dist/index.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var chunkFRCDMQER_js = require('./chunk-FRCDMQER.js');
|
|
4
4
|
require('./chunk-PGERPYDR.js');
|
|
5
5
|
var chunkNSM2JPC3_js = require('./chunk-NSM2JPC3.js');
|
|
6
|
-
var
|
|
6
|
+
var chunk6SPNZSXS_js = require('./chunk-6SPNZSXS.js');
|
|
7
7
|
require('./chunk-5WATIVCA.js');
|
|
8
|
-
require('./chunk-
|
|
8
|
+
require('./chunk-SI34M4IC.js');
|
|
9
9
|
require('./chunk-YIP5FJ5H.js');
|
|
10
10
|
require('./chunk-SGSGREPG.js');
|
|
11
11
|
require('./chunk-EW5XR2X3.js');
|
|
@@ -806,6 +806,28 @@ function parseQualifiedAttribute(name) {
|
|
|
806
806
|
function buildQualifiedAttribute(root, property) {
|
|
807
807
|
return `${root}${QUALIFIED_SEPARATOR}${property}`;
|
|
808
808
|
}
|
|
809
|
+
|
|
810
|
+
// src/lib/date-value.ts
|
|
811
|
+
function isDateRangeValue(value) {
|
|
812
|
+
return typeof value === "object" && value !== null && typeof value.start === "string";
|
|
813
|
+
}
|
|
814
|
+
function normalizeDateValue(value, attr) {
|
|
815
|
+
if (value == null || value === "") return null;
|
|
816
|
+
if (isDateRangeValue(value)) {
|
|
817
|
+
return attr.endDate ? { start: value.start, end: value.end ?? null } : value.start;
|
|
818
|
+
}
|
|
819
|
+
if (typeof value === "string") {
|
|
820
|
+
return attr.endDate ? { start: value, end: null } : value;
|
|
821
|
+
}
|
|
822
|
+
return null;
|
|
823
|
+
}
|
|
824
|
+
function dateValueStart(value) {
|
|
825
|
+
if (typeof value === "string" && value !== "") return value;
|
|
826
|
+
if (isDateRangeValue(value) && value.start !== "") return value.start;
|
|
827
|
+
return null;
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
// src/format.ts
|
|
809
831
|
var EMPTY_VALUE_PLACEHOLDER = "\u2014";
|
|
810
832
|
function formatText(value) {
|
|
811
833
|
return String(value);
|
|
@@ -848,6 +870,10 @@ function formatCurrency(value, _attribute) {
|
|
|
848
870
|
return `${formattedValue} ${currency2.code}`;
|
|
849
871
|
}
|
|
850
872
|
function formatDate(value) {
|
|
873
|
+
if (isDateRangeValue(value)) {
|
|
874
|
+
const start = formatDate(value.start);
|
|
875
|
+
return value.end ? `${start} \u2192 ${formatDate(value.end)}` : start;
|
|
876
|
+
}
|
|
851
877
|
if (value instanceof Date) {
|
|
852
878
|
return value.toISOString().split("T")[0];
|
|
853
879
|
}
|
|
@@ -1108,6 +1134,46 @@ function extractAttributeNames(template) {
|
|
|
1108
1134
|
return names;
|
|
1109
1135
|
}
|
|
1110
1136
|
|
|
1137
|
+
// src/lib/relation-label.ts
|
|
1138
|
+
var PROPS_TOKEN_RE = /\{\{\s*props\./;
|
|
1139
|
+
function applyRelationProps(label, props, propertyDefs) {
|
|
1140
|
+
if (!PROPS_TOKEN_RE.test(label)) return label;
|
|
1141
|
+
const formattedProps = {};
|
|
1142
|
+
const defMap = new Map(propertyDefs?.map((d) => [d.name, d]));
|
|
1143
|
+
if (props) {
|
|
1144
|
+
for (const [key, value] of Object.entries(props)) {
|
|
1145
|
+
if (value == null) continue;
|
|
1146
|
+
const def = defMap.get(key);
|
|
1147
|
+
if (def) {
|
|
1148
|
+
const formatted = formatAttributeValue(value, def);
|
|
1149
|
+
formattedProps[key] = formatted === EMPTY_VALUE_PLACEHOLDER ? "" : formatted;
|
|
1150
|
+
} else {
|
|
1151
|
+
formattedProps[key] = value;
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
const result = renderLabelExpression(label, { props: formattedProps }, "");
|
|
1156
|
+
return result.replace(/\(\s*\)/g, "").replace(/\[\s*\]/g, "").replace(/\s*[-—|:]\s*$/g, "").replace(/\s{2,}/g, " ").trim();
|
|
1157
|
+
}
|
|
1158
|
+
function extractValueRefs(value) {
|
|
1159
|
+
if (value === null || value === void 0 || value === "") return [];
|
|
1160
|
+
if (typeof value === "string") return [{ id: value }];
|
|
1161
|
+
if (Array.isArray(value)) return value.flatMap((item) => extractValueRefs(item));
|
|
1162
|
+
if (typeof value === "object" && "id" in value) {
|
|
1163
|
+
const obj = value;
|
|
1164
|
+
if (typeof obj.id === "string") return [{ id: obj.id, props: obj.props }];
|
|
1165
|
+
}
|
|
1166
|
+
return [];
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
// src/lib/user-display.ts
|
|
1170
|
+
function getUserDisplayName(user2) {
|
|
1171
|
+
if (user2.firstName || user2.lastName) {
|
|
1172
|
+
return [user2.firstName, user2.lastName].filter(Boolean).join(" ");
|
|
1173
|
+
}
|
|
1174
|
+
return user2.email?.split("@")[0] ?? "";
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1111
1177
|
// src/constants/attribute-columns.ts
|
|
1112
1178
|
var DB_COLUMN_FIELDS = /* @__PURE__ */ new Set([
|
|
1113
1179
|
"id",
|
|
@@ -1208,7 +1274,10 @@ var DEFAULT_ROLE_PERMISSIONS = {
|
|
|
1208
1274
|
system: [
|
|
1209
1275
|
{ target: "people", actions: ["read"] },
|
|
1210
1276
|
{ target: "workspace", actions: ["read"] },
|
|
1211
|
-
{ target: "connectors", actions: MEMBER_CONNECTOR_ACTIONS }
|
|
1277
|
+
{ target: "connectors", actions: MEMBER_CONNECTOR_ACTIONS },
|
|
1278
|
+
// Everyday file usage; delete stays with owner/custom roles. Boot-time
|
|
1279
|
+
// additive merge back-fills existing tenants when this list grows.
|
|
1280
|
+
{ target: "files", actions: ["read", "create", "update"] }
|
|
1212
1281
|
],
|
|
1213
1282
|
object: [{ target: "*", actions: ALL_ACTIONS2 }]
|
|
1214
1283
|
},
|
|
@@ -1346,7 +1415,7 @@ var BaseAttributeBuilder = class {
|
|
|
1346
1415
|
* @see https://standardschema.dev/
|
|
1347
1416
|
*/
|
|
1348
1417
|
get "~standard"() {
|
|
1349
|
-
const zodSchema =
|
|
1418
|
+
const zodSchema = chunk6SPNZSXS_js.createAttributeValidator(this.build());
|
|
1350
1419
|
return createStandardSchemaProps(zodSchema);
|
|
1351
1420
|
}
|
|
1352
1421
|
constructor(type, name, label) {
|
|
@@ -1605,6 +1674,20 @@ var DateAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
1605
1674
|
this.attr.maxDate = value;
|
|
1606
1675
|
return this;
|
|
1607
1676
|
}
|
|
1677
|
+
/** Values become { start, end } ranges; flips the inferred value type. */
|
|
1678
|
+
endDate() {
|
|
1679
|
+
this.attr.endDate = true;
|
|
1680
|
+
return this.asPhantomState();
|
|
1681
|
+
}
|
|
1682
|
+
/** Values carry a time component (stored as full ISO UTC datetimes). */
|
|
1683
|
+
includeTime() {
|
|
1684
|
+
this.attr.includeTime = true;
|
|
1685
|
+
return this;
|
|
1686
|
+
}
|
|
1687
|
+
timeFormat(value) {
|
|
1688
|
+
this.attr.timeFormat = value;
|
|
1689
|
+
return this;
|
|
1690
|
+
}
|
|
1608
1691
|
required() {
|
|
1609
1692
|
this.setRequired(true);
|
|
1610
1693
|
return this.asRequiredState();
|
|
@@ -2119,9 +2202,9 @@ var RollupAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2119
2202
|
if (fn === "original" && targetType !== void 0 && targetType !== "select" && targetType !== "status" && targetType !== "multiselect") {
|
|
2120
2203
|
const relation2 = this.attr.relationAttribute ?? "relation";
|
|
2121
2204
|
const target = this.attr.targetAttribute ?? "field";
|
|
2122
|
-
throw new
|
|
2205
|
+
throw new chunk6SPNZSXS_js.SchemaError(
|
|
2123
2206
|
`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}").`,
|
|
2124
|
-
|
|
2207
|
+
chunk6SPNZSXS_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2125
2208
|
);
|
|
2126
2209
|
}
|
|
2127
2210
|
return super.build();
|
|
@@ -2617,7 +2700,7 @@ var ObjectBuilder = class {
|
|
|
2617
2700
|
* @see https://standardschema.dev/
|
|
2618
2701
|
*/
|
|
2619
2702
|
get "~standard"() {
|
|
2620
|
-
const zodSchema =
|
|
2703
|
+
const zodSchema = chunk6SPNZSXS_js.createObjectValidator(this.build());
|
|
2621
2704
|
return createStandardSchemaProps(zodSchema);
|
|
2622
2705
|
}
|
|
2623
2706
|
/**
|
|
@@ -2831,26 +2914,26 @@ var ObjectBuilder = class {
|
|
|
2831
2914
|
throw new Error("[ObjectBuilder] Missing required field: label");
|
|
2832
2915
|
}
|
|
2833
2916
|
if (!this._labelExpression) {
|
|
2834
|
-
throw new
|
|
2917
|
+
throw new chunk6SPNZSXS_js.SchemaError(
|
|
2835
2918
|
`Object "${this.obj.name}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,
|
|
2836
|
-
|
|
2919
|
+
chunk6SPNZSXS_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2837
2920
|
);
|
|
2838
2921
|
}
|
|
2839
2922
|
const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
|
|
2840
2923
|
if (!labelResult.success) {
|
|
2841
2924
|
const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
|
|
2842
|
-
throw new
|
|
2925
|
+
throw new chunk6SPNZSXS_js.SchemaError(
|
|
2843
2926
|
`Invalid labelExpression for "${this.obj.name}": ${errorMsg}`,
|
|
2844
|
-
|
|
2927
|
+
chunk6SPNZSXS_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2845
2928
|
);
|
|
2846
2929
|
}
|
|
2847
2930
|
if (this._embeddingExpression !== void 0) {
|
|
2848
2931
|
const embeddingResult = labelExpressionSchema.safeParse(this._embeddingExpression);
|
|
2849
2932
|
if (!embeddingResult.success) {
|
|
2850
2933
|
const errorMsg = embeddingResult.error.issues[0]?.message ?? "Invalid embeddingExpression";
|
|
2851
|
-
throw new
|
|
2934
|
+
throw new chunk6SPNZSXS_js.SchemaError(
|
|
2852
2935
|
`Invalid embeddingExpression for "${this.obj.name}": ${errorMsg}`,
|
|
2853
|
-
|
|
2936
|
+
chunk6SPNZSXS_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2854
2937
|
);
|
|
2855
2938
|
}
|
|
2856
2939
|
}
|
|
@@ -2891,7 +2974,7 @@ var ObjectBuilder = class {
|
|
|
2891
2974
|
objectNameSchema.parse(name);
|
|
2892
2975
|
} catch (error) {
|
|
2893
2976
|
if (error instanceof z3__default.default.ZodError) {
|
|
2894
|
-
throw new
|
|
2977
|
+
throw new chunk6SPNZSXS_js.SchemaError(error.issues[0].message, chunk6SPNZSXS_js.SchemaErrorCode.INVALID_OBJECT_NAME);
|
|
2895
2978
|
}
|
|
2896
2979
|
throw error;
|
|
2897
2980
|
}
|
|
@@ -2902,7 +2985,7 @@ function object(config) {
|
|
|
2902
2985
|
}
|
|
2903
2986
|
function validatePresetStructure(presetId, nodes, depth) {
|
|
2904
2987
|
const fail = (message, detail) => {
|
|
2905
|
-
throw new
|
|
2988
|
+
throw new chunk6SPNZSXS_js.ValidationError(message, [
|
|
2906
2989
|
{ path: ["documentLayout", "presets", presetId], message: detail }
|
|
2907
2990
|
]);
|
|
2908
2991
|
};
|
|
@@ -6901,7 +6984,7 @@ function assertOperatorForType(operator, type, context) {
|
|
|
6901
6984
|
if (!ops?.includes(operator)) {
|
|
6902
6985
|
const validList = ops?.length ? ops.join(", ") : "(no operators registered for this type)";
|
|
6903
6986
|
const summary = `Operator "${operator}" is not valid for ${context} type "${type}". Valid operators: ${validList}.`;
|
|
6904
|
-
throw new
|
|
6987
|
+
throw new chunk6SPNZSXS_js.ValidationError(summary, [
|
|
6905
6988
|
{
|
|
6906
6989
|
path: ["operator"],
|
|
6907
6990
|
message: summary
|
|
@@ -6917,7 +7000,7 @@ function assertRelativeDateValue(rule) {
|
|
|
6917
7000
|
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);
|
|
6918
7001
|
if (!valid) {
|
|
6919
7002
|
const m = `Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }`;
|
|
6920
|
-
throw new
|
|
7003
|
+
throw new chunk6SPNZSXS_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
6921
7004
|
}
|
|
6922
7005
|
}
|
|
6923
7006
|
function assertDynamicValueForAttribute(rule, attrType) {
|
|
@@ -6925,34 +7008,34 @@ function assertDynamicValueForAttribute(rule, attrType) {
|
|
|
6925
7008
|
const v = rule.value;
|
|
6926
7009
|
if (v.dynamic === "actor" && attrType !== "user") {
|
|
6927
7010
|
const m = `actor token (@me) is only valid on user attributes, not "${attrType}"`;
|
|
6928
|
-
throw new
|
|
7011
|
+
throw new chunk6SPNZSXS_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
6929
7012
|
}
|
|
6930
7013
|
if (v.dynamic === "date" && attrType !== "date") {
|
|
6931
7014
|
const m = `date token (@today/@now) is only valid on date attributes, not "${attrType}"`;
|
|
6932
|
-
throw new
|
|
7015
|
+
throw new chunk6SPNZSXS_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
6933
7016
|
}
|
|
6934
7017
|
}
|
|
6935
7018
|
function validateQualifiedRule(rule, context) {
|
|
6936
7019
|
const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
|
|
6937
7020
|
const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
|
|
6938
7021
|
if (!(rootAttr || systemOps)) {
|
|
6939
|
-
throw new
|
|
7022
|
+
throw new chunk6SPNZSXS_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
|
|
6940
7023
|
{ path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
|
|
6941
7024
|
]);
|
|
6942
7025
|
}
|
|
6943
7026
|
if (rule.quantifier !== void 0 && !rule.property) {
|
|
6944
7027
|
const m = `quantifier is only valid on qualified edge rules (set "property")`;
|
|
6945
|
-
throw new
|
|
7028
|
+
throw new chunk6SPNZSXS_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
|
|
6946
7029
|
}
|
|
6947
7030
|
if (!rootAttr) {
|
|
6948
7031
|
if (rule.property) {
|
|
6949
|
-
throw new
|
|
7032
|
+
throw new chunk6SPNZSXS_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
|
|
6950
7033
|
{ path: ["property"], message: `"${rule.attribute}" is a system column, not a reference` }
|
|
6951
7034
|
]);
|
|
6952
7035
|
}
|
|
6953
7036
|
if (!systemOps.includes(rule.operator)) {
|
|
6954
7037
|
const summary = `Operator "${rule.operator}" is not valid for system attribute "${rule.attribute}". Valid operators: ${systemOps.join(", ")}.`;
|
|
6955
|
-
throw new
|
|
7038
|
+
throw new chunk6SPNZSXS_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
6956
7039
|
}
|
|
6957
7040
|
assertRelativeDateValue(rule);
|
|
6958
7041
|
return;
|
|
@@ -6963,25 +7046,25 @@ function validateQualifiedRule(rule, context) {
|
|
|
6963
7046
|
if (!ops.includes(rule.operator)) {
|
|
6964
7047
|
const validList = ops.length ? ops.join(", ") : "(not filterable)";
|
|
6965
7048
|
const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
|
|
6966
|
-
throw new
|
|
7049
|
+
throw new chunk6SPNZSXS_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
6967
7050
|
}
|
|
6968
7051
|
assertRelativeDateValue(rule);
|
|
6969
7052
|
return;
|
|
6970
7053
|
}
|
|
6971
7054
|
if (!REFERENCE_TYPES.has(rootAttr.type)) {
|
|
6972
|
-
throw new
|
|
7055
|
+
throw new chunk6SPNZSXS_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
|
|
6973
7056
|
{ path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
|
|
6974
7057
|
]);
|
|
6975
7058
|
}
|
|
6976
7059
|
const propSchema = rootAttr.properties;
|
|
6977
7060
|
if (!propSchema) {
|
|
6978
|
-
throw new
|
|
7061
|
+
throw new chunk6SPNZSXS_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
|
|
6979
7062
|
{ path: ["property"], message: `"${rule.attribute}" has no qualifyWith` }
|
|
6980
7063
|
]);
|
|
6981
7064
|
}
|
|
6982
7065
|
const propDef = propSchema.definitions.find((p) => p.name === rule.property);
|
|
6983
7066
|
if (!propDef) {
|
|
6984
|
-
throw new
|
|
7067
|
+
throw new chunk6SPNZSXS_js.ValidationError(
|
|
6985
7068
|
`Property "${rule.property}" not defined on "${rule.attribute}".qualifyWith()`,
|
|
6986
7069
|
[{ path: ["property"], message: `Unknown property: ${rule.property}` }]
|
|
6987
7070
|
);
|
|
@@ -6990,6 +7073,13 @@ function validateQualifiedRule(rule, context) {
|
|
|
6990
7073
|
assertRelativeDateValue(rule);
|
|
6991
7074
|
}
|
|
6992
7075
|
|
|
7076
|
+
// src/connectors/types.ts
|
|
7077
|
+
var CONNECTOR_CALLBACK_PARAM = {
|
|
7078
|
+
status: "connector_status",
|
|
7079
|
+
error: "connector_error",
|
|
7080
|
+
provider: "connector_provider"
|
|
7081
|
+
};
|
|
7082
|
+
|
|
6993
7083
|
Object.defineProperty(exports, "asTenantId", {
|
|
6994
7084
|
enumerable: true,
|
|
6995
7085
|
get: function () { return chunkFRCDMQER_js.asTenantId; }
|
|
@@ -7024,179 +7114,179 @@ Object.defineProperty(exports, "parseComputedFormula", {
|
|
|
7024
7114
|
});
|
|
7025
7115
|
Object.defineProperty(exports, "AccessDeniedError", {
|
|
7026
7116
|
enumerable: true,
|
|
7027
|
-
get: function () { return
|
|
7117
|
+
get: function () { return chunk6SPNZSXS_js.AccessDeniedError; }
|
|
7028
7118
|
});
|
|
7029
7119
|
Object.defineProperty(exports, "AttributeInUseError", {
|
|
7030
7120
|
enumerable: true,
|
|
7031
|
-
get: function () { return
|
|
7121
|
+
get: function () { return chunk6SPNZSXS_js.AttributeInUseError; }
|
|
7032
7122
|
});
|
|
7033
7123
|
Object.defineProperty(exports, "AttributeNotFoundError", {
|
|
7034
7124
|
enumerable: true,
|
|
7035
|
-
get: function () { return
|
|
7125
|
+
get: function () { return chunk6SPNZSXS_js.AttributeNotFoundError; }
|
|
7036
7126
|
});
|
|
7037
7127
|
Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
|
|
7038
7128
|
enumerable: true,
|
|
7039
|
-
get: function () { return
|
|
7129
|
+
get: function () { return chunk6SPNZSXS_js.ChangeTypeNotSupportedError; }
|
|
7040
7130
|
});
|
|
7041
7131
|
Object.defineProperty(exports, "ConcurrentModificationError", {
|
|
7042
7132
|
enumerable: true,
|
|
7043
|
-
get: function () { return
|
|
7133
|
+
get: function () { return chunk6SPNZSXS_js.ConcurrentModificationError; }
|
|
7044
7134
|
});
|
|
7045
7135
|
Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
|
|
7046
7136
|
enumerable: true,
|
|
7047
|
-
get: function () { return
|
|
7137
|
+
get: function () { return chunk6SPNZSXS_js.DestructiveSyncNotAllowedError; }
|
|
7048
7138
|
});
|
|
7049
7139
|
Object.defineProperty(exports, "DuplicateError", {
|
|
7050
7140
|
enumerable: true,
|
|
7051
|
-
get: function () { return
|
|
7141
|
+
get: function () { return chunk6SPNZSXS_js.DuplicateError; }
|
|
7052
7142
|
});
|
|
7053
7143
|
Object.defineProperty(exports, "ForbiddenError", {
|
|
7054
7144
|
enumerable: true,
|
|
7055
|
-
get: function () { return
|
|
7145
|
+
get: function () { return chunk6SPNZSXS_js.ForbiddenError; }
|
|
7056
7146
|
});
|
|
7057
7147
|
Object.defineProperty(exports, "MemoryNotFoundError", {
|
|
7058
7148
|
enumerable: true,
|
|
7059
|
-
get: function () { return
|
|
7149
|
+
get: function () { return chunk6SPNZSXS_js.MemoryNotFoundError; }
|
|
7060
7150
|
});
|
|
7061
7151
|
Object.defineProperty(exports, "MigrationTimeoutError", {
|
|
7062
7152
|
enumerable: true,
|
|
7063
|
-
get: function () { return
|
|
7153
|
+
get: function () { return chunk6SPNZSXS_js.MigrationTimeoutError; }
|
|
7064
7154
|
});
|
|
7065
7155
|
Object.defineProperty(exports, "NotFoundError", {
|
|
7066
7156
|
enumerable: true,
|
|
7067
|
-
get: function () { return
|
|
7157
|
+
get: function () { return chunk6SPNZSXS_js.NotFoundError; }
|
|
7068
7158
|
});
|
|
7069
7159
|
Object.defineProperty(exports, "NotImplementedError", {
|
|
7070
7160
|
enumerable: true,
|
|
7071
|
-
get: function () { return
|
|
7161
|
+
get: function () { return chunk6SPNZSXS_js.NotImplementedError; }
|
|
7072
7162
|
});
|
|
7073
7163
|
Object.defineProperty(exports, "ObjectNotFoundError", {
|
|
7074
7164
|
enumerable: true,
|
|
7075
|
-
get: function () { return
|
|
7165
|
+
get: function () { return chunk6SPNZSXS_js.ObjectNotFoundError; }
|
|
7076
7166
|
});
|
|
7077
7167
|
Object.defineProperty(exports, "ObjectReferencedError", {
|
|
7078
7168
|
enumerable: true,
|
|
7079
|
-
get: function () { return
|
|
7169
|
+
get: function () { return chunk6SPNZSXS_js.ObjectReferencedError; }
|
|
7080
7170
|
});
|
|
7081
7171
|
Object.defineProperty(exports, "OrphanSystemAttributeError", {
|
|
7082
7172
|
enumerable: true,
|
|
7083
|
-
get: function () { return
|
|
7173
|
+
get: function () { return chunk6SPNZSXS_js.OrphanSystemAttributeError; }
|
|
7084
7174
|
});
|
|
7085
7175
|
Object.defineProperty(exports, "ProtectedResourceError", {
|
|
7086
7176
|
enumerable: true,
|
|
7087
|
-
get: function () { return
|
|
7177
|
+
get: function () { return chunk6SPNZSXS_js.ProtectedResourceError; }
|
|
7088
7178
|
});
|
|
7089
7179
|
Object.defineProperty(exports, "ProtectedRoleError", {
|
|
7090
7180
|
enumerable: true,
|
|
7091
|
-
get: function () { return
|
|
7181
|
+
get: function () { return chunk6SPNZSXS_js.ProtectedRoleError; }
|
|
7092
7182
|
});
|
|
7093
7183
|
Object.defineProperty(exports, "RecordNotFoundError", {
|
|
7094
7184
|
enumerable: true,
|
|
7095
|
-
get: function () { return
|
|
7185
|
+
get: function () { return chunk6SPNZSXS_js.RecordNotFoundError; }
|
|
7096
7186
|
});
|
|
7097
7187
|
Object.defineProperty(exports, "RecordReferencedError", {
|
|
7098
7188
|
enumerable: true,
|
|
7099
|
-
get: function () { return
|
|
7189
|
+
get: function () { return chunk6SPNZSXS_js.RecordReferencedError; }
|
|
7100
7190
|
});
|
|
7101
7191
|
Object.defineProperty(exports, "RepositoryError", {
|
|
7102
7192
|
enumerable: true,
|
|
7103
|
-
get: function () { return
|
|
7193
|
+
get: function () { return chunk6SPNZSXS_js.RepositoryError; }
|
|
7104
7194
|
});
|
|
7105
7195
|
Object.defineProperty(exports, "RoleNotFoundError", {
|
|
7106
7196
|
enumerable: true,
|
|
7107
|
-
get: function () { return
|
|
7197
|
+
get: function () { return chunk6SPNZSXS_js.RoleNotFoundError; }
|
|
7108
7198
|
});
|
|
7109
7199
|
Object.defineProperty(exports, "SchemaError", {
|
|
7110
7200
|
enumerable: true,
|
|
7111
|
-
get: function () { return
|
|
7201
|
+
get: function () { return chunk6SPNZSXS_js.SchemaError; }
|
|
7112
7202
|
});
|
|
7113
7203
|
Object.defineProperty(exports, "SchemaErrorCode", {
|
|
7114
7204
|
enumerable: true,
|
|
7115
|
-
get: function () { return
|
|
7205
|
+
get: function () { return chunk6SPNZSXS_js.SchemaErrorCode; }
|
|
7116
7206
|
});
|
|
7117
7207
|
Object.defineProperty(exports, "SearchBackendError", {
|
|
7118
7208
|
enumerable: true,
|
|
7119
|
-
get: function () { return
|
|
7209
|
+
get: function () { return chunk6SPNZSXS_js.SearchBackendError; }
|
|
7120
7210
|
});
|
|
7121
7211
|
Object.defineProperty(exports, "StorageError", {
|
|
7122
7212
|
enumerable: true,
|
|
7123
|
-
get: function () { return
|
|
7213
|
+
get: function () { return chunk6SPNZSXS_js.StorageError; }
|
|
7124
7214
|
});
|
|
7125
7215
|
Object.defineProperty(exports, "SyncCascadeError", {
|
|
7126
7216
|
enumerable: true,
|
|
7127
|
-
get: function () { return
|
|
7217
|
+
get: function () { return chunk6SPNZSXS_js.SyncCascadeError; }
|
|
7128
7218
|
});
|
|
7129
7219
|
Object.defineProperty(exports, "SyncConflictError", {
|
|
7130
7220
|
enumerable: true,
|
|
7131
|
-
get: function () { return
|
|
7221
|
+
get: function () { return chunk6SPNZSXS_js.SyncConflictError; }
|
|
7132
7222
|
});
|
|
7133
7223
|
Object.defineProperty(exports, "SyncError", {
|
|
7134
7224
|
enumerable: true,
|
|
7135
|
-
get: function () { return
|
|
7225
|
+
get: function () { return chunk6SPNZSXS_js.SyncError; }
|
|
7136
7226
|
});
|
|
7137
7227
|
Object.defineProperty(exports, "SystemEntityImmutableError", {
|
|
7138
7228
|
enumerable: true,
|
|
7139
|
-
get: function () { return
|
|
7229
|
+
get: function () { return chunk6SPNZSXS_js.SystemEntityImmutableError; }
|
|
7140
7230
|
});
|
|
7141
7231
|
Object.defineProperty(exports, "ValidationError", {
|
|
7142
7232
|
enumerable: true,
|
|
7143
|
-
get: function () { return
|
|
7233
|
+
get: function () { return chunk6SPNZSXS_js.ValidationError; }
|
|
7144
7234
|
});
|
|
7145
7235
|
Object.defineProperty(exports, "computeRecordStatus", {
|
|
7146
7236
|
enumerable: true,
|
|
7147
|
-
get: function () { return
|
|
7237
|
+
get: function () { return chunk6SPNZSXS_js.computeRecordStatus; }
|
|
7148
7238
|
});
|
|
7149
7239
|
Object.defineProperty(exports, "createFormAttributeValidator", {
|
|
7150
7240
|
enumerable: true,
|
|
7151
|
-
get: function () { return
|
|
7241
|
+
get: function () { return chunk6SPNZSXS_js.createFormAttributeValidator; }
|
|
7152
7242
|
});
|
|
7153
7243
|
Object.defineProperty(exports, "isAttributeInUseError", {
|
|
7154
7244
|
enumerable: true,
|
|
7155
|
-
get: function () { return
|
|
7245
|
+
get: function () { return chunk6SPNZSXS_js.isAttributeInUseError; }
|
|
7156
7246
|
});
|
|
7157
7247
|
Object.defineProperty(exports, "isNotFoundError", {
|
|
7158
7248
|
enumerable: true,
|
|
7159
|
-
get: function () { return
|
|
7249
|
+
get: function () { return chunk6SPNZSXS_js.isNotFoundError; }
|
|
7160
7250
|
});
|
|
7161
7251
|
Object.defineProperty(exports, "isObjectReferencedError", {
|
|
7162
7252
|
enumerable: true,
|
|
7163
|
-
get: function () { return
|
|
7253
|
+
get: function () { return chunk6SPNZSXS_js.isObjectReferencedError; }
|
|
7164
7254
|
});
|
|
7165
7255
|
Object.defineProperty(exports, "isProtectedResourceError", {
|
|
7166
7256
|
enumerable: true,
|
|
7167
|
-
get: function () { return
|
|
7257
|
+
get: function () { return chunk6SPNZSXS_js.isProtectedResourceError; }
|
|
7168
7258
|
});
|
|
7169
7259
|
Object.defineProperty(exports, "isRecordReferencedError", {
|
|
7170
7260
|
enumerable: true,
|
|
7171
|
-
get: function () { return
|
|
7261
|
+
get: function () { return chunk6SPNZSXS_js.isRecordReferencedError; }
|
|
7172
7262
|
});
|
|
7173
7263
|
Object.defineProperty(exports, "isSchemaError", {
|
|
7174
7264
|
enumerable: true,
|
|
7175
|
-
get: function () { return
|
|
7265
|
+
get: function () { return chunk6SPNZSXS_js.isSchemaError; }
|
|
7176
7266
|
});
|
|
7177
7267
|
Object.defineProperty(exports, "isValidationError", {
|
|
7178
7268
|
enumerable: true,
|
|
7179
|
-
get: function () { return
|
|
7269
|
+
get: function () { return chunk6SPNZSXS_js.isValidationError; }
|
|
7180
7270
|
});
|
|
7181
7271
|
Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
|
|
7182
7272
|
enumerable: true,
|
|
7183
|
-
get: function () { return
|
|
7273
|
+
get: function () { return chunk6SPNZSXS_js.rejectUnknownAttributesOrThrow; }
|
|
7184
7274
|
});
|
|
7185
7275
|
Object.defineProperty(exports, "validateDraft", {
|
|
7186
7276
|
enumerable: true,
|
|
7187
|
-
get: function () { return
|
|
7277
|
+
get: function () { return chunk6SPNZSXS_js.validateDraft; }
|
|
7188
7278
|
});
|
|
7189
7279
|
Object.defineProperty(exports, "validateDraftOrThrow", {
|
|
7190
7280
|
enumerable: true,
|
|
7191
|
-
get: function () { return
|
|
7281
|
+
get: function () { return chunk6SPNZSXS_js.validateDraftOrThrow; }
|
|
7192
7282
|
});
|
|
7193
7283
|
Object.defineProperty(exports, "validateObject", {
|
|
7194
7284
|
enumerable: true,
|
|
7195
|
-
get: function () { return
|
|
7285
|
+
get: function () { return chunk6SPNZSXS_js.validateObject; }
|
|
7196
7286
|
});
|
|
7197
7287
|
Object.defineProperty(exports, "validateObjectOrThrow", {
|
|
7198
7288
|
enumerable: true,
|
|
7199
|
-
get: function () { return
|
|
7289
|
+
get: function () { return chunk6SPNZSXS_js.validateObjectOrThrow; }
|
|
7200
7290
|
});
|
|
7201
7291
|
Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
|
|
7202
7292
|
enumerable: true,
|
|
@@ -7218,6 +7308,7 @@ exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES;
|
|
|
7218
7308
|
exports.COMPUTED_FUNCTIONS = COMPUTED_FUNCTIONS;
|
|
7219
7309
|
exports.COMPUTED_FUNCTION_METADATA = COMPUTED_FUNCTION_METADATA;
|
|
7220
7310
|
exports.COMPUTED_FUNCTION_NAMES = COMPUTED_FUNCTION_NAMES;
|
|
7311
|
+
exports.CONNECTOR_CALLBACK_PARAM = CONNECTOR_CALLBACK_PARAM;
|
|
7221
7312
|
exports.ComputedFormulaCompileError = ComputedFormulaCompileError;
|
|
7222
7313
|
exports.CustomTabConfig = CustomTabConfig;
|
|
7223
7314
|
exports.DB_COLUMN_FIELDS = DB_COLUMN_FIELDS;
|
|
@@ -7285,6 +7376,7 @@ exports.USER_STATUSES = USER_STATUSES;
|
|
|
7285
7376
|
exports.accessLevelToActions = accessLevelToActions;
|
|
7286
7377
|
exports.actionsToAccessLevel = actionsToAccessLevel;
|
|
7287
7378
|
exports.applyPipes = applyPipes;
|
|
7379
|
+
exports.applyRelationProps = applyRelationProps;
|
|
7288
7380
|
exports.assertAcyclicComputedDependencies = assertAcyclicComputedDependencies;
|
|
7289
7381
|
exports.assertLiveStreamCursor = assertLiveStreamCursor;
|
|
7290
7382
|
exports.booleanFlag = booleanFlag;
|
|
@@ -7300,6 +7392,7 @@ exports.createStandardSchemaProps = createStandardSchemaProps;
|
|
|
7300
7392
|
exports.currency = currency;
|
|
7301
7393
|
exports.currentActor = currentActor;
|
|
7302
7394
|
exports.date = date;
|
|
7395
|
+
exports.dateValueStart = dateValueStart;
|
|
7303
7396
|
exports.detailView = detailView;
|
|
7304
7397
|
exports.document = document;
|
|
7305
7398
|
exports.evaluateComputedAst = evaluateComputedAst;
|
|
@@ -7307,6 +7400,7 @@ exports.evaluateComputedFormula = evaluateComputedFormula;
|
|
|
7307
7400
|
exports.evaluateComputedFormulaWithResult = evaluateComputedFormulaWithResult;
|
|
7308
7401
|
exports.evaluateFilterState = evaluateFilterState;
|
|
7309
7402
|
exports.extractAttributeNames = extractAttributeNames;
|
|
7403
|
+
exports.extractValueRefs = extractValueRefs;
|
|
7310
7404
|
exports.file = file;
|
|
7311
7405
|
exports.flagRegistry = flagRegistry;
|
|
7312
7406
|
exports.form = form;
|
|
@@ -7326,6 +7420,7 @@ exports.getOperatorPolarity = getOperatorPolarity;
|
|
|
7326
7420
|
exports.getRollupFilterOperators = getRollupFilterOperators2;
|
|
7327
7421
|
exports.getSystemAttributeI18nKey = getSystemAttributeI18nKey;
|
|
7328
7422
|
exports.getSystemAttributeList = getSystemAttributeList;
|
|
7423
|
+
exports.getUserDisplayName = getUserDisplayName;
|
|
7329
7424
|
exports.group = group;
|
|
7330
7425
|
exports.hasOptions = hasOptions;
|
|
7331
7426
|
exports.inferInverseCardinality = inferInverseCardinality;
|
|
@@ -7337,6 +7432,7 @@ exports.isAttributeSearchable = isAttributeSearchable;
|
|
|
7337
7432
|
exports.isAttributeSortable = isAttributeSortable2;
|
|
7338
7433
|
exports.isBilateralRelation = isBilateralRelation;
|
|
7339
7434
|
exports.isComputedFunctionName = isComputedFunctionName;
|
|
7435
|
+
exports.isDateRangeValue = isDateRangeValue;
|
|
7340
7436
|
exports.isDefaultRole = isDefaultRole;
|
|
7341
7437
|
exports.isDetailView = isDetailView;
|
|
7342
7438
|
exports.isDocumentAttribute = isDocumentAttribute;
|
|
@@ -7373,6 +7469,7 @@ exports.location = location;
|
|
|
7373
7469
|
exports.matchesMime = matchesMime;
|
|
7374
7470
|
exports.multiselect = multiselect;
|
|
7375
7471
|
exports.normaliseDocumentSlots = normaliseDocumentSlots;
|
|
7472
|
+
exports.normalizeDateValue = normalizeDateValue;
|
|
7376
7473
|
exports.normalizeForEdgeRpc = normalizeForEdgeRpc;
|
|
7377
7474
|
exports.now = now;
|
|
7378
7475
|
exports.number = number;
|