@stndrds/schema 1.0.0-alpha.277 → 1.0.0-alpha.278
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/{all-D-E8v5yo.d.mts → all-BSeTO0fj.d.mts} +20 -3
- package/dist/{all-D5SkjRst.d.ts → all-DoYgTt64.d.ts} +20 -3
- package/dist/{attributes-_b3Db8vT.d.ts → attributes-Da15v-sw.d.ts} +1 -1
- package/dist/{attributes-lBLiOIY3.d.mts → attributes-VsYmgI0A.d.mts} +1 -1
- package/dist/{chunk-XQEDMB6B.mjs → chunk-5PLJHYSL.mjs} +24 -4
- package/dist/{chunk-KKR6I3YV.js → chunk-DEHBEFGO.js} +3 -3
- package/dist/{chunk-FMLZHHWB.js → chunk-NELH4AXI.js} +18 -20
- package/dist/{chunk-VVYIFBFQ.mjs → chunk-PQEOIDXD.mjs} +1 -1
- package/dist/{chunk-F32XOFSP.js → chunk-QMAVKX3Y.js} +55 -34
- package/dist/{chunk-K4UER3DU.mjs → chunk-V2WJFUZW.mjs} +14 -2
- package/dist/{chunk-PSCSTHUB.mjs → chunk-YCWGUPSI.mjs} +15 -18
- package/dist/{chunk-RYAQOR7M.js → chunk-ZBWTAKZO.js} +14 -2
- package/dist/exceptions.d.mts +14 -4
- package/dist/exceptions.d.ts +14 -4
- package/dist/exceptions.js +39 -39
- package/dist/exceptions.mjs +1 -1
- package/dist/{helpers-C1VVEAOO.d.mts → helpers-BYhVd4Gw.d.mts} +3 -3
- package/dist/{helpers-vQ6kp8ET.d.ts → helpers-D2cL7hI2.d.ts} +3 -3
- package/dist/index-CixTESyP.d.mts +790 -0
- package/dist/index-dJ6fAwcG.d.ts +790 -0
- package/dist/index.d.mts +2228 -393
- package/dist/index.d.ts +2228 -393
- package/dist/index.js +569 -328
- package/dist/index.mjs +362 -142
- package/dist/{migrations-BXd2ZGfM.d.mts → migrations-Dy9K8kJ0.d.mts} +1 -1
- package/dist/{migrations-DcuJZ8qO.d.ts → migrations-hbZHm8Tm.d.ts} +1 -1
- package/dist/{objects-BCaBw2ef.d.mts → objects-Cvt2T2Q5.d.mts} +19 -3
- package/dist/{objects-A1ED9af-.d.ts → objects-_6M6ngH3.d.ts} +19 -3
- package/dist/{types-DNz3ITS-.d.mts → types-CX7S3Fhh.d.mts} +1 -1
- package/dist/{types-DqLi1tx1.d.ts → types-DseDsbMu.d.ts} +1 -1
- package/dist/validation/all.d.mts +7 -7
- package/dist/validation/all.d.ts +7 -7
- package/dist/validation/all.js +33 -33
- package/dist/validation/all.mjs +8 -8
- 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 +4 -4
- package/dist/validation/config/index.d.ts +4 -4
- package/dist/validation/config/index.js +11 -11
- package/dist/validation/config/index.mjs +2 -2
- 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 -5
- package/dist/validation/object/index.d.ts +5 -5
- package/dist/validation/object/index.js +18 -18
- 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/package.json +2 -2
- package/dist/index-AJeEKoy6.d.ts +0 -2203
- package/dist/index-ApHE8c1J.d.mts +0 -2203
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunkQ4SZAMJT_js = require('./chunk-Q4SZAMJT.js');
|
|
4
|
+
var chunkEEH4XQ7W_js = require('./chunk-EEH4XQ7W.js');
|
|
3
5
|
var chunkEW5XR2X3_js = require('./chunk-EW5XR2X3.js');
|
|
4
6
|
var chunkQWKLQRBX_js = require('./chunk-QWKLQRBX.js');
|
|
5
7
|
var chunkKNGWHQLR_js = require('./chunk-KNGWHQLR.js');
|
|
6
|
-
var chunkHTSTPTNZ_js = require('./chunk-HTSTPTNZ.js');
|
|
7
|
-
var chunkV2UA2D4E_js = require('./chunk-V2UA2D4E.js');
|
|
8
8
|
var chunk5WATIVCA_js = require('./chunk-5WATIVCA.js');
|
|
9
9
|
var chunkSI34M4IC_js = require('./chunk-SI34M4IC.js');
|
|
10
10
|
var chunkYIP5FJ5H_js = require('./chunk-YIP5FJ5H.js');
|
|
11
11
|
var chunkZPFOKBIN_js = require('./chunk-ZPFOKBIN.js');
|
|
12
|
-
var
|
|
12
|
+
var chunkZBWTAKZO_js = require('./chunk-ZBWTAKZO.js');
|
|
13
|
+
var chunkHTSTPTNZ_js = require('./chunk-HTSTPTNZ.js');
|
|
14
|
+
var chunkV2UA2D4E_js = require('./chunk-V2UA2D4E.js');
|
|
13
15
|
var chunkACKMC6FL_js = require('./chunk-ACKMC6FL.js');
|
|
14
16
|
var chunkE6JUYGJX_js = require('./chunk-E6JUYGJX.js');
|
|
15
|
-
var chunkQ4SZAMJT_js = require('./chunk-Q4SZAMJT.js');
|
|
16
|
-
var chunkEEH4XQ7W_js = require('./chunk-EEH4XQ7W.js');
|
|
17
17
|
var chunkYKWSHBT5_js = require('./chunk-YKWSHBT5.js');
|
|
18
18
|
var zod = require('zod');
|
|
19
19
|
|
|
@@ -81,6 +81,12 @@ function createFormAttributeValidator(attr, messages = chunkYKWSHBT5_js.DEFAULT_
|
|
|
81
81
|
function isNullishOrEmptyString(value) {
|
|
82
82
|
return value === null || value === void 0 || value === "";
|
|
83
83
|
}
|
|
84
|
+
function isValuePresent(value) {
|
|
85
|
+
if (value === null || value === void 0) return false;
|
|
86
|
+
if (typeof value === "string") return value.trim() !== "";
|
|
87
|
+
if (Array.isArray(value)) return value.length > 0;
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
84
90
|
|
|
85
91
|
// src/validation/object/object-validator.ts
|
|
86
92
|
var objectValidatorCache = /* @__PURE__ */ new WeakMap();
|
|
@@ -91,12 +97,12 @@ function createObjectValidator(objectDef) {
|
|
|
91
97
|
const shape = {};
|
|
92
98
|
for (const attr of objectDef.attributes) {
|
|
93
99
|
const validator = createAttributeValidator(attr);
|
|
94
|
-
if (attr.required
|
|
95
|
-
shape[attr.name] = validator.refine(
|
|
100
|
+
if (attr.required) {
|
|
101
|
+
shape[attr.name] = validator.refine(isValuePresent, {
|
|
96
102
|
message: chunkYKWSHBT5_js.DEFAULT_VALIDATION_MESSAGES.required(attr)
|
|
97
103
|
});
|
|
98
104
|
} else {
|
|
99
|
-
shape[attr.name] =
|
|
105
|
+
shape[attr.name] = withEmptyToNull(validator);
|
|
100
106
|
}
|
|
101
107
|
}
|
|
102
108
|
const schema = zod.z.object(shape).passthrough();
|
|
@@ -156,7 +162,7 @@ function validateObjectOrThrow(objectDef, data) {
|
|
|
156
162
|
if (!result.success) {
|
|
157
163
|
const errors = result.errors ?? [];
|
|
158
164
|
const detail = errors.map((err) => `${err.path.join(".")}: ${err.message}`).join("\n") || "Unknown validation error";
|
|
159
|
-
throw new
|
|
165
|
+
throw new chunkZBWTAKZO_js.ValidationError(
|
|
160
166
|
`Validation failed for ${objectDef.label}:
|
|
161
167
|
${detail}`,
|
|
162
168
|
errors.map((err) => ({ path: err.path, message: err.message }))
|
|
@@ -183,7 +189,7 @@ function validateDraftOrThrow(objectDef, data) {
|
|
|
183
189
|
if (!result.success) {
|
|
184
190
|
const errors = result.errors ?? [];
|
|
185
191
|
const detail = errors.map((err) => `${err.path.join(".")}: ${err.message}`).join("\n") || "Unknown validation error";
|
|
186
|
-
throw new
|
|
192
|
+
throw new chunkZBWTAKZO_js.ValidationError(
|
|
187
193
|
`Draft validation failed for ${objectDef.label}:
|
|
188
194
|
${detail}`,
|
|
189
195
|
errors.map((err) => ({ path: err.path, message: err.message }))
|
|
@@ -195,21 +201,12 @@ function rejectUnknownAttributesOrThrow(objectDef, data) {
|
|
|
195
201
|
const knownNames = new Set(objectDef.attributes.map((a) => a.name));
|
|
196
202
|
const unknownKeys = Object.keys(data).filter((key) => !knownNames.has(key));
|
|
197
203
|
if (unknownKeys.length > 0) {
|
|
198
|
-
throw new
|
|
204
|
+
throw new chunkZBWTAKZO_js.ValidationError(
|
|
199
205
|
`Unknown attribute${unknownKeys.length > 1 ? "s" : ""} for ${objectDef.label}: ${unknownKeys.join(", ")}`,
|
|
200
206
|
unknownKeys.map((key) => ({ path: [key], message: "Unknown attribute" }))
|
|
201
207
|
);
|
|
202
208
|
}
|
|
203
209
|
}
|
|
204
|
-
function isValuePresent(value) {
|
|
205
|
-
if (value === void 0 || value === null) {
|
|
206
|
-
return false;
|
|
207
|
-
}
|
|
208
|
-
if (typeof value === "string" && value.trim() === "") {
|
|
209
|
-
return false;
|
|
210
|
-
}
|
|
211
|
-
return true;
|
|
212
|
-
}
|
|
213
210
|
function getMissingRequiredAttributes(objectDef, data) {
|
|
214
211
|
const missing = [];
|
|
215
212
|
for (const attr of objectDef.attributes) {
|
|
@@ -235,6 +232,7 @@ exports.createObjectValidator = createObjectValidator;
|
|
|
235
232
|
exports.getMissingRequiredAttributes = getMissingRequiredAttributes;
|
|
236
233
|
exports.isNullishOrEmptyString = isNullishOrEmptyString;
|
|
237
234
|
exports.isRecordComplete = isRecordComplete;
|
|
235
|
+
exports.isValuePresent = isValuePresent;
|
|
238
236
|
exports.rejectUnknownAttributesOrThrow = rejectUnknownAttributesOrThrow;
|
|
239
237
|
exports.validateAttribute = validateAttribute;
|
|
240
238
|
exports.validateDraft = validateDraft;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkDEHBEFGO_js = require('./chunk-DEHBEFGO.js');
|
|
4
|
+
var chunkZBWTAKZO_js = require('./chunk-ZBWTAKZO.js');
|
|
5
5
|
var zod = require('zod');
|
|
6
6
|
|
|
7
7
|
// src/types/system-attributes.ts
|
|
@@ -500,7 +500,7 @@ function canonicalizeFilterValue(rule, effectiveType) {
|
|
|
500
500
|
const message = `Filter on a currency attribute expected a numeric amount, received ${JSON.stringify(
|
|
501
501
|
value
|
|
502
502
|
)}`;
|
|
503
|
-
throw new
|
|
503
|
+
throw new chunkZBWTAKZO_js.ValidationError(message, [{ path: ["value"], message }]);
|
|
504
504
|
}
|
|
505
505
|
function hasCurrencyAmount(value) {
|
|
506
506
|
if (typeof value !== "object") return true;
|
|
@@ -661,13 +661,13 @@ function resolveCanonicalOperator(rawOperator, effectiveType) {
|
|
|
661
661
|
const replacement = REMOVED_OPERATOR_REPLACEMENTS[rawOperator];
|
|
662
662
|
if (replacement) {
|
|
663
663
|
const m = `Unknown filter operator "${rawOperator}" \u2014 use ${replacement}`;
|
|
664
|
-
throw new
|
|
664
|
+
throw new chunkZBWTAKZO_js.ValidationError(m, [{ path: ["operator"], message: m }]);
|
|
665
665
|
}
|
|
666
666
|
const normalized = normalizeOperator(rawOperator);
|
|
667
667
|
const membership = SUBSTRING_TO_MEMBERSHIP[normalized];
|
|
668
668
|
if (membership && SET_MEMBERSHIP_TYPES.has(effectiveType)) {
|
|
669
669
|
const m = `Operator "${normalized}" is not valid for type "${effectiveType}" \u2014 use "${membership}"`;
|
|
670
|
-
throw new
|
|
670
|
+
throw new chunkZBWTAKZO_js.ValidationError(m, [{ path: ["operator"], message: m }]);
|
|
671
671
|
}
|
|
672
672
|
return normalized;
|
|
673
673
|
}
|
|
@@ -677,7 +677,7 @@ function assertOperatorForType(operator, type, context) {
|
|
|
677
677
|
if (!ops?.includes(normalized)) {
|
|
678
678
|
const validList = ops?.length ? ops.join(", ") : "(no operators registered for this type)";
|
|
679
679
|
const summary = `Operator "${operator}" is not valid for ${context} type "${type}". Valid operators: ${validList}.`;
|
|
680
|
-
throw new
|
|
680
|
+
throw new chunkZBWTAKZO_js.ValidationError(summary, [
|
|
681
681
|
{
|
|
682
682
|
path: ["operator"],
|
|
683
683
|
message: summary
|
|
@@ -690,7 +690,7 @@ function assertRelativeDateValue(rule) {
|
|
|
690
690
|
if (rule.operator !== "is_within") return;
|
|
691
691
|
if (!isRelativeDateValue(rule.value)) {
|
|
692
692
|
const m = `Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }`;
|
|
693
|
-
throw new
|
|
693
|
+
throw new chunkZBWTAKZO_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
694
694
|
}
|
|
695
695
|
}
|
|
696
696
|
function applyCanonicalForm(rule, operator, effectiveType) {
|
|
@@ -703,11 +703,11 @@ function assertDynamicValueForAttribute(rule, attrType) {
|
|
|
703
703
|
const v = rule.value;
|
|
704
704
|
if (v.dynamic === "actor" && attrType !== "user") {
|
|
705
705
|
const m = `actor token (@me) is only valid on user attributes, not "${attrType}"`;
|
|
706
|
-
throw new
|
|
706
|
+
throw new chunkZBWTAKZO_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
707
707
|
}
|
|
708
708
|
if (v.dynamic === "date" && attrType !== "date") {
|
|
709
709
|
const m = `date token (@today/@now) is only valid on date attributes, not "${attrType}"`;
|
|
710
|
-
throw new
|
|
710
|
+
throw new chunkZBWTAKZO_js.ValidationError(m, [{ path: ["value"], message: m }]);
|
|
711
711
|
}
|
|
712
712
|
}
|
|
713
713
|
function collectQualifiedRuleIssues(rule, context) {
|
|
@@ -715,7 +715,7 @@ function collectQualifiedRuleIssues(rule, context) {
|
|
|
715
715
|
validateQualifiedRule({ ...rule }, context);
|
|
716
716
|
return [];
|
|
717
717
|
} catch (error) {
|
|
718
|
-
if (!(error instanceof
|
|
718
|
+
if (!(error instanceof chunkZBWTAKZO_js.ValidationError)) throw error;
|
|
719
719
|
return error.errors.map((issue) => ({ ...issue, path: [...issue.path] }));
|
|
720
720
|
}
|
|
721
721
|
}
|
|
@@ -723,17 +723,17 @@ function validateQualifiedRule(rule, context) {
|
|
|
723
723
|
const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
|
|
724
724
|
const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
|
|
725
725
|
if (!(rootAttr || systemOps)) {
|
|
726
|
-
throw new
|
|
726
|
+
throw new chunkZBWTAKZO_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
|
|
727
727
|
{ path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
|
|
728
728
|
]);
|
|
729
729
|
}
|
|
730
730
|
if (rule.quantifier !== void 0 && !rule.property) {
|
|
731
731
|
const m = `quantifier is only valid on qualified edge rules (set "property")`;
|
|
732
|
-
throw new
|
|
732
|
+
throw new chunkZBWTAKZO_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
|
|
733
733
|
}
|
|
734
734
|
if (!rootAttr) {
|
|
735
735
|
if (rule.property) {
|
|
736
|
-
throw new
|
|
736
|
+
throw new chunkZBWTAKZO_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
|
|
737
737
|
{ path: ["property"], message: `"${rule.attribute}" is a system column, not a reference` }
|
|
738
738
|
]);
|
|
739
739
|
}
|
|
@@ -741,7 +741,7 @@ function validateQualifiedRule(rule, context) {
|
|
|
741
741
|
const normalizedOperator2 = resolveCanonicalOperator(rule.operator, effectiveType);
|
|
742
742
|
if (!systemOps.includes(normalizedOperator2)) {
|
|
743
743
|
const summary = `Operator "${rule.operator}" is not valid for system attribute "${rule.attribute}". Valid operators: ${systemOps.join(", ")}.`;
|
|
744
|
-
throw new
|
|
744
|
+
throw new chunkZBWTAKZO_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
745
745
|
}
|
|
746
746
|
applyCanonicalForm(rule, normalizedOperator2, effectiveType);
|
|
747
747
|
return;
|
|
@@ -753,25 +753,25 @@ function validateQualifiedRule(rule, context) {
|
|
|
753
753
|
if (!ops.includes(normalizedOperator2)) {
|
|
754
754
|
const validList = ops.length ? ops.join(", ") : "(not filterable)";
|
|
755
755
|
const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
|
|
756
|
-
throw new
|
|
756
|
+
throw new chunkZBWTAKZO_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
|
|
757
757
|
}
|
|
758
758
|
applyCanonicalForm(rule, normalizedOperator2, resolveEffectiveFilterType(rootAttr));
|
|
759
759
|
return;
|
|
760
760
|
}
|
|
761
761
|
if (!REFERENCE_TYPES.has(rootAttr.type)) {
|
|
762
|
-
throw new
|
|
762
|
+
throw new chunkZBWTAKZO_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
|
|
763
763
|
{ path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
|
|
764
764
|
]);
|
|
765
765
|
}
|
|
766
766
|
const propSchema = rootAttr.properties;
|
|
767
767
|
if (!propSchema) {
|
|
768
|
-
throw new
|
|
768
|
+
throw new chunkZBWTAKZO_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
|
|
769
769
|
{ path: ["property"], message: `"${rule.attribute}" has no qualifyWith` }
|
|
770
770
|
]);
|
|
771
771
|
}
|
|
772
772
|
const propDef = propSchema.definitions.find((p) => p.name === rule.property);
|
|
773
773
|
if (!propDef) {
|
|
774
|
-
throw new
|
|
774
|
+
throw new chunkZBWTAKZO_js.ValidationError(
|
|
775
775
|
`Property "${rule.property}" not defined on "${rule.attribute}".qualifyWith()`,
|
|
776
776
|
[{ path: ["property"], message: `Unknown property: ${rule.property}` }]
|
|
777
777
|
);
|
|
@@ -783,6 +783,15 @@ function validateQualifiedRule(rule, context) {
|
|
|
783
783
|
// src/types/objects.ts
|
|
784
784
|
var RESOURCE_VISIBILITIES = ["workspace", "private"];
|
|
785
785
|
var LIST_VIEW_TAB_VISIBILITIES = ["all", ...RESOURCE_VISIBILITIES];
|
|
786
|
+
function parseResourceVisibility(value) {
|
|
787
|
+
if (typeof value === "string" && RESOURCE_VISIBILITIES.includes(value)) {
|
|
788
|
+
return value;
|
|
789
|
+
}
|
|
790
|
+
throw new chunkZBWTAKZO_js.ValidationError(
|
|
791
|
+
`visibility must be one of: ${RESOURCE_VISIBILITIES.join(", ")} (received: ${String(value)})`,
|
|
792
|
+
[]
|
|
793
|
+
);
|
|
794
|
+
}
|
|
786
795
|
var SYSTEM_FIELD_NAMES = [
|
|
787
796
|
"id",
|
|
788
797
|
"createdAt",
|
|
@@ -812,12 +821,12 @@ var RESERVED_OBJECT_NAMES = ["skill"];
|
|
|
812
821
|
// src/validators/view-config.schema.ts
|
|
813
822
|
var createModeSchema = zod.z.enum(["redirect", "inline", "peek"]);
|
|
814
823
|
var nonEmptyStringArraySchema = zod.z.array(zod.z.string()).min(1);
|
|
815
|
-
var columnsSchema = zod.z.array(zod.z.string()).max(
|
|
824
|
+
var columnsSchema = zod.z.array(zod.z.string()).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.columnsPerTab);
|
|
816
825
|
var sortRuleSchema = zod.z.object({
|
|
817
826
|
attribute: zod.z.string(),
|
|
818
827
|
direction: zod.z.enum(["asc", "desc"])
|
|
819
828
|
}).strict();
|
|
820
|
-
var sortsSchema = zod.z.array(sortRuleSchema).max(
|
|
829
|
+
var sortsSchema = zod.z.array(sortRuleSchema).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.sortsPerTab);
|
|
821
830
|
var relativeDateValueSchema = zod.z.object({
|
|
822
831
|
amount: zod.z.number(),
|
|
823
832
|
unit: zod.z.enum(["days", "weeks", "months", "years"]),
|
|
@@ -841,6 +850,10 @@ var dynamicFilterValueSchema = zod.z.discriminatedUnion("dynamic", [
|
|
|
841
850
|
anchor: zod.z.enum(["today", "now"])
|
|
842
851
|
}).strict()
|
|
843
852
|
]);
|
|
853
|
+
var dayMonthValueSchema = zod.z.object({
|
|
854
|
+
month: zod.z.number(),
|
|
855
|
+
day: zod.z.number()
|
|
856
|
+
}).strict();
|
|
844
857
|
var filterValueSchema = zod.z.union([
|
|
845
858
|
zod.z.string(),
|
|
846
859
|
zod.z.number(),
|
|
@@ -849,6 +862,7 @@ var filterValueSchema = zod.z.union([
|
|
|
849
862
|
relativeDateValueSchema,
|
|
850
863
|
currencyFilterValueSchema,
|
|
851
864
|
phoneFilterValueSchema,
|
|
865
|
+
dayMonthValueSchema,
|
|
852
866
|
dynamicFilterValueSchema,
|
|
853
867
|
zod.z.null()
|
|
854
868
|
]);
|
|
@@ -886,7 +900,7 @@ var filterRuleSchema = zod.z.object({
|
|
|
886
900
|
operator: filterOperatorSchema,
|
|
887
901
|
value: filterValueSchema
|
|
888
902
|
}).strict();
|
|
889
|
-
var filterRulesSchema = zod.z.array(filterRuleSchema).max(
|
|
903
|
+
var filterRulesSchema = zod.z.array(filterRuleSchema).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.filterRulesPerTab);
|
|
890
904
|
var filterStateSchema = zod.z.object({
|
|
891
905
|
combinator: zod.z.enum(["and", "or"]),
|
|
892
906
|
rules: filterRulesSchema
|
|
@@ -970,13 +984,13 @@ var baseGroupShape = {
|
|
|
970
984
|
var fieldGroupWriteSchema = zod.z.object({
|
|
971
985
|
...baseGroupShape,
|
|
972
986
|
type: zod.z.literal("fields"),
|
|
973
|
-
fields: zod.z.array(fieldSchema).max(
|
|
987
|
+
fields: zod.z.array(fieldSchema).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.fieldsPerGroup)
|
|
974
988
|
}).strict();
|
|
975
989
|
var relationGroupSchema = zod.z.object({
|
|
976
990
|
...baseGroupShape,
|
|
977
991
|
type: zod.z.literal("relation"),
|
|
978
992
|
attribute: zod.z.string(),
|
|
979
|
-
columns: zod.z.array(zod.z.string()).max(
|
|
993
|
+
columns: zod.z.array(zod.z.string()).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.columnsPerTab).optional(),
|
|
980
994
|
readOnly: zod.z.boolean().optional(),
|
|
981
995
|
allowCreate: zod.z.boolean().optional()
|
|
982
996
|
}).strict();
|
|
@@ -985,13 +999,13 @@ var baseTabShape = {
|
|
|
985
999
|
id: zod.z.string(),
|
|
986
1000
|
name: zod.z.string(),
|
|
987
1001
|
label: zod.z.string(),
|
|
988
|
-
icon:
|
|
1002
|
+
icon: chunkDEHBEFGO_js.iconNameSchema.optional(),
|
|
989
1003
|
order: zod.z.number().optional()
|
|
990
1004
|
};
|
|
991
1005
|
var formTabWriteSchema = zod.z.object({
|
|
992
1006
|
...baseTabShape,
|
|
993
1007
|
type: zod.z.literal("form"),
|
|
994
|
-
groups: zod.z.array(groupWriteSchema).min(1).max(
|
|
1008
|
+
groups: zod.z.array(groupWriteSchema).min(1).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.groupsPerFormTab),
|
|
995
1009
|
formColumns: zod.z.union([zod.z.literal(1), zod.z.literal(2), zod.z.literal(3)]).optional(),
|
|
996
1010
|
density: zod.z.enum(["compact", "comfortable", "spacious"]).optional()
|
|
997
1011
|
}).strict().superRefine((tab, ctx) => {
|
|
@@ -1000,13 +1014,13 @@ var formTabWriteSchema = zod.z.object({
|
|
|
1000
1014
|
(count, group) => count + (group.type === "fields" ? group.fields.length : 0),
|
|
1001
1015
|
0
|
|
1002
1016
|
);
|
|
1003
|
-
if (totalFields >
|
|
1017
|
+
if (totalFields > chunkDEHBEFGO_js.SCHEMA_LIMITS.fieldsPerFormTab) {
|
|
1004
1018
|
ctx.addIssue({
|
|
1005
1019
|
code: "too_big",
|
|
1006
1020
|
origin: "array",
|
|
1007
|
-
maximum:
|
|
1021
|
+
maximum: chunkDEHBEFGO_js.SCHEMA_LIMITS.fieldsPerFormTab,
|
|
1008
1022
|
inclusive: true,
|
|
1009
|
-
message: `A form tab can contain at most ${
|
|
1023
|
+
message: `A form tab can contain at most ${chunkDEHBEFGO_js.SCHEMA_LIMITS.fieldsPerFormTab} fields`,
|
|
1010
1024
|
path: ["groups"]
|
|
1011
1025
|
});
|
|
1012
1026
|
}
|
|
@@ -1208,7 +1222,12 @@ var formsTabSchema = zod.z.object({
|
|
|
1208
1222
|
var emailsTabSchema = zod.z.object({
|
|
1209
1223
|
...baseTabShape,
|
|
1210
1224
|
type: zod.z.literal("emails"),
|
|
1211
|
-
emailAttributeIds: zod.z.array(zod.z.string()).max(
|
|
1225
|
+
emailAttributeIds: zod.z.array(zod.z.string()).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.emailAttributesPerTab)
|
|
1226
|
+
}).strict();
|
|
1227
|
+
var meetingsTabSchema = zod.z.object({
|
|
1228
|
+
...baseTabShape,
|
|
1229
|
+
type: zod.z.literal("meetings"),
|
|
1230
|
+
emailAttributeIds: zod.z.array(zod.z.string()).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.emailAttributesPerTab)
|
|
1212
1231
|
}).strict();
|
|
1213
1232
|
var detailTabSchema = zod.z.discriminatedUnion("type", [
|
|
1214
1233
|
formTabWriteSchema,
|
|
@@ -1218,12 +1237,13 @@ var detailTabSchema = zod.z.discriminatedUnion("type", [
|
|
|
1218
1237
|
richtextTabSchema,
|
|
1219
1238
|
documentsTabSchema,
|
|
1220
1239
|
formsTabSchema,
|
|
1221
|
-
emailsTabSchema
|
|
1240
|
+
emailsTabSchema,
|
|
1241
|
+
meetingsTabSchema
|
|
1222
1242
|
]);
|
|
1223
1243
|
var listTabCommonShape = {
|
|
1224
1244
|
id: zod.z.string(),
|
|
1225
1245
|
label: zod.z.string(),
|
|
1226
|
-
icon:
|
|
1246
|
+
icon: chunkDEHBEFGO_js.iconNameSchema.optional(),
|
|
1227
1247
|
default: zod.z.boolean().optional(),
|
|
1228
1248
|
// Which records the tab scopes to. `"all"` is the default and means "impose
|
|
1229
1249
|
// no scope" — the mandatory viewer predicate alone decides, so the tab shows
|
|
@@ -1257,7 +1277,7 @@ var listViewTabSchema = zod.z.discriminatedUnion("layout", [
|
|
|
1257
1277
|
]);
|
|
1258
1278
|
var _listViewConfigSchema = zod.z.object({
|
|
1259
1279
|
defaultFilters: filterGroupSchema.optional(),
|
|
1260
|
-
tabs: zod.z.array(listViewTabSchema).min(1).max(
|
|
1280
|
+
tabs: zod.z.array(listViewTabSchema).min(1).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.tabsPerView)
|
|
1261
1281
|
}).strict().superRefine((config, ctx) => {
|
|
1262
1282
|
addDuplicateIdIssues(config.tabs, ctx, ["tabs"]);
|
|
1263
1283
|
let hasDefault = false;
|
|
@@ -1274,9 +1294,9 @@ var _listViewConfigSchema = zod.z.object({
|
|
|
1274
1294
|
});
|
|
1275
1295
|
});
|
|
1276
1296
|
var _detailViewConfigSchema = zod.z.object({
|
|
1277
|
-
tabs: zod.z.array(detailTabSchema).min(1).max(
|
|
1297
|
+
tabs: zod.z.array(detailTabSchema).min(1).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.tabsPerView),
|
|
1278
1298
|
sidePanel: zod.z.object({
|
|
1279
|
-
attributes: zod.z.array(zod.z.string()).max(
|
|
1299
|
+
attributes: zod.z.array(zod.z.string()).max(chunkDEHBEFGO_js.SCHEMA_LIMITS.sidePanelAttributes),
|
|
1280
1300
|
width: zod.z.number().optional()
|
|
1281
1301
|
}).strict().optional()
|
|
1282
1302
|
}).strict().superRefine((config, ctx) => {
|
|
@@ -1350,6 +1370,7 @@ exports.normalizeFilterRule = normalizeFilterRule;
|
|
|
1350
1370
|
exports.normalizeForEdgeRpc = normalizeForEdgeRpc;
|
|
1351
1371
|
exports.normalizeOperator = normalizeOperator;
|
|
1352
1372
|
exports.now = now;
|
|
1373
|
+
exports.parseResourceVisibility = parseResourceVisibility;
|
|
1353
1374
|
exports.parseViewConfig = parseViewConfig;
|
|
1354
1375
|
exports.relationSourceSchema = relationSourceSchema;
|
|
1355
1376
|
exports.resolveEffectiveFilterType = resolveEffectiveFilterType;
|
|
@@ -24,6 +24,13 @@ var SchemaErrorCode = {
|
|
|
24
24
|
// Connectors
|
|
25
25
|
CONNECTOR_AUTH_FAILED: "SCHEMA_CONNECTOR_AUTH_FAILED",
|
|
26
26
|
CONNECTOR_INVALID_STATE: "SCHEMA_CONNECTOR_INVALID_STATE",
|
|
27
|
+
/**
|
|
28
|
+
* The provider issued tokens and the flow failed AFTER that — resolving the
|
|
29
|
+
* connected address. Distinct from CONNECTOR_AUTH_FAILED because the user is
|
|
30
|
+
* left holding a real grant: consent happened, and it may still be live on the
|
|
31
|
+
* provider side even though no connection row exists here.
|
|
32
|
+
*/
|
|
33
|
+
CONNECTOR_GRANT_ORPHANED: "SCHEMA_CONNECTOR_GRANT_ORPHANED",
|
|
27
34
|
// Sync
|
|
28
35
|
SYNC_FAILED: "SCHEMA_SYNC_FAILED",
|
|
29
36
|
SYNC_CONFLICT: "SCHEMA_SYNC_CONFLICT",
|
|
@@ -77,6 +84,10 @@ var SchemaErrorCode = {
|
|
|
77
84
|
// Tenant / context
|
|
78
85
|
TENANT_CONTEXT_MISSING: "TENANT_CONTEXT_MISSING",
|
|
79
86
|
FEATURE_FLAGS_CONTEXT: "FEATURE_FLAGS_CONTEXT",
|
|
87
|
+
// Realtime delivery — stable codes shared by runtime and transport adapters
|
|
88
|
+
REALTIME_RATE_LIMITED: "REALTIME_RATE_LIMITED",
|
|
89
|
+
REALTIME_DELIVERY_FAILED: "REALTIME_DELIVERY_FAILED",
|
|
90
|
+
REALTIME_SUBSCRIPTION_FAILED: "REALTIME_SUBSCRIPTION_FAILED",
|
|
80
91
|
// Agents
|
|
81
92
|
AGENT_UNKNOWN: "AGENT_UNKNOWN",
|
|
82
93
|
AGENT_DEPTH_EXCEEDED: "AGENT_DEPTH_EXCEEDED",
|
|
@@ -91,8 +102,7 @@ var SchemaErrorCode = {
|
|
|
91
102
|
AGENT_COMPACTION_IMPOSSIBLE: "AGENT_COMPACTION_IMPOSSIBLE",
|
|
92
103
|
AGENT_COMPACTION_TIMEOUT: "AGENT_COMPACTION_TIMEOUT",
|
|
93
104
|
AGENT_LEASE_HELD: "AGENT_LEASE_HELD",
|
|
94
|
-
|
|
95
|
-
AGENT_MISSION_INCOMPLETE: "AGENT_MISSION_INCOMPLETE",
|
|
105
|
+
AGENT_WORK_MODE_REQUIRED: "AGENT_WORK_MODE_REQUIRED",
|
|
96
106
|
// AI / LLM
|
|
97
107
|
AI_UNKNOWN: "AI_UNKNOWN",
|
|
98
108
|
AI_USAGE_LIMIT_EXCEEDED: "AI_USAGE_LIMIT_EXCEEDED",
|
|
@@ -120,6 +130,8 @@ var SchemaErrorCode = {
|
|
|
120
130
|
// Email provider sync — transport failures from Gmail / Microsoft Graph
|
|
121
131
|
EMAIL_PROVIDER_API_FAILED: "EMAIL_PROVIDER_API_FAILED",
|
|
122
132
|
EMAIL_BATCH_ITEM_FAILED: "EMAIL_BATCH_ITEM_FAILED",
|
|
133
|
+
// Calendar provider sync — transport failures from Google Calendar / Microsoft Graph
|
|
134
|
+
CALENDAR_PROVIDER_API_FAILED: "CALENDAR_PROVIDER_API_FAILED",
|
|
123
135
|
// Reflexes — agent-authored deterministic automations
|
|
124
136
|
REFLEX_INVALID_TRANSITION: "REFLEX_INVALID_TRANSITION",
|
|
125
137
|
REFLEX_INVALID_TOKEN: "REFLEX_INVALID_TOKEN",
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
+
import { createPhoneValidator } from './chunk-R5LAJCBU.mjs';
|
|
2
|
+
import { createRelationValidator } from './chunk-GO6LQADH.mjs';
|
|
1
3
|
import { createRichtextValidator } from './chunk-QVLQPW3O.mjs';
|
|
2
4
|
import { createMultiselectValidator, createSelectValidator, createStatusValidator } from './chunk-ZDQ5AP26.mjs';
|
|
3
5
|
import { createUserValidator } from './chunk-LV3FEUKU.mjs';
|
|
4
|
-
import { createFormulaValidator } from './chunk-UXAHLSWC.mjs';
|
|
5
|
-
import { createRollupValidator } from './chunk-NS63SPNN.mjs';
|
|
6
6
|
import { createCheckboxValidator } from './chunk-OSSGN43B.mjs';
|
|
7
7
|
import { createDateValidator } from './chunk-Q44QKLN4.mjs';
|
|
8
8
|
import { createNumberValidator } from './chunk-UANQJ2GH.mjs';
|
|
9
9
|
import { createTextValidator } from './chunk-O73ROMWQ.mjs';
|
|
10
|
-
import { ValidationError } from './chunk-
|
|
10
|
+
import { ValidationError } from './chunk-V2WJFUZW.mjs';
|
|
11
|
+
import { createFormulaValidator } from './chunk-UXAHLSWC.mjs';
|
|
12
|
+
import { createRollupValidator } from './chunk-NS63SPNN.mjs';
|
|
11
13
|
import { createCurrencyValidator } from './chunk-AYVHMVKQ.mjs';
|
|
12
14
|
import { createLocationValidator } from './chunk-YUFTHPOE.mjs';
|
|
13
|
-
import { createPhoneValidator } from './chunk-R5LAJCBU.mjs';
|
|
14
|
-
import { createRelationValidator } from './chunk-GO6LQADH.mjs';
|
|
15
15
|
import { DEFAULT_VALIDATION_MESSAGES, formatZodErrors } from './chunk-HRQEZUAA.mjs';
|
|
16
16
|
import { z } from 'zod';
|
|
17
17
|
|
|
@@ -79,6 +79,12 @@ function createFormAttributeValidator(attr, messages = DEFAULT_VALIDATION_MESSAG
|
|
|
79
79
|
function isNullishOrEmptyString(value) {
|
|
80
80
|
return value === null || value === void 0 || value === "";
|
|
81
81
|
}
|
|
82
|
+
function isValuePresent(value) {
|
|
83
|
+
if (value === null || value === void 0) return false;
|
|
84
|
+
if (typeof value === "string") return value.trim() !== "";
|
|
85
|
+
if (Array.isArray(value)) return value.length > 0;
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
82
88
|
|
|
83
89
|
// src/validation/object/object-validator.ts
|
|
84
90
|
var objectValidatorCache = /* @__PURE__ */ new WeakMap();
|
|
@@ -89,12 +95,12 @@ function createObjectValidator(objectDef) {
|
|
|
89
95
|
const shape = {};
|
|
90
96
|
for (const attr of objectDef.attributes) {
|
|
91
97
|
const validator = createAttributeValidator(attr);
|
|
92
|
-
if (attr.required
|
|
93
|
-
shape[attr.name] = validator.refine(
|
|
98
|
+
if (attr.required) {
|
|
99
|
+
shape[attr.name] = validator.refine(isValuePresent, {
|
|
94
100
|
message: DEFAULT_VALIDATION_MESSAGES.required(attr)
|
|
95
101
|
});
|
|
96
102
|
} else {
|
|
97
|
-
shape[attr.name] =
|
|
103
|
+
shape[attr.name] = withEmptyToNull(validator);
|
|
98
104
|
}
|
|
99
105
|
}
|
|
100
106
|
const schema = z.object(shape).passthrough();
|
|
@@ -199,15 +205,6 @@ function rejectUnknownAttributesOrThrow(objectDef, data) {
|
|
|
199
205
|
);
|
|
200
206
|
}
|
|
201
207
|
}
|
|
202
|
-
function isValuePresent(value) {
|
|
203
|
-
if (value === void 0 || value === null) {
|
|
204
|
-
return false;
|
|
205
|
-
}
|
|
206
|
-
if (typeof value === "string" && value.trim() === "") {
|
|
207
|
-
return false;
|
|
208
|
-
}
|
|
209
|
-
return true;
|
|
210
|
-
}
|
|
211
208
|
function getMissingRequiredAttributes(objectDef, data) {
|
|
212
209
|
const missing = [];
|
|
213
210
|
for (const attr of objectDef.attributes) {
|
|
@@ -226,4 +223,4 @@ function isRecordComplete(objectDef, data) {
|
|
|
226
223
|
return validation.success;
|
|
227
224
|
}
|
|
228
225
|
|
|
229
|
-
export { createAttributeValidator, createDraftValidator, createFormAttributeValidator, createObjectValidator, getMissingRequiredAttributes, isNullishOrEmptyString, isRecordComplete, rejectUnknownAttributesOrThrow, validateAttribute, validateDraft, validateDraftOrThrow, validateObject, validateObjectOrThrow };
|
|
226
|
+
export { createAttributeValidator, createDraftValidator, createFormAttributeValidator, createObjectValidator, getMissingRequiredAttributes, isNullishOrEmptyString, isRecordComplete, isValuePresent, rejectUnknownAttributesOrThrow, validateAttribute, validateDraft, validateDraftOrThrow, validateObject, validateObjectOrThrow };
|
|
@@ -26,6 +26,13 @@ var SchemaErrorCode = {
|
|
|
26
26
|
// Connectors
|
|
27
27
|
CONNECTOR_AUTH_FAILED: "SCHEMA_CONNECTOR_AUTH_FAILED",
|
|
28
28
|
CONNECTOR_INVALID_STATE: "SCHEMA_CONNECTOR_INVALID_STATE",
|
|
29
|
+
/**
|
|
30
|
+
* The provider issued tokens and the flow failed AFTER that — resolving the
|
|
31
|
+
* connected address. Distinct from CONNECTOR_AUTH_FAILED because the user is
|
|
32
|
+
* left holding a real grant: consent happened, and it may still be live on the
|
|
33
|
+
* provider side even though no connection row exists here.
|
|
34
|
+
*/
|
|
35
|
+
CONNECTOR_GRANT_ORPHANED: "SCHEMA_CONNECTOR_GRANT_ORPHANED",
|
|
29
36
|
// Sync
|
|
30
37
|
SYNC_FAILED: "SCHEMA_SYNC_FAILED",
|
|
31
38
|
SYNC_CONFLICT: "SCHEMA_SYNC_CONFLICT",
|
|
@@ -79,6 +86,10 @@ var SchemaErrorCode = {
|
|
|
79
86
|
// Tenant / context
|
|
80
87
|
TENANT_CONTEXT_MISSING: "TENANT_CONTEXT_MISSING",
|
|
81
88
|
FEATURE_FLAGS_CONTEXT: "FEATURE_FLAGS_CONTEXT",
|
|
89
|
+
// Realtime delivery — stable codes shared by runtime and transport adapters
|
|
90
|
+
REALTIME_RATE_LIMITED: "REALTIME_RATE_LIMITED",
|
|
91
|
+
REALTIME_DELIVERY_FAILED: "REALTIME_DELIVERY_FAILED",
|
|
92
|
+
REALTIME_SUBSCRIPTION_FAILED: "REALTIME_SUBSCRIPTION_FAILED",
|
|
82
93
|
// Agents
|
|
83
94
|
AGENT_UNKNOWN: "AGENT_UNKNOWN",
|
|
84
95
|
AGENT_DEPTH_EXCEEDED: "AGENT_DEPTH_EXCEEDED",
|
|
@@ -93,8 +104,7 @@ var SchemaErrorCode = {
|
|
|
93
104
|
AGENT_COMPACTION_IMPOSSIBLE: "AGENT_COMPACTION_IMPOSSIBLE",
|
|
94
105
|
AGENT_COMPACTION_TIMEOUT: "AGENT_COMPACTION_TIMEOUT",
|
|
95
106
|
AGENT_LEASE_HELD: "AGENT_LEASE_HELD",
|
|
96
|
-
|
|
97
|
-
AGENT_MISSION_INCOMPLETE: "AGENT_MISSION_INCOMPLETE",
|
|
107
|
+
AGENT_WORK_MODE_REQUIRED: "AGENT_WORK_MODE_REQUIRED",
|
|
98
108
|
// AI / LLM
|
|
99
109
|
AI_UNKNOWN: "AI_UNKNOWN",
|
|
100
110
|
AI_USAGE_LIMIT_EXCEEDED: "AI_USAGE_LIMIT_EXCEEDED",
|
|
@@ -122,6 +132,8 @@ var SchemaErrorCode = {
|
|
|
122
132
|
// Email provider sync — transport failures from Gmail / Microsoft Graph
|
|
123
133
|
EMAIL_PROVIDER_API_FAILED: "EMAIL_PROVIDER_API_FAILED",
|
|
124
134
|
EMAIL_BATCH_ITEM_FAILED: "EMAIL_BATCH_ITEM_FAILED",
|
|
135
|
+
// Calendar provider sync — transport failures from Google Calendar / Microsoft Graph
|
|
136
|
+
CALENDAR_PROVIDER_API_FAILED: "CALENDAR_PROVIDER_API_FAILED",
|
|
125
137
|
// Reflexes — agent-authored deterministic automations
|
|
126
138
|
REFLEX_INVALID_TRANSITION: "REFLEX_INVALID_TRANSITION",
|
|
127
139
|
REFLEX_INVALID_TOKEN: "REFLEX_INVALID_TOKEN",
|
package/dist/exceptions.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as SchemaOperation } from './migrations-
|
|
2
|
-
import './attributes-
|
|
1
|
+
import { S as SchemaOperation } from './migrations-Dy9K8kJ0.mjs';
|
|
2
|
+
import './attributes-VsYmgI0A.mjs';
|
|
3
3
|
import '@stndrds/constants';
|
|
4
4
|
import './utils.mjs';
|
|
5
5
|
|
|
@@ -25,6 +25,13 @@ declare const SchemaErrorCode: {
|
|
|
25
25
|
readonly ACCESS_DENIED: "SCHEMA_ACCESS_DENIED";
|
|
26
26
|
readonly CONNECTOR_AUTH_FAILED: "SCHEMA_CONNECTOR_AUTH_FAILED";
|
|
27
27
|
readonly CONNECTOR_INVALID_STATE: "SCHEMA_CONNECTOR_INVALID_STATE";
|
|
28
|
+
/**
|
|
29
|
+
* The provider issued tokens and the flow failed AFTER that — resolving the
|
|
30
|
+
* connected address. Distinct from CONNECTOR_AUTH_FAILED because the user is
|
|
31
|
+
* left holding a real grant: consent happened, and it may still be live on the
|
|
32
|
+
* provider side even though no connection row exists here.
|
|
33
|
+
*/
|
|
34
|
+
readonly CONNECTOR_GRANT_ORPHANED: "SCHEMA_CONNECTOR_GRANT_ORPHANED";
|
|
28
35
|
readonly SYNC_FAILED: "SCHEMA_SYNC_FAILED";
|
|
29
36
|
readonly SYNC_CONFLICT: "SCHEMA_SYNC_CONFLICT";
|
|
30
37
|
readonly SYNC_CASCADE: "SCHEMA_SYNC_CASCADE";
|
|
@@ -57,6 +64,9 @@ declare const SchemaErrorCode: {
|
|
|
57
64
|
readonly INVARIANT_VIOLATION: "INVARIANT_VIOLATION";
|
|
58
65
|
readonly TENANT_CONTEXT_MISSING: "TENANT_CONTEXT_MISSING";
|
|
59
66
|
readonly FEATURE_FLAGS_CONTEXT: "FEATURE_FLAGS_CONTEXT";
|
|
67
|
+
readonly REALTIME_RATE_LIMITED: "REALTIME_RATE_LIMITED";
|
|
68
|
+
readonly REALTIME_DELIVERY_FAILED: "REALTIME_DELIVERY_FAILED";
|
|
69
|
+
readonly REALTIME_SUBSCRIPTION_FAILED: "REALTIME_SUBSCRIPTION_FAILED";
|
|
60
70
|
readonly AGENT_UNKNOWN: "AGENT_UNKNOWN";
|
|
61
71
|
readonly AGENT_DEPTH_EXCEEDED: "AGENT_DEPTH_EXCEEDED";
|
|
62
72
|
readonly AGENT_COST_LIMIT_EXCEEDED: "AGENT_COST_LIMIT_EXCEEDED";
|
|
@@ -70,8 +80,7 @@ declare const SchemaErrorCode: {
|
|
|
70
80
|
readonly AGENT_COMPACTION_IMPOSSIBLE: "AGENT_COMPACTION_IMPOSSIBLE";
|
|
71
81
|
readonly AGENT_COMPACTION_TIMEOUT: "AGENT_COMPACTION_TIMEOUT";
|
|
72
82
|
readonly AGENT_LEASE_HELD: "AGENT_LEASE_HELD";
|
|
73
|
-
readonly
|
|
74
|
-
readonly AGENT_MISSION_INCOMPLETE: "AGENT_MISSION_INCOMPLETE";
|
|
83
|
+
readonly AGENT_WORK_MODE_REQUIRED: "AGENT_WORK_MODE_REQUIRED";
|
|
75
84
|
readonly AI_UNKNOWN: "AI_UNKNOWN";
|
|
76
85
|
readonly AI_USAGE_LIMIT_EXCEEDED: "AI_USAGE_LIMIT_EXCEEDED";
|
|
77
86
|
readonly AI_INVALID_USAGE: "AI_INVALID_USAGE";
|
|
@@ -94,6 +103,7 @@ declare const SchemaErrorCode: {
|
|
|
94
103
|
readonly DOCUMENT_FOLDER_PATH_NOT_FOUND: "DOCUMENT_FOLDER_PATH_NOT_FOUND";
|
|
95
104
|
readonly EMAIL_PROVIDER_API_FAILED: "EMAIL_PROVIDER_API_FAILED";
|
|
96
105
|
readonly EMAIL_BATCH_ITEM_FAILED: "EMAIL_BATCH_ITEM_FAILED";
|
|
106
|
+
readonly CALENDAR_PROVIDER_API_FAILED: "CALENDAR_PROVIDER_API_FAILED";
|
|
97
107
|
readonly REFLEX_INVALID_TRANSITION: "REFLEX_INVALID_TRANSITION";
|
|
98
108
|
readonly REFLEX_INVALID_TOKEN: "REFLEX_INVALID_TOKEN";
|
|
99
109
|
readonly REFLEX_CAPABILITY_DENIED: "REFLEX_CAPABILITY_DENIED";
|