@stndrds/schema 1.0.0-alpha.280 → 1.0.0-alpha.281
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-Ig0ig9wp.d.ts → all-BVp3k9Hi.d.ts} +4 -15
- package/dist/{all-C0hXd79K.d.mts → all-CnIU2anT.d.mts} +4 -15
- package/dist/{chunk-MSIGO7JA.mjs → chunk-A5PPZ2FM.mjs} +1 -1
- package/dist/{chunk-3PGLMGTR.js → chunk-E47WAI5K.js} +4 -4
- package/dist/{chunk-M3WFXOA4.js → chunk-HWZRSXFB.js} +2 -0
- package/dist/{chunk-FAEOVIDJ.js → chunk-LRFLSFIA.js} +3 -3
- package/dist/{chunk-PUMM6SPY.mjs → chunk-MLTXSBOB.mjs} +1 -1
- package/dist/{chunk-TBAD2T7Q.mjs → chunk-ORPCS24B.mjs} +5 -11
- package/dist/{chunk-XTBGGJ3G.js → chunk-OYHBQMC7.js} +3 -3
- package/dist/{chunk-XDA5PZRT.mjs → chunk-SYQDFZ74.mjs} +2 -0
- package/dist/{chunk-MXYCCUNB.js → chunk-TU6ECJFZ.js} +37 -43
- package/dist/{chunk-NUEIGMYS.mjs → chunk-XCLVXM7F.mjs} +1 -1
- package/dist/exceptions.d.mts +2 -0
- package/dist/exceptions.d.ts +2 -0
- package/dist/exceptions.js +39 -39
- package/dist/exceptions.mjs +1 -1
- package/dist/{index-C3P5Dnwt.d.mts → index-DWoqObyG.d.mts} +13 -22
- package/dist/{index-SpFpkWVC.d.ts → index-TMlrIKAY.d.ts} +13 -22
- package/dist/index.d.mts +253 -73
- package/dist/index.d.ts +253 -73
- package/dist/index.js +1175 -286
- package/dist/index.mjs +970 -93
- package/dist/utils.js +8 -8
- package/dist/utils.mjs +2 -2
- package/dist/validation/all.d.mts +2 -2
- package/dist/validation/all.d.ts +2 -2
- package/dist/validation/all.js +29 -29
- package/dist/validation/all.mjs +4 -4
- package/dist/validation/config/index.d.mts +1 -1
- package/dist/validation/config/index.d.ts +1 -1
- package/dist/validation/config/index.js +11 -11
- package/dist/validation/config/index.mjs +2 -2
- package/dist/validation/object/index.js +14 -14
- package/dist/validation/object/index.mjs +2 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var chunkOYHBQMC7_js = require('./chunk-OYHBQMC7.js');
|
|
4
|
+
var chunkTU6ECJFZ_js = require('./chunk-TU6ECJFZ.js');
|
|
5
|
+
var chunkLRFLSFIA_js = require('./chunk-LRFLSFIA.js');
|
|
6
|
+
var chunkE47WAI5K_js = require('./chunk-E47WAI5K.js');
|
|
7
7
|
require('./chunk-EW5XR2X3.js');
|
|
8
8
|
require('./chunk-QWKLQRBX.js');
|
|
9
9
|
require('./chunk-KNGWHQLR.js');
|
|
@@ -13,7 +13,7 @@ var chunk5WATIVCA_js = require('./chunk-5WATIVCA.js');
|
|
|
13
13
|
var chunkSI34M4IC_js = require('./chunk-SI34M4IC.js');
|
|
14
14
|
var chunkYIP5FJ5H_js = require('./chunk-YIP5FJ5H.js');
|
|
15
15
|
var chunkZPFOKBIN_js = require('./chunk-ZPFOKBIN.js');
|
|
16
|
-
var
|
|
16
|
+
var chunkHWZRSXFB_js = require('./chunk-HWZRSXFB.js');
|
|
17
17
|
require('./chunk-ACKMC6FL.js');
|
|
18
18
|
require('./chunk-E6JUYGJX.js');
|
|
19
19
|
var chunkQ4SZAMJT_js = require('./chunk-Q4SZAMJT.js');
|
|
@@ -81,7 +81,7 @@ function inferInverseCardinality(cardinality) {
|
|
|
81
81
|
return cardinality === "one" ? "many" : "many";
|
|
82
82
|
}
|
|
83
83
|
function isAttributeSortable2(attr) {
|
|
84
|
-
return
|
|
84
|
+
return chunkTU6ECJFZ_js.isAttributeSortable(attr);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
// src/types/audit.ts
|
|
@@ -148,14 +148,14 @@ function sessionStateToLegacyStatus(state) {
|
|
|
148
148
|
return "idle";
|
|
149
149
|
case "parked":
|
|
150
150
|
if (state.parkedOn === void 0) {
|
|
151
|
-
throw new
|
|
151
|
+
throw new chunkHWZRSXFB_js.SchemaError("parked state without parkedOn", chunkHWZRSXFB_js.SchemaErrorCode.INVARIANT_VIOLATION);
|
|
152
152
|
}
|
|
153
153
|
return state.parkedOn === "agents" ? "waiting_agents" : "waiting_human";
|
|
154
154
|
case "terminal":
|
|
155
155
|
if (state.outcome === void 0) {
|
|
156
|
-
throw new
|
|
156
|
+
throw new chunkHWZRSXFB_js.SchemaError(
|
|
157
157
|
"terminal state without outcome",
|
|
158
|
-
|
|
158
|
+
chunkHWZRSXFB_js.SchemaErrorCode.INVARIANT_VIOLATION
|
|
159
159
|
);
|
|
160
160
|
}
|
|
161
161
|
return state.outcome;
|
|
@@ -185,6 +185,18 @@ var SESSION_TERMINAL_STATUSES = [
|
|
|
185
185
|
function isTerminalSessionStatus(status2) {
|
|
186
186
|
return SESSION_TERMINAL_STATUSES.includes(status2);
|
|
187
187
|
}
|
|
188
|
+
var CLAIMABLE_SESSION_STATUSES = [
|
|
189
|
+
"idle",
|
|
190
|
+
"completed",
|
|
191
|
+
"waiting_human",
|
|
192
|
+
"waiting_agents",
|
|
193
|
+
"cancelled",
|
|
194
|
+
"failed",
|
|
195
|
+
"timeout"
|
|
196
|
+
];
|
|
197
|
+
function isClaimableSessionStatus(status2) {
|
|
198
|
+
return CLAIMABLE_SESSION_STATUSES.includes(status2);
|
|
199
|
+
}
|
|
188
200
|
var DEFAULT_APPROVAL_POLICY = Object.freeze({
|
|
189
201
|
mutation: "ask",
|
|
190
202
|
destructive: "ask",
|
|
@@ -205,7 +217,7 @@ var NATIVE_AGENT_UI_PART_IDS_METADATA_KEY = "__stndrdsNativeUiPartIds";
|
|
|
205
217
|
var NATIVE_AGENT_UI_PART_IDS_METADATA_SCHEMA_VERSION = 1;
|
|
206
218
|
var INVALID_NATIVE_PART_IDS = "Native agent UI part IDs metadata is invalid";
|
|
207
219
|
function invalidNativePartIds() {
|
|
208
|
-
throw new
|
|
220
|
+
throw new chunkHWZRSXFB_js.ValidationError(INVALID_NATIVE_PART_IDS, []);
|
|
209
221
|
}
|
|
210
222
|
function isPlainRecord(value) {
|
|
211
223
|
if (value === null || typeof value !== "object" || Array.isArray(value)) return false;
|
|
@@ -376,9 +388,6 @@ function isListView(view) {
|
|
|
376
388
|
function isFieldGroup(group2) {
|
|
377
389
|
return group2.type === "fields";
|
|
378
390
|
}
|
|
379
|
-
function isRelationGroup(group2) {
|
|
380
|
-
return group2.type === "relation";
|
|
381
|
-
}
|
|
382
391
|
|
|
383
392
|
// src/types/pagination.ts
|
|
384
393
|
var COUNT_MODES = ["none", "estimated", "exact"];
|
|
@@ -386,7 +395,7 @@ function parseCountMode(value) {
|
|
|
386
395
|
if (typeof value === "string" && COUNT_MODES.includes(value)) {
|
|
387
396
|
return value;
|
|
388
397
|
}
|
|
389
|
-
throw new
|
|
398
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
390
399
|
// biome-ignore lint/style/useTemplate: see the comment above.
|
|
391
400
|
"countMode must be one of: " + COUNT_MODES.join(", ") + " (received: " + String(value) + ")",
|
|
392
401
|
[]
|
|
@@ -493,7 +502,7 @@ function isDateRangeValue(value) {
|
|
|
493
502
|
return typeof value === "object" && value !== null && typeof value.start === "string";
|
|
494
503
|
}
|
|
495
504
|
function normalizeDateValue(value, attr) {
|
|
496
|
-
if (
|
|
505
|
+
if (chunkE47WAI5K_js.isNullishOrEmptyString(value)) return null;
|
|
497
506
|
if (isDateRangeValue(value)) {
|
|
498
507
|
return attr.endDate ? { start: value.start, end: value.end ?? null } : value.start;
|
|
499
508
|
}
|
|
@@ -631,7 +640,7 @@ function formatMultiselect(value, attribute) {
|
|
|
631
640
|
return value.join(", ");
|
|
632
641
|
}
|
|
633
642
|
function formatAttributeValue(value, attribute) {
|
|
634
|
-
if (
|
|
643
|
+
if (chunkE47WAI5K_js.isNullishOrEmptyString(value)) {
|
|
635
644
|
return EMPTY_VALUE_PLACEHOLDER;
|
|
636
645
|
}
|
|
637
646
|
switch (attribute.type) {
|
|
@@ -784,7 +793,7 @@ function renderLabelExpression(template, values, fallback = DEFAULT_LABEL_FALLBA
|
|
|
784
793
|
break;
|
|
785
794
|
}
|
|
786
795
|
}
|
|
787
|
-
const isEmpty2 =
|
|
796
|
+
const isEmpty2 = chunkE47WAI5K_js.isNullishOrEmptyString(value);
|
|
788
797
|
if (isEmpty2 && pipes.length === 0) return "";
|
|
789
798
|
for (const pipeExpr of pipes) {
|
|
790
799
|
const { name: pipeName, args } = parsePipeExpression(pipeExpr);
|
|
@@ -861,7 +870,7 @@ function relationPropertyDefs(attribute) {
|
|
|
861
870
|
return attribute.properties?.definitions;
|
|
862
871
|
}
|
|
863
872
|
function extractValueRefs(value) {
|
|
864
|
-
if (
|
|
873
|
+
if (chunkE47WAI5K_js.isNullishOrEmptyString(value)) return [];
|
|
865
874
|
if (typeof value === "string") return [{ id: value }];
|
|
866
875
|
if (Array.isArray(value)) return value.flatMap((item) => extractValueRefs(item));
|
|
867
876
|
if (typeof value === "object" && "id" in value) {
|
|
@@ -1065,24 +1074,24 @@ function validateObjectName(name) {
|
|
|
1065
1074
|
OBJECT_NAME_SCHEMA.parse(name);
|
|
1066
1075
|
} catch (error) {
|
|
1067
1076
|
if (error instanceof z2__default.default.ZodError) {
|
|
1068
|
-
throw new
|
|
1077
|
+
throw new chunkHWZRSXFB_js.SchemaError(error.issues[0].message, chunkHWZRSXFB_js.SchemaErrorCode.INVALID_OBJECT_NAME);
|
|
1069
1078
|
}
|
|
1070
1079
|
throw error;
|
|
1071
1080
|
}
|
|
1072
1081
|
}
|
|
1073
1082
|
function validateViewName(name) {
|
|
1074
1083
|
if (!name || name.length === 0) {
|
|
1075
|
-
throw new
|
|
1084
|
+
throw new chunkHWZRSXFB_js.ValidationError("View name cannot be empty", [
|
|
1076
1085
|
{ path: ["name"], message: "View name cannot be empty" }
|
|
1077
1086
|
]);
|
|
1078
1087
|
}
|
|
1079
1088
|
if (name.length > MAX_NAME_LENGTH) {
|
|
1080
|
-
throw new
|
|
1089
|
+
throw new chunkHWZRSXFB_js.ValidationError("View name is too long", [
|
|
1081
1090
|
{ path: ["name"], message: `View name is too long (max ${MAX_NAME_LENGTH} characters)` }
|
|
1082
1091
|
]);
|
|
1083
1092
|
}
|
|
1084
1093
|
if (!VIEW_NAME_REGEX.test(name)) {
|
|
1085
|
-
throw new
|
|
1094
|
+
throw new chunkHWZRSXFB_js.ValidationError("Invalid view name format", [
|
|
1086
1095
|
{
|
|
1087
1096
|
path: ["name"],
|
|
1088
1097
|
message: "View name must be in kebab-case (e.g., 'detail', 'list-view')"
|
|
@@ -1114,10 +1123,10 @@ function validateAttributeName(name) {
|
|
|
1114
1123
|
"[AttributeBuilder] Invalid attribute name format.\nName must be a valid variable identifier:\n \u2705 Valid: 'firstName', 'first_name', 'FirstName', 'FIRST_NAME'\n \u274C Invalid: 'first-name', 'first name', '123name', 'first.name'"
|
|
1115
1124
|
);
|
|
1116
1125
|
}
|
|
1117
|
-
if (
|
|
1126
|
+
if (chunkTU6ECJFZ_js.RESERVED_ATTRIBUTE_NAMES.includes(name)) {
|
|
1118
1127
|
throw new Error(
|
|
1119
1128
|
`[AttributeBuilder] "${name}" is a reserved name and cannot be used as an attribute name.
|
|
1120
|
-
Reserved names: ${
|
|
1129
|
+
Reserved names: ${chunkTU6ECJFZ_js.RESERVED_ATTRIBUTE_NAMES.join(", ")}`
|
|
1121
1130
|
);
|
|
1122
1131
|
}
|
|
1123
1132
|
}
|
|
@@ -1184,7 +1193,7 @@ var DEFAULT_AGENT_EXECUTION_CONFIG = {
|
|
|
1184
1193
|
var AgentBuilder = class {
|
|
1185
1194
|
constructor(config) {
|
|
1186
1195
|
if (!config.name || config.name.trim().length === 0) {
|
|
1187
|
-
throw new
|
|
1196
|
+
throw new chunkHWZRSXFB_js.ValidationError("Agent name is required", []);
|
|
1188
1197
|
}
|
|
1189
1198
|
this.bp = { name: config.name, system: true, visibility: "workspace", triggers: [] };
|
|
1190
1199
|
}
|
|
@@ -1318,13 +1327,13 @@ var AgentBuilder = class {
|
|
|
1318
1327
|
}
|
|
1319
1328
|
build() {
|
|
1320
1329
|
if (!this.bp.systemPrompt) {
|
|
1321
|
-
throw new
|
|
1330
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Agent "${this.bp.name}": systemPrompt is required`, []);
|
|
1322
1331
|
}
|
|
1323
1332
|
if (!this.bp.model) {
|
|
1324
|
-
throw new
|
|
1333
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Agent "${this.bp.name}": model is required`, []);
|
|
1325
1334
|
}
|
|
1326
1335
|
if (this.bp.system && this.bp.visibility === "private") {
|
|
1327
|
-
throw new
|
|
1336
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
1328
1337
|
`Agent "${this.bp.name}": system agents must use workspace visibility`,
|
|
1329
1338
|
[]
|
|
1330
1339
|
);
|
|
@@ -1332,7 +1341,7 @@ var AgentBuilder = class {
|
|
|
1332
1341
|
assertUniqueBy(
|
|
1333
1342
|
this.bp.triggers,
|
|
1334
1343
|
(t) => t.name,
|
|
1335
|
-
(name) => new
|
|
1344
|
+
(name) => new chunkHWZRSXFB_js.ValidationError(`Agent "${this.bp.name}": duplicate trigger name "${name}"`, [])
|
|
1336
1345
|
);
|
|
1337
1346
|
return {
|
|
1338
1347
|
...this.bp,
|
|
@@ -1387,7 +1396,7 @@ var BaseAttributeBuilder = class {
|
|
|
1387
1396
|
* @see https://standardschema.dev/
|
|
1388
1397
|
*/
|
|
1389
1398
|
get "~standard"() {
|
|
1390
|
-
const zodSchema =
|
|
1399
|
+
const zodSchema = chunkE47WAI5K_js.createAttributeValidator(this.build());
|
|
1391
1400
|
return createStandardSchemaProps(zodSchema);
|
|
1392
1401
|
}
|
|
1393
1402
|
constructor(type, name, label) {
|
|
@@ -2134,9 +2143,9 @@ var RollupAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2134
2143
|
if (fn === "original" && targetType !== void 0 && targetType !== "select" && targetType !== "status" && targetType !== "multiselect") {
|
|
2135
2144
|
const relation2 = this.attr.relationAttribute ?? "relation";
|
|
2136
2145
|
const target = this.attr.targetAttribute ?? "field";
|
|
2137
|
-
throw new
|
|
2146
|
+
throw new chunkHWZRSXFB_js.SchemaError(
|
|
2138
2147
|
`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}").`,
|
|
2139
|
-
|
|
2148
|
+
chunkHWZRSXFB_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2140
2149
|
);
|
|
2141
2150
|
}
|
|
2142
2151
|
return super.build();
|
|
@@ -2646,7 +2655,7 @@ var ObjectBuilder = class {
|
|
|
2646
2655
|
* @see https://standardschema.dev/
|
|
2647
2656
|
*/
|
|
2648
2657
|
get "~standard"() {
|
|
2649
|
-
const zodSchema =
|
|
2658
|
+
const zodSchema = chunkE47WAI5K_js.createObjectValidator(this.build());
|
|
2650
2659
|
return createStandardSchemaProps(zodSchema);
|
|
2651
2660
|
}
|
|
2652
2661
|
/**
|
|
@@ -2774,7 +2783,7 @@ var ObjectBuilder = class {
|
|
|
2774
2783
|
assertUniqueBy(
|
|
2775
2784
|
[...this.obj.attributes, ...finalAttrs],
|
|
2776
2785
|
(attribute) => attribute.name,
|
|
2777
|
-
(name) => new
|
|
2786
|
+
(name) => new chunkHWZRSXFB_js.DuplicateError(
|
|
2778
2787
|
"attribute",
|
|
2779
2788
|
name,
|
|
2780
2789
|
`Object "${this.obj.name}": duplicate attribute name "${name}"`
|
|
@@ -2799,6 +2808,21 @@ var ObjectBuilder = class {
|
|
|
2799
2808
|
this.obj.metadata = { ...this.obj.metadata, order: value };
|
|
2800
2809
|
return this;
|
|
2801
2810
|
}
|
|
2811
|
+
/**
|
|
2812
|
+
* Hide this object from navigation surfaces — the sidebar data section and
|
|
2813
|
+
* the command palette, which already honour `metadata.hidden`. For objects
|
|
2814
|
+
* that own a dedicated surface: `drives` has the Drive page, so listing it
|
|
2815
|
+
* beside business objects would offer the same thing twice under two
|
|
2816
|
+
* different affordances.
|
|
2817
|
+
*
|
|
2818
|
+
* The object stays whole everywhere else: API, search, permissions, agent
|
|
2819
|
+
* tools, filters and record pages all continue to see it. This hides a
|
|
2820
|
+
* navigation entry; it never restricts access.
|
|
2821
|
+
*/
|
|
2822
|
+
hidden() {
|
|
2823
|
+
this.obj.metadata = { ...this.obj.metadata, hidden: true };
|
|
2824
|
+
return this;
|
|
2825
|
+
}
|
|
2802
2826
|
/**
|
|
2803
2827
|
* Set the label expression template for displaying records
|
|
2804
2828
|
* This is REQUIRED for every object.
|
|
@@ -2888,26 +2912,26 @@ var ObjectBuilder = class {
|
|
|
2888
2912
|
throw new Error("[ObjectBuilder] Missing required field: label");
|
|
2889
2913
|
}
|
|
2890
2914
|
if (!this._labelExpression) {
|
|
2891
|
-
throw new
|
|
2915
|
+
throw new chunkHWZRSXFB_js.SchemaError(
|
|
2892
2916
|
`Object "${this.obj.name}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,
|
|
2893
|
-
|
|
2917
|
+
chunkHWZRSXFB_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2894
2918
|
);
|
|
2895
2919
|
}
|
|
2896
2920
|
const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
|
|
2897
2921
|
if (!labelResult.success) {
|
|
2898
2922
|
const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
|
|
2899
|
-
throw new
|
|
2923
|
+
throw new chunkHWZRSXFB_js.SchemaError(
|
|
2900
2924
|
`Invalid labelExpression for "${this.obj.name}": ${errorMsg}`,
|
|
2901
|
-
|
|
2925
|
+
chunkHWZRSXFB_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2902
2926
|
);
|
|
2903
2927
|
}
|
|
2904
2928
|
if (this._embeddingExpression !== void 0) {
|
|
2905
2929
|
const embeddingResult = labelExpressionSchema.safeParse(this._embeddingExpression);
|
|
2906
2930
|
if (!embeddingResult.success) {
|
|
2907
2931
|
const errorMsg = embeddingResult.error.issues[0]?.message ?? "Invalid embeddingExpression";
|
|
2908
|
-
throw new
|
|
2932
|
+
throw new chunkHWZRSXFB_js.SchemaError(
|
|
2909
2933
|
`Invalid embeddingExpression for "${this.obj.name}": ${errorMsg}`,
|
|
2910
|
-
|
|
2934
|
+
chunkHWZRSXFB_js.SchemaErrorCode.VALIDATION_FAILED
|
|
2911
2935
|
);
|
|
2912
2936
|
}
|
|
2913
2937
|
}
|
|
@@ -2949,7 +2973,7 @@ function object(config) {
|
|
|
2949
2973
|
}
|
|
2950
2974
|
function validatePresetStructure(presetId, nodes, depth) {
|
|
2951
2975
|
const fail = (message, detail) => {
|
|
2952
|
-
throw new
|
|
2976
|
+
throw new chunkHWZRSXFB_js.ValidationError(message, [
|
|
2953
2977
|
{ path: ["documentLayout", "presets", presetId], message: detail }
|
|
2954
2978
|
]);
|
|
2955
2979
|
};
|
|
@@ -3048,74 +3072,6 @@ var GroupBuilder = class {
|
|
|
3048
3072
|
return this.data;
|
|
3049
3073
|
}
|
|
3050
3074
|
};
|
|
3051
|
-
var RelationGroupBuilder = class {
|
|
3052
|
-
constructor(id, label, attribute) {
|
|
3053
|
-
this.data = { type: "relation" };
|
|
3054
|
-
this.data.id = id;
|
|
3055
|
-
this.data.label = label;
|
|
3056
|
-
this.data.attribute = attribute;
|
|
3057
|
-
}
|
|
3058
|
-
/**
|
|
3059
|
-
* Set group description
|
|
3060
|
-
*/
|
|
3061
|
-
description(value) {
|
|
3062
|
-
this.data.description = value;
|
|
3063
|
-
return this;
|
|
3064
|
-
}
|
|
3065
|
-
/**
|
|
3066
|
-
* Make group collapsible
|
|
3067
|
-
* @param collapsed - Initial collapsed state (default: false)
|
|
3068
|
-
*/
|
|
3069
|
-
collapsible(collapsed = false) {
|
|
3070
|
-
this.data.collapsible = true;
|
|
3071
|
-
this.data.collapsed = collapsed;
|
|
3072
|
-
return this;
|
|
3073
|
-
}
|
|
3074
|
-
/**
|
|
3075
|
-
* Set display order
|
|
3076
|
-
*/
|
|
3077
|
-
order(value) {
|
|
3078
|
-
this.data.order = value;
|
|
3079
|
-
return this;
|
|
3080
|
-
}
|
|
3081
|
-
/**
|
|
3082
|
-
* Set columns to display in the relations table
|
|
3083
|
-
* @example .columns("name", "email", "phone")
|
|
3084
|
-
*/
|
|
3085
|
-
columns(...names) {
|
|
3086
|
-
this.data.columns = names;
|
|
3087
|
-
return this;
|
|
3088
|
-
}
|
|
3089
|
-
/**
|
|
3090
|
-
* Set the group as read-only (no add/remove/edit)
|
|
3091
|
-
*/
|
|
3092
|
-
readOnly(value = true) {
|
|
3093
|
-
this.data.readOnly = value;
|
|
3094
|
-
return this;
|
|
3095
|
-
}
|
|
3096
|
-
/**
|
|
3097
|
-
* Allow creating new related records inline
|
|
3098
|
-
*/
|
|
3099
|
-
allowCreate(value = true) {
|
|
3100
|
-
this.data.allowCreate = value;
|
|
3101
|
-
return this;
|
|
3102
|
-
}
|
|
3103
|
-
/**
|
|
3104
|
-
* Build the relation group definition
|
|
3105
|
-
*/
|
|
3106
|
-
build() {
|
|
3107
|
-
if (!this.data.id) {
|
|
3108
|
-
throw new Error("[RelationGroupBuilder] id is required");
|
|
3109
|
-
}
|
|
3110
|
-
if (!this.data.label) {
|
|
3111
|
-
throw new Error("[RelationGroupBuilder] label is required");
|
|
3112
|
-
}
|
|
3113
|
-
if (!this.data.attribute) {
|
|
3114
|
-
throw new Error("[RelationGroupBuilder] attribute is required");
|
|
3115
|
-
}
|
|
3116
|
-
return this.data;
|
|
3117
|
-
}
|
|
3118
|
-
};
|
|
3119
3075
|
var TableTabConfig = class {
|
|
3120
3076
|
/** @internal */
|
|
3121
3077
|
constructor(view, tabData) {
|
|
@@ -3466,7 +3422,7 @@ var TabBuilder = class {
|
|
|
3466
3422
|
// ─────────────────────────────────────────────────────────────────────────
|
|
3467
3423
|
/**
|
|
3468
3424
|
* Create a form tab with groups
|
|
3469
|
-
* @example .form(group("info", "Info").fields("name", "email")
|
|
3425
|
+
* @example .form(group("info", "Info").fields("name", "email"))
|
|
3470
3426
|
*/
|
|
3471
3427
|
form(...groups) {
|
|
3472
3428
|
if (groups.length === 0) {
|
|
@@ -3477,9 +3433,7 @@ var TabBuilder = class {
|
|
|
3477
3433
|
const tab = {
|
|
3478
3434
|
...this.base,
|
|
3479
3435
|
type: "form",
|
|
3480
|
-
groups: groups.map(
|
|
3481
|
-
(g) => g instanceof GroupBuilder || g instanceof RelationGroupBuilder ? g.build() : g
|
|
3482
|
-
)
|
|
3436
|
+
groups: groups.map((g) => g instanceof GroupBuilder ? g.build() : g)
|
|
3483
3437
|
};
|
|
3484
3438
|
return this.view._addTab(tab);
|
|
3485
3439
|
}
|
|
@@ -3790,7 +3744,7 @@ var ListViewBuilder = class {
|
|
|
3790
3744
|
}
|
|
3791
3745
|
const config = {
|
|
3792
3746
|
defaultFilters: this.data.defaultFilters ? {
|
|
3793
|
-
id:
|
|
3747
|
+
id: chunkOYHBQMC7_js.generateId(),
|
|
3794
3748
|
combinator: this.data.defaultFilters.combinator,
|
|
3795
3749
|
rules: this.data.defaultFilters.rules
|
|
3796
3750
|
} : void 0,
|
|
@@ -3805,7 +3759,7 @@ var ListViewBuilder = class {
|
|
|
3805
3759
|
visibility: tab.visibility,
|
|
3806
3760
|
columns: tab.columns,
|
|
3807
3761
|
filters: tab.filters ? {
|
|
3808
|
-
id:
|
|
3762
|
+
id: chunkOYHBQMC7_js.generateId(),
|
|
3809
3763
|
combinator: tab.filters.combinator,
|
|
3810
3764
|
rules: tab.filters.rules
|
|
3811
3765
|
} : void 0,
|
|
@@ -3971,7 +3925,7 @@ var ListViewTabConfigBuilder = class _ListViewTabConfigBuilder {
|
|
|
3971
3925
|
const protectedAttribute = findProtectedTabFilterAttribute(filters);
|
|
3972
3926
|
if (protectedAttribute) {
|
|
3973
3927
|
const message = `Tab filters cannot target "${protectedAttribute}". Use .visibility("private")`;
|
|
3974
|
-
throw new
|
|
3928
|
+
throw new chunkHWZRSXFB_js.ValidationError(message, [{ path: ["filters"], message }]);
|
|
3975
3929
|
}
|
|
3976
3930
|
this.tabData.filters = filters;
|
|
3977
3931
|
return this;
|
|
@@ -4023,9 +3977,6 @@ function listView(name, label) {
|
|
|
4023
3977
|
function group(id, label) {
|
|
4024
3978
|
return new GroupBuilder(id, label);
|
|
4025
3979
|
}
|
|
4026
|
-
function relationGroup(id, label, attribute) {
|
|
4027
|
-
return new RelationGroupBuilder(id, label, attribute);
|
|
4028
|
-
}
|
|
4029
3980
|
|
|
4030
3981
|
// src/feature-flags/flag-builder.ts
|
|
4031
3982
|
function validateFlagName(name) {
|
|
@@ -4185,7 +4136,7 @@ function jsonFlag(name, defaultValue) {
|
|
|
4185
4136
|
|
|
4186
4137
|
// src/feature-flags/flag-registry.ts
|
|
4187
4138
|
function duplicateFlagError(name) {
|
|
4188
|
-
return new
|
|
4139
|
+
return new chunkHWZRSXFB_js.DuplicateError(
|
|
4189
4140
|
"feature flag",
|
|
4190
4141
|
name,
|
|
4191
4142
|
`Flag "${name}" is already registered. Each flag name must be unique.`
|
|
@@ -4263,7 +4214,7 @@ var FlagRegistry = class {
|
|
|
4263
4214
|
getOrThrow(name) {
|
|
4264
4215
|
const flag = this.get(name);
|
|
4265
4216
|
if (!flag) {
|
|
4266
|
-
throw new
|
|
4217
|
+
throw new chunkHWZRSXFB_js.NotFoundError(
|
|
4267
4218
|
"Feature flag",
|
|
4268
4219
|
name,
|
|
4269
4220
|
void 0,
|
|
@@ -4362,7 +4313,25 @@ var FlagService = class {
|
|
|
4362
4313
|
* @returns Map of flag names to resolved values
|
|
4363
4314
|
*/
|
|
4364
4315
|
async resolveAll(context = {}) {
|
|
4365
|
-
const
|
|
4316
|
+
const flagNames = this.collectFlagNames();
|
|
4317
|
+
const overrides = this.repository && flagNames.size > 0 ? await this.getAllOverrides(context, [...flagNames]) : emptyOverrides();
|
|
4318
|
+
return this.resolveNames(flagNames, overrides, context);
|
|
4319
|
+
}
|
|
4320
|
+
/**
|
|
4321
|
+
* Resolve every flag from static defaults only, never touching the
|
|
4322
|
+
* overrides repository.
|
|
4323
|
+
*
|
|
4324
|
+
* For callers running outside any tenant context (e.g. tenant-less public
|
|
4325
|
+
* HTTP routes such as the connectors OAuth callback): overrides are
|
|
4326
|
+
* tenant-scoped in storage, so without a tenant there is nothing to fetch —
|
|
4327
|
+
* and asking the repository anyway would require the very context that is
|
|
4328
|
+
* absent.
|
|
4329
|
+
*/
|
|
4330
|
+
resolveAllStatic() {
|
|
4331
|
+
return this.resolveNames(this.collectFlagNames(), emptyOverrides(), {});
|
|
4332
|
+
}
|
|
4333
|
+
/** Flag names known to this service: registry entries plus static defaults. */
|
|
4334
|
+
collectFlagNames() {
|
|
4366
4335
|
const flagNames = /* @__PURE__ */ new Set();
|
|
4367
4336
|
for (const name of this.registry.listNames()) {
|
|
4368
4337
|
flagNames.add(name);
|
|
@@ -4370,10 +4339,12 @@ var FlagService = class {
|
|
|
4370
4339
|
for (const name of this.staticDefaults.keys()) {
|
|
4371
4340
|
flagNames.add(name);
|
|
4372
4341
|
}
|
|
4373
|
-
|
|
4342
|
+
return flagNames;
|
|
4343
|
+
}
|
|
4344
|
+
resolveNames(flagNames, overrides, context) {
|
|
4345
|
+
const resolved = /* @__PURE__ */ new Map();
|
|
4374
4346
|
for (const name of flagNames) {
|
|
4375
|
-
|
|
4376
|
-
resolved.set(name, value);
|
|
4347
|
+
resolved.set(name, this.resolveValue(name, overrides, context));
|
|
4377
4348
|
}
|
|
4378
4349
|
return resolved;
|
|
4379
4350
|
}
|
|
@@ -4420,19 +4391,19 @@ var FlagService = class {
|
|
|
4420
4391
|
*/
|
|
4421
4392
|
async setOverride(flagName, level, value, options = {}) {
|
|
4422
4393
|
if (!this.repository) {
|
|
4423
|
-
throw new
|
|
4394
|
+
throw new chunkHWZRSXFB_js.SchemaError(
|
|
4424
4395
|
"Cannot set override: no FeatureFlagsRepository configured. Add featureFlags to your DatabaseAdapter to enable runtime overrides.",
|
|
4425
|
-
|
|
4396
|
+
chunkHWZRSXFB_js.SchemaErrorCode.CONFIGURATION_REQUIRED
|
|
4426
4397
|
);
|
|
4427
4398
|
}
|
|
4428
4399
|
const flag = this.registry.get(flagName);
|
|
4429
4400
|
if (flag && !flag.allowedLevels.includes(level)) {
|
|
4430
4401
|
const message = `Flag "${flagName}" does not allow ${level}-level overrides. Allowed levels: ${flag.allowedLevels.join(", ")}`;
|
|
4431
|
-
throw new
|
|
4402
|
+
throw new chunkHWZRSXFB_js.ValidationError(message, [{ path: ["level"], message }]);
|
|
4432
4403
|
}
|
|
4433
4404
|
if (flag?.system) {
|
|
4434
4405
|
const message = `Flag "${flagName}" is a system flag and cannot be overridden via API.`;
|
|
4435
|
-
throw new
|
|
4406
|
+
throw new chunkHWZRSXFB_js.ValidationError(message, [{ path: ["flagName"], message }]);
|
|
4436
4407
|
}
|
|
4437
4408
|
await this.repository.setOverride({
|
|
4438
4409
|
flagName,
|
|
@@ -4452,9 +4423,9 @@ var FlagService = class {
|
|
|
4452
4423
|
*/
|
|
4453
4424
|
async deleteOverride(flagName, level, targetId) {
|
|
4454
4425
|
if (!this.repository) {
|
|
4455
|
-
throw new
|
|
4426
|
+
throw new chunkHWZRSXFB_js.SchemaError(
|
|
4456
4427
|
"Cannot delete override: no FeatureFlagsRepository configured.",
|
|
4457
|
-
|
|
4428
|
+
chunkHWZRSXFB_js.SchemaErrorCode.CONFIGURATION_REQUIRED
|
|
4458
4429
|
);
|
|
4459
4430
|
}
|
|
4460
4431
|
await this.repository.deleteOverride(flagName, level, targetId);
|
|
@@ -4591,7 +4562,7 @@ var NativeObjectRegistryClass = class {
|
|
|
4591
4562
|
if (!object2.system) {
|
|
4592
4563
|
const message = `[NativeObjectRegistry] Cannot register object "${object2.name}" (id: ${object2.id}): missing system flag.
|
|
4593
4564
|
Native objects must have system=true. Did you call .runtime() on the builder? Remove that call \u2014 objects are system:true by default.`;
|
|
4594
|
-
throw new
|
|
4565
|
+
throw new chunkHWZRSXFB_js.ValidationError(message, []);
|
|
4595
4566
|
}
|
|
4596
4567
|
if (this.objects.has(object2.name)) {
|
|
4597
4568
|
const existing = this.objects.get(object2.name);
|
|
@@ -4599,7 +4570,7 @@ Native objects must have system=true. Did you call .runtime() on the builder? Re
|
|
|
4599
4570
|
- Existing: "${existing?.label}" (id: ${existing?.id})
|
|
4600
4571
|
- New: "${object2.label}" (id: ${object2.id})
|
|
4601
4572
|
Please use unique names for each native object.`;
|
|
4602
|
-
throw new
|
|
4573
|
+
throw new chunkHWZRSXFB_js.DuplicateError("object", object2.name, message);
|
|
4603
4574
|
}
|
|
4604
4575
|
this.objects.set(object2.name, cloneObjectDefinition(object2));
|
|
4605
4576
|
}
|
|
@@ -4631,7 +4602,7 @@ Please use unique names for each native object.`;
|
|
|
4631
4602
|
if (!object2) {
|
|
4632
4603
|
const message = `[NativeObjectRegistry] Native object "${name}" not found.
|
|
4633
4604
|
Available objects: ${this.listNames().join(", ")}`;
|
|
4634
|
-
throw new
|
|
4605
|
+
throw new chunkHWZRSXFB_js.NotFoundError("Native object", name, chunkHWZRSXFB_js.SchemaErrorCode.OBJECT_NOT_FOUND, message);
|
|
4635
4606
|
}
|
|
4636
4607
|
return object2;
|
|
4637
4608
|
}
|
|
@@ -4761,6 +4732,12 @@ var MEMORY_VIEW = detailView("memory-detail", "Memory").for("memory").default().
|
|
|
4761
4732
|
}).tab("content", "Content").richtext("content").titleAttribute("name").build();
|
|
4762
4733
|
var MEMORY_LIST_VIEW = listView("memory-list", "Memories").for("memory").default().tab("workspace", "Memories").default().icon("table").visibility("workspace").table().columns("name", "kind", "description", "createdAt").sort("name", "asc").tab("mine", "My memories").icon("lock").visibility("private").table().columns("name", "kind", "description", "createdAt").sort("name", "asc").build();
|
|
4763
4734
|
|
|
4735
|
+
// src/native/drive.object.ts
|
|
4736
|
+
var DRIVE_OBJECT_NAME = "drives";
|
|
4737
|
+
var DRIVE_OBJECT = object({ name: DRIVE_OBJECT_NAME, label: "Drive" }).sealed().icon("folder").hidden().pluralLabel("Drives").labelExpression("{{ name }}").embeddingExpression("{{ name }}\n{{ description }}").attribute(text({ name: "name", label: "Name" }).required()).attribute(text({ name: "description", label: "Description" }).multiline()).build();
|
|
4738
|
+
var DRIVE_VIEW = detailView("drive-detail", "Drive").for(DRIVE_OBJECT_NAME).default().sidePanel({ attributes: ["description"] }).tab("documents", "Documents").documents().build();
|
|
4739
|
+
var DRIVE_LIST_VIEW = listView("drive-list", "Drives").for(DRIVE_OBJECT_NAME).default().tab("workspace", "Shared").default().icon("users").visibility("workspace").table().columns("name", "description", "updatedAt").sort("name", "asc").tab("mine", "My drives").icon("lock").visibility("private").table().columns("name", "description", "updatedAt").sort("name", "asc").build();
|
|
4740
|
+
|
|
4764
4741
|
// src/views/registry.ts
|
|
4765
4742
|
function cloneViewDefinition(view) {
|
|
4766
4743
|
return structuredClone(view);
|
|
@@ -4787,7 +4764,7 @@ var ViewRegistry = class {
|
|
|
4787
4764
|
const key = this.makeKey(view.object, view.name, view.type);
|
|
4788
4765
|
if (this.views.has(key)) {
|
|
4789
4766
|
const message = `[ViewRegistry] Duplicate view: "${view.name}" (${view.type}) for object "${view.object}"`;
|
|
4790
|
-
throw new
|
|
4767
|
+
throw new chunkHWZRSXFB_js.DuplicateError("view", key, message);
|
|
4791
4768
|
}
|
|
4792
4769
|
const storedView = cloneViewDefinition(view);
|
|
4793
4770
|
this.views.set(key, storedView);
|
|
@@ -4832,7 +4809,7 @@ var ViewRegistry = class {
|
|
|
4832
4809
|
const availableNames = available.map((v) => `${v.name} (${v.type})`).join(", ") || "(none)";
|
|
4833
4810
|
const message = `[ViewRegistry] View "${viewName}" not found for object "${objectName}".
|
|
4834
4811
|
Available views: ${availableNames}`;
|
|
4835
|
-
throw new
|
|
4812
|
+
throw new chunkHWZRSXFB_js.NotFoundError("View", `${objectName}:${viewName}`, void 0, message);
|
|
4836
4813
|
}
|
|
4837
4814
|
return view;
|
|
4838
4815
|
}
|
|
@@ -4920,7 +4897,7 @@ var viewRegistry = new ViewRegistry();
|
|
|
4920
4897
|
// src/views/auto-generator.ts
|
|
4921
4898
|
function getRuntimeAttributes(attributes, excludeNames = []) {
|
|
4922
4899
|
return attributes.filter(
|
|
4923
|
-
(attr) => !(!
|
|
4900
|
+
(attr) => !(!chunkTU6ECJFZ_js.getAttributeCapabilities(attr).lifecycle.visibleInRuntime || attr.system || excludeNames.includes(attr.name))
|
|
4924
4901
|
);
|
|
4925
4902
|
}
|
|
4926
4903
|
function sortAttributes(attributes) {
|
|
@@ -4953,7 +4930,7 @@ function generateDefaultDetailView(object2, options = {}) {
|
|
|
4953
4930
|
const { includeActivityTab = true, includeDocumentsTab = true, excludeAttributes = [] } = options;
|
|
4954
4931
|
const runtimeAttrs = getRuntimeAttributes(object2.attributes, excludeAttributes);
|
|
4955
4932
|
const sortedAttrs = sortAttributes(
|
|
4956
|
-
runtimeAttrs.filter((attr) =>
|
|
4933
|
+
runtimeAttrs.filter((attr) => chunkTU6ECJFZ_js.getAttributeCapabilities(attr).presentation.formField)
|
|
4957
4934
|
);
|
|
4958
4935
|
const formTab = {
|
|
4959
4936
|
id: "form",
|
|
@@ -5010,7 +4987,7 @@ function generateDefaultListView(object2, options = {}) {
|
|
|
5010
4987
|
const { excludeAttributes = [], maxListColumns = 5 } = options;
|
|
5011
4988
|
const runtimeAttrs = getRuntimeAttributes(object2.attributes, excludeAttributes);
|
|
5012
4989
|
const sortedAttrs = sortAttributes(
|
|
5013
|
-
runtimeAttrs.filter((attr) =>
|
|
4990
|
+
runtimeAttrs.filter((attr) => chunkTU6ECJFZ_js.getAttributeCapabilities(attr).presentation.defaultColumn)
|
|
5014
4991
|
);
|
|
5015
4992
|
const columns = sortedAttrs.slice(0, maxListColumns).map((attr) => attr.name);
|
|
5016
4993
|
const config = {
|
|
@@ -5140,7 +5117,7 @@ var FormRegistry = class {
|
|
|
5140
5117
|
const forms = Array.isArray(formOrForms) ? formOrForms : [formOrForms];
|
|
5141
5118
|
for (const f of forms) {
|
|
5142
5119
|
if (this.forms.has(f.name)) {
|
|
5143
|
-
throw new
|
|
5120
|
+
throw new chunkHWZRSXFB_js.DuplicateError("form", f.name, `[FormRegistry] Duplicate form: "${f.name}"`);
|
|
5144
5121
|
}
|
|
5145
5122
|
this.forms.set(f.name, cloneFormDefinition(f));
|
|
5146
5123
|
}
|
|
@@ -5701,7 +5678,7 @@ function assertAcyclicComputedDependencies(nodes) {
|
|
|
5701
5678
|
}
|
|
5702
5679
|
function parseCompileFormula(expression) {
|
|
5703
5680
|
try {
|
|
5704
|
-
return
|
|
5681
|
+
return chunkLRFLSFIA_js.parseComputedFormula(expression);
|
|
5705
5682
|
} catch (error) {
|
|
5706
5683
|
if (error instanceof Error) {
|
|
5707
5684
|
throw new ComputedFormulaCompileError(error.message);
|
|
@@ -6452,9 +6429,9 @@ function evaluateCall(functionName, args) {
|
|
|
6452
6429
|
case "percent_not_empty":
|
|
6453
6430
|
return percentByEmptyState(args[0], false);
|
|
6454
6431
|
case "count_empty":
|
|
6455
|
-
return collectionItems(args[0]).filter(
|
|
6432
|
+
return collectionItems(args[0]).filter(chunkE47WAI5K_js.isNullishOrEmptyString).length;
|
|
6456
6433
|
case "count_not_empty":
|
|
6457
|
-
return collectionItems(args[0]).filter((item) => !
|
|
6434
|
+
return collectionItems(args[0]).filter((item) => !chunkE47WAI5K_js.isNullishOrEmptyString(item)).length;
|
|
6458
6435
|
case "count_unique":
|
|
6459
6436
|
return uniqueNonEmpty(collectionItems(args[0])).length;
|
|
6460
6437
|
default:
|
|
@@ -6497,14 +6474,14 @@ function percentByEmptyState(value, countEmpty) {
|
|
|
6497
6474
|
if (items.length === 0) {
|
|
6498
6475
|
return 0;
|
|
6499
6476
|
}
|
|
6500
|
-
const count = items.filter((item) =>
|
|
6477
|
+
const count = items.filter((item) => chunkE47WAI5K_js.isNullishOrEmptyString(item) === countEmpty).length;
|
|
6501
6478
|
return count / items.length;
|
|
6502
6479
|
}
|
|
6503
6480
|
function uniqueNonEmpty(values) {
|
|
6504
6481
|
const seen = /* @__PURE__ */ new Set();
|
|
6505
6482
|
const result = [];
|
|
6506
6483
|
for (const value of values) {
|
|
6507
|
-
if (
|
|
6484
|
+
if (chunkE47WAI5K_js.isNullishOrEmptyString(value)) {
|
|
6508
6485
|
continue;
|
|
6509
6486
|
}
|
|
6510
6487
|
const key = uniqueKey(value);
|
|
@@ -6618,11 +6595,11 @@ function evaluateComputedAst(node, input) {
|
|
|
6618
6595
|
return evaluateAst(node, input);
|
|
6619
6596
|
}
|
|
6620
6597
|
function evaluateComputedFormula(expression, input) {
|
|
6621
|
-
return evaluateAst(
|
|
6598
|
+
return evaluateAst(chunkLRFLSFIA_js.parseComputedFormula(expression), input);
|
|
6622
6599
|
}
|
|
6623
6600
|
function evaluateComputedFormulaWithResult(expression, input, returnType, decimals) {
|
|
6624
6601
|
try {
|
|
6625
|
-
const raw = evaluateAst(
|
|
6602
|
+
const raw = evaluateAst(chunkLRFLSFIA_js.parseComputedFormula(expression), input);
|
|
6626
6603
|
const value = returnType ? formatComputedResult(raw, returnType, decimals) : raw;
|
|
6627
6604
|
return { value };
|
|
6628
6605
|
} catch (error) {
|
|
@@ -6747,10 +6724,10 @@ var COMPUTED_FUNCTION_METADATA = [
|
|
|
6747
6724
|
];
|
|
6748
6725
|
|
|
6749
6726
|
// src/filters/operators.ts
|
|
6750
|
-
var isEmpty = (v) =>
|
|
6727
|
+
var isEmpty = (v) => chunkE47WAI5K_js.isNullishOrEmptyString(v) || Array.isArray(v) && v.length === 0;
|
|
6751
6728
|
var toStr = (v) => v == null ? "" : String(v);
|
|
6752
6729
|
var toNum = (v) => {
|
|
6753
|
-
if (
|
|
6730
|
+
if (chunkE47WAI5K_js.isNullishOrEmptyString(v)) return null;
|
|
6754
6731
|
const n = typeof v === "number" ? v : Number(v);
|
|
6755
6732
|
return Number.isFinite(n) ? n : null;
|
|
6756
6733
|
};
|
|
@@ -6883,7 +6860,7 @@ var OPERATOR_SPECS = {
|
|
|
6883
6860
|
appliesTo: ["date"],
|
|
6884
6861
|
evaluateInMemory: (v, rv) => {
|
|
6885
6862
|
const d = toDate2(v);
|
|
6886
|
-
const bounds =
|
|
6863
|
+
const bounds = chunkTU6ECJFZ_js.resolveIsWithinBounds(rv);
|
|
6887
6864
|
if (!(d && bounds)) return false;
|
|
6888
6865
|
return d.getTime() >= bounds.startMs && d.getTime() < bounds.endMs;
|
|
6889
6866
|
}
|
|
@@ -6919,7 +6896,7 @@ var OPERATOR_SPECS = {
|
|
|
6919
6896
|
// src/filters/evaluate.ts
|
|
6920
6897
|
var systemAttribute = (name, type) => ({ id: `system:${name}`, name, label: name, type, system: true });
|
|
6921
6898
|
var RECORD_SYSTEM_ATTRIBUTES = [
|
|
6922
|
-
...Object.entries(
|
|
6899
|
+
...Object.entries(chunkTU6ECJFZ_js.SYSTEM_FILTER_ATTRIBUTE_TYPES).map(
|
|
6923
6900
|
([name, type]) => systemAttribute(name, type)
|
|
6924
6901
|
)
|
|
6925
6902
|
];
|
|
@@ -6960,7 +6937,7 @@ function evaluateRule(rule, values, attrByName) {
|
|
|
6960
6937
|
(definition) => definition.name === rule.property
|
|
6961
6938
|
);
|
|
6962
6939
|
if (!property) return false;
|
|
6963
|
-
const positiveOperator =
|
|
6940
|
+
const positiveOperator = chunkTU6ECJFZ_js.normalizeForEdgeRpc(rule.operator);
|
|
6964
6941
|
const propertySpec = OPERATOR_SPECS[positiveOperator];
|
|
6965
6942
|
if (!propertySpec?.appliesTo.includes(property.type)) return false;
|
|
6966
6943
|
const rootValue = values[rule.attribute];
|
|
@@ -6978,7 +6955,7 @@ function evaluateRule(rule, values, attrByName) {
|
|
|
6978
6955
|
property
|
|
6979
6956
|
);
|
|
6980
6957
|
});
|
|
6981
|
-
return (rule.quantifier ??
|
|
6958
|
+
return (rule.quantifier ?? chunkTU6ECJFZ_js.getOperatorPolarity(rule.operator)) === "none" ? !matches : matches;
|
|
6982
6959
|
}
|
|
6983
6960
|
const spec = OPERATOR_SPECS[rule.operator];
|
|
6984
6961
|
if (!spec) return false;
|
|
@@ -7027,7 +7004,7 @@ function normalizePhoneComparands(stored, rule) {
|
|
|
7027
7004
|
return [normalizeOne(stored), normalizeOne(rule)];
|
|
7028
7005
|
}
|
|
7029
7006
|
function normalizeComparableValue(type, value) {
|
|
7030
|
-
if (type === "currency") return
|
|
7007
|
+
if (type === "currency") return chunkTU6ECJFZ_js.extractCurrencyFilterValue(value);
|
|
7031
7008
|
if (type === "date") {
|
|
7032
7009
|
if (isDateRangeValue(value)) return dateValueStart(value);
|
|
7033
7010
|
if (value instanceof Date) return Number.isNaN(value.getTime()) ? null : value.toISOString();
|
|
@@ -7136,10 +7113,10 @@ var attributeNameSchema = z2.z.string().min(1).superRefine((name, ctx) => {
|
|
|
7136
7113
|
'The attribute\'s machine name \u2014 the record\'s field key, and what `{{ name }}` refers to in a labelExpression. Must be a valid identifier: starts with a letter or underscore, then only letters/digits/underscores ("montantHt", "first_name", "FIRST_NAME" are valid; "first-name", "first name", "123name" are not). Max 63 characters. Cannot be a name reserved by the record shape itself (id, createdAt, updatedAt, createdBy, lastUpdatedBy, objectId, label, embeddingText, values, metadata, deletedAt, deletedBy, schemaVersion).'
|
|
7137
7114
|
);
|
|
7138
7115
|
var objectNameSchema = z2.z.string().min(1).superRefine((name, ctx) => {
|
|
7139
|
-
if (
|
|
7116
|
+
if (chunkTU6ECJFZ_js.RESERVED_OBJECT_NAMES.includes(name)) {
|
|
7140
7117
|
ctx.addIssue({
|
|
7141
7118
|
code: z2.z.ZodIssueCode.custom,
|
|
7142
|
-
message: `"${name}" is a reserved object name (${
|
|
7119
|
+
message: `"${name}" is a reserved object name (${chunkTU6ECJFZ_js.RESERVED_OBJECT_NAMES.join(", ")}) and cannot be used for a new object.`
|
|
7143
7120
|
});
|
|
7144
7121
|
}
|
|
7145
7122
|
try {
|
|
@@ -7153,7 +7130,7 @@ var objectNameSchema = z2.z.string().min(1).superRefine((name, ctx) => {
|
|
|
7153
7130
|
function withConfigCheck(schema) {
|
|
7154
7131
|
return schema.superRefine((attribute, ctx) => {
|
|
7155
7132
|
try {
|
|
7156
|
-
const parsedConfig =
|
|
7133
|
+
const parsedConfig = chunkLRFLSFIA_js.parseAttributeConfigForCreate(attribute.type, {
|
|
7157
7134
|
...attribute.config ?? {},
|
|
7158
7135
|
description: attribute.description
|
|
7159
7136
|
});
|
|
@@ -7169,7 +7146,7 @@ function withConfigCheck(schema) {
|
|
|
7169
7146
|
});
|
|
7170
7147
|
}
|
|
7171
7148
|
} catch (error) {
|
|
7172
|
-
if (error instanceof
|
|
7149
|
+
if (error instanceof chunkHWZRSXFB_js.ValidationError) {
|
|
7173
7150
|
for (const issue of error.errors) {
|
|
7174
7151
|
ctx.addIssue({
|
|
7175
7152
|
code: z2.z.ZodIssueCode.custom,
|
|
@@ -7216,7 +7193,7 @@ var plannedObjectSchema = z2.z.object({
|
|
|
7216
7193
|
'Human-readable plural display label (e.g. "Devis"/"Invoices"). Defaults from `label` if omitted.'
|
|
7217
7194
|
),
|
|
7218
7195
|
description: z2.z.string().optional().describe("Help text describing what this object represents."),
|
|
7219
|
-
icon:
|
|
7196
|
+
icon: chunkLRFLSFIA_js.iconNameSchema.describe(
|
|
7220
7197
|
"Required icon name for the object. Must be a catalogue value \u2014 call `search_icons` and use a name it returns verbatim. A name that is not in the catalogue is rejected without any hint as to what would have worked, so never guess one."
|
|
7221
7198
|
),
|
|
7222
7199
|
labelExpression: labelExpressionSchema.describe(
|
|
@@ -7274,13 +7251,13 @@ var proposedDefaultViewTargetSchema = z2.z.discriminatedUnion("viewType", [
|
|
|
7274
7251
|
z2.z.object({
|
|
7275
7252
|
objectName: viewTargetObjectNameSchema,
|
|
7276
7253
|
viewType: z2.z.literal("list").describe("Targets the object's default list view (the grid)."),
|
|
7277
|
-
canonicalConfig:
|
|
7254
|
+
canonicalConfig: chunkTU6ECJFZ_js.listViewConfigSchema.describe(CANONICAL_CONFIG_DESCRIPTION),
|
|
7278
7255
|
baselineToken: z2.z.string().min(1).optional().describe(BASELINE_TOKEN_DESCRIPTION)
|
|
7279
7256
|
}).strict(),
|
|
7280
7257
|
z2.z.object({
|
|
7281
7258
|
objectName: viewTargetObjectNameSchema,
|
|
7282
7259
|
viewType: z2.z.literal("detail").describe("Targets the object's default detail view (the single-record view)."),
|
|
7283
|
-
canonicalConfig:
|
|
7260
|
+
canonicalConfig: chunkTU6ECJFZ_js.detailViewConfigSchema.describe(CANONICAL_CONFIG_DESCRIPTION),
|
|
7284
7261
|
baselineToken: z2.z.string().min(1).optional().describe(BASELINE_TOKEN_DESCRIPTION)
|
|
7285
7262
|
}).strict()
|
|
7286
7263
|
]);
|
|
@@ -7294,13 +7271,13 @@ var persistedDefaultViewTargetSchema = z2.z.discriminatedUnion("viewType", [
|
|
|
7294
7271
|
z2.z.object({
|
|
7295
7272
|
objectName: z2.z.string().min(1),
|
|
7296
7273
|
viewType: z2.z.literal("list"),
|
|
7297
|
-
canonicalConfig:
|
|
7274
|
+
canonicalConfig: chunkTU6ECJFZ_js.listViewConfigSchema,
|
|
7298
7275
|
...persistedBaselineFields
|
|
7299
7276
|
}).strict(),
|
|
7300
7277
|
z2.z.object({
|
|
7301
7278
|
objectName: z2.z.string().min(1),
|
|
7302
7279
|
viewType: z2.z.literal("detail"),
|
|
7303
|
-
canonicalConfig:
|
|
7280
|
+
canonicalConfig: chunkTU6ECJFZ_js.detailViewConfigSchema,
|
|
7304
7281
|
...persistedBaselineFields
|
|
7305
7282
|
}).strict()
|
|
7306
7283
|
]).superRefine((target, ctx) => {
|
|
@@ -7447,7 +7424,7 @@ function boundSerializedPlanInput(input, ctx) {
|
|
|
7447
7424
|
});
|
|
7448
7425
|
return z2.z.NEVER;
|
|
7449
7426
|
}
|
|
7450
|
-
const serializedBytes = new TextEncoder().encode(
|
|
7427
|
+
const serializedBytes = new TextEncoder().encode(chunkOYHBQMC7_js.canonicalStringify(input)).byteLength;
|
|
7451
7428
|
if (serializedBytes > SCHEMA_PLAN_LIMITS.serializedBytes) {
|
|
7452
7429
|
ctx.addIssue({
|
|
7453
7430
|
code: "too_big",
|
|
@@ -7507,329 +7484,1229 @@ var persistedSchemaPlanSchema = z2.z.preprocess(
|
|
|
7507
7484
|
structuralPersistedSchemaPlanSchema
|
|
7508
7485
|
);
|
|
7509
7486
|
|
|
7487
|
+
// src/architect/define-operation.ts
|
|
7488
|
+
function defineOperation(def) {
|
|
7489
|
+
return def;
|
|
7490
|
+
}
|
|
7491
|
+
var operationBase = { id: z2.z.string().min(1) };
|
|
7492
|
+
var viewOperationBase = { ...operationBase, viewId: z2.z.string().min(1) };
|
|
7493
|
+
function mapView(state, viewId, fn) {
|
|
7494
|
+
if (!state.views.some((v) => v.id === viewId)) {
|
|
7495
|
+
throw new chunkHWZRSXFB_js.ValidationError(`View "${viewId}" is not in the draftable state`, []);
|
|
7496
|
+
}
|
|
7497
|
+
return { ...state, views: state.views.map((v) => v.id === viewId ? fn(v) : v) };
|
|
7498
|
+
}
|
|
7499
|
+
function moveWithin(items, from, toIndex) {
|
|
7500
|
+
const next = [...items];
|
|
7501
|
+
const [item] = next.splice(from, 1);
|
|
7502
|
+
next.splice(toIndex, 0, item);
|
|
7503
|
+
return next;
|
|
7504
|
+
}
|
|
7505
|
+
function reorderById(items, order, what) {
|
|
7506
|
+
if (order.length !== items.length) {
|
|
7507
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
7508
|
+
`${what} order lists ${order.length} ids for ${items.length} items`,
|
|
7509
|
+
[]
|
|
7510
|
+
);
|
|
7511
|
+
}
|
|
7512
|
+
return order.map((id) => {
|
|
7513
|
+
const found = items.find((item) => item.id === id);
|
|
7514
|
+
if (!found) throw new chunkHWZRSXFB_js.ValidationError(`${what} "${id}" is not in this collection`, []);
|
|
7515
|
+
return found;
|
|
7516
|
+
});
|
|
7517
|
+
}
|
|
7518
|
+
|
|
7519
|
+
// src/architect/operations/detail-view.ts
|
|
7520
|
+
function mapFormTab(view, tabId, fn) {
|
|
7521
|
+
const found = view.tabs.find((t) => t.id === tabId);
|
|
7522
|
+
if (!found) throw new chunkHWZRSXFB_js.ValidationError(`Tab "${tabId}" is not in view "${view.id}"`, []);
|
|
7523
|
+
if (found.type !== "form") {
|
|
7524
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Tab "${tabId}" is not a form tab`, []);
|
|
7525
|
+
}
|
|
7526
|
+
return { ...view, tabs: view.tabs.map((t) => t.id === tabId ? fn(found) : t) };
|
|
7527
|
+
}
|
|
7528
|
+
function requireGroup(tab, groupId) {
|
|
7529
|
+
const found = tab.groups.find((g) => g.id === groupId);
|
|
7530
|
+
if (!found) throw new chunkHWZRSXFB_js.ValidationError(`Group "${groupId}" is not in tab "${tab.id}"`, []);
|
|
7531
|
+
return found;
|
|
7532
|
+
}
|
|
7533
|
+
function locateField(tab, fieldId) {
|
|
7534
|
+
for (const group2 of tab.groups) {
|
|
7535
|
+
const field = group2.fields.find((f) => f.id === fieldId);
|
|
7536
|
+
if (field) return { group: group2, field };
|
|
7537
|
+
}
|
|
7538
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Field slot "${fieldId}" is not in tab "${tab.id}"`, []);
|
|
7539
|
+
}
|
|
7540
|
+
var tabPayload = z2.z.custom(
|
|
7541
|
+
(value) => typeof value === "object" && value !== null && "id" in value && "type" in value,
|
|
7542
|
+
{ message: "A tab must be an object carrying id and type" }
|
|
7543
|
+
);
|
|
7544
|
+
var groupPayload = z2.z.custom(
|
|
7545
|
+
(value) => typeof value === "object" && value !== null && "id" in value && "fields" in value,
|
|
7546
|
+
{ message: "A group must be an object carrying id and fields" }
|
|
7547
|
+
);
|
|
7548
|
+
var fieldPayload = z2.z.custom(
|
|
7549
|
+
(value) => typeof value === "object" && value !== null && "id" in value,
|
|
7550
|
+
{ message: "A field slot must be an object carrying an id" }
|
|
7551
|
+
);
|
|
7552
|
+
var addTabSchema = z2.z.object({
|
|
7553
|
+
...viewOperationBase,
|
|
7554
|
+
type: z2.z.literal("add_tab"),
|
|
7555
|
+
tab: tabPayload
|
|
7556
|
+
});
|
|
7557
|
+
var addTab = defineOperation({
|
|
7558
|
+
type: "add_tab",
|
|
7559
|
+
schema: addTabSchema,
|
|
7560
|
+
apply: (state, op) => mapView(state, op.viewId, (view) => {
|
|
7561
|
+
if (view.tabs.some((t) => t.id === op.tab.id)) {
|
|
7562
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Tab "${op.tab.id}" already exists in view "${op.viewId}"`, []);
|
|
7563
|
+
}
|
|
7564
|
+
return { ...view, tabs: [...view.tabs, op.tab] };
|
|
7565
|
+
}),
|
|
7566
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tab.id }),
|
|
7567
|
+
describe: (op) => `Ajoute l'onglet \xAB ${op.tab.label} \xBB`
|
|
7568
|
+
});
|
|
7569
|
+
var removeTabSchema = z2.z.object({
|
|
7570
|
+
...viewOperationBase,
|
|
7571
|
+
type: z2.z.literal("remove_tab"),
|
|
7572
|
+
tabId: z2.z.string().min(1)
|
|
7573
|
+
});
|
|
7574
|
+
var removeTab = defineOperation({
|
|
7575
|
+
type: "remove_tab",
|
|
7576
|
+
schema: removeTabSchema,
|
|
7577
|
+
apply: (state, op) => mapView(state, op.viewId, (view) => {
|
|
7578
|
+
if (!view.tabs.some((t) => t.id === op.tabId)) {
|
|
7579
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Tab "${op.tabId}" is not in view "${op.viewId}"`, []);
|
|
7580
|
+
}
|
|
7581
|
+
return { ...view, tabs: view.tabs.filter((t) => t.id !== op.tabId) };
|
|
7582
|
+
}),
|
|
7583
|
+
focus: (op) => ({ viewId: op.viewId }),
|
|
7584
|
+
describe: (op) => `Supprime l'onglet ${op.tabId}`
|
|
7585
|
+
});
|
|
7586
|
+
var updateTabSchema = z2.z.object({
|
|
7587
|
+
...viewOperationBase,
|
|
7588
|
+
type: z2.z.literal("update_tab"),
|
|
7589
|
+
tabId: z2.z.string().min(1),
|
|
7590
|
+
changes: z2.z.object({
|
|
7591
|
+
label: z2.z.string().min(1).optional(),
|
|
7592
|
+
icon: z2.z.custom((v) => typeof v === "string" && v.length > 0).optional(),
|
|
7593
|
+
order: z2.z.number().int().optional()
|
|
7594
|
+
}).refine((c) => Object.keys(c).length > 0, "update_tab needs at least one change")
|
|
7595
|
+
});
|
|
7596
|
+
var updateTab = defineOperation({
|
|
7597
|
+
type: "update_tab",
|
|
7598
|
+
schema: updateTabSchema,
|
|
7599
|
+
apply: (state, op) => mapView(state, op.viewId, (view) => {
|
|
7600
|
+
if (!view.tabs.some((t) => t.id === op.tabId)) {
|
|
7601
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Tab "${op.tabId}" is not in view "${op.viewId}"`, []);
|
|
7602
|
+
}
|
|
7603
|
+
return {
|
|
7604
|
+
...view,
|
|
7605
|
+
tabs: view.tabs.map((t) => t.id === op.tabId ? { ...t, ...op.changes } : t)
|
|
7606
|
+
};
|
|
7607
|
+
}),
|
|
7608
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId }),
|
|
7609
|
+
describe: (op) => op.changes.label ? `Renomme l'onglet en \xAB ${op.changes.label} \xBB` : `Modifie l'onglet ${op.tabId}`
|
|
7610
|
+
});
|
|
7611
|
+
var reorderTabsSchema = z2.z.object({
|
|
7612
|
+
...viewOperationBase,
|
|
7613
|
+
type: z2.z.literal("reorder_tabs"),
|
|
7614
|
+
tabOrder: z2.z.array(z2.z.string().min(1))
|
|
7615
|
+
});
|
|
7616
|
+
var reorderTabs = defineOperation({
|
|
7617
|
+
type: "reorder_tabs",
|
|
7618
|
+
schema: reorderTabsSchema,
|
|
7619
|
+
apply: (state, op) => mapView(state, op.viewId, (view) => ({
|
|
7620
|
+
...view,
|
|
7621
|
+
tabs: reorderById(view.tabs, op.tabOrder, "Tab")
|
|
7622
|
+
})),
|
|
7623
|
+
focus: (op) => ({ viewId: op.viewId }),
|
|
7624
|
+
describe: () => "R\xE9ordonne les onglets"
|
|
7625
|
+
});
|
|
7626
|
+
var addGroupSchema = z2.z.object({
|
|
7627
|
+
...viewOperationBase,
|
|
7628
|
+
type: z2.z.literal("add_group"),
|
|
7629
|
+
tabId: z2.z.string().min(1),
|
|
7630
|
+
group: groupPayload
|
|
7631
|
+
});
|
|
7632
|
+
var addGroup = defineOperation({
|
|
7633
|
+
type: "add_group",
|
|
7634
|
+
schema: addGroupSchema,
|
|
7635
|
+
apply: (state, op) => mapView(
|
|
7636
|
+
state,
|
|
7637
|
+
op.viewId,
|
|
7638
|
+
(view) => mapFormTab(view, op.tabId, (tab) => {
|
|
7639
|
+
if (tab.groups.some((g) => g.id === op.group.id)) {
|
|
7640
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
7641
|
+
`Group "${op.group.id}" already exists in tab "${op.tabId}"`,
|
|
7642
|
+
[]
|
|
7643
|
+
);
|
|
7644
|
+
}
|
|
7645
|
+
return { ...tab, groups: [...tab.groups, op.group] };
|
|
7646
|
+
})
|
|
7647
|
+
),
|
|
7648
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId, groupId: op.group.id }),
|
|
7649
|
+
describe: (op) => `Ajoute le groupe \xAB ${op.group.label} \xBB`
|
|
7650
|
+
});
|
|
7651
|
+
var removeGroupSchema = z2.z.object({
|
|
7652
|
+
...viewOperationBase,
|
|
7653
|
+
type: z2.z.literal("remove_group"),
|
|
7654
|
+
tabId: z2.z.string().min(1),
|
|
7655
|
+
groupId: z2.z.string().min(1)
|
|
7656
|
+
});
|
|
7657
|
+
var removeGroup = defineOperation({
|
|
7658
|
+
type: "remove_group",
|
|
7659
|
+
schema: removeGroupSchema,
|
|
7660
|
+
apply: (state, op) => mapView(
|
|
7661
|
+
state,
|
|
7662
|
+
op.viewId,
|
|
7663
|
+
(view) => mapFormTab(view, op.tabId, (tab) => {
|
|
7664
|
+
requireGroup(tab, op.groupId);
|
|
7665
|
+
return { ...tab, groups: tab.groups.filter((g) => g.id !== op.groupId) };
|
|
7666
|
+
})
|
|
7667
|
+
),
|
|
7668
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId }),
|
|
7669
|
+
describe: (op) => `Supprime le groupe ${op.groupId}`
|
|
7670
|
+
});
|
|
7671
|
+
var setGroupLabelSchema = z2.z.object({
|
|
7672
|
+
...viewOperationBase,
|
|
7673
|
+
type: z2.z.literal("set_group_label"),
|
|
7674
|
+
tabId: z2.z.string().min(1),
|
|
7675
|
+
groupId: z2.z.string().min(1),
|
|
7676
|
+
label: z2.z.string().min(1)
|
|
7677
|
+
});
|
|
7678
|
+
var setGroupLabel = defineOperation({
|
|
7679
|
+
type: "set_group_label",
|
|
7680
|
+
schema: setGroupLabelSchema,
|
|
7681
|
+
apply: (state, op) => mapView(
|
|
7682
|
+
state,
|
|
7683
|
+
op.viewId,
|
|
7684
|
+
(view) => mapFormTab(view, op.tabId, (tab) => {
|
|
7685
|
+
requireGroup(tab, op.groupId);
|
|
7686
|
+
return {
|
|
7687
|
+
...tab,
|
|
7688
|
+
groups: tab.groups.map((g) => g.id === op.groupId ? { ...g, label: op.label } : g)
|
|
7689
|
+
};
|
|
7690
|
+
})
|
|
7691
|
+
),
|
|
7692
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId, groupId: op.groupId }),
|
|
7693
|
+
describe: (op) => `Renomme le groupe en \xAB ${op.label} \xBB`
|
|
7694
|
+
});
|
|
7695
|
+
var reorderGroupsSchema = z2.z.object({
|
|
7696
|
+
...viewOperationBase,
|
|
7697
|
+
type: z2.z.literal("reorder_groups"),
|
|
7698
|
+
tabId: z2.z.string().min(1),
|
|
7699
|
+
groupOrder: z2.z.array(z2.z.string().min(1))
|
|
7700
|
+
});
|
|
7701
|
+
var reorderGroups = defineOperation({
|
|
7702
|
+
type: "reorder_groups",
|
|
7703
|
+
schema: reorderGroupsSchema,
|
|
7704
|
+
apply: (state, op) => mapView(
|
|
7705
|
+
state,
|
|
7706
|
+
op.viewId,
|
|
7707
|
+
(view) => mapFormTab(view, op.tabId, (tab) => ({
|
|
7708
|
+
...tab,
|
|
7709
|
+
groups: reorderById(tab.groups, op.groupOrder, "Group")
|
|
7710
|
+
}))
|
|
7711
|
+
),
|
|
7712
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId }),
|
|
7713
|
+
describe: () => "R\xE9ordonne les groupes"
|
|
7714
|
+
});
|
|
7715
|
+
var addFieldSchema = z2.z.object({
|
|
7716
|
+
...viewOperationBase,
|
|
7717
|
+
type: z2.z.literal("add_field"),
|
|
7718
|
+
tabId: z2.z.string().min(1),
|
|
7719
|
+
groupId: z2.z.string().min(1),
|
|
7720
|
+
field: fieldPayload,
|
|
7721
|
+
index: z2.z.number().int().min(0).optional()
|
|
7722
|
+
});
|
|
7723
|
+
var addField = defineOperation({
|
|
7724
|
+
type: "add_field",
|
|
7725
|
+
schema: addFieldSchema,
|
|
7726
|
+
apply: (state, op) => mapView(
|
|
7727
|
+
state,
|
|
7728
|
+
op.viewId,
|
|
7729
|
+
(view) => mapFormTab(view, op.tabId, (tab) => {
|
|
7730
|
+
requireGroup(tab, op.groupId);
|
|
7731
|
+
if (tab.groups.some((g) => g.fields.some((f) => f.id === op.field.id))) {
|
|
7732
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
7733
|
+
`Field slot "${op.field.id}" already exists in tab "${op.tabId}"`,
|
|
7734
|
+
[]
|
|
7735
|
+
);
|
|
7736
|
+
}
|
|
7737
|
+
return {
|
|
7738
|
+
...tab,
|
|
7739
|
+
groups: tab.groups.map((group2) => {
|
|
7740
|
+
if (group2.id !== op.groupId) return group2;
|
|
7741
|
+
const at = op.index ?? group2.fields.length;
|
|
7742
|
+
return {
|
|
7743
|
+
...group2,
|
|
7744
|
+
fields: [...group2.fields.slice(0, at), op.field, ...group2.fields.slice(at)]
|
|
7745
|
+
};
|
|
7746
|
+
})
|
|
7747
|
+
};
|
|
7748
|
+
})
|
|
7749
|
+
),
|
|
7750
|
+
focus: (op) => ({
|
|
7751
|
+
viewId: op.viewId,
|
|
7752
|
+
tabId: op.tabId,
|
|
7753
|
+
groupId: op.groupId,
|
|
7754
|
+
fieldId: op.field.id
|
|
7755
|
+
}),
|
|
7756
|
+
describe: (op) => `Ajoute le champ ${op.field.attribute ?? op.field.id}`
|
|
7757
|
+
});
|
|
7758
|
+
var removeFieldSchema = z2.z.object({
|
|
7759
|
+
...viewOperationBase,
|
|
7760
|
+
type: z2.z.literal("remove_field"),
|
|
7761
|
+
tabId: z2.z.string().min(1),
|
|
7762
|
+
fieldId: z2.z.string().min(1)
|
|
7763
|
+
});
|
|
7764
|
+
var removeField = defineOperation({
|
|
7765
|
+
type: "remove_field",
|
|
7766
|
+
schema: removeFieldSchema,
|
|
7767
|
+
apply: (state, op) => mapView(
|
|
7768
|
+
state,
|
|
7769
|
+
op.viewId,
|
|
7770
|
+
(view) => mapFormTab(view, op.tabId, (tab) => {
|
|
7771
|
+
const { group: group2 } = locateField(tab, op.fieldId);
|
|
7772
|
+
return {
|
|
7773
|
+
...tab,
|
|
7774
|
+
groups: tab.groups.map(
|
|
7775
|
+
(g) => g.id === group2.id ? { ...g, fields: g.fields.filter((f) => f.id !== op.fieldId) } : g
|
|
7776
|
+
)
|
|
7777
|
+
};
|
|
7778
|
+
})
|
|
7779
|
+
),
|
|
7780
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId }),
|
|
7781
|
+
describe: (op) => `Retire le champ ${op.fieldId}`
|
|
7782
|
+
});
|
|
7783
|
+
var moveFieldSchema = z2.z.object({
|
|
7784
|
+
...viewOperationBase,
|
|
7785
|
+
type: z2.z.literal("move_field"),
|
|
7786
|
+
tabId: z2.z.string().min(1),
|
|
7787
|
+
fieldId: z2.z.string().min(1),
|
|
7788
|
+
toGroupId: z2.z.string().min(1),
|
|
7789
|
+
toIndex: z2.z.number().int().min(0)
|
|
7790
|
+
});
|
|
7791
|
+
var moveField = defineOperation({
|
|
7792
|
+
type: "move_field",
|
|
7793
|
+
schema: moveFieldSchema,
|
|
7794
|
+
apply: (state, op) => mapView(
|
|
7795
|
+
state,
|
|
7796
|
+
op.viewId,
|
|
7797
|
+
(view) => mapFormTab(view, op.tabId, (tab) => {
|
|
7798
|
+
const { group: source, field } = locateField(tab, op.fieldId);
|
|
7799
|
+
const target = requireGroup(tab, op.toGroupId);
|
|
7800
|
+
if (source.id === target.id) {
|
|
7801
|
+
const from = source.fields.findIndex((f) => f.id === op.fieldId);
|
|
7802
|
+
return {
|
|
7803
|
+
...tab,
|
|
7804
|
+
groups: tab.groups.map(
|
|
7805
|
+
(g) => g.id === source.id ? { ...g, fields: moveWithin(g.fields, from, op.toIndex) } : g
|
|
7806
|
+
)
|
|
7807
|
+
};
|
|
7808
|
+
}
|
|
7809
|
+
return {
|
|
7810
|
+
...tab,
|
|
7811
|
+
groups: tab.groups.map((group2) => {
|
|
7812
|
+
if (group2.id === source.id) {
|
|
7813
|
+
return { ...group2, fields: group2.fields.filter((f) => f.id !== op.fieldId) };
|
|
7814
|
+
}
|
|
7815
|
+
if (group2.id === target.id) {
|
|
7816
|
+
return {
|
|
7817
|
+
...group2,
|
|
7818
|
+
fields: [
|
|
7819
|
+
...group2.fields.slice(0, op.toIndex),
|
|
7820
|
+
field,
|
|
7821
|
+
...group2.fields.slice(op.toIndex)
|
|
7822
|
+
]
|
|
7823
|
+
};
|
|
7824
|
+
}
|
|
7825
|
+
return group2;
|
|
7826
|
+
})
|
|
7827
|
+
};
|
|
7828
|
+
})
|
|
7829
|
+
),
|
|
7830
|
+
focus: (op) => ({
|
|
7831
|
+
viewId: op.viewId,
|
|
7832
|
+
tabId: op.tabId,
|
|
7833
|
+
groupId: op.toGroupId,
|
|
7834
|
+
fieldId: op.fieldId
|
|
7835
|
+
}),
|
|
7836
|
+
describe: (op) => `D\xE9place le champ ${op.fieldId} vers le groupe ${op.toGroupId}`
|
|
7837
|
+
});
|
|
7838
|
+
var updateFieldSchema = z2.z.object({
|
|
7839
|
+
...viewOperationBase,
|
|
7840
|
+
type: z2.z.literal("update_field"),
|
|
7841
|
+
tabId: z2.z.string().min(1),
|
|
7842
|
+
fieldId: z2.z.string().min(1),
|
|
7843
|
+
changes: z2.z.object({
|
|
7844
|
+
label: z2.z.string().optional(),
|
|
7845
|
+
readOnly: z2.z.boolean().optional(),
|
|
7846
|
+
span: z2.z.number().int().min(1).max(12).optional()
|
|
7847
|
+
}).refine((c) => Object.keys(c).length > 0, "update_field needs at least one change")
|
|
7848
|
+
});
|
|
7849
|
+
var updateField = defineOperation({
|
|
7850
|
+
type: "update_field",
|
|
7851
|
+
schema: updateFieldSchema,
|
|
7852
|
+
apply: (state, op) => mapView(
|
|
7853
|
+
state,
|
|
7854
|
+
op.viewId,
|
|
7855
|
+
(view) => mapFormTab(view, op.tabId, (tab) => {
|
|
7856
|
+
locateField(tab, op.fieldId);
|
|
7857
|
+
return {
|
|
7858
|
+
...tab,
|
|
7859
|
+
groups: tab.groups.map((group2) => ({
|
|
7860
|
+
...group2,
|
|
7861
|
+
fields: group2.fields.map(
|
|
7862
|
+
(f) => f.id === op.fieldId ? { ...f, ...op.changes } : f
|
|
7863
|
+
)
|
|
7864
|
+
}))
|
|
7865
|
+
};
|
|
7866
|
+
})
|
|
7867
|
+
),
|
|
7868
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId, fieldId: op.fieldId }),
|
|
7869
|
+
describe: (op) => `Modifie le champ ${op.fieldId}`
|
|
7870
|
+
});
|
|
7871
|
+
var setSidePanelSchema = z2.z.object({
|
|
7872
|
+
...viewOperationBase,
|
|
7873
|
+
type: z2.z.literal("set_side_panel"),
|
|
7874
|
+
sidePanel: z2.z.object({ attributes: z2.z.array(z2.z.string().min(1)), width: z2.z.number().int().min(1).optional() }).nullable()
|
|
7875
|
+
});
|
|
7876
|
+
var setSidePanel = defineOperation({
|
|
7877
|
+
type: "set_side_panel",
|
|
7878
|
+
schema: setSidePanelSchema,
|
|
7879
|
+
apply: (state, op) => mapView(state, op.viewId, (view) => ({
|
|
7880
|
+
...view,
|
|
7881
|
+
config: {
|
|
7882
|
+
...view.config,
|
|
7883
|
+
sidePanel: op.sidePanel ?? void 0
|
|
7884
|
+
}
|
|
7885
|
+
})),
|
|
7886
|
+
focus: (op) => ({ viewId: op.viewId }),
|
|
7887
|
+
describe: (op) => op.sidePanel ? "Active le panneau lat\xE9ral" : "Retire le panneau lat\xE9ral"
|
|
7888
|
+
});
|
|
7889
|
+
var DETAIL_VIEW_OPERATIONS = [
|
|
7890
|
+
addTab,
|
|
7891
|
+
removeTab,
|
|
7892
|
+
updateTab,
|
|
7893
|
+
reorderTabs,
|
|
7894
|
+
addGroup,
|
|
7895
|
+
removeGroup,
|
|
7896
|
+
setGroupLabel,
|
|
7897
|
+
reorderGroups,
|
|
7898
|
+
addField,
|
|
7899
|
+
removeField,
|
|
7900
|
+
moveField,
|
|
7901
|
+
updateField,
|
|
7902
|
+
setSidePanel
|
|
7903
|
+
];
|
|
7904
|
+
var listTabBase = { ...viewOperationBase, tabId: z2.z.string().min(1) };
|
|
7905
|
+
function mapListTab(state, viewId, tabId, fn) {
|
|
7906
|
+
return mapView(state, viewId, (view) => {
|
|
7907
|
+
const tabs = view.config.tabs ?? [];
|
|
7908
|
+
if (!tabs.some((t) => t.id === tabId)) {
|
|
7909
|
+
throw new chunkHWZRSXFB_js.ValidationError(`List tab "${tabId}" is not in view "${viewId}"`, []);
|
|
7910
|
+
}
|
|
7911
|
+
return {
|
|
7912
|
+
...view,
|
|
7913
|
+
config: { ...view.config, tabs: tabs.map((t) => t.id === tabId ? fn(t) : t) }
|
|
7914
|
+
};
|
|
7915
|
+
});
|
|
7916
|
+
}
|
|
7917
|
+
var listTabPayload = z2.z.custom(
|
|
7918
|
+
(value) => typeof value === "object" && value !== null && "id" in value,
|
|
7919
|
+
{ message: "A list tab must be an object carrying an id" }
|
|
7920
|
+
);
|
|
7921
|
+
var filterGroupPayload = z2.z.custom(
|
|
7922
|
+
(value) => value === null || typeof value === "object"
|
|
7923
|
+
);
|
|
7924
|
+
var sortRulesPayload = z2.z.custom((value) => Array.isArray(value));
|
|
7925
|
+
function setOnTab(type, key, valueSchema, describe) {
|
|
7926
|
+
const schema = z2.z.object({ ...listTabBase, type: z2.z.literal(type), value: valueSchema });
|
|
7927
|
+
return defineOperation({
|
|
7928
|
+
type,
|
|
7929
|
+
schema,
|
|
7930
|
+
apply: (state, op) => mapListTab(state, op.viewId, op.tabId, (tab) => {
|
|
7931
|
+
if (op.value === null) {
|
|
7932
|
+
const { [key]: _dropped, ...rest } = tab;
|
|
7933
|
+
return rest;
|
|
7934
|
+
}
|
|
7935
|
+
return { ...tab, [key]: op.value };
|
|
7936
|
+
}),
|
|
7937
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId }),
|
|
7938
|
+
describe: (op) => describe(op.value)
|
|
7939
|
+
});
|
|
7940
|
+
}
|
|
7941
|
+
var addListTabSchema = z2.z.object({
|
|
7942
|
+
...viewOperationBase,
|
|
7943
|
+
type: z2.z.literal("add_list_tab"),
|
|
7944
|
+
tab: listTabPayload
|
|
7945
|
+
});
|
|
7946
|
+
var addListTab = defineOperation({
|
|
7947
|
+
type: "add_list_tab",
|
|
7948
|
+
schema: addListTabSchema,
|
|
7949
|
+
apply: (state, op) => mapView(state, op.viewId, (view) => {
|
|
7950
|
+
const tabs = view.config.tabs ?? [];
|
|
7951
|
+
if (tabs.some((t) => t.id === op.tab.id)) {
|
|
7952
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
7953
|
+
`List tab "${op.tab.id}" already exists in view "${op.viewId}"`,
|
|
7954
|
+
[]
|
|
7955
|
+
);
|
|
7956
|
+
}
|
|
7957
|
+
return { ...view, config: { ...view.config, tabs: [...tabs, op.tab] } };
|
|
7958
|
+
}),
|
|
7959
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tab.id }),
|
|
7960
|
+
describe: (op) => `Ajoute l'onglet \xAB ${op.tab.label} \xBB`
|
|
7961
|
+
});
|
|
7962
|
+
var removeListTabSchema = z2.z.object({
|
|
7963
|
+
...listTabBase,
|
|
7964
|
+
type: z2.z.literal("remove_list_tab")
|
|
7965
|
+
});
|
|
7966
|
+
var removeListTab = defineOperation({
|
|
7967
|
+
type: "remove_list_tab",
|
|
7968
|
+
schema: removeListTabSchema,
|
|
7969
|
+
apply: (state, op) => mapView(state, op.viewId, (view) => {
|
|
7970
|
+
const tabs = view.config.tabs ?? [];
|
|
7971
|
+
if (!tabs.some((t) => t.id === op.tabId)) {
|
|
7972
|
+
throw new chunkHWZRSXFB_js.ValidationError(`List tab "${op.tabId}" is not in view "${op.viewId}"`, []);
|
|
7973
|
+
}
|
|
7974
|
+
return {
|
|
7975
|
+
...view,
|
|
7976
|
+
config: { ...view.config, tabs: tabs.filter((t) => t.id !== op.tabId) }
|
|
7977
|
+
};
|
|
7978
|
+
}),
|
|
7979
|
+
focus: (op) => ({ viewId: op.viewId }),
|
|
7980
|
+
describe: (op) => `Supprime l'onglet ${op.tabId}`
|
|
7981
|
+
});
|
|
7982
|
+
var updateListTabSchema = z2.z.object({
|
|
7983
|
+
...listTabBase,
|
|
7984
|
+
type: z2.z.literal("update_list_tab"),
|
|
7985
|
+
changes: z2.z.object({
|
|
7986
|
+
label: z2.z.string().min(1).optional(),
|
|
7987
|
+
icon: z2.z.custom((v) => typeof v === "string" && v.length > 0).optional(),
|
|
7988
|
+
default: z2.z.boolean().optional(),
|
|
7989
|
+
visibility: z2.z.enum(chunkTU6ECJFZ_js.LIST_VIEW_TAB_VISIBILITIES).optional()
|
|
7990
|
+
}).refine((c) => Object.keys(c).length > 0, "update_list_tab needs at least one change")
|
|
7991
|
+
});
|
|
7992
|
+
var updateListTab = defineOperation({
|
|
7993
|
+
type: "update_list_tab",
|
|
7994
|
+
schema: updateListTabSchema,
|
|
7995
|
+
apply: (state, op) => mapListTab(state, op.viewId, op.tabId, (tab) => ({ ...tab, ...op.changes })),
|
|
7996
|
+
focus: (op) => ({ viewId: op.viewId, tabId: op.tabId }),
|
|
7997
|
+
describe: (op) => op.changes.label ? `Renomme l'onglet en \xAB ${op.changes.label} \xBB` : `Modifie l'onglet ${op.tabId}`
|
|
7998
|
+
});
|
|
7999
|
+
var reorderListTabsSchema = z2.z.object({
|
|
8000
|
+
...viewOperationBase,
|
|
8001
|
+
type: z2.z.literal("reorder_list_tabs"),
|
|
8002
|
+
tabOrder: z2.z.array(z2.z.string().min(1))
|
|
8003
|
+
});
|
|
8004
|
+
var reorderListTabs = defineOperation({
|
|
8005
|
+
type: "reorder_list_tabs",
|
|
8006
|
+
schema: reorderListTabsSchema,
|
|
8007
|
+
apply: (state, op) => mapView(state, op.viewId, (view) => ({
|
|
8008
|
+
...view,
|
|
8009
|
+
config: {
|
|
8010
|
+
...view.config,
|
|
8011
|
+
tabs: reorderById(view.config.tabs ?? [], op.tabOrder, "List tab")
|
|
8012
|
+
}
|
|
8013
|
+
})),
|
|
8014
|
+
focus: (op) => ({ viewId: op.viewId }),
|
|
8015
|
+
describe: () => "R\xE9ordonne les onglets"
|
|
8016
|
+
});
|
|
8017
|
+
var setColumns = setOnTab(
|
|
8018
|
+
"set_columns",
|
|
8019
|
+
"columns",
|
|
8020
|
+
z2.z.array(z2.z.string().min(1)),
|
|
8021
|
+
// Defensive on shape: a summary is rendered in a list beside other summaries,
|
|
8022
|
+
// and one malformed payload must not take the page down with it.
|
|
8023
|
+
(value) => `Affiche ${Array.isArray(value) ? value.length : 0} colonne(s)`
|
|
8024
|
+
);
|
|
8025
|
+
var setColumnSizing = setOnTab(
|
|
8026
|
+
"set_column_sizing",
|
|
8027
|
+
"columnSizing",
|
|
8028
|
+
z2.z.record(z2.z.string(), z2.z.number().int().positive()),
|
|
8029
|
+
() => "Ajuste la largeur des colonnes"
|
|
8030
|
+
);
|
|
8031
|
+
var setLayout = setOnTab(
|
|
8032
|
+
"set_layout",
|
|
8033
|
+
"layout",
|
|
8034
|
+
z2.z.enum(["table", "kanban"]),
|
|
8035
|
+
(value) => `Passe en affichage ${value}`
|
|
8036
|
+
);
|
|
8037
|
+
var setGroupBy = setOnTab(
|
|
8038
|
+
"set_group_by",
|
|
8039
|
+
"groupByAttribute",
|
|
8040
|
+
z2.z.string().min(1).nullable(),
|
|
8041
|
+
(value) => value ? `Regroupe par ${value}` : "Retire le regroupement"
|
|
8042
|
+
);
|
|
8043
|
+
var setFilters = setOnTab(
|
|
8044
|
+
"set_filters",
|
|
8045
|
+
"filters",
|
|
8046
|
+
filterGroupPayload.nullable(),
|
|
8047
|
+
(value) => value ? "Modifie les filtres" : "Retire les filtres"
|
|
8048
|
+
);
|
|
8049
|
+
var setSorts = setOnTab(
|
|
8050
|
+
"set_sorts",
|
|
8051
|
+
"sorts",
|
|
8052
|
+
sortRulesPayload.nullable(),
|
|
8053
|
+
(value) => value ? "Modifie le tri" : "Retire le tri"
|
|
8054
|
+
);
|
|
8055
|
+
var setCreateMode = setOnTab(
|
|
8056
|
+
"set_create_mode",
|
|
8057
|
+
"createMode",
|
|
8058
|
+
z2.z.enum(["redirect", "inline", "peek"]),
|
|
8059
|
+
(value) => `Cr\xE9ation en mode ${value}`
|
|
8060
|
+
);
|
|
8061
|
+
var setReadOnly = setOnTab(
|
|
8062
|
+
"set_read_only",
|
|
8063
|
+
"readOnly",
|
|
8064
|
+
z2.z.boolean(),
|
|
8065
|
+
(value) => value ? "Passe l'onglet en lecture seule" : "Rend l'onglet modifiable"
|
|
8066
|
+
);
|
|
8067
|
+
var setCardUserAttribute = setOnTab(
|
|
8068
|
+
"set_card_user_attribute",
|
|
8069
|
+
"cardUserAttribute",
|
|
8070
|
+
z2.z.string().min(1).nullable(),
|
|
8071
|
+
(value) => value ? `Affiche ${value} sur les cartes` : "Retire l'utilisateur des cartes"
|
|
8072
|
+
);
|
|
8073
|
+
var setCardDateAttribute = setOnTab(
|
|
8074
|
+
"set_card_date_attribute",
|
|
8075
|
+
"cardDateAttribute",
|
|
8076
|
+
z2.z.string().min(1).nullable(),
|
|
8077
|
+
(value) => value ? `Affiche ${value} sur les cartes` : "Retire la date des cartes"
|
|
8078
|
+
);
|
|
8079
|
+
var LIST_VIEW_OPERATIONS = [
|
|
8080
|
+
addListTab,
|
|
8081
|
+
removeListTab,
|
|
8082
|
+
updateListTab,
|
|
8083
|
+
reorderListTabs,
|
|
8084
|
+
setColumns,
|
|
8085
|
+
setColumnSizing,
|
|
8086
|
+
setLayout,
|
|
8087
|
+
setGroupBy,
|
|
8088
|
+
setFilters,
|
|
8089
|
+
setSorts,
|
|
8090
|
+
setCreateMode,
|
|
8091
|
+
setReadOnly,
|
|
8092
|
+
setCardUserAttribute,
|
|
8093
|
+
setCardDateAttribute
|
|
8094
|
+
];
|
|
8095
|
+
function requireObject(state, objectId) {
|
|
8096
|
+
if (!state.objects.some((o) => o.id === objectId)) {
|
|
8097
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Object "${objectId}" is not in the draftable state`, []);
|
|
8098
|
+
}
|
|
8099
|
+
}
|
|
8100
|
+
var objectOperationBase = { ...operationBase, objectId: z2.z.string().min(1) };
|
|
8101
|
+
var addObjectSchema = z2.z.object({
|
|
8102
|
+
...objectOperationBase,
|
|
8103
|
+
type: z2.z.literal("add_object"),
|
|
8104
|
+
name: z2.z.string().min(1),
|
|
8105
|
+
label: z2.z.string().min(1),
|
|
8106
|
+
icon: z2.z.string().min(1).optional()
|
|
8107
|
+
});
|
|
8108
|
+
var addObject = defineOperation({
|
|
8109
|
+
type: "add_object",
|
|
8110
|
+
schema: addObjectSchema,
|
|
8111
|
+
apply: (state, op) => {
|
|
8112
|
+
if (state.objects.some((o) => o.name === op.name)) {
|
|
8113
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Object "${op.name}" already exists`, []);
|
|
8114
|
+
}
|
|
8115
|
+
if (state.objects.some((o) => o.id === op.objectId)) {
|
|
8116
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Object id "${op.objectId}" is already taken`, []);
|
|
8117
|
+
}
|
|
8118
|
+
const created = {
|
|
8119
|
+
id: op.objectId,
|
|
8120
|
+
name: op.name,
|
|
8121
|
+
label: op.label,
|
|
8122
|
+
...op.icon === void 0 ? {} : { icon: op.icon }
|
|
8123
|
+
};
|
|
8124
|
+
return { ...state, objects: [...state.objects, created] };
|
|
8125
|
+
},
|
|
8126
|
+
// The caller generates objectId, so a draft object is addressable by route
|
|
8127
|
+
// before it exists — that is what lets the app navigate to it live.
|
|
8128
|
+
focus: (op) => ({ objectId: op.objectId }),
|
|
8129
|
+
describe: (op) => `Cr\xE9e l'objet \xAB ${op.label} \xBB`
|
|
8130
|
+
});
|
|
8131
|
+
var updateObjectSchema = z2.z.object({
|
|
8132
|
+
...objectOperationBase,
|
|
8133
|
+
type: z2.z.literal("update_object"),
|
|
8134
|
+
changes: z2.z.object({ label: z2.z.string().min(1).optional(), icon: z2.z.string().min(1).optional() }).refine((c) => Object.keys(c).length > 0, "update_object needs at least one change")
|
|
8135
|
+
});
|
|
8136
|
+
var updateObject = defineOperation({
|
|
8137
|
+
type: "update_object",
|
|
8138
|
+
schema: updateObjectSchema,
|
|
8139
|
+
apply: (state, op) => {
|
|
8140
|
+
requireObject(state, op.objectId);
|
|
8141
|
+
return {
|
|
8142
|
+
...state,
|
|
8143
|
+
objects: state.objects.map((o) => o.id === op.objectId ? { ...o, ...op.changes } : o)
|
|
8144
|
+
};
|
|
8145
|
+
},
|
|
8146
|
+
focus: (op) => ({ objectId: op.objectId }),
|
|
8147
|
+
describe: (op) => op.changes.label ? `Renomme l'objet en \xAB ${op.changes.label} \xBB` : "Modifie l'objet"
|
|
8148
|
+
});
|
|
8149
|
+
var removeObjectSchema = z2.z.object({ ...objectOperationBase, type: z2.z.literal("remove_object") });
|
|
8150
|
+
var removeObject = defineOperation({
|
|
8151
|
+
type: "remove_object",
|
|
8152
|
+
schema: removeObjectSchema,
|
|
8153
|
+
apply: (state, op) => {
|
|
8154
|
+
requireObject(state, op.objectId);
|
|
8155
|
+
return {
|
|
8156
|
+
...state,
|
|
8157
|
+
objects: state.objects.filter((o) => o.id !== op.objectId),
|
|
8158
|
+
attributes: state.attributes.filter((a) => a.objectId !== op.objectId),
|
|
8159
|
+
sampleRecords: state.sampleRecords.filter((r) => r.objectId !== op.objectId),
|
|
8160
|
+
views: state.views.filter((v) => v.objectId !== op.objectId)
|
|
8161
|
+
};
|
|
8162
|
+
},
|
|
8163
|
+
focus: () => ({}),
|
|
8164
|
+
describe: (op) => `Supprime l'objet ${op.objectId}`
|
|
8165
|
+
});
|
|
8166
|
+
var addAttributeSchema = z2.z.object({
|
|
8167
|
+
...objectOperationBase,
|
|
8168
|
+
type: z2.z.literal("add_attribute"),
|
|
8169
|
+
attributeId: z2.z.string().min(1),
|
|
8170
|
+
name: z2.z.string().min(1),
|
|
8171
|
+
label: z2.z.string().min(1),
|
|
8172
|
+
attributeType: z2.z.string().min(1)
|
|
8173
|
+
});
|
|
8174
|
+
var addAttribute = defineOperation({
|
|
8175
|
+
type: "add_attribute",
|
|
8176
|
+
schema: addAttributeSchema,
|
|
8177
|
+
apply: (state, op) => {
|
|
8178
|
+
requireObject(state, op.objectId);
|
|
8179
|
+
if (state.attributes.some((a) => a.objectId === op.objectId && a.name === op.name)) {
|
|
8180
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
8181
|
+
`Attribute "${op.name}" already exists on object "${op.objectId}"`,
|
|
8182
|
+
[]
|
|
8183
|
+
);
|
|
8184
|
+
}
|
|
8185
|
+
return {
|
|
8186
|
+
...state,
|
|
8187
|
+
attributes: [
|
|
8188
|
+
...state.attributes,
|
|
8189
|
+
{
|
|
8190
|
+
id: op.attributeId,
|
|
8191
|
+
objectId: op.objectId,
|
|
8192
|
+
name: op.name,
|
|
8193
|
+
label: op.label,
|
|
8194
|
+
attributeType: op.attributeType
|
|
8195
|
+
}
|
|
8196
|
+
]
|
|
8197
|
+
};
|
|
8198
|
+
},
|
|
8199
|
+
focus: (op) => ({ objectId: op.objectId }),
|
|
8200
|
+
describe: (op) => `Ajoute l'attribut \xAB ${op.label} \xBB`
|
|
8201
|
+
});
|
|
8202
|
+
var updateAttributeSchema = z2.z.object({
|
|
8203
|
+
...operationBase,
|
|
8204
|
+
type: z2.z.literal("update_attribute"),
|
|
8205
|
+
attributeId: z2.z.string().min(1),
|
|
8206
|
+
changes: z2.z.object({ label: z2.z.string().min(1).optional() }).refine((c) => Object.keys(c).length > 0, "update_attribute needs at least one change")
|
|
8207
|
+
});
|
|
8208
|
+
var updateAttribute = defineOperation({
|
|
8209
|
+
type: "update_attribute",
|
|
8210
|
+
schema: updateAttributeSchema,
|
|
8211
|
+
apply: (state, op) => {
|
|
8212
|
+
if (!state.attributes.some((a) => a.id === op.attributeId)) {
|
|
8213
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Attribute "${op.attributeId}" is not in the draftable state`, []);
|
|
8214
|
+
}
|
|
8215
|
+
return {
|
|
8216
|
+
...state,
|
|
8217
|
+
attributes: state.attributes.map(
|
|
8218
|
+
(a) => a.id === op.attributeId ? { ...a, ...op.changes } : a
|
|
8219
|
+
)
|
|
8220
|
+
};
|
|
8221
|
+
},
|
|
8222
|
+
focus: () => ({}),
|
|
8223
|
+
describe: (op) => op.changes.label ? `Renomme l'attribut en \xAB ${op.changes.label} \xBB` : "Modifie l'attribut"
|
|
8224
|
+
});
|
|
8225
|
+
var removeAttributeSchema = z2.z.object({
|
|
8226
|
+
...operationBase,
|
|
8227
|
+
type: z2.z.literal("remove_attribute"),
|
|
8228
|
+
attributeId: z2.z.string().min(1)
|
|
8229
|
+
});
|
|
8230
|
+
var removeAttribute = defineOperation({
|
|
8231
|
+
type: "remove_attribute",
|
|
8232
|
+
schema: removeAttributeSchema,
|
|
8233
|
+
apply: (state, op) => {
|
|
8234
|
+
if (!state.attributes.some((a) => a.id === op.attributeId)) {
|
|
8235
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Attribute "${op.attributeId}" is not in the draftable state`, []);
|
|
8236
|
+
}
|
|
8237
|
+
return { ...state, attributes: state.attributes.filter((a) => a.id !== op.attributeId) };
|
|
8238
|
+
},
|
|
8239
|
+
focus: () => ({}),
|
|
8240
|
+
describe: (op) => `Supprime l'attribut ${op.attributeId}`
|
|
8241
|
+
});
|
|
8242
|
+
var addSampleRecordSchema = z2.z.object({
|
|
8243
|
+
...objectOperationBase,
|
|
8244
|
+
type: z2.z.literal("add_sample_record"),
|
|
8245
|
+
recordId: z2.z.string().min(1),
|
|
8246
|
+
values: z2.z.record(z2.z.string(), z2.z.unknown())
|
|
8247
|
+
});
|
|
8248
|
+
var addSampleRecord = defineOperation({
|
|
8249
|
+
type: "add_sample_record",
|
|
8250
|
+
schema: addSampleRecordSchema,
|
|
8251
|
+
apply: (state, op) => {
|
|
8252
|
+
requireObject(state, op.objectId);
|
|
8253
|
+
if (state.sampleRecords.some((r) => r.id === op.recordId)) {
|
|
8254
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Sample record "${op.recordId}" already exists`, []);
|
|
8255
|
+
}
|
|
8256
|
+
return {
|
|
8257
|
+
...state,
|
|
8258
|
+
sampleRecords: [
|
|
8259
|
+
...state.sampleRecords,
|
|
8260
|
+
{ id: op.recordId, objectId: op.objectId, values: op.values }
|
|
8261
|
+
]
|
|
8262
|
+
};
|
|
8263
|
+
},
|
|
8264
|
+
// A sample is a draft record, not a render-time fiction: publishing
|
|
8265
|
+
// materialises it, discarding the draft discards it.
|
|
8266
|
+
focus: (op) => ({ objectId: op.objectId, recordId: op.recordId }),
|
|
8267
|
+
describe: () => "Ajoute un exemple"
|
|
8268
|
+
});
|
|
8269
|
+
var removeSampleRecordSchema = z2.z.object({
|
|
8270
|
+
...operationBase,
|
|
8271
|
+
type: z2.z.literal("remove_sample_record"),
|
|
8272
|
+
recordId: z2.z.string().min(1)
|
|
8273
|
+
});
|
|
8274
|
+
var removeSampleRecord = defineOperation({
|
|
8275
|
+
type: "remove_sample_record",
|
|
8276
|
+
schema: removeSampleRecordSchema,
|
|
8277
|
+
apply: (state, op) => {
|
|
8278
|
+
if (!state.sampleRecords.some((r) => r.id === op.recordId)) {
|
|
8279
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Sample record "${op.recordId}" is not in the draft`, []);
|
|
8280
|
+
}
|
|
8281
|
+
return { ...state, sampleRecords: state.sampleRecords.filter((r) => r.id !== op.recordId) };
|
|
8282
|
+
},
|
|
8283
|
+
focus: () => ({}),
|
|
8284
|
+
describe: () => "Retire un exemple"
|
|
8285
|
+
});
|
|
8286
|
+
var SCHEMA_OPERATIONS = [
|
|
8287
|
+
addObject,
|
|
8288
|
+
updateObject,
|
|
8289
|
+
removeObject,
|
|
8290
|
+
addAttribute,
|
|
8291
|
+
updateAttribute,
|
|
8292
|
+
removeAttribute,
|
|
8293
|
+
addSampleRecord,
|
|
8294
|
+
removeSampleRecord
|
|
8295
|
+
];
|
|
8296
|
+
|
|
8297
|
+
// src/architect/registry.ts
|
|
8298
|
+
function build() {
|
|
8299
|
+
const map = /* @__PURE__ */ new Map();
|
|
8300
|
+
for (const definition of [
|
|
8301
|
+
...SCHEMA_OPERATIONS,
|
|
8302
|
+
...DETAIL_VIEW_OPERATIONS,
|
|
8303
|
+
...LIST_VIEW_OPERATIONS
|
|
8304
|
+
]) {
|
|
8305
|
+
if (map.has(definition.type)) {
|
|
8306
|
+
throw new chunkHWZRSXFB_js.DuplicateError("architect operation", definition.type);
|
|
8307
|
+
}
|
|
8308
|
+
map.set(definition.type, definition);
|
|
8309
|
+
}
|
|
8310
|
+
return map;
|
|
8311
|
+
}
|
|
8312
|
+
var OPERATION_REGISTRY = build();
|
|
8313
|
+
var ALL_OPERATION_TYPES = [...OPERATION_REGISTRY.keys()];
|
|
8314
|
+
|
|
8315
|
+
// src/architect/apply.ts
|
|
8316
|
+
function defOf(operation) {
|
|
8317
|
+
const definition = OPERATION_REGISTRY.get(operation.type);
|
|
8318
|
+
if (!definition) {
|
|
8319
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
8320
|
+
`Operation "${operation.id}" has unknown type "${operation.type}"`,
|
|
8321
|
+
[]
|
|
8322
|
+
);
|
|
8323
|
+
}
|
|
8324
|
+
return definition;
|
|
8325
|
+
}
|
|
8326
|
+
function applyOperations(state, operations) {
|
|
8327
|
+
return operations.reduce(
|
|
8328
|
+
(acc, operation) => defOf(operation).apply(acc, operation),
|
|
8329
|
+
state
|
|
8330
|
+
);
|
|
8331
|
+
}
|
|
8332
|
+
function focusOf(operation) {
|
|
8333
|
+
return defOf(operation).focus(operation);
|
|
8334
|
+
}
|
|
8335
|
+
function describeOperations(operations, ctx) {
|
|
8336
|
+
return operations.map((operation) => defOf(operation).describe(operation, ctx));
|
|
8337
|
+
}
|
|
8338
|
+
function parseOperation(candidate) {
|
|
8339
|
+
if (typeof candidate !== "object" || candidate === null || !("type" in candidate)) {
|
|
8340
|
+
throw new chunkHWZRSXFB_js.ValidationError("An operation must be an object carrying a type", []);
|
|
8341
|
+
}
|
|
8342
|
+
const type = candidate.type;
|
|
8343
|
+
if (typeof type !== "string") {
|
|
8344
|
+
throw new chunkHWZRSXFB_js.ValidationError("An operation's type must be a string", []);
|
|
8345
|
+
}
|
|
8346
|
+
const definition = OPERATION_REGISTRY.get(type);
|
|
8347
|
+
if (!definition) {
|
|
8348
|
+
throw new chunkHWZRSXFB_js.ValidationError(`Unknown operation type "${type}"`, []);
|
|
8349
|
+
}
|
|
8350
|
+
const parsed = definition.schema.safeParse(candidate);
|
|
8351
|
+
if (!parsed.success) {
|
|
8352
|
+
throw new chunkHWZRSXFB_js.ValidationError(
|
|
8353
|
+
`Operation "${type}" is invalid: ${parsed.error.issues.map((i) => `${i.path.join(".")} ${i.message}`).join("; ")}`,
|
|
8354
|
+
[]
|
|
8355
|
+
);
|
|
8356
|
+
}
|
|
8357
|
+
return parsed.data;
|
|
8358
|
+
}
|
|
8359
|
+
|
|
8360
|
+
// src/architect/field-ids.ts
|
|
8361
|
+
function makeFieldId(groupId, seed, collisionIndex) {
|
|
8362
|
+
const base = `fld_${groupId}_${seed}`;
|
|
8363
|
+
return collisionIndex === 0 ? base : `${base}_${collisionIndex}`;
|
|
8364
|
+
}
|
|
8365
|
+
function seedOf(field, index) {
|
|
8366
|
+
if (field.attributeGroup) return field.attributeGroup.id;
|
|
8367
|
+
if (field.attribute) return field.attribute;
|
|
8368
|
+
return `slot${index}`;
|
|
8369
|
+
}
|
|
8370
|
+
function withIds(group2) {
|
|
8371
|
+
const seen = /* @__PURE__ */ new Map();
|
|
8372
|
+
const fields = group2.fields.map((field, index) => {
|
|
8373
|
+
if (field.id) return field;
|
|
8374
|
+
const seed = seedOf(field, index);
|
|
8375
|
+
const collisionIndex = seen.get(seed) ?? 0;
|
|
8376
|
+
seen.set(seed, collisionIndex + 1);
|
|
8377
|
+
return { ...field, id: makeFieldId(group2.id, seed, collisionIndex) };
|
|
8378
|
+
});
|
|
8379
|
+
return { ...group2, fields };
|
|
8380
|
+
}
|
|
8381
|
+
function ensureFieldIds(tabs) {
|
|
8382
|
+
return tabs.map(
|
|
8383
|
+
(tab) => tab.type === "form" ? { ...tab, groups: tab.groups.map(withIds) } : tab
|
|
8384
|
+
);
|
|
8385
|
+
}
|
|
8386
|
+
|
|
7510
8387
|
Object.defineProperty(exports, "asTenantId", {
|
|
7511
8388
|
enumerable: true,
|
|
7512
|
-
get: function () { return
|
|
8389
|
+
get: function () { return chunkOYHBQMC7_js.asTenantId; }
|
|
7513
8390
|
});
|
|
7514
8391
|
Object.defineProperty(exports, "asUserId", {
|
|
7515
8392
|
enumerable: true,
|
|
7516
|
-
get: function () { return
|
|
8393
|
+
get: function () { return chunkOYHBQMC7_js.asUserId; }
|
|
7517
8394
|
});
|
|
7518
8395
|
Object.defineProperty(exports, "canonicalStringify", {
|
|
7519
8396
|
enumerable: true,
|
|
7520
|
-
get: function () { return
|
|
8397
|
+
get: function () { return chunkOYHBQMC7_js.canonicalStringify; }
|
|
7521
8398
|
});
|
|
7522
8399
|
Object.defineProperty(exports, "deepEqual", {
|
|
7523
8400
|
enumerable: true,
|
|
7524
|
-
get: function () { return
|
|
8401
|
+
get: function () { return chunkOYHBQMC7_js.deepEqual; }
|
|
7525
8402
|
});
|
|
7526
8403
|
Object.defineProperty(exports, "generateId", {
|
|
7527
8404
|
enumerable: true,
|
|
7528
|
-
get: function () { return
|
|
8405
|
+
get: function () { return chunkOYHBQMC7_js.generateId; }
|
|
7529
8406
|
});
|
|
7530
8407
|
Object.defineProperty(exports, "indexBy", {
|
|
7531
8408
|
enumerable: true,
|
|
7532
|
-
get: function () { return
|
|
8409
|
+
get: function () { return chunkOYHBQMC7_js.indexBy; }
|
|
7533
8410
|
});
|
|
7534
8411
|
Object.defineProperty(exports, "ATTRIBUTE_FILTER_OPERATORS", {
|
|
7535
8412
|
enumerable: true,
|
|
7536
|
-
get: function () { return
|
|
8413
|
+
get: function () { return chunkTU6ECJFZ_js.ATTRIBUTE_FILTER_OPERATORS; }
|
|
7537
8414
|
});
|
|
7538
8415
|
Object.defineProperty(exports, "LIST_VIEW_TAB_VISIBILITIES", {
|
|
7539
8416
|
enumerable: true,
|
|
7540
|
-
get: function () { return
|
|
8417
|
+
get: function () { return chunkTU6ECJFZ_js.LIST_VIEW_TAB_VISIBILITIES; }
|
|
7541
8418
|
});
|
|
7542
8419
|
Object.defineProperty(exports, "NO_VALUE_OPERATORS", {
|
|
7543
8420
|
enumerable: true,
|
|
7544
|
-
get: function () { return
|
|
8421
|
+
get: function () { return chunkTU6ECJFZ_js.NO_VALUE_OPERATORS; }
|
|
7545
8422
|
});
|
|
7546
8423
|
Object.defineProperty(exports, "OPERATORS_BY_TYPE", {
|
|
7547
8424
|
enumerable: true,
|
|
7548
|
-
get: function () { return
|
|
8425
|
+
get: function () { return chunkTU6ECJFZ_js.OPERATORS_BY_TYPE; }
|
|
7549
8426
|
});
|
|
7550
8427
|
Object.defineProperty(exports, "REMOVED_OPERATOR_REPLACEMENTS", {
|
|
7551
8428
|
enumerable: true,
|
|
7552
|
-
get: function () { return
|
|
8429
|
+
get: function () { return chunkTU6ECJFZ_js.REMOVED_OPERATOR_REPLACEMENTS; }
|
|
7553
8430
|
});
|
|
7554
8431
|
Object.defineProperty(exports, "RESERVED_ATTRIBUTE_NAMES", {
|
|
7555
8432
|
enumerable: true,
|
|
7556
|
-
get: function () { return
|
|
8433
|
+
get: function () { return chunkTU6ECJFZ_js.RESERVED_ATTRIBUTE_NAMES; }
|
|
7557
8434
|
});
|
|
7558
8435
|
Object.defineProperty(exports, "RESERVED_OBJECT_NAMES", {
|
|
7559
8436
|
enumerable: true,
|
|
7560
|
-
get: function () { return
|
|
8437
|
+
get: function () { return chunkTU6ECJFZ_js.RESERVED_OBJECT_NAMES; }
|
|
7561
8438
|
});
|
|
7562
8439
|
Object.defineProperty(exports, "RESOURCE_VISIBILITIES", {
|
|
7563
8440
|
enumerable: true,
|
|
7564
|
-
get: function () { return
|
|
8441
|
+
get: function () { return chunkTU6ECJFZ_js.RESOURCE_VISIBILITIES; }
|
|
7565
8442
|
});
|
|
7566
8443
|
Object.defineProperty(exports, "SYNONYM_ALIASES", {
|
|
7567
8444
|
enumerable: true,
|
|
7568
|
-
get: function () { return
|
|
8445
|
+
get: function () { return chunkTU6ECJFZ_js.SYNONYM_ALIASES; }
|
|
7569
8446
|
});
|
|
7570
8447
|
Object.defineProperty(exports, "SYSTEM_ATTRIBUTES", {
|
|
7571
8448
|
enumerable: true,
|
|
7572
|
-
get: function () { return
|
|
8449
|
+
get: function () { return chunkTU6ECJFZ_js.SYSTEM_ATTRIBUTES; }
|
|
7573
8450
|
});
|
|
7574
8451
|
Object.defineProperty(exports, "SYSTEM_ATTRIBUTE_I18N_KEYS", {
|
|
7575
8452
|
enumerable: true,
|
|
7576
|
-
get: function () { return
|
|
8453
|
+
get: function () { return chunkTU6ECJFZ_js.SYSTEM_ATTRIBUTE_I18N_KEYS; }
|
|
7577
8454
|
});
|
|
7578
8455
|
Object.defineProperty(exports, "SYSTEM_FIELD_NAMES", {
|
|
7579
8456
|
enumerable: true,
|
|
7580
|
-
get: function () { return
|
|
8457
|
+
get: function () { return chunkTU6ECJFZ_js.SYSTEM_FIELD_NAMES; }
|
|
7581
8458
|
});
|
|
7582
8459
|
Object.defineProperty(exports, "SYSTEM_FILTER_ATTRIBUTE_TYPES", {
|
|
7583
8460
|
enumerable: true,
|
|
7584
|
-
get: function () { return
|
|
8461
|
+
get: function () { return chunkTU6ECJFZ_js.SYSTEM_FILTER_ATTRIBUTE_TYPES; }
|
|
7585
8462
|
});
|
|
7586
8463
|
Object.defineProperty(exports, "canonicalizeFilterValue", {
|
|
7587
8464
|
enumerable: true,
|
|
7588
|
-
get: function () { return
|
|
8465
|
+
get: function () { return chunkTU6ECJFZ_js.canonicalizeFilterValue; }
|
|
7589
8466
|
});
|
|
7590
8467
|
Object.defineProperty(exports, "collectQualifiedRuleIssues", {
|
|
7591
8468
|
enumerable: true,
|
|
7592
|
-
get: function () { return
|
|
8469
|
+
get: function () { return chunkTU6ECJFZ_js.collectQualifiedRuleIssues; }
|
|
7593
8470
|
});
|
|
7594
8471
|
Object.defineProperty(exports, "currentActor", {
|
|
7595
8472
|
enumerable: true,
|
|
7596
|
-
get: function () { return
|
|
8473
|
+
get: function () { return chunkTU6ECJFZ_js.currentActor; }
|
|
7597
8474
|
});
|
|
7598
8475
|
Object.defineProperty(exports, "detailTabSchema", {
|
|
7599
8476
|
enumerable: true,
|
|
7600
|
-
get: function () { return
|
|
8477
|
+
get: function () { return chunkTU6ECJFZ_js.detailTabSchema; }
|
|
7601
8478
|
});
|
|
7602
8479
|
Object.defineProperty(exports, "detailViewConfigSchema", {
|
|
7603
8480
|
enumerable: true,
|
|
7604
|
-
get: function () { return
|
|
8481
|
+
get: function () { return chunkTU6ECJFZ_js.detailViewConfigSchema; }
|
|
7605
8482
|
});
|
|
7606
8483
|
Object.defineProperty(exports, "extractCurrencyFilterValue", {
|
|
7607
8484
|
enumerable: true,
|
|
7608
|
-
get: function () { return
|
|
8485
|
+
get: function () { return chunkTU6ECJFZ_js.extractCurrencyFilterValue; }
|
|
7609
8486
|
});
|
|
7610
8487
|
Object.defineProperty(exports, "extractFilterValue", {
|
|
7611
8488
|
enumerable: true,
|
|
7612
|
-
get: function () { return
|
|
8489
|
+
get: function () { return chunkTU6ECJFZ_js.extractFilterValue; }
|
|
7613
8490
|
});
|
|
7614
8491
|
Object.defineProperty(exports, "getAttributeCapabilities", {
|
|
7615
8492
|
enumerable: true,
|
|
7616
|
-
get: function () { return
|
|
8493
|
+
get: function () { return chunkTU6ECJFZ_js.getAttributeCapabilities; }
|
|
7617
8494
|
});
|
|
7618
8495
|
Object.defineProperty(exports, "getAttributeFilterOperators", {
|
|
7619
8496
|
enumerable: true,
|
|
7620
|
-
get: function () { return
|
|
8497
|
+
get: function () { return chunkTU6ECJFZ_js.getAttributeFilterOperators; }
|
|
7621
8498
|
});
|
|
7622
8499
|
Object.defineProperty(exports, "getOperatorPolarity", {
|
|
7623
8500
|
enumerable: true,
|
|
7624
|
-
get: function () { return
|
|
8501
|
+
get: function () { return chunkTU6ECJFZ_js.getOperatorPolarity; }
|
|
7625
8502
|
});
|
|
7626
8503
|
Object.defineProperty(exports, "getRollupFilterOperators", {
|
|
7627
8504
|
enumerable: true,
|
|
7628
|
-
get: function () { return
|
|
8505
|
+
get: function () { return chunkTU6ECJFZ_js.getRollupFilterOperators; }
|
|
7629
8506
|
});
|
|
7630
8507
|
Object.defineProperty(exports, "getSystemAttributeI18nKey", {
|
|
7631
8508
|
enumerable: true,
|
|
7632
|
-
get: function () { return
|
|
8509
|
+
get: function () { return chunkTU6ECJFZ_js.getSystemAttributeI18nKey; }
|
|
7633
8510
|
});
|
|
7634
8511
|
Object.defineProperty(exports, "getSystemAttributeList", {
|
|
7635
8512
|
enumerable: true,
|
|
7636
|
-
get: function () { return
|
|
8513
|
+
get: function () { return chunkTU6ECJFZ_js.getSystemAttributeList; }
|
|
7637
8514
|
});
|
|
7638
8515
|
Object.defineProperty(exports, "inverseSourceSchema", {
|
|
7639
8516
|
enumerable: true,
|
|
7640
|
-
get: function () { return
|
|
8517
|
+
get: function () { return chunkTU6ECJFZ_js.inverseSourceSchema; }
|
|
7641
8518
|
});
|
|
7642
8519
|
Object.defineProperty(exports, "isAttributeFilterable", {
|
|
7643
8520
|
enumerable: true,
|
|
7644
|
-
get: function () { return
|
|
8521
|
+
get: function () { return chunkTU6ECJFZ_js.isAttributeFilterable; }
|
|
7645
8522
|
});
|
|
7646
8523
|
Object.defineProperty(exports, "isAttributeGroupable", {
|
|
7647
8524
|
enumerable: true,
|
|
7648
|
-
get: function () { return
|
|
8525
|
+
get: function () { return chunkTU6ECJFZ_js.isAttributeGroupable; }
|
|
7649
8526
|
});
|
|
7650
8527
|
Object.defineProperty(exports, "isAttributeKanbanGroupable", {
|
|
7651
8528
|
enumerable: true,
|
|
7652
|
-
get: function () { return
|
|
8529
|
+
get: function () { return chunkTU6ECJFZ_js.isAttributeKanbanGroupable; }
|
|
7653
8530
|
});
|
|
7654
8531
|
Object.defineProperty(exports, "isAttributeSearchable", {
|
|
7655
8532
|
enumerable: true,
|
|
7656
|
-
get: function () { return
|
|
8533
|
+
get: function () { return chunkTU6ECJFZ_js.isAttributeSearchable; }
|
|
7657
8534
|
});
|
|
7658
8535
|
Object.defineProperty(exports, "isDynamicValue", {
|
|
7659
8536
|
enumerable: true,
|
|
7660
|
-
get: function () { return
|
|
8537
|
+
get: function () { return chunkTU6ECJFZ_js.isDynamicValue; }
|
|
7661
8538
|
});
|
|
7662
8539
|
Object.defineProperty(exports, "isManagedSystemAttribute", {
|
|
7663
8540
|
enumerable: true,
|
|
7664
|
-
get: function () { return
|
|
8541
|
+
get: function () { return chunkTU6ECJFZ_js.isManagedSystemAttribute; }
|
|
7665
8542
|
});
|
|
7666
8543
|
Object.defineProperty(exports, "isNoValueOperator", {
|
|
7667
8544
|
enumerable: true,
|
|
7668
|
-
get: function () { return
|
|
8545
|
+
get: function () { return chunkTU6ECJFZ_js.isNoValueOperator; }
|
|
7669
8546
|
});
|
|
7670
8547
|
Object.defineProperty(exports, "isRelativeDateValue", {
|
|
7671
8548
|
enumerable: true,
|
|
7672
|
-
get: function () { return
|
|
8549
|
+
get: function () { return chunkTU6ECJFZ_js.isRelativeDateValue; }
|
|
7673
8550
|
});
|
|
7674
8551
|
Object.defineProperty(exports, "isSetMembershipOperator", {
|
|
7675
8552
|
enumerable: true,
|
|
7676
|
-
get: function () { return
|
|
8553
|
+
get: function () { return chunkTU6ECJFZ_js.isSetMembershipOperator; }
|
|
7677
8554
|
});
|
|
7678
8555
|
Object.defineProperty(exports, "listViewConfigSchema", {
|
|
7679
8556
|
enumerable: true,
|
|
7680
|
-
get: function () { return
|
|
8557
|
+
get: function () { return chunkTU6ECJFZ_js.listViewConfigSchema; }
|
|
7681
8558
|
});
|
|
7682
8559
|
Object.defineProperty(exports, "listViewTabSchema", {
|
|
7683
8560
|
enumerable: true,
|
|
7684
|
-
get: function () { return
|
|
8561
|
+
get: function () { return chunkTU6ECJFZ_js.listViewTabSchema; }
|
|
7685
8562
|
});
|
|
7686
8563
|
Object.defineProperty(exports, "normalizeFilterRule", {
|
|
7687
8564
|
enumerable: true,
|
|
7688
|
-
get: function () { return
|
|
8565
|
+
get: function () { return chunkTU6ECJFZ_js.normalizeFilterRule; }
|
|
7689
8566
|
});
|
|
7690
8567
|
Object.defineProperty(exports, "normalizeForEdgeRpc", {
|
|
7691
8568
|
enumerable: true,
|
|
7692
|
-
get: function () { return
|
|
8569
|
+
get: function () { return chunkTU6ECJFZ_js.normalizeForEdgeRpc; }
|
|
7693
8570
|
});
|
|
7694
8571
|
Object.defineProperty(exports, "normalizeOperator", {
|
|
7695
8572
|
enumerable: true,
|
|
7696
|
-
get: function () { return
|
|
8573
|
+
get: function () { return chunkTU6ECJFZ_js.normalizeOperator; }
|
|
7697
8574
|
});
|
|
7698
8575
|
Object.defineProperty(exports, "now", {
|
|
7699
8576
|
enumerable: true,
|
|
7700
|
-
get: function () { return
|
|
8577
|
+
get: function () { return chunkTU6ECJFZ_js.now; }
|
|
7701
8578
|
});
|
|
7702
8579
|
Object.defineProperty(exports, "parseResourceVisibility", {
|
|
7703
8580
|
enumerable: true,
|
|
7704
|
-
get: function () { return
|
|
8581
|
+
get: function () { return chunkTU6ECJFZ_js.parseResourceVisibility; }
|
|
7705
8582
|
});
|
|
7706
8583
|
Object.defineProperty(exports, "parseViewConfig", {
|
|
7707
8584
|
enumerable: true,
|
|
7708
|
-
get: function () { return
|
|
8585
|
+
get: function () { return chunkTU6ECJFZ_js.parseViewConfig; }
|
|
7709
8586
|
});
|
|
7710
8587
|
Object.defineProperty(exports, "relationSourceSchema", {
|
|
7711
8588
|
enumerable: true,
|
|
7712
|
-
get: function () { return
|
|
8589
|
+
get: function () { return chunkTU6ECJFZ_js.relationSourceSchema; }
|
|
7713
8590
|
});
|
|
7714
8591
|
Object.defineProperty(exports, "resolveEffectiveFilterType", {
|
|
7715
8592
|
enumerable: true,
|
|
7716
|
-
get: function () { return
|
|
8593
|
+
get: function () { return chunkTU6ECJFZ_js.resolveEffectiveFilterType; }
|
|
7717
8594
|
});
|
|
7718
8595
|
Object.defineProperty(exports, "resolveIsWithinBounds", {
|
|
7719
8596
|
enumerable: true,
|
|
7720
|
-
get: function () { return
|
|
8597
|
+
get: function () { return chunkTU6ECJFZ_js.resolveIsWithinBounds; }
|
|
7721
8598
|
});
|
|
7722
8599
|
Object.defineProperty(exports, "resolveUtcDayBounds", {
|
|
7723
8600
|
enumerable: true,
|
|
7724
|
-
get: function () { return
|
|
8601
|
+
get: function () { return chunkTU6ECJFZ_js.resolveUtcDayBounds; }
|
|
7725
8602
|
});
|
|
7726
8603
|
Object.defineProperty(exports, "tableSourceSchema", {
|
|
7727
8604
|
enumerable: true,
|
|
7728
|
-
get: function () { return
|
|
8605
|
+
get: function () { return chunkTU6ECJFZ_js.tableSourceSchema; }
|
|
7729
8606
|
});
|
|
7730
8607
|
Object.defineProperty(exports, "toMultiValueOperator", {
|
|
7731
8608
|
enumerable: true,
|
|
7732
|
-
get: function () { return
|
|
8609
|
+
get: function () { return chunkTU6ECJFZ_js.toMultiValueOperator; }
|
|
7733
8610
|
});
|
|
7734
8611
|
Object.defineProperty(exports, "toUtcDayString", {
|
|
7735
8612
|
enumerable: true,
|
|
7736
|
-
get: function () { return
|
|
8613
|
+
get: function () { return chunkTU6ECJFZ_js.toUtcDayString; }
|
|
7737
8614
|
});
|
|
7738
8615
|
Object.defineProperty(exports, "today", {
|
|
7739
8616
|
enumerable: true,
|
|
7740
|
-
get: function () { return
|
|
8617
|
+
get: function () { return chunkTU6ECJFZ_js.today; }
|
|
7741
8618
|
});
|
|
7742
8619
|
Object.defineProperty(exports, "validateQualifiedRule", {
|
|
7743
8620
|
enumerable: true,
|
|
7744
|
-
get: function () { return
|
|
8621
|
+
get: function () { return chunkTU6ECJFZ_js.validateQualifiedRule; }
|
|
7745
8622
|
});
|
|
7746
8623
|
Object.defineProperty(exports, "viewConfigByTypeSchema", {
|
|
7747
8624
|
enumerable: true,
|
|
7748
|
-
get: function () { return
|
|
8625
|
+
get: function () { return chunkTU6ECJFZ_js.viewConfigByTypeSchema; }
|
|
7749
8626
|
});
|
|
7750
8627
|
Object.defineProperty(exports, "viewTypeSchema", {
|
|
7751
8628
|
enumerable: true,
|
|
7752
|
-
get: function () { return
|
|
8629
|
+
get: function () { return chunkTU6ECJFZ_js.viewTypeSchema; }
|
|
7753
8630
|
});
|
|
7754
8631
|
Object.defineProperty(exports, "ComputedFormulaParseError", {
|
|
7755
8632
|
enumerable: true,
|
|
7756
|
-
get: function () { return
|
|
8633
|
+
get: function () { return chunkLRFLSFIA_js.ComputedFormulaParseError; }
|
|
7757
8634
|
});
|
|
7758
8635
|
Object.defineProperty(exports, "SCHEMA_LIMITS", {
|
|
7759
8636
|
enumerable: true,
|
|
7760
|
-
get: function () { return
|
|
8637
|
+
get: function () { return chunkLRFLSFIA_js.SCHEMA_LIMITS; }
|
|
7761
8638
|
});
|
|
7762
8639
|
Object.defineProperty(exports, "colorIdSchema", {
|
|
7763
8640
|
enumerable: true,
|
|
7764
|
-
get: function () { return
|
|
8641
|
+
get: function () { return chunkLRFLSFIA_js.colorIdSchema; }
|
|
7765
8642
|
});
|
|
7766
8643
|
Object.defineProperty(exports, "iconNameSchema", {
|
|
7767
8644
|
enumerable: true,
|
|
7768
|
-
get: function () { return
|
|
8645
|
+
get: function () { return chunkLRFLSFIA_js.iconNameSchema; }
|
|
7769
8646
|
});
|
|
7770
8647
|
Object.defineProperty(exports, "multiselectOptionWriteSchema", {
|
|
7771
8648
|
enumerable: true,
|
|
7772
|
-
get: function () { return
|
|
8649
|
+
get: function () { return chunkLRFLSFIA_js.multiselectOptionWriteSchema; }
|
|
7773
8650
|
});
|
|
7774
8651
|
Object.defineProperty(exports, "parseAttributeConfig", {
|
|
7775
8652
|
enumerable: true,
|
|
7776
|
-
get: function () { return
|
|
8653
|
+
get: function () { return chunkLRFLSFIA_js.parseAttributeConfig; }
|
|
7777
8654
|
});
|
|
7778
8655
|
Object.defineProperty(exports, "parseAttributeConfigForCreate", {
|
|
7779
8656
|
enumerable: true,
|
|
7780
|
-
get: function () { return
|
|
8657
|
+
get: function () { return chunkLRFLSFIA_js.parseAttributeConfigForCreate; }
|
|
7781
8658
|
});
|
|
7782
8659
|
Object.defineProperty(exports, "parseAttributeConfigForUpdate", {
|
|
7783
8660
|
enumerable: true,
|
|
7784
|
-
get: function () { return
|
|
8661
|
+
get: function () { return chunkLRFLSFIA_js.parseAttributeConfigForUpdate; }
|
|
7785
8662
|
});
|
|
7786
8663
|
Object.defineProperty(exports, "parseComputedFormula", {
|
|
7787
8664
|
enumerable: true,
|
|
7788
|
-
get: function () { return
|
|
8665
|
+
get: function () { return chunkLRFLSFIA_js.parseComputedFormula; }
|
|
7789
8666
|
});
|
|
7790
8667
|
Object.defineProperty(exports, "selectOptionWriteSchema", {
|
|
7791
8668
|
enumerable: true,
|
|
7792
|
-
get: function () { return
|
|
8669
|
+
get: function () { return chunkLRFLSFIA_js.selectOptionWriteSchema; }
|
|
7793
8670
|
});
|
|
7794
8671
|
Object.defineProperty(exports, "statusGroupSchema", {
|
|
7795
8672
|
enumerable: true,
|
|
7796
|
-
get: function () { return
|
|
8673
|
+
get: function () { return chunkLRFLSFIA_js.statusGroupSchema; }
|
|
7797
8674
|
});
|
|
7798
8675
|
Object.defineProperty(exports, "statusOptionWriteSchema", {
|
|
7799
8676
|
enumerable: true,
|
|
7800
|
-
get: function () { return
|
|
8677
|
+
get: function () { return chunkLRFLSFIA_js.statusOptionWriteSchema; }
|
|
7801
8678
|
});
|
|
7802
8679
|
Object.defineProperty(exports, "createFormAttributeValidator", {
|
|
7803
8680
|
enumerable: true,
|
|
7804
|
-
get: function () { return
|
|
8681
|
+
get: function () { return chunkE47WAI5K_js.createFormAttributeValidator; }
|
|
7805
8682
|
});
|
|
7806
8683
|
Object.defineProperty(exports, "isNullishOrEmptyString", {
|
|
7807
8684
|
enumerable: true,
|
|
7808
|
-
get: function () { return
|
|
8685
|
+
get: function () { return chunkE47WAI5K_js.isNullishOrEmptyString; }
|
|
7809
8686
|
});
|
|
7810
8687
|
Object.defineProperty(exports, "isValuePresent", {
|
|
7811
8688
|
enumerable: true,
|
|
7812
|
-
get: function () { return
|
|
8689
|
+
get: function () { return chunkE47WAI5K_js.isValuePresent; }
|
|
7813
8690
|
});
|
|
7814
8691
|
Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
|
|
7815
8692
|
enumerable: true,
|
|
7816
|
-
get: function () { return
|
|
8693
|
+
get: function () { return chunkE47WAI5K_js.rejectUnknownAttributesOrThrow; }
|
|
7817
8694
|
});
|
|
7818
8695
|
Object.defineProperty(exports, "validateDraft", {
|
|
7819
8696
|
enumerable: true,
|
|
7820
|
-
get: function () { return
|
|
8697
|
+
get: function () { return chunkE47WAI5K_js.validateDraft; }
|
|
7821
8698
|
});
|
|
7822
8699
|
Object.defineProperty(exports, "validateDraftOrThrow", {
|
|
7823
8700
|
enumerable: true,
|
|
7824
|
-
get: function () { return
|
|
8701
|
+
get: function () { return chunkE47WAI5K_js.validateDraftOrThrow; }
|
|
7825
8702
|
});
|
|
7826
8703
|
Object.defineProperty(exports, "validateObject", {
|
|
7827
8704
|
enumerable: true,
|
|
7828
|
-
get: function () { return
|
|
8705
|
+
get: function () { return chunkE47WAI5K_js.validateObject; }
|
|
7829
8706
|
});
|
|
7830
8707
|
Object.defineProperty(exports, "validateObjectOrThrow", {
|
|
7831
8708
|
enumerable: true,
|
|
7832
|
-
get: function () { return
|
|
8709
|
+
get: function () { return chunkE47WAI5K_js.validateObjectOrThrow; }
|
|
7833
8710
|
});
|
|
7834
8711
|
Object.defineProperty(exports, "createCheckboxValidator", {
|
|
7835
8712
|
enumerable: true,
|
|
@@ -7857,155 +8734,155 @@ Object.defineProperty(exports, "resolveTextPattern", {
|
|
|
7857
8734
|
});
|
|
7858
8735
|
Object.defineProperty(exports, "AccessDeniedError", {
|
|
7859
8736
|
enumerable: true,
|
|
7860
|
-
get: function () { return
|
|
8737
|
+
get: function () { return chunkHWZRSXFB_js.AccessDeniedError; }
|
|
7861
8738
|
});
|
|
7862
8739
|
Object.defineProperty(exports, "AttributeInUseError", {
|
|
7863
8740
|
enumerable: true,
|
|
7864
|
-
get: function () { return
|
|
8741
|
+
get: function () { return chunkHWZRSXFB_js.AttributeInUseError; }
|
|
7865
8742
|
});
|
|
7866
8743
|
Object.defineProperty(exports, "AttributeNotFoundError", {
|
|
7867
8744
|
enumerable: true,
|
|
7868
|
-
get: function () { return
|
|
8745
|
+
get: function () { return chunkHWZRSXFB_js.AttributeNotFoundError; }
|
|
7869
8746
|
});
|
|
7870
8747
|
Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
|
|
7871
8748
|
enumerable: true,
|
|
7872
|
-
get: function () { return
|
|
8749
|
+
get: function () { return chunkHWZRSXFB_js.ChangeTypeNotSupportedError; }
|
|
7873
8750
|
});
|
|
7874
8751
|
Object.defineProperty(exports, "ConcurrentModificationError", {
|
|
7875
8752
|
enumerable: true,
|
|
7876
|
-
get: function () { return
|
|
8753
|
+
get: function () { return chunkHWZRSXFB_js.ConcurrentModificationError; }
|
|
7877
8754
|
});
|
|
7878
8755
|
Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
|
|
7879
8756
|
enumerable: true,
|
|
7880
|
-
get: function () { return
|
|
8757
|
+
get: function () { return chunkHWZRSXFB_js.DestructiveSyncNotAllowedError; }
|
|
7881
8758
|
});
|
|
7882
8759
|
Object.defineProperty(exports, "DuplicateError", {
|
|
7883
8760
|
enumerable: true,
|
|
7884
|
-
get: function () { return
|
|
8761
|
+
get: function () { return chunkHWZRSXFB_js.DuplicateError; }
|
|
7885
8762
|
});
|
|
7886
8763
|
Object.defineProperty(exports, "ForbiddenError", {
|
|
7887
8764
|
enumerable: true,
|
|
7888
|
-
get: function () { return
|
|
8765
|
+
get: function () { return chunkHWZRSXFB_js.ForbiddenError; }
|
|
7889
8766
|
});
|
|
7890
8767
|
Object.defineProperty(exports, "MemoryNotFoundError", {
|
|
7891
8768
|
enumerable: true,
|
|
7892
|
-
get: function () { return
|
|
8769
|
+
get: function () { return chunkHWZRSXFB_js.MemoryNotFoundError; }
|
|
7893
8770
|
});
|
|
7894
8771
|
Object.defineProperty(exports, "MigrationTimeoutError", {
|
|
7895
8772
|
enumerable: true,
|
|
7896
|
-
get: function () { return
|
|
8773
|
+
get: function () { return chunkHWZRSXFB_js.MigrationTimeoutError; }
|
|
7897
8774
|
});
|
|
7898
8775
|
Object.defineProperty(exports, "NotFoundError", {
|
|
7899
8776
|
enumerable: true,
|
|
7900
|
-
get: function () { return
|
|
8777
|
+
get: function () { return chunkHWZRSXFB_js.NotFoundError; }
|
|
7901
8778
|
});
|
|
7902
8779
|
Object.defineProperty(exports, "NotImplementedError", {
|
|
7903
8780
|
enumerable: true,
|
|
7904
|
-
get: function () { return
|
|
8781
|
+
get: function () { return chunkHWZRSXFB_js.NotImplementedError; }
|
|
7905
8782
|
});
|
|
7906
8783
|
Object.defineProperty(exports, "ObjectNotFoundError", {
|
|
7907
8784
|
enumerable: true,
|
|
7908
|
-
get: function () { return
|
|
8785
|
+
get: function () { return chunkHWZRSXFB_js.ObjectNotFoundError; }
|
|
7909
8786
|
});
|
|
7910
8787
|
Object.defineProperty(exports, "ObjectReferencedError", {
|
|
7911
8788
|
enumerable: true,
|
|
7912
|
-
get: function () { return
|
|
8789
|
+
get: function () { return chunkHWZRSXFB_js.ObjectReferencedError; }
|
|
7913
8790
|
});
|
|
7914
8791
|
Object.defineProperty(exports, "OrphanSystemAttributeError", {
|
|
7915
8792
|
enumerable: true,
|
|
7916
|
-
get: function () { return
|
|
8793
|
+
get: function () { return chunkHWZRSXFB_js.OrphanSystemAttributeError; }
|
|
7917
8794
|
});
|
|
7918
8795
|
Object.defineProperty(exports, "ProtectedResourceError", {
|
|
7919
8796
|
enumerable: true,
|
|
7920
|
-
get: function () { return
|
|
8797
|
+
get: function () { return chunkHWZRSXFB_js.ProtectedResourceError; }
|
|
7921
8798
|
});
|
|
7922
8799
|
Object.defineProperty(exports, "ProtectedRoleError", {
|
|
7923
8800
|
enumerable: true,
|
|
7924
|
-
get: function () { return
|
|
8801
|
+
get: function () { return chunkHWZRSXFB_js.ProtectedRoleError; }
|
|
7925
8802
|
});
|
|
7926
8803
|
Object.defineProperty(exports, "RecordNotFoundError", {
|
|
7927
8804
|
enumerable: true,
|
|
7928
|
-
get: function () { return
|
|
8805
|
+
get: function () { return chunkHWZRSXFB_js.RecordNotFoundError; }
|
|
7929
8806
|
});
|
|
7930
8807
|
Object.defineProperty(exports, "RecordReferencedError", {
|
|
7931
8808
|
enumerable: true,
|
|
7932
|
-
get: function () { return
|
|
8809
|
+
get: function () { return chunkHWZRSXFB_js.RecordReferencedError; }
|
|
7933
8810
|
});
|
|
7934
8811
|
Object.defineProperty(exports, "RepositoryError", {
|
|
7935
8812
|
enumerable: true,
|
|
7936
|
-
get: function () { return
|
|
8813
|
+
get: function () { return chunkHWZRSXFB_js.RepositoryError; }
|
|
7937
8814
|
});
|
|
7938
8815
|
Object.defineProperty(exports, "RoleNotFoundError", {
|
|
7939
8816
|
enumerable: true,
|
|
7940
|
-
get: function () { return
|
|
8817
|
+
get: function () { return chunkHWZRSXFB_js.RoleNotFoundError; }
|
|
7941
8818
|
});
|
|
7942
8819
|
Object.defineProperty(exports, "SchemaError", {
|
|
7943
8820
|
enumerable: true,
|
|
7944
|
-
get: function () { return
|
|
8821
|
+
get: function () { return chunkHWZRSXFB_js.SchemaError; }
|
|
7945
8822
|
});
|
|
7946
8823
|
Object.defineProperty(exports, "SchemaErrorCode", {
|
|
7947
8824
|
enumerable: true,
|
|
7948
|
-
get: function () { return
|
|
8825
|
+
get: function () { return chunkHWZRSXFB_js.SchemaErrorCode; }
|
|
7949
8826
|
});
|
|
7950
8827
|
Object.defineProperty(exports, "SchemaPlanNotFoundError", {
|
|
7951
8828
|
enumerable: true,
|
|
7952
|
-
get: function () { return
|
|
8829
|
+
get: function () { return chunkHWZRSXFB_js.SchemaPlanNotFoundError; }
|
|
7953
8830
|
});
|
|
7954
8831
|
Object.defineProperty(exports, "SearchBackendError", {
|
|
7955
8832
|
enumerable: true,
|
|
7956
|
-
get: function () { return
|
|
8833
|
+
get: function () { return chunkHWZRSXFB_js.SearchBackendError; }
|
|
7957
8834
|
});
|
|
7958
8835
|
Object.defineProperty(exports, "StorageError", {
|
|
7959
8836
|
enumerable: true,
|
|
7960
|
-
get: function () { return
|
|
8837
|
+
get: function () { return chunkHWZRSXFB_js.StorageError; }
|
|
7961
8838
|
});
|
|
7962
8839
|
Object.defineProperty(exports, "SyncCascadeError", {
|
|
7963
8840
|
enumerable: true,
|
|
7964
|
-
get: function () { return
|
|
8841
|
+
get: function () { return chunkHWZRSXFB_js.SyncCascadeError; }
|
|
7965
8842
|
});
|
|
7966
8843
|
Object.defineProperty(exports, "SyncConflictError", {
|
|
7967
8844
|
enumerable: true,
|
|
7968
|
-
get: function () { return
|
|
8845
|
+
get: function () { return chunkHWZRSXFB_js.SyncConflictError; }
|
|
7969
8846
|
});
|
|
7970
8847
|
Object.defineProperty(exports, "SyncError", {
|
|
7971
8848
|
enumerable: true,
|
|
7972
|
-
get: function () { return
|
|
8849
|
+
get: function () { return chunkHWZRSXFB_js.SyncError; }
|
|
7973
8850
|
});
|
|
7974
8851
|
Object.defineProperty(exports, "SystemEntityImmutableError", {
|
|
7975
8852
|
enumerable: true,
|
|
7976
|
-
get: function () { return
|
|
8853
|
+
get: function () { return chunkHWZRSXFB_js.SystemEntityImmutableError; }
|
|
7977
8854
|
});
|
|
7978
8855
|
Object.defineProperty(exports, "ValidationError", {
|
|
7979
8856
|
enumerable: true,
|
|
7980
|
-
get: function () { return
|
|
8857
|
+
get: function () { return chunkHWZRSXFB_js.ValidationError; }
|
|
7981
8858
|
});
|
|
7982
8859
|
Object.defineProperty(exports, "isAttributeInUseError", {
|
|
7983
8860
|
enumerable: true,
|
|
7984
|
-
get: function () { return
|
|
8861
|
+
get: function () { return chunkHWZRSXFB_js.isAttributeInUseError; }
|
|
7985
8862
|
});
|
|
7986
8863
|
Object.defineProperty(exports, "isNotFoundError", {
|
|
7987
8864
|
enumerable: true,
|
|
7988
|
-
get: function () { return
|
|
8865
|
+
get: function () { return chunkHWZRSXFB_js.isNotFoundError; }
|
|
7989
8866
|
});
|
|
7990
8867
|
Object.defineProperty(exports, "isObjectReferencedError", {
|
|
7991
8868
|
enumerable: true,
|
|
7992
|
-
get: function () { return
|
|
8869
|
+
get: function () { return chunkHWZRSXFB_js.isObjectReferencedError; }
|
|
7993
8870
|
});
|
|
7994
8871
|
Object.defineProperty(exports, "isProtectedResourceError", {
|
|
7995
8872
|
enumerable: true,
|
|
7996
|
-
get: function () { return
|
|
8873
|
+
get: function () { return chunkHWZRSXFB_js.isProtectedResourceError; }
|
|
7997
8874
|
});
|
|
7998
8875
|
Object.defineProperty(exports, "isRecordReferencedError", {
|
|
7999
8876
|
enumerable: true,
|
|
8000
|
-
get: function () { return
|
|
8877
|
+
get: function () { return chunkHWZRSXFB_js.isRecordReferencedError; }
|
|
8001
8878
|
});
|
|
8002
8879
|
Object.defineProperty(exports, "isSchemaError", {
|
|
8003
8880
|
enumerable: true,
|
|
8004
|
-
get: function () { return
|
|
8881
|
+
get: function () { return chunkHWZRSXFB_js.isSchemaError; }
|
|
8005
8882
|
});
|
|
8006
8883
|
Object.defineProperty(exports, "isValidationError", {
|
|
8007
8884
|
enumerable: true,
|
|
8008
|
-
get: function () { return
|
|
8885
|
+
get: function () { return chunkHWZRSXFB_js.isValidationError; }
|
|
8009
8886
|
});
|
|
8010
8887
|
Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
|
|
8011
8888
|
enumerable: true,
|
|
@@ -8019,6 +8896,7 @@ exports.AGENT_UI_BATCH_MAX_BYTES = AGENT_UI_BATCH_MAX_BYTES;
|
|
|
8019
8896
|
exports.AGENT_UI_BATCH_MAX_ITEMS = AGENT_UI_BATCH_MAX_ITEMS;
|
|
8020
8897
|
exports.ALLOWED_PROPERTY_TYPES = ALLOWED_PROPERTY_TYPES;
|
|
8021
8898
|
exports.ALL_ACTIONS = ALL_ACTIONS;
|
|
8899
|
+
exports.ALL_OPERATION_TYPES = ALL_OPERATION_TYPES;
|
|
8022
8900
|
exports.ALL_SYSTEM_RESOURCES = ALL_SYSTEM_RESOURCES;
|
|
8023
8901
|
exports.AUDIT_ACTIONS = AUDIT_ACTIONS;
|
|
8024
8902
|
exports.AUDIT_RESOURCE_TYPES = AUDIT_RESOURCE_TYPES;
|
|
@@ -8027,6 +8905,7 @@ exports.AgentBuilder = AgentBuilder;
|
|
|
8027
8905
|
exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES;
|
|
8028
8906
|
exports.BROWSER_PREVIEW_STATUSES = BROWSER_PREVIEW_STATUSES;
|
|
8029
8907
|
exports.BYTE_UNIT_LABELS = BYTE_UNIT_LABELS;
|
|
8908
|
+
exports.CLAIMABLE_SESSION_STATUSES = CLAIMABLE_SESSION_STATUSES;
|
|
8030
8909
|
exports.COMPUTED_FUNCTIONS = COMPUTED_FUNCTIONS;
|
|
8031
8910
|
exports.COMPUTED_FUNCTION_METADATA = COMPUTED_FUNCTION_METADATA;
|
|
8032
8911
|
exports.COMPUTED_FUNCTION_NAMES = COMPUTED_FUNCTION_NAMES;
|
|
@@ -8043,6 +8922,10 @@ exports.DEFAULT_ROLE_DESCRIPTIONS = DEFAULT_ROLE_DESCRIPTIONS;
|
|
|
8043
8922
|
exports.DEFAULT_ROLE_LABELS = DEFAULT_ROLE_LABELS;
|
|
8044
8923
|
exports.DEFAULT_ROLE_PERMISSIONS = DEFAULT_ROLE_PERMISSIONS;
|
|
8045
8924
|
exports.DOCUMENT_SYSTEM_ATTRIBUTES = DOCUMENT_SYSTEM_ATTRIBUTES;
|
|
8925
|
+
exports.DRIVE_LIST_VIEW = DRIVE_LIST_VIEW;
|
|
8926
|
+
exports.DRIVE_OBJECT = DRIVE_OBJECT;
|
|
8927
|
+
exports.DRIVE_OBJECT_NAME = DRIVE_OBJECT_NAME;
|
|
8928
|
+
exports.DRIVE_VIEW = DRIVE_VIEW;
|
|
8046
8929
|
exports.DetailViewBuilder = DetailViewBuilder;
|
|
8047
8930
|
exports.DocumentsTabConfig = DocumentsTabConfig;
|
|
8048
8931
|
exports.EMPTY_VALUE_PLACEHOLDER = EMPTY_VALUE_PLACEHOLDER;
|
|
@@ -8084,13 +8967,13 @@ exports.NOTIFICATION_TYPE_AGENT_SESSION_WAITING_HUMAN = NOTIFICATION_TYPE_AGENT_
|
|
|
8084
8967
|
exports.NOTIFICATION_TYPE_AGENT_TASK_ASSIGNED = NOTIFICATION_TYPE_AGENT_TASK_ASSIGNED;
|
|
8085
8968
|
exports.NOTIFICATION_WORK_STATES = NOTIFICATION_WORK_STATES;
|
|
8086
8969
|
exports.NoopGeocodingAdapter = NoopGeocodingAdapter;
|
|
8970
|
+
exports.OPERATION_REGISTRY = OPERATION_REGISTRY;
|
|
8087
8971
|
exports.OPERATOR_SPECS = OPERATOR_SPECS;
|
|
8088
8972
|
exports.ObjectBuilder = ObjectBuilder;
|
|
8089
8973
|
exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES;
|
|
8090
8974
|
exports.QUALIFIED_SEPARATOR = QUALIFIED_SEPARATOR;
|
|
8091
8975
|
exports.RECORD_CREATOR_ROOT_ACTOR_METADATA_KEY = RECORD_CREATOR_ROOT_ACTOR_METADATA_KEY;
|
|
8092
8976
|
exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY;
|
|
8093
|
-
exports.RelationGroupBuilder = RelationGroupBuilder;
|
|
8094
8977
|
exports.RichtextTabConfig = RichtextTabConfig;
|
|
8095
8978
|
exports.SCHEMA_PLAN_LIMITS = SCHEMA_PLAN_LIMITS;
|
|
8096
8979
|
exports.SESSION_TERMINAL_STATUSES = SESSION_TERMINAL_STATUSES;
|
|
@@ -8111,6 +8994,7 @@ exports.accessLevelToActions = accessLevelToActions;
|
|
|
8111
8994
|
exports.actionsToAccessLevel = actionsToAccessLevel;
|
|
8112
8995
|
exports.agent = agent;
|
|
8113
8996
|
exports.agentDisplayName = agentDisplayName;
|
|
8997
|
+
exports.applyOperations = applyOperations;
|
|
8114
8998
|
exports.applyPipes = applyPipes;
|
|
8115
8999
|
exports.applyRelationProps = applyRelationProps;
|
|
8116
9000
|
exports.assertAcyclicComputedDependencies = assertAcyclicComputedDependencies;
|
|
@@ -8131,10 +9015,13 @@ exports.currency = currency;
|
|
|
8131
9015
|
exports.date = date;
|
|
8132
9016
|
exports.dateInTimezone = dateInTimezone;
|
|
8133
9017
|
exports.dateValueStart = dateValueStart;
|
|
9018
|
+
exports.defineOperation = defineOperation;
|
|
8134
9019
|
exports.deriveInitials = deriveInitials;
|
|
9020
|
+
exports.describeOperations = describeOperations;
|
|
8135
9021
|
exports.destructiveSchema = destructiveSchema;
|
|
8136
9022
|
exports.detailView = detailView;
|
|
8137
9023
|
exports.document = document;
|
|
9024
|
+
exports.ensureFieldIds = ensureFieldIds;
|
|
8138
9025
|
exports.evaluateComputedAst = evaluateComputedAst;
|
|
8139
9026
|
exports.evaluateComputedFormula = evaluateComputedFormula;
|
|
8140
9027
|
exports.evaluateComputedFormulaWithResult = evaluateComputedFormulaWithResult;
|
|
@@ -8143,6 +9030,7 @@ exports.evaluateRecordFilterState = evaluateRecordFilterState;
|
|
|
8143
9030
|
exports.extractAttributeNames = extractAttributeNames;
|
|
8144
9031
|
exports.extractValueRefs = extractValueRefs;
|
|
8145
9032
|
exports.flagRegistry = flagRegistry;
|
|
9033
|
+
exports.focusOf = focusOf;
|
|
8146
9034
|
exports.form = form;
|
|
8147
9035
|
exports.formRegistry = formRegistry;
|
|
8148
9036
|
exports.formatAttributeValue = formatAttributeValue;
|
|
@@ -8168,6 +9056,7 @@ exports.isAgentUIMessageBatch = isAgentUIMessageBatch;
|
|
|
8168
9056
|
exports.isAttributeSortable = isAttributeSortable2;
|
|
8169
9057
|
exports.isBilateralRelation = isBilateralRelation;
|
|
8170
9058
|
exports.isCheckboxEquality = isCheckboxEquality;
|
|
9059
|
+
exports.isClaimableSessionStatus = isClaimableSessionStatus;
|
|
8171
9060
|
exports.isComputedFunctionName = isComputedFunctionName;
|
|
8172
9061
|
exports.isDateRangeValue = isDateRangeValue;
|
|
8173
9062
|
exports.isDefaultRole = isDefaultRole;
|
|
@@ -8190,7 +9079,6 @@ exports.isLiveEventPayloadForType = isLiveEventPayloadForType;
|
|
|
8190
9079
|
exports.isLiveEventType = isLiveEventType;
|
|
8191
9080
|
exports.isNotEmpty = isNotEmpty;
|
|
8192
9081
|
exports.isPlainRecord = isPlainRecord2;
|
|
8193
|
-
exports.isRelationGroup = isRelationGroup;
|
|
8194
9082
|
exports.isStandardSchema = isStandardSchema;
|
|
8195
9083
|
exports.isTerminalSessionStatus = isTerminalSessionStatus;
|
|
8196
9084
|
exports.isTerminalState = isTerminalState;
|
|
@@ -8200,6 +9088,7 @@ exports.legacyStatusToSessionState = legacyStatusToSessionState;
|
|
|
8200
9088
|
exports.listView = listView;
|
|
8201
9089
|
exports.liveChannelKey = liveChannelKey;
|
|
8202
9090
|
exports.location = location;
|
|
9091
|
+
exports.makeFieldId = makeFieldId;
|
|
8203
9092
|
exports.matchesAccepts = matchesAccepts;
|
|
8204
9093
|
exports.multiselect = multiselect;
|
|
8205
9094
|
exports.nativeAgentUIPartIdMetadataKey = nativeAgentUIPartIdMetadataKey;
|
|
@@ -8210,6 +9099,7 @@ exports.object = object;
|
|
|
8210
9099
|
exports.parseCountMode = parseCountMode;
|
|
8211
9100
|
exports.parseLiveChannelKey = parseLiveChannelKey;
|
|
8212
9101
|
exports.parseNativeAgentUIPartIdsMetadata = parseNativeAgentUIPartIdsMetadata;
|
|
9102
|
+
exports.parseOperation = parseOperation;
|
|
8213
9103
|
exports.parseOptionalCountMode = parseOptionalCountMode;
|
|
8214
9104
|
exports.parseQualifiedAttribute = parseQualifiedAttribute;
|
|
8215
9105
|
exports.persistedDefaultViewTargetSchema = persistedDefaultViewTargetSchema;
|
|
@@ -8221,7 +9111,6 @@ exports.plannedObjectSchema = plannedObjectSchema;
|
|
|
8221
9111
|
exports.proposedDefaultViewTargetSchema = proposedDefaultViewTargetSchema;
|
|
8222
9112
|
exports.registry = registry;
|
|
8223
9113
|
exports.relation = relation;
|
|
8224
|
-
exports.relationGroup = relationGroup;
|
|
8225
9114
|
exports.relationPropertyDefs = relationPropertyDefs;
|
|
8226
9115
|
exports.renderLabelExpression = renderLabelExpression;
|
|
8227
9116
|
exports.resetViewToDefault = resetViewToDefault;
|