@stndrds/schema 1.0.0-alpha.95 → 1.0.0-alpha.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/attributes-C-bhC0k5.d.ts +673 -0
- package/dist/attributes-DB76JqXm.d.mts +673 -0
- package/dist/chunk-2TEWGEUI.js +212 -0
- package/dist/chunk-4RGFTMQR.mjs +8 -0
- package/dist/chunk-5TLM4QXO.mjs +8 -0
- package/dist/chunk-67PQMHQA.mjs +199 -0
- package/dist/chunk-6HHSX6LP.js +64 -0
- package/dist/chunk-AHPXNPJC.js +105 -0
- package/dist/chunk-BEN6TE7Y.js +11 -0
- package/dist/chunk-BH3RPSC5.js +22 -0
- package/dist/chunk-BIQ35DLC.mjs +78 -0
- package/dist/chunk-CKZHFJQT.js +16 -0
- package/dist/chunk-E6XO2STS.js +11 -11
- package/dist/chunk-EIWGW2ML.mjs +99 -0
- package/dist/chunk-EKG35CSO.mjs +1 -0
- package/dist/chunk-IMEPIVTR.js +217 -0
- package/dist/chunk-J4ORNCAH.js +10 -0
- package/dist/chunk-KC4F3HB7.js +32 -0
- package/dist/chunk-LHXE7LLD.js +28 -0
- package/dist/chunk-MD6XGXTU.mjs +18 -0
- package/dist/chunk-N47XKY4R.js +14 -0
- package/dist/chunk-NXXSNUDI.mjs +8 -0
- package/dist/chunk-PKG3E5MW.mjs +18 -0
- package/dist/chunk-PZT3CIHD.mjs +192 -0
- package/dist/chunk-QL3UGPUG.mjs +60 -0
- package/dist/chunk-QY65ZSBL.js +16 -0
- package/dist/chunk-R6JFUC32.js +2 -0
- package/dist/chunk-RDXQ4CYT.mjs +9 -0
- package/dist/chunk-S5VJ2FZE.js +12 -0
- package/dist/chunk-SVII65W7.mjs +14 -0
- package/dist/chunk-U7VN3RUE.mjs +25 -0
- package/dist/chunk-VCPYYLCS.js +83 -0
- package/dist/chunk-VD3P2A6Q.js +10 -0
- package/dist/chunk-VPEV3W34.mjs +10 -0
- package/dist/chunk-WGFQMQMV.mjs +14 -0
- package/dist/chunk-X6VDDXG7.mjs +12 -0
- package/dist/chunk-XAORXFAX.mjs +1 -10
- package/dist/chunk-XEOG24K6.mjs +8 -0
- package/dist/chunk-XK6XC3V4.js +10 -0
- package/dist/chunk-XZ5B5MTG.js +20 -0
- package/dist/chunk-YKHC2AW6.js +10 -0
- package/dist/chunk-Z2T7ONKU.js +20 -0
- package/dist/chunk-ZFL7DXAE.mjs +28 -0
- package/dist/chunk-ZM7W2ZCF.mjs +20 -0
- package/dist/{validators-5XMwJOlV.d.ts → index-Bt-0XNSh.d.ts} +14 -1499
- package/dist/{validators-BCw4Sn01.d.mts → index-C9tOwUbK.d.mts} +14 -1499
- package/dist/index.d.mts +1267 -976
- package/dist/index.d.ts +1267 -976
- package/dist/index.js +1293 -1001
- package/dist/index.mjs +529 -785
- package/dist/types-B7nS2D1A.d.ts +39 -0
- package/dist/types-CjXbGsy8.d.mts +39 -0
- package/dist/utils.js +38 -20
- package/dist/utils.mjs +1 -20
- package/dist/validation/all.d.mts +23 -0
- package/dist/validation/all.d.ts +23 -0
- package/dist/validation/all.js +265 -0
- package/dist/validation/all.mjs +20 -0
- package/dist/validation/complex/currency.d.mts +15 -0
- package/dist/validation/complex/currency.d.ts +15 -0
- package/dist/validation/complex/currency.js +12 -0
- package/dist/validation/complex/currency.mjs +3 -0
- package/dist/validation/complex/file.d.mts +13 -0
- package/dist/validation/complex/file.d.ts +13 -0
- package/dist/validation/complex/file.js +12 -0
- package/dist/validation/complex/file.mjs +3 -0
- package/dist/validation/complex/location.d.mts +22 -0
- package/dist/validation/complex/location.d.ts +22 -0
- package/dist/validation/complex/location.js +12 -0
- package/dist/validation/complex/location.mjs +3 -0
- package/dist/validation/complex/phone.d.mts +22 -0
- package/dist/validation/complex/phone.d.ts +22 -0
- package/dist/validation/complex/phone.js +12 -0
- package/dist/validation/complex/phone.mjs +3 -0
- package/dist/validation/complex/relation.d.mts +25 -0
- package/dist/validation/complex/relation.d.ts +25 -0
- package/dist/validation/complex/relation.js +20 -0
- package/dist/validation/complex/relation.mjs +3 -0
- package/dist/validation/complex/richtext.d.mts +13 -0
- package/dist/validation/complex/richtext.d.ts +13 -0
- package/dist/validation/complex/richtext.js +12 -0
- package/dist/validation/complex/richtext.mjs +3 -0
- package/dist/validation/complex/select.d.mts +20 -0
- package/dist/validation/complex/select.d.ts +20 -0
- package/dist/validation/complex/select.js +20 -0
- package/dist/validation/complex/select.mjs +3 -0
- package/dist/validation/complex/user.d.mts +13 -0
- package/dist/validation/complex/user.d.ts +13 -0
- package/dist/validation/complex/user.js +12 -0
- package/dist/validation/complex/user.mjs +3 -0
- package/dist/validation/computed/formula.d.mts +14 -0
- package/dist/validation/computed/formula.d.ts +14 -0
- package/dist/validation/computed/formula.js +12 -0
- package/dist/validation/computed/formula.mjs +3 -0
- package/dist/validation/computed/rollup.d.mts +14 -0
- package/dist/validation/computed/rollup.d.ts +14 -0
- package/dist/validation/computed/rollup.js +12 -0
- package/dist/validation/computed/rollup.mjs +3 -0
- package/dist/validation/config/index.d.mts +421 -0
- package/dist/validation/config/index.d.ts +421 -0
- package/dist/validation/config/index.js +103 -0
- package/dist/validation/config/index.mjs +2 -0
- package/dist/validation/core/index.d.mts +85 -0
- package/dist/validation/core/index.d.ts +85 -0
- package/dist/validation/core/index.js +27 -0
- package/dist/validation/core/index.mjs +2 -0
- package/dist/validation/object/index.d.mts +6 -0
- package/dist/validation/object/index.d.ts +6 -0
- package/dist/validation/object/index.js +71 -0
- package/dist/validation/object/index.mjs +18 -0
- package/dist/validation/primitives/checkbox.d.mts +12 -0
- package/dist/validation/primitives/checkbox.d.ts +12 -0
- package/dist/validation/primitives/checkbox.js +12 -0
- package/dist/validation/primitives/checkbox.mjs +3 -0
- package/dist/validation/primitives/date.d.mts +12 -0
- package/dist/validation/primitives/date.d.ts +12 -0
- package/dist/validation/primitives/date.js +12 -0
- package/dist/validation/primitives/date.mjs +3 -0
- package/dist/validation/primitives/number.d.mts +12 -0
- package/dist/validation/primitives/number.d.ts +12 -0
- package/dist/validation/primitives/number.js +12 -0
- package/dist/validation/primitives/number.mjs +3 -0
- package/dist/validation/primitives/rating.d.mts +12 -0
- package/dist/validation/primitives/rating.d.ts +12 -0
- package/dist/validation/primitives/rating.js +12 -0
- package/dist/validation/primitives/rating.mjs +3 -0
- package/dist/validation/primitives/text.d.mts +17 -0
- package/dist/validation/primitives/text.d.ts +17 -0
- package/dist/validation/primitives/text.js +16 -0
- package/dist/validation/primitives/text.mjs +3 -0
- package/dist/validation/validators.d.mts +21 -2
- package/dist/validation/validators.d.ts +21 -2
- package/dist/validation/validators.js +265 -120
- package/dist/validation/validators.mjs +20 -120
- package/package.json +108 -5
- package/dist/chunk-4362R5F2.mjs +0 -780
- package/dist/chunk-7QUI6TSO.js +0 -780
package/dist/index.js
CHANGED
|
@@ -1,77 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
var _chunk7QUI6TSOjs = require('./chunk-7QUI6TSO.js');
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkE6XO2STS_js = require('./chunk-E6XO2STS.js');
|
|
4
|
+
require('./chunk-R6JFUC32.js');
|
|
5
|
+
var chunk2TEWGEUI_js = require('./chunk-2TEWGEUI.js');
|
|
6
|
+
var chunkXK6XC3V4_js = require('./chunk-XK6XC3V4.js');
|
|
7
|
+
var chunkVD3P2A6Q_js = require('./chunk-VD3P2A6Q.js');
|
|
8
|
+
var chunkXZ5B5MTG_js = require('./chunk-XZ5B5MTG.js');
|
|
9
|
+
var chunkN47XKY4R_js = require('./chunk-N47XKY4R.js');
|
|
10
|
+
var chunkLHXE7LLD_js = require('./chunk-LHXE7LLD.js');
|
|
11
|
+
var chunk6HHSX6LP_js = require('./chunk-6HHSX6LP.js');
|
|
12
|
+
var chunkS5VJ2FZE_js = require('./chunk-S5VJ2FZE.js');
|
|
13
|
+
var chunkKC4F3HB7_js = require('./chunk-KC4F3HB7.js');
|
|
14
|
+
var chunkCKZHFJQT_js = require('./chunk-CKZHFJQT.js');
|
|
15
|
+
var chunkJ4ORNCAH_js = require('./chunk-J4ORNCAH.js');
|
|
16
|
+
var chunkYKHC2AW6_js = require('./chunk-YKHC2AW6.js');
|
|
17
|
+
var chunkIMEPIVTR_js = require('./chunk-IMEPIVTR.js');
|
|
18
|
+
var chunkQY65ZSBL_js = require('./chunk-QY65ZSBL.js');
|
|
19
|
+
var chunkZ2T7ONKU_js = require('./chunk-Z2T7ONKU.js');
|
|
20
|
+
var chunkBH3RPSC5_js = require('./chunk-BH3RPSC5.js');
|
|
21
|
+
var chunkAHPXNPJC_js = require('./chunk-AHPXNPJC.js');
|
|
22
|
+
var chunkVCPYYLCS_js = require('./chunk-VCPYYLCS.js');
|
|
23
|
+
var chunkBEN6TE7Y_js = require('./chunk-BEN6TE7Y.js');
|
|
24
|
+
var z3 = require('zod');
|
|
25
|
+
var constants = require('@stndrds/constants');
|
|
26
|
+
|
|
27
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
28
|
+
|
|
29
|
+
var z3__default = /*#__PURE__*/_interopDefault(z3);
|
|
75
30
|
|
|
76
31
|
// src/types/attribute-protection.ts
|
|
77
32
|
var IDENTITY_PROPERTIES = ["name", "type"];
|
|
@@ -466,10 +421,10 @@ function isTableTab(tab) {
|
|
|
466
421
|
return tab.type === "table";
|
|
467
422
|
}
|
|
468
423
|
function isRelationSourceTab(tab) {
|
|
469
|
-
return tab.type === "table" &&
|
|
424
|
+
return tab.type === "table" && tab.source?.type === "relation";
|
|
470
425
|
}
|
|
471
426
|
function isInverseSourceTab(tab) {
|
|
472
|
-
return tab.type === "table" &&
|
|
427
|
+
return tab.type === "table" && tab.source?.type === "inverse";
|
|
473
428
|
}
|
|
474
429
|
function isCustomTab(tab) {
|
|
475
430
|
return tab.type === "custom";
|
|
@@ -564,26 +519,45 @@ function isFormNode(node) {
|
|
|
564
519
|
function isConditionNode(node) {
|
|
565
520
|
return node.type === "condition";
|
|
566
521
|
}
|
|
567
|
-
function isAssignNode(node) {
|
|
568
|
-
return node.type === "assign";
|
|
569
|
-
}
|
|
570
|
-
function isAINode(node) {
|
|
571
|
-
return node.type === "ai";
|
|
572
|
-
}
|
|
573
522
|
function isEndNode(node) {
|
|
574
523
|
return node.type === "end";
|
|
575
524
|
}
|
|
576
525
|
|
|
577
|
-
// src/types/workflows/node-types/
|
|
578
|
-
var
|
|
579
|
-
type: "
|
|
580
|
-
isLinear:
|
|
581
|
-
structural:
|
|
526
|
+
// src/types/workflows/node-types/condition.node-type.ts
|
|
527
|
+
var conditionNodeType = {
|
|
528
|
+
type: "condition",
|
|
529
|
+
isLinear: false,
|
|
530
|
+
structural: false,
|
|
582
531
|
getOutputs(node) {
|
|
583
|
-
return node.
|
|
532
|
+
return [node.onTrue, node.onFalse].filter((n) => !!n);
|
|
584
533
|
},
|
|
585
|
-
setNext(
|
|
586
|
-
|
|
534
|
+
setNext() {
|
|
535
|
+
throw new Error(
|
|
536
|
+
"[NodeTypeRegistry] ConditionNode does not support setNext. Use onTrue/onFalse directly."
|
|
537
|
+
);
|
|
538
|
+
},
|
|
539
|
+
getSlotIds() {
|
|
540
|
+
return [];
|
|
541
|
+
},
|
|
542
|
+
validate(node) {
|
|
543
|
+
const errors = [];
|
|
544
|
+
if (!node.condition) {
|
|
545
|
+
errors.push("ConditionNode must have a 'condition'");
|
|
546
|
+
}
|
|
547
|
+
return errors;
|
|
548
|
+
}
|
|
549
|
+
};
|
|
550
|
+
|
|
551
|
+
// src/types/workflows/node-types/end.node-type.ts
|
|
552
|
+
var endNodeType = {
|
|
553
|
+
type: "end",
|
|
554
|
+
isLinear: false,
|
|
555
|
+
structural: true,
|
|
556
|
+
getOutputs() {
|
|
557
|
+
return [];
|
|
558
|
+
},
|
|
559
|
+
setNext() {
|
|
560
|
+
throw new Error("[NodeTypeRegistry] EndNode does not support setNext.");
|
|
587
561
|
},
|
|
588
562
|
getSlotIds() {
|
|
589
563
|
return [];
|
|
@@ -592,7 +566,6 @@ var startNodeType = {
|
|
|
592
566
|
return [];
|
|
593
567
|
}
|
|
594
568
|
};
|
|
595
|
-
nodeTypeRegistry.register(startNodeType);
|
|
596
569
|
|
|
597
570
|
// src/types/workflows/node-types/form.node-type.ts
|
|
598
571
|
var formNodeType = {
|
|
@@ -637,121 +610,18 @@ var formNodeType = {
|
|
|
637
610
|
return errors;
|
|
638
611
|
}
|
|
639
612
|
};
|
|
640
|
-
nodeTypeRegistry.register(formNodeType);
|
|
641
|
-
|
|
642
|
-
// src/types/workflows/node-types/condition.node-type.ts
|
|
643
|
-
var conditionNodeType = {
|
|
644
|
-
type: "condition",
|
|
645
|
-
isLinear: false,
|
|
646
|
-
structural: false,
|
|
647
|
-
getOutputs(node) {
|
|
648
|
-
return [node.onTrue, node.onFalse].filter((n) => !!n);
|
|
649
|
-
},
|
|
650
|
-
setNext() {
|
|
651
|
-
throw new Error(
|
|
652
|
-
"[NodeTypeRegistry] ConditionNode does not support setNext. Use onTrue/onFalse directly."
|
|
653
|
-
);
|
|
654
|
-
},
|
|
655
|
-
getSlotIds() {
|
|
656
|
-
return [];
|
|
657
|
-
},
|
|
658
|
-
validate(node) {
|
|
659
|
-
const errors = [];
|
|
660
|
-
if (!node.condition) {
|
|
661
|
-
errors.push("ConditionNode must have a 'condition'");
|
|
662
|
-
}
|
|
663
|
-
return errors;
|
|
664
|
-
}
|
|
665
|
-
};
|
|
666
|
-
nodeTypeRegistry.register(conditionNodeType);
|
|
667
|
-
|
|
668
|
-
// src/types/workflows/node-types/assign.node-type.ts
|
|
669
|
-
var assignNodeType = {
|
|
670
|
-
type: "assign",
|
|
671
|
-
isLinear: true,
|
|
672
|
-
structural: false,
|
|
673
|
-
getOutputs(node) {
|
|
674
|
-
return node.next ? [node.next] : [];
|
|
675
|
-
},
|
|
676
|
-
setNext(node, targetId) {
|
|
677
|
-
return { ...node, next: targetId };
|
|
678
|
-
},
|
|
679
|
-
getSlotIds(node) {
|
|
680
|
-
const slotIds = /* @__PURE__ */ new Set();
|
|
681
|
-
if (node.targetSlotId) {
|
|
682
|
-
slotIds.add(node.targetSlotId);
|
|
683
|
-
}
|
|
684
|
-
for (const assignment of _nullishCoalesce(node.assignments, () => ( []))) {
|
|
685
|
-
const src = assignment.source;
|
|
686
|
-
if (src.type === "slot-ref") {
|
|
687
|
-
slotIds.add(src.slotId);
|
|
688
|
-
} else if (src.type === "expression") {
|
|
689
|
-
const matches = src.template.matchAll(/\{\{\s*([\w]+)\.\w+/g);
|
|
690
|
-
for (const match of matches) {
|
|
691
|
-
slotIds.add(match[1]);
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
}
|
|
695
|
-
return [...slotIds];
|
|
696
|
-
},
|
|
697
|
-
validate(node) {
|
|
698
|
-
const errors = [];
|
|
699
|
-
if (!node.targetSlotId) {
|
|
700
|
-
errors.push("AssignNode must have a target slot");
|
|
701
|
-
}
|
|
702
|
-
if (!_optionalChain([node, 'access', _6 => _6.assignments, 'optionalAccess', _7 => _7.length])) {
|
|
703
|
-
errors.push("AssignNode must have at least one assignment");
|
|
704
|
-
}
|
|
705
|
-
if (!node.next) {
|
|
706
|
-
errors.push("AssignNode must have a 'next' target");
|
|
707
|
-
}
|
|
708
|
-
return errors;
|
|
709
|
-
}
|
|
710
|
-
};
|
|
711
|
-
nodeTypeRegistry.register(assignNodeType);
|
|
712
613
|
|
|
713
|
-
// src/types/workflows/node-types/
|
|
714
|
-
var
|
|
715
|
-
type: "
|
|
614
|
+
// src/types/workflows/node-types/start.node-type.ts
|
|
615
|
+
var startNodeType = {
|
|
616
|
+
type: "start",
|
|
716
617
|
isLinear: true,
|
|
717
|
-
structural:
|
|
618
|
+
structural: true,
|
|
718
619
|
getOutputs(node) {
|
|
719
620
|
return node.next ? [node.next] : [];
|
|
720
621
|
},
|
|
721
622
|
setNext(node, targetId) {
|
|
722
623
|
return { ...node, next: targetId };
|
|
723
624
|
},
|
|
724
|
-
getSlotIds(node) {
|
|
725
|
-
const slotIds = /* @__PURE__ */ new Set();
|
|
726
|
-
for (const id of _nullishCoalesce(node.inputSlotIds, () => ( []))) slotIds.add(id);
|
|
727
|
-
for (const id of _nullishCoalesce(node.targetSlotIds, () => ( []))) slotIds.add(id);
|
|
728
|
-
return [...slotIds];
|
|
729
|
-
},
|
|
730
|
-
validate(node) {
|
|
731
|
-
const errors = [];
|
|
732
|
-
if (!node.label) errors.push("AINode must have a label");
|
|
733
|
-
if (!node.mode) errors.push("AINode must have a mode (sync or async)");
|
|
734
|
-
if (!node.next) errors.push("AINode must have a 'next' target");
|
|
735
|
-
const hasAgentSource = !!node.definitionId || !!node.systemPrompt;
|
|
736
|
-
if (!hasAgentSource) {
|
|
737
|
-
errors.push("AINode must have either a definitionId or a systemPrompt");
|
|
738
|
-
}
|
|
739
|
-
return errors;
|
|
740
|
-
}
|
|
741
|
-
};
|
|
742
|
-
nodeTypeRegistry.register(aiNodeType);
|
|
743
|
-
|
|
744
|
-
// src/types/workflows/node-types/end.node-type.ts
|
|
745
|
-
var endNodeType = {
|
|
746
|
-
type: "end",
|
|
747
|
-
isLinear: false,
|
|
748
|
-
structural: true,
|
|
749
|
-
getOutputs() {
|
|
750
|
-
return [];
|
|
751
|
-
},
|
|
752
|
-
setNext() {
|
|
753
|
-
throw new Error("[NodeTypeRegistry] EndNode does not support setNext.");
|
|
754
|
-
},
|
|
755
625
|
getSlotIds() {
|
|
756
626
|
return [];
|
|
757
627
|
},
|
|
@@ -759,7 +629,18 @@ var endNodeType = {
|
|
|
759
629
|
return [];
|
|
760
630
|
}
|
|
761
631
|
};
|
|
762
|
-
|
|
632
|
+
|
|
633
|
+
// src/types/workflows/node-types/index.ts
|
|
634
|
+
var registered = false;
|
|
635
|
+
function registerBuiltInNodeTypes() {
|
|
636
|
+
if (registered) return;
|
|
637
|
+
registered = true;
|
|
638
|
+
nodeTypeRegistry.register(startNodeType);
|
|
639
|
+
nodeTypeRegistry.register(formNodeType);
|
|
640
|
+
nodeTypeRegistry.register(conditionNodeType);
|
|
641
|
+
nodeTypeRegistry.register(endNodeType);
|
|
642
|
+
}
|
|
643
|
+
registerBuiltInNodeTypes();
|
|
763
644
|
|
|
764
645
|
// src/types/workflows/conditions.ts
|
|
765
646
|
function isConditionRule(item) {
|
|
@@ -954,15 +835,13 @@ function isInvitationOrGrantEvent(event) {
|
|
|
954
835
|
var ZONE_ORDER = ["collect", "actions"];
|
|
955
836
|
var ZONE_CONFIG = {
|
|
956
837
|
collect: { allowedNodeTypes: ["form", "condition"] },
|
|
957
|
-
actions: { allowedNodeTypes: ["condition"
|
|
838
|
+
actions: { allowedNodeTypes: ["condition"] }
|
|
958
839
|
};
|
|
959
840
|
var TERMINAL_NODE_TYPES = /* @__PURE__ */ new Set(["start", "end"]);
|
|
960
841
|
var NODE_TYPE_ZONE = {
|
|
961
842
|
form: "collect",
|
|
962
|
-
condition: "collect"
|
|
843
|
+
condition: "collect"
|
|
963
844
|
// default — overridden by assignNodeZones logic
|
|
964
|
-
assign: "actions",
|
|
965
|
-
ai: "actions"
|
|
966
845
|
};
|
|
967
846
|
function assignNodeZones(orderedNodes) {
|
|
968
847
|
const result = /* @__PURE__ */ new Map();
|
|
@@ -981,7 +860,7 @@ function assignNodeZones(orderedNodes) {
|
|
|
981
860
|
} else if (node.type === "condition") {
|
|
982
861
|
result.set(node.id, hasFormAfter[i] ? "collect" : "actions");
|
|
983
862
|
} else {
|
|
984
|
-
result.set(node.id,
|
|
863
|
+
result.set(node.id, NODE_TYPE_ZONE[node.type] ?? null);
|
|
985
864
|
}
|
|
986
865
|
}
|
|
987
866
|
return result;
|
|
@@ -1013,10 +892,8 @@ function groupNodesByZone(orderedNodes) {
|
|
|
1013
892
|
function getZoneAllowedTypes(zone) {
|
|
1014
893
|
return ZONE_CONFIG[zone].allowedNodeTypes;
|
|
1015
894
|
}
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);
|
|
1019
|
-
var ConditionOperatorSchema = _zod.z.enum([
|
|
895
|
+
registerBuiltInNodeTypes();
|
|
896
|
+
var ConditionOperatorSchema = z3.z.enum([
|
|
1020
897
|
"eq",
|
|
1021
898
|
"neq",
|
|
1022
899
|
"gt",
|
|
@@ -1031,79 +908,79 @@ var ConditionOperatorSchema = _zod.z.enum([
|
|
|
1031
908
|
"in",
|
|
1032
909
|
"notIn"
|
|
1033
910
|
]);
|
|
1034
|
-
var ConditionRuleSchema =
|
|
1035
|
-
field:
|
|
911
|
+
var ConditionRuleSchema = z3.z.object({
|
|
912
|
+
field: z3.z.string().min(1, "Field path is required"),
|
|
1036
913
|
operator: ConditionOperatorSchema,
|
|
1037
|
-
value:
|
|
914
|
+
value: z3.z.unknown()
|
|
1038
915
|
});
|
|
1039
|
-
var ConditionGroupSchema =
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
}
|
|
1044
|
-
);
|
|
1045
|
-
var StartNodeSchema =
|
|
1046
|
-
type:
|
|
1047
|
-
id:
|
|
1048
|
-
next:
|
|
916
|
+
var ConditionGroupSchema = z3.z.object({
|
|
917
|
+
operator: z3.z.enum(["and", "or"]),
|
|
918
|
+
get rules() {
|
|
919
|
+
return z3.z.array(z3.z.union([ConditionRuleSchema, ConditionGroupSchema])).min(1);
|
|
920
|
+
}
|
|
921
|
+
});
|
|
922
|
+
var StartNodeSchema = z3.z.object({
|
|
923
|
+
type: z3.z.literal("start"),
|
|
924
|
+
id: z3.z.string().min(1),
|
|
925
|
+
next: z3.z.string().nullish()
|
|
1049
926
|
});
|
|
1050
|
-
var RelationFieldConfigSchema =
|
|
1051
|
-
visibleProperties:
|
|
1052
|
-
allowCreate:
|
|
927
|
+
var RelationFieldConfigSchema = z3.z.object({
|
|
928
|
+
visibleProperties: z3.z.array(z3.z.string()).optional(),
|
|
929
|
+
allowCreate: z3.z.boolean().optional()
|
|
1053
930
|
}).optional();
|
|
1054
|
-
var FormFieldRefSchema =
|
|
1055
|
-
slotId:
|
|
1056
|
-
attribute:
|
|
931
|
+
var FormFieldRefSchema = z3.z.object({
|
|
932
|
+
slotId: z3.z.string().min(1, "slotId is required"),
|
|
933
|
+
attribute: z3.z.string().min(1, "attribute is required"),
|
|
1057
934
|
relationConfig: RelationFieldConfigSchema
|
|
1058
935
|
});
|
|
1059
|
-
var FlowRowFieldSchema =
|
|
1060
|
-
id:
|
|
1061
|
-
slotId:
|
|
1062
|
-
attribute:
|
|
1063
|
-
label:
|
|
1064
|
-
tooltip:
|
|
1065
|
-
required:
|
|
936
|
+
var FlowRowFieldSchema = z3.z.object({
|
|
937
|
+
id: z3.z.string().min(1),
|
|
938
|
+
slotId: z3.z.string().min(1),
|
|
939
|
+
attribute: z3.z.string().min(1),
|
|
940
|
+
label: z3.z.string().max(200).optional(),
|
|
941
|
+
tooltip: z3.z.string().max(1e3).optional(),
|
|
942
|
+
required: z3.z.boolean().optional(),
|
|
1066
943
|
relationConfig: RelationFieldConfigSchema
|
|
1067
944
|
});
|
|
1068
|
-
var FlowFieldsRowSchema =
|
|
1069
|
-
id:
|
|
1070
|
-
order:
|
|
1071
|
-
type:
|
|
1072
|
-
fields:
|
|
945
|
+
var FlowFieldsRowSchema = z3.z.object({
|
|
946
|
+
id: z3.z.string().min(1),
|
|
947
|
+
order: z3.z.number(),
|
|
948
|
+
type: z3.z.literal("fields").optional(),
|
|
949
|
+
fields: z3.z.array(FlowRowFieldSchema)
|
|
1073
950
|
});
|
|
1074
|
-
var FlowHeadingRowSchema =
|
|
1075
|
-
id:
|
|
1076
|
-
order:
|
|
1077
|
-
type:
|
|
1078
|
-
content:
|
|
1079
|
-
level:
|
|
951
|
+
var FlowHeadingRowSchema = z3.z.object({
|
|
952
|
+
id: z3.z.string().min(1),
|
|
953
|
+
order: z3.z.number(),
|
|
954
|
+
type: z3.z.literal("heading"),
|
|
955
|
+
content: z3.z.string().min(1).max(200),
|
|
956
|
+
level: z3.z.union([z3.z.literal(1), z3.z.literal(2), z3.z.literal(3)]).optional()
|
|
1080
957
|
});
|
|
1081
|
-
var FlowSeparatorRowSchema =
|
|
1082
|
-
id:
|
|
1083
|
-
order:
|
|
1084
|
-
type:
|
|
958
|
+
var FlowSeparatorRowSchema = z3.z.object({
|
|
959
|
+
id: z3.z.string().min(1),
|
|
960
|
+
order: z3.z.number(),
|
|
961
|
+
type: z3.z.literal("separator")
|
|
1085
962
|
});
|
|
1086
|
-
var FlowTextRowSchema =
|
|
1087
|
-
id:
|
|
1088
|
-
order:
|
|
1089
|
-
type:
|
|
1090
|
-
content:
|
|
963
|
+
var FlowTextRowSchema = z3.z.object({
|
|
964
|
+
id: z3.z.string().min(1),
|
|
965
|
+
order: z3.z.number(),
|
|
966
|
+
type: z3.z.literal("text"),
|
|
967
|
+
content: z3.z.string().min(1).max(5e3)
|
|
1091
968
|
});
|
|
1092
|
-
var FlowRowSchema =
|
|
969
|
+
var FlowRowSchema = z3.z.union([
|
|
1093
970
|
FlowHeadingRowSchema,
|
|
1094
971
|
FlowSeparatorRowSchema,
|
|
1095
972
|
FlowTextRowSchema,
|
|
1096
973
|
FlowFieldsRowSchema
|
|
1097
974
|
]);
|
|
1098
|
-
var FormNodeSchema =
|
|
1099
|
-
type:
|
|
1100
|
-
id:
|
|
1101
|
-
label:
|
|
1102
|
-
description:
|
|
1103
|
-
fields:
|
|
1104
|
-
rows:
|
|
1105
|
-
participantId:
|
|
1106
|
-
next:
|
|
975
|
+
var FormNodeSchema = z3.z.object({
|
|
976
|
+
type: z3.z.literal("form"),
|
|
977
|
+
id: z3.z.string().min(1),
|
|
978
|
+
label: z3.z.string().min(1),
|
|
979
|
+
description: z3.z.string().nullish(),
|
|
980
|
+
fields: z3.z.array(FormFieldRefSchema).optional(),
|
|
981
|
+
rows: z3.z.array(FlowRowSchema).optional(),
|
|
982
|
+
participantId: z3.z.string().nullish(),
|
|
983
|
+
next: z3.z.string().nullish()
|
|
1107
984
|
}).refine(
|
|
1108
985
|
(node) => {
|
|
1109
986
|
const hasFields = node.fields !== void 0 && node.fields.length > 0;
|
|
@@ -1114,168 +991,127 @@ var FormNodeSchema = _zod.z.object({
|
|
|
1114
991
|
message: "FormNode must have either 'fields' (simple mode) or 'rows' (advanced mode), not both"
|
|
1115
992
|
}
|
|
1116
993
|
);
|
|
1117
|
-
var ConditionNodeSchema =
|
|
1118
|
-
type:
|
|
1119
|
-
id:
|
|
1120
|
-
label:
|
|
994
|
+
var ConditionNodeSchema = z3.z.object({
|
|
995
|
+
type: z3.z.literal("condition"),
|
|
996
|
+
id: z3.z.string().min(1),
|
|
997
|
+
label: z3.z.string().min(1),
|
|
1121
998
|
condition: ConditionGroupSchema,
|
|
1122
|
-
onTrue:
|
|
1123
|
-
onFalse:
|
|
1124
|
-
});
|
|
1125
|
-
var AssignmentSourceSchema = _zod.z.discriminatedUnion("type", [
|
|
1126
|
-
_zod.z.object({ type: _zod.z.literal("expression"), template: _zod.z.string().min(1) }),
|
|
1127
|
-
_zod.z.object({
|
|
1128
|
-
type: _zod.z.literal("slot-ref"),
|
|
1129
|
-
slotId: _zod.z.string().min(1),
|
|
1130
|
-
properties: _zod.z.record(_zod.z.string(), _zod.z.unknown()).optional()
|
|
1131
|
-
}),
|
|
1132
|
-
_zod.z.object({ type: _zod.z.literal("static"), value: _zod.z.unknown() })
|
|
1133
|
-
]);
|
|
1134
|
-
var AssignmentMappingSchema = _zod.z.object({
|
|
1135
|
-
targetAttribute: _zod.z.string().min(1),
|
|
1136
|
-
source: AssignmentSourceSchema
|
|
999
|
+
onTrue: z3.z.string().nullish(),
|
|
1000
|
+
onFalse: z3.z.string().nullish()
|
|
1137
1001
|
});
|
|
1138
|
-
var
|
|
1139
|
-
type:
|
|
1140
|
-
id:
|
|
1141
|
-
label:
|
|
1142
|
-
|
|
1143
|
-
targetSlotId: _zod.z.string().min(1, "Target slot is required"),
|
|
1144
|
-
assignments: _zod.z.array(AssignmentMappingSchema).min(1),
|
|
1145
|
-
next: _zod.z.string().nullish()
|
|
1002
|
+
var EndNodeSchema = z3.z.object({
|
|
1003
|
+
type: z3.z.literal("end"),
|
|
1004
|
+
id: z3.z.string().min(1),
|
|
1005
|
+
label: z3.z.string().optional(),
|
|
1006
|
+
status: z3.z.string().optional()
|
|
1146
1007
|
});
|
|
1147
|
-
var
|
|
1148
|
-
type: _zod.z.literal("ai"),
|
|
1149
|
-
id: _zod.z.string().min(1),
|
|
1150
|
-
label: _zod.z.string().min(1),
|
|
1151
|
-
description: _zod.z.string().nullish(),
|
|
1152
|
-
mode: _zod.z.enum(["sync", "async"]),
|
|
1153
|
-
definitionId: _zod.z.string().optional(),
|
|
1154
|
-
systemPrompt: _zod.z.string().optional(),
|
|
1155
|
-
model: _zod.z.string().optional(),
|
|
1156
|
-
tools: _zod.z.array(_zod.z.string()).optional(),
|
|
1157
|
-
maxIterations: _zod.z.number().positive().optional(),
|
|
1158
|
-
instructions: _zod.z.string().optional(),
|
|
1159
|
-
inputSlotIds: _zod.z.array(_zod.z.string()).optional(),
|
|
1160
|
-
targetSlotIds: _zod.z.array(_zod.z.string()).optional(),
|
|
1161
|
-
timeoutMs: _zod.z.number().positive().optional(),
|
|
1162
|
-
next: _zod.z.string().nullish()
|
|
1163
|
-
});
|
|
1164
|
-
var EndNodeSchema = _zod.z.object({
|
|
1165
|
-
type: _zod.z.literal("end"),
|
|
1166
|
-
id: _zod.z.string().min(1),
|
|
1167
|
-
label: _zod.z.string().optional(),
|
|
1168
|
-
status: _zod.z.string().optional()
|
|
1169
|
-
});
|
|
1170
|
-
var WorkflowNodeSchema = _zod.z.discriminatedUnion("type", [
|
|
1008
|
+
var WorkflowNodeSchema = z3.z.discriminatedUnion("type", [
|
|
1171
1009
|
StartNodeSchema,
|
|
1172
1010
|
FormNodeSchema,
|
|
1173
1011
|
ConditionNodeSchema,
|
|
1174
|
-
AssignNodeSchema,
|
|
1175
|
-
AINodeSchema,
|
|
1176
1012
|
EndNodeSchema
|
|
1177
1013
|
]);
|
|
1178
|
-
var SlotModeSchema =
|
|
1179
|
-
var WorkflowSlotSchema =
|
|
1180
|
-
id:
|
|
1181
|
-
objectName:
|
|
1182
|
-
label:
|
|
1014
|
+
var SlotModeSchema = z3.z.enum(["create", "select", "optional"]);
|
|
1015
|
+
var WorkflowSlotSchema = z3.z.object({
|
|
1016
|
+
id: z3.z.string().min(1),
|
|
1017
|
+
objectName: z3.z.string().min(1),
|
|
1018
|
+
label: z3.z.string().min(1),
|
|
1183
1019
|
mode: SlotModeSchema,
|
|
1184
|
-
color:
|
|
1185
|
-
icon:
|
|
1020
|
+
color: z3.z.string().nullish(),
|
|
1021
|
+
icon: z3.z.string().nullish()
|
|
1186
1022
|
});
|
|
1187
|
-
var AuthMethodSchema =
|
|
1188
|
-
var ShareStatusSchema =
|
|
1189
|
-
var WorkflowShareSchema =
|
|
1190
|
-
id:
|
|
1191
|
-
instanceId:
|
|
1192
|
-
email:
|
|
1193
|
-
name:
|
|
1194
|
-
phone:
|
|
1023
|
+
var AuthMethodSchema = z3.z.enum(["signed_link", "pin_code"]);
|
|
1024
|
+
var ShareStatusSchema = z3.z.enum(["pending", "active", "expired", "revoked"]);
|
|
1025
|
+
var WorkflowShareSchema = z3.z.object({
|
|
1026
|
+
id: z3.z.uuid(),
|
|
1027
|
+
instanceId: z3.z.uuid(),
|
|
1028
|
+
email: z3.z.email(),
|
|
1029
|
+
name: z3.z.string().optional(),
|
|
1030
|
+
phone: z3.z.string().optional(),
|
|
1195
1031
|
authMethod: AuthMethodSchema,
|
|
1196
|
-
token:
|
|
1197
|
-
pinCodeHash:
|
|
1198
|
-
pinAttempts:
|
|
1032
|
+
token: z3.z.string().optional(),
|
|
1033
|
+
pinCodeHash: z3.z.string().optional(),
|
|
1034
|
+
pinAttempts: z3.z.number().int().nonnegative().optional(),
|
|
1199
1035
|
status: ShareStatusSchema,
|
|
1200
|
-
emailSent:
|
|
1201
|
-
smsSent:
|
|
1202
|
-
createdAt:
|
|
1203
|
-
expiresAt:
|
|
1204
|
-
lastAccessAt:
|
|
1036
|
+
emailSent: z3.z.boolean(),
|
|
1037
|
+
smsSent: z3.z.boolean().optional(),
|
|
1038
|
+
createdAt: z3.z.coerce.date(),
|
|
1039
|
+
expiresAt: z3.z.coerce.date(),
|
|
1040
|
+
lastAccessAt: z3.z.coerce.date().optional()
|
|
1205
1041
|
});
|
|
1206
|
-
var CreateShareInputSchema =
|
|
1207
|
-
instanceId:
|
|
1208
|
-
email:
|
|
1209
|
-
name:
|
|
1210
|
-
phone:
|
|
1042
|
+
var CreateShareInputSchema = z3.z.object({
|
|
1043
|
+
instanceId: z3.z.uuid(),
|
|
1044
|
+
email: z3.z.email(),
|
|
1045
|
+
name: z3.z.string().optional(),
|
|
1046
|
+
phone: z3.z.string().optional(),
|
|
1211
1047
|
authMethod: AuthMethodSchema,
|
|
1212
|
-
sendNotification:
|
|
1213
|
-
expiresInDays:
|
|
1048
|
+
sendNotification: z3.z.boolean().optional(),
|
|
1049
|
+
expiresInDays: z3.z.number().int().positive().optional()
|
|
1214
1050
|
});
|
|
1215
|
-
var NodePositionSchema =
|
|
1216
|
-
x:
|
|
1217
|
-
y:
|
|
1051
|
+
var NodePositionSchema = z3.z.object({
|
|
1052
|
+
x: z3.z.number(),
|
|
1053
|
+
y: z3.z.number()
|
|
1218
1054
|
});
|
|
1219
|
-
var ViewportSchema =
|
|
1220
|
-
x:
|
|
1221
|
-
y:
|
|
1222
|
-
zoom:
|
|
1055
|
+
var ViewportSchema = z3.z.object({
|
|
1056
|
+
x: z3.z.number(),
|
|
1057
|
+
y: z3.z.number(),
|
|
1058
|
+
zoom: z3.z.number().positive()
|
|
1223
1059
|
});
|
|
1224
|
-
var WorkflowLayoutSchema =
|
|
1225
|
-
positions:
|
|
1060
|
+
var WorkflowLayoutSchema = z3.z.object({
|
|
1061
|
+
positions: z3.z.record(z3.z.string(), NodePositionSchema),
|
|
1226
1062
|
viewport: ViewportSchema.optional()
|
|
1227
1063
|
});
|
|
1228
|
-
var ThemeColorsSchema =
|
|
1229
|
-
primary:
|
|
1230
|
-
primaryForeground:
|
|
1231
|
-
background:
|
|
1232
|
-
foreground:
|
|
1233
|
-
muted:
|
|
1234
|
-
border:
|
|
1235
|
-
accent:
|
|
1064
|
+
var ThemeColorsSchema = z3.z.object({
|
|
1065
|
+
primary: z3.z.string().optional(),
|
|
1066
|
+
primaryForeground: z3.z.string().optional(),
|
|
1067
|
+
background: z3.z.string().optional(),
|
|
1068
|
+
foreground: z3.z.string().optional(),
|
|
1069
|
+
muted: z3.z.string().optional(),
|
|
1070
|
+
border: z3.z.string().optional(),
|
|
1071
|
+
accent: z3.z.string().optional()
|
|
1236
1072
|
});
|
|
1237
|
-
var ThemeLogoSchema =
|
|
1238
|
-
url:
|
|
1239
|
-
alt:
|
|
1240
|
-
maxHeight:
|
|
1073
|
+
var ThemeLogoSchema = z3.z.object({
|
|
1074
|
+
url: z3.z.url(),
|
|
1075
|
+
alt: z3.z.string().optional(),
|
|
1076
|
+
maxHeight: z3.z.number().positive().optional()
|
|
1241
1077
|
});
|
|
1242
|
-
var WorkflowThemeSchema =
|
|
1078
|
+
var WorkflowThemeSchema = z3.z.object({
|
|
1243
1079
|
logo: ThemeLogoSchema.optional(),
|
|
1244
1080
|
colors: ThemeColorsSchema.optional(),
|
|
1245
|
-
typography:
|
|
1246
|
-
headingFont:
|
|
1247
|
-
bodyFont:
|
|
1248
|
-
baseFontSize:
|
|
1081
|
+
typography: z3.z.object({
|
|
1082
|
+
headingFont: z3.z.string().optional(),
|
|
1083
|
+
bodyFont: z3.z.string().optional(),
|
|
1084
|
+
baseFontSize: z3.z.number().positive().optional()
|
|
1249
1085
|
}).optional(),
|
|
1250
|
-
borderRadius:
|
|
1251
|
-
showPoweredBy:
|
|
1252
|
-
customCss:
|
|
1086
|
+
borderRadius: z3.z.number().nonnegative().optional(),
|
|
1087
|
+
showPoweredBy: z3.z.boolean().optional(),
|
|
1088
|
+
customCss: z3.z.string().optional()
|
|
1253
1089
|
});
|
|
1254
|
-
var WorkflowConfigSchema =
|
|
1255
|
-
instanceTtl:
|
|
1256
|
-
externalLinkTtl:
|
|
1257
|
-
allowExternalParticipants:
|
|
1090
|
+
var WorkflowConfigSchema = z3.z.object({
|
|
1091
|
+
instanceTtl: z3.z.string().optional(),
|
|
1092
|
+
externalLinkTtl: z3.z.string().optional(),
|
|
1093
|
+
allowExternalParticipants: z3.z.boolean().optional()
|
|
1258
1094
|
});
|
|
1259
|
-
var WorkflowStatusSchema =
|
|
1260
|
-
var WorkflowDefinitionSchema =
|
|
1261
|
-
id:
|
|
1262
|
-
name:
|
|
1263
|
-
label:
|
|
1264
|
-
description:
|
|
1265
|
-
icon:
|
|
1095
|
+
var WorkflowStatusSchema = z3.z.enum(["draft", "published", "archived"]);
|
|
1096
|
+
var WorkflowDefinitionSchema = z3.z.object({
|
|
1097
|
+
id: z3.z.string().optional(),
|
|
1098
|
+
name: z3.z.string().min(1).regex(/^[a-z0-9-]+$/, "Name must be kebab-case"),
|
|
1099
|
+
label: z3.z.string().min(1),
|
|
1100
|
+
description: z3.z.string().nullish(),
|
|
1101
|
+
icon: z3.z.string().nullish(),
|
|
1266
1102
|
status: WorkflowStatusSchema,
|
|
1267
|
-
version:
|
|
1268
|
-
slots:
|
|
1269
|
-
nodes:
|
|
1270
|
-
startNodeId:
|
|
1103
|
+
version: z3.z.number().int().positive(),
|
|
1104
|
+
slots: z3.z.array(WorkflowSlotSchema),
|
|
1105
|
+
nodes: z3.z.record(z3.z.string(), WorkflowNodeSchema),
|
|
1106
|
+
startNodeId: z3.z.string().min(1),
|
|
1271
1107
|
layout: WorkflowLayoutSchema.optional(),
|
|
1272
1108
|
theme: WorkflowThemeSchema.optional(),
|
|
1273
1109
|
config: WorkflowConfigSchema.optional(),
|
|
1274
|
-
tenantId:
|
|
1275
|
-
system:
|
|
1276
|
-
metadata:
|
|
1277
|
-
createdAt:
|
|
1278
|
-
updatedAt:
|
|
1110
|
+
tenantId: z3.z.string().optional(),
|
|
1111
|
+
system: z3.z.boolean().optional(),
|
|
1112
|
+
metadata: z3.z.record(z3.z.string(), z3.z.unknown()).optional(),
|
|
1113
|
+
createdAt: z3.z.coerce.date().optional(),
|
|
1114
|
+
updatedAt: z3.z.coerce.date().optional()
|
|
1279
1115
|
}).refine(
|
|
1280
1116
|
(def) => {
|
|
1281
1117
|
return def.startNodeId in def.nodes;
|
|
@@ -1286,7 +1122,7 @@ var WorkflowDefinitionSchema = _zod.z.object({
|
|
|
1286
1122
|
).refine(
|
|
1287
1123
|
(def) => {
|
|
1288
1124
|
const startNode = def.nodes[def.startNodeId];
|
|
1289
|
-
return
|
|
1125
|
+
return startNode?.type === "start";
|
|
1290
1126
|
},
|
|
1291
1127
|
{
|
|
1292
1128
|
message: "startNodeId must reference a node of type 'start'"
|
|
@@ -1307,6 +1143,9 @@ var WorkflowDefinitionSchema = _zod.z.object({
|
|
|
1307
1143
|
}
|
|
1308
1144
|
);
|
|
1309
1145
|
|
|
1146
|
+
// src/types/workflows/index.ts
|
|
1147
|
+
registerBuiltInNodeTypes();
|
|
1148
|
+
|
|
1310
1149
|
// src/types/migrations.ts
|
|
1311
1150
|
var DEFAULT_RETENTION_POLICY = {
|
|
1312
1151
|
attributeData: 30,
|
|
@@ -1334,9 +1173,6 @@ function toUndefinedIfEmpty(obj) {
|
|
|
1334
1173
|
function hasProperties(obj) {
|
|
1335
1174
|
return isNotEmpty2(obj);
|
|
1336
1175
|
}
|
|
1337
|
-
|
|
1338
|
-
// src/format.ts
|
|
1339
|
-
var _constants = require('@stndrds/constants');
|
|
1340
1176
|
var EMPTY_VALUE_PLACEHOLDER = "\u2014";
|
|
1341
1177
|
function formatText(value) {
|
|
1342
1178
|
return String(value);
|
|
@@ -1393,25 +1229,25 @@ function formatPhone(value) {
|
|
|
1393
1229
|
if (!("phoneNumber" in phone2)) return String(value);
|
|
1394
1230
|
if (!phone2.phoneNumber) return "";
|
|
1395
1231
|
if (!phone2.countryCode) return phone2.phoneNumber;
|
|
1396
|
-
return
|
|
1232
|
+
return chunkAHPXNPJC_js.formatPhoneForDisplay(phone2);
|
|
1397
1233
|
}
|
|
1398
1234
|
function formatLocation(value, attribute) {
|
|
1399
1235
|
if (typeof value !== "object" || value === null) return String(value);
|
|
1400
1236
|
const loc = value;
|
|
1401
|
-
const granularity =
|
|
1237
|
+
const granularity = attribute.granularity ?? "full";
|
|
1402
1238
|
const parts = [];
|
|
1403
1239
|
switch (granularity) {
|
|
1404
1240
|
case "country":
|
|
1405
|
-
if (loc.country) parts.push(
|
|
1241
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1406
1242
|
break;
|
|
1407
1243
|
case "state":
|
|
1408
1244
|
if (loc.state) parts.push(loc.state);
|
|
1409
|
-
if (loc.country) parts.push(
|
|
1245
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1410
1246
|
break;
|
|
1411
1247
|
case "city":
|
|
1412
1248
|
if (loc.city) parts.push(loc.city);
|
|
1413
1249
|
if (loc.state) parts.push(loc.state);
|
|
1414
|
-
if (loc.country) parts.push(
|
|
1250
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1415
1251
|
break;
|
|
1416
1252
|
case "coordinates":
|
|
1417
1253
|
if (loc.latitude !== void 0 && loc.longitude !== void 0) {
|
|
@@ -1422,34 +1258,34 @@ function formatLocation(value, attribute) {
|
|
|
1422
1258
|
if (loc.address) parts.push(loc.address);
|
|
1423
1259
|
if (loc.city) parts.push(loc.city);
|
|
1424
1260
|
if (loc.state) parts.push(loc.state);
|
|
1425
|
-
if (loc.country) parts.push(
|
|
1261
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1426
1262
|
break;
|
|
1427
1263
|
default:
|
|
1428
1264
|
if (loc.address) parts.push(loc.address);
|
|
1429
1265
|
if (loc.city) parts.push(loc.city);
|
|
1430
1266
|
if (loc.state) parts.push(loc.state);
|
|
1431
1267
|
if (loc.postalCode) parts.push(loc.postalCode);
|
|
1432
|
-
if (loc.country) parts.push(
|
|
1268
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1433
1269
|
break;
|
|
1434
1270
|
}
|
|
1435
1271
|
return parts.join(", ") || EMPTY_VALUE_PLACEHOLDER;
|
|
1436
1272
|
}
|
|
1437
1273
|
function formatSelect(value, attribute) {
|
|
1438
1274
|
if (typeof value !== "string") return String(value);
|
|
1439
|
-
const option =
|
|
1440
|
-
return
|
|
1275
|
+
const option = attribute.options?.find((o) => o.value === value);
|
|
1276
|
+
return option?.label ?? String(value);
|
|
1441
1277
|
}
|
|
1442
1278
|
function formatMultiselect(value, attribute) {
|
|
1443
1279
|
if (!Array.isArray(value)) return String(value);
|
|
1444
1280
|
if (attribute.options) {
|
|
1445
|
-
const labels = value.map((v) =>
|
|
1281
|
+
const labels = value.map((v) => attribute.options.find((o) => o.value === v)?.label).filter(Boolean);
|
|
1446
1282
|
return labels.join(", ");
|
|
1447
1283
|
}
|
|
1448
1284
|
return value.join(", ");
|
|
1449
1285
|
}
|
|
1450
1286
|
function formatRating(value, attribute) {
|
|
1451
1287
|
if (typeof value !== "number") return String(value);
|
|
1452
|
-
const max =
|
|
1288
|
+
const max = attribute.max ?? 5;
|
|
1453
1289
|
return `${value}/${max}`;
|
|
1454
1290
|
}
|
|
1455
1291
|
function formatAttributeValue(value, attribute) {
|
|
@@ -1465,7 +1301,7 @@ function formatAttributeValue(value, attribute) {
|
|
|
1465
1301
|
case "number":
|
|
1466
1302
|
return formatNumber(value, attribute);
|
|
1467
1303
|
case "currency":
|
|
1468
|
-
return formatCurrency(value
|
|
1304
|
+
return formatCurrency(value);
|
|
1469
1305
|
case "date":
|
|
1470
1306
|
return formatDate(value);
|
|
1471
1307
|
case "phone":
|
|
@@ -1495,8 +1331,46 @@ function formatAttributeValue(value, attribute) {
|
|
|
1495
1331
|
}
|
|
1496
1332
|
}
|
|
1497
1333
|
}
|
|
1498
|
-
|
|
1499
|
-
|
|
1334
|
+
var SIMPLE_PIPES = ["UPPER", "LOWER", "capitalize", "trim"];
|
|
1335
|
+
var PIPES_WITH_ARGS = ["prefix", "suffix", "wrap", "default"];
|
|
1336
|
+
var ALL_PIPES = [...SIMPLE_PIPES, ...PIPES_WITH_ARGS];
|
|
1337
|
+
var labelExpressionSchema = z3.z.string().min(1, "labelExpression cannot be empty").refine((val) => isLabelExpression(val), {
|
|
1338
|
+
message: "labelExpression must contain at least one {{ attribute }} interpolation"
|
|
1339
|
+
}).refine(
|
|
1340
|
+
(val) => {
|
|
1341
|
+
const emptyCheck = /\{\{\s*\}\}/;
|
|
1342
|
+
return !emptyCheck.test(val);
|
|
1343
|
+
},
|
|
1344
|
+
{ message: "labelExpression contains empty {{ }} interpolation" }
|
|
1345
|
+
).refine(
|
|
1346
|
+
(val) => {
|
|
1347
|
+
const pipePattern = /(?<!\|)\|(?!\|)\s*(\w+)(?::[^|}]*)?/g;
|
|
1348
|
+
let match;
|
|
1349
|
+
while ((match = pipePattern.exec(val)) !== null) {
|
|
1350
|
+
const pipeName = match[1];
|
|
1351
|
+
if (!ALL_PIPES.includes(pipeName)) {
|
|
1352
|
+
return false;
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1355
|
+
return true;
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
message: `Invalid pipe name. Valid pipes: ${ALL_PIPES.join(", ")}`
|
|
1359
|
+
}
|
|
1360
|
+
);
|
|
1361
|
+
function validateLabelExpression(expression) {
|
|
1362
|
+
const result = labelExpressionSchema.safeParse(expression);
|
|
1363
|
+
if (!result.success) {
|
|
1364
|
+
return {
|
|
1365
|
+
success: false,
|
|
1366
|
+
error: result.error.issues[0]?.message ?? "Invalid labelExpression"
|
|
1367
|
+
};
|
|
1368
|
+
}
|
|
1369
|
+
return {
|
|
1370
|
+
success: true,
|
|
1371
|
+
attributes: extractAttributeNames(expression)
|
|
1372
|
+
};
|
|
1373
|
+
}
|
|
1500
1374
|
var simplePipes = {
|
|
1501
1375
|
/** Convert to uppercase */
|
|
1502
1376
|
UPPER: (v) => String(v).toUpperCase(),
|
|
@@ -1566,11 +1440,11 @@ function renderLabelExpression(template, values, fallback = DEFAULT_LABEL_FALLBA
|
|
|
1566
1440
|
} else {
|
|
1567
1441
|
const argFn = pipesWithArgs[pipeName];
|
|
1568
1442
|
if (argFn) {
|
|
1569
|
-
value = argFn(String(
|
|
1443
|
+
value = argFn(String(value ?? ""), ...args);
|
|
1570
1444
|
}
|
|
1571
1445
|
}
|
|
1572
1446
|
}
|
|
1573
|
-
return String(
|
|
1447
|
+
return String(value ?? "");
|
|
1574
1448
|
}).trim();
|
|
1575
1449
|
return result || fallback;
|
|
1576
1450
|
}
|
|
@@ -1602,7 +1476,7 @@ var PROPS_TOKEN_RE = /\{\{\s*props\./;
|
|
|
1602
1476
|
function applyRelationProps(label, props, propertyDefs) {
|
|
1603
1477
|
if (!PROPS_TOKEN_RE.test(label)) return label;
|
|
1604
1478
|
const formattedProps = {};
|
|
1605
|
-
const defMap = new Map(
|
|
1479
|
+
const defMap = new Map(propertyDefs?.map((d) => [d.name, d]));
|
|
1606
1480
|
if (props) {
|
|
1607
1481
|
for (const [key, value] of Object.entries(props)) {
|
|
1608
1482
|
if (value == null) continue;
|
|
@@ -1682,6 +1556,7 @@ var SchemaErrorCode = {
|
|
|
1682
1556
|
USER_PROFILE_NOT_FOUND: "SCHEMA_USER_PROFILE_NOT_FOUND",
|
|
1683
1557
|
FILE_NOT_FOUND: "SCHEMA_FILE_NOT_FOUND",
|
|
1684
1558
|
ROLE_NOT_FOUND: "SCHEMA_ROLE_NOT_FOUND",
|
|
1559
|
+
MEMORY_NOT_FOUND: "SCHEMA_MEMORY_NOT_FOUND",
|
|
1685
1560
|
// Validation
|
|
1686
1561
|
VALIDATION_FAILED: "SCHEMA_VALIDATION_FAILED",
|
|
1687
1562
|
INVALID_ATTRIBUTE_NAME: "SCHEMA_INVALID_ATTRIBUTE_NAME",
|
|
@@ -1693,6 +1568,7 @@ var SchemaErrorCode = {
|
|
|
1693
1568
|
PROTECTED_ROLE: "SCHEMA_PROTECTED_ROLE",
|
|
1694
1569
|
// Permissions
|
|
1695
1570
|
FORBIDDEN: "SCHEMA_FORBIDDEN",
|
|
1571
|
+
ACCESS_DENIED: "SCHEMA_ACCESS_DENIED",
|
|
1696
1572
|
// Sync
|
|
1697
1573
|
SYNC_FAILED: "SCHEMA_SYNC_FAILED",
|
|
1698
1574
|
NOT_SYSTEM_OBJECT: "SCHEMA_NOT_SYSTEM_OBJECT",
|
|
@@ -1700,7 +1576,19 @@ var SchemaErrorCode = {
|
|
|
1700
1576
|
DUPLICATE_OBJECT: "SCHEMA_DUPLICATE_OBJECT",
|
|
1701
1577
|
DUPLICATE_ATTRIBUTE: "SCHEMA_DUPLICATE_ATTRIBUTE",
|
|
1702
1578
|
// Concurrency
|
|
1703
|
-
CONFLICT: "SCHEMA_CONFLICT"
|
|
1579
|
+
CONFLICT: "SCHEMA_CONFLICT",
|
|
1580
|
+
// Storage
|
|
1581
|
+
STORAGE_UPLOAD_FAILED: "SCHEMA_STORAGE_UPLOAD_FAILED",
|
|
1582
|
+
STORAGE_DOWNLOAD_FAILED: "SCHEMA_STORAGE_DOWNLOAD_FAILED",
|
|
1583
|
+
STORAGE_DELETE_FAILED: "SCHEMA_STORAGE_DELETE_FAILED",
|
|
1584
|
+
STORAGE_URL_FAILED: "SCHEMA_STORAGE_URL_FAILED",
|
|
1585
|
+
// Repository Operations
|
|
1586
|
+
REPOSITORY_CREATE_FAILED: "SCHEMA_REPOSITORY_CREATE_FAILED",
|
|
1587
|
+
REPOSITORY_UPDATE_FAILED: "SCHEMA_REPOSITORY_UPDATE_FAILED",
|
|
1588
|
+
REPOSITORY_DELETE_FAILED: "SCHEMA_REPOSITORY_DELETE_FAILED",
|
|
1589
|
+
REPOSITORY_QUERY_FAILED: "SCHEMA_REPOSITORY_QUERY_FAILED",
|
|
1590
|
+
// Not Implemented
|
|
1591
|
+
NOT_IMPLEMENTED: "SCHEMA_NOT_IMPLEMENTED"
|
|
1704
1592
|
};
|
|
1705
1593
|
var SchemaError = class extends Error {
|
|
1706
1594
|
constructor(message, code = SchemaErrorCode.UNKNOWN, details) {
|
|
@@ -1796,7 +1684,7 @@ var SyncError = class extends SchemaError {
|
|
|
1796
1684
|
constructor(objectName, message, cause) {
|
|
1797
1685
|
super(`Failed to sync object "${objectName}": ${message}`, SchemaErrorCode.SYNC_FAILED, {
|
|
1798
1686
|
objectName,
|
|
1799
|
-
cause:
|
|
1687
|
+
cause: cause?.message
|
|
1800
1688
|
});
|
|
1801
1689
|
this.name = "SyncError";
|
|
1802
1690
|
this.objectName = objectName;
|
|
@@ -1881,10 +1769,102 @@ var ConcurrentModificationError = class extends SchemaError {
|
|
|
1881
1769
|
);
|
|
1882
1770
|
}
|
|
1883
1771
|
};
|
|
1772
|
+
var StorageError = class extends SchemaError {
|
|
1773
|
+
constructor(operation, message, path, cause) {
|
|
1774
|
+
const code = operation === "upload" ? SchemaErrorCode.STORAGE_UPLOAD_FAILED : operation === "download" ? SchemaErrorCode.STORAGE_DOWNLOAD_FAILED : operation === "delete" ? SchemaErrorCode.STORAGE_DELETE_FAILED : SchemaErrorCode.STORAGE_URL_FAILED;
|
|
1775
|
+
super(`Storage ${operation} failed: ${message}`, code, {
|
|
1776
|
+
operation,
|
|
1777
|
+
path,
|
|
1778
|
+
cause
|
|
1779
|
+
});
|
|
1780
|
+
this.name = "StorageError";
|
|
1781
|
+
this.operation = operation;
|
|
1782
|
+
this.path = path;
|
|
1783
|
+
this.cause = cause;
|
|
1784
|
+
}
|
|
1785
|
+
};
|
|
1786
|
+
function isStorageError(error) {
|
|
1787
|
+
return error instanceof StorageError;
|
|
1788
|
+
}
|
|
1789
|
+
var AccessDeniedError = class extends SchemaError {
|
|
1790
|
+
constructor(resource, reason) {
|
|
1791
|
+
super(reason ?? `Access denied to resource: ${resource}`, SchemaErrorCode.ACCESS_DENIED, {
|
|
1792
|
+
resource,
|
|
1793
|
+
reason
|
|
1794
|
+
});
|
|
1795
|
+
this.name = "AccessDeniedError";
|
|
1796
|
+
this.resource = resource;
|
|
1797
|
+
this.reason = reason;
|
|
1798
|
+
}
|
|
1799
|
+
};
|
|
1800
|
+
function isAccessDeniedError(error) {
|
|
1801
|
+
return error instanceof AccessDeniedError;
|
|
1802
|
+
}
|
|
1803
|
+
var RepositoryError = class extends SchemaError {
|
|
1804
|
+
constructor(operation, entity, message, cause) {
|
|
1805
|
+
const code = operation === "create" ? SchemaErrorCode.REPOSITORY_CREATE_FAILED : operation === "update" ? SchemaErrorCode.REPOSITORY_UPDATE_FAILED : operation === "delete" ? SchemaErrorCode.REPOSITORY_DELETE_FAILED : SchemaErrorCode.REPOSITORY_QUERY_FAILED;
|
|
1806
|
+
super(`Failed to ${operation} ${entity}: ${message}`, code, {
|
|
1807
|
+
operation,
|
|
1808
|
+
entity,
|
|
1809
|
+
cause
|
|
1810
|
+
});
|
|
1811
|
+
this.name = "RepositoryError";
|
|
1812
|
+
this.operation = operation;
|
|
1813
|
+
this.entity = entity;
|
|
1814
|
+
this.cause = cause;
|
|
1815
|
+
}
|
|
1816
|
+
};
|
|
1817
|
+
function isRepositoryError(error) {
|
|
1818
|
+
return error instanceof RepositoryError;
|
|
1819
|
+
}
|
|
1820
|
+
var NotImplementedError = class extends SchemaError {
|
|
1821
|
+
constructor(feature, milestone) {
|
|
1822
|
+
const message = milestone ? `${feature}: not implemented (${milestone})` : `${feature}: not implemented`;
|
|
1823
|
+
super(message, SchemaErrorCode.NOT_IMPLEMENTED, {
|
|
1824
|
+
feature,
|
|
1825
|
+
milestone
|
|
1826
|
+
});
|
|
1827
|
+
this.name = "NotImplementedError";
|
|
1828
|
+
this.feature = feature;
|
|
1829
|
+
this.milestone = milestone;
|
|
1830
|
+
}
|
|
1831
|
+
};
|
|
1832
|
+
function isNotImplementedError(error) {
|
|
1833
|
+
return error instanceof NotImplementedError;
|
|
1834
|
+
}
|
|
1835
|
+
var MemoryNotFoundError = class extends NotFoundError {
|
|
1836
|
+
constructor(memoryId) {
|
|
1837
|
+
super("Memory", memoryId, SchemaErrorCode.MEMORY_NOT_FOUND);
|
|
1838
|
+
this.name = "MemoryNotFoundError";
|
|
1839
|
+
}
|
|
1840
|
+
};
|
|
1884
1841
|
|
|
1885
|
-
// src/
|
|
1886
|
-
|
|
1887
|
-
|
|
1842
|
+
// src/standard-schema.ts
|
|
1843
|
+
var STANDARD_SCHEMA_VENDOR = "@stndrds/schema";
|
|
1844
|
+
function createStandardSchemaProps(zodSchema) {
|
|
1845
|
+
return {
|
|
1846
|
+
version: 1,
|
|
1847
|
+
vendor: STANDARD_SCHEMA_VENDOR,
|
|
1848
|
+
validate: (value) => {
|
|
1849
|
+
const result = zodSchema.safeParse(value);
|
|
1850
|
+
if (result.success) {
|
|
1851
|
+
return { value: result.data };
|
|
1852
|
+
}
|
|
1853
|
+
return {
|
|
1854
|
+
issues: result.error.issues.map((issue) => ({
|
|
1855
|
+
message: issue.message,
|
|
1856
|
+
// Zod path segments are string | number which are valid PropertyKey
|
|
1857
|
+
// for Standard Schema v1 (no conversion needed)
|
|
1858
|
+
path: issue.path
|
|
1859
|
+
}))
|
|
1860
|
+
};
|
|
1861
|
+
}
|
|
1862
|
+
};
|
|
1863
|
+
}
|
|
1864
|
+
function isStandardSchema(obj) {
|
|
1865
|
+
return typeof obj === "object" && obj !== null && "~standard" in obj && typeof obj["~standard"] === "object" && obj["~standard"].version === 1;
|
|
1866
|
+
}
|
|
1867
|
+
var VALID_ICONS = new Set(constants.ICONS);
|
|
1888
1868
|
var ATTRIBUTE_NAME_REGEX = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
1889
1869
|
var MAX_NAME_LENGTH = 63;
|
|
1890
1870
|
var MAX_LABEL_LENGTH = 128;
|
|
@@ -1932,17 +1912,17 @@ function validateOptions(options, attributeName) {
|
|
|
1932
1912
|
const ids = /* @__PURE__ */ new Set();
|
|
1933
1913
|
const values = /* @__PURE__ */ new Set();
|
|
1934
1914
|
for (const option of options) {
|
|
1935
|
-
if (!
|
|
1915
|
+
if (!option.id?.trim()) {
|
|
1936
1916
|
throw new Error(
|
|
1937
1917
|
`[AttributeBuilder] Option in "${attributeName}" has an empty or missing id.`
|
|
1938
1918
|
);
|
|
1939
1919
|
}
|
|
1940
|
-
if (!
|
|
1920
|
+
if (!option.value?.trim()) {
|
|
1941
1921
|
throw new Error(
|
|
1942
1922
|
`[AttributeBuilder] Option "${option.id}" in "${attributeName}" has an empty or missing value.`
|
|
1943
1923
|
);
|
|
1944
1924
|
}
|
|
1945
|
-
if (!
|
|
1925
|
+
if (!option.label?.trim()) {
|
|
1946
1926
|
throw new Error(
|
|
1947
1927
|
`[AttributeBuilder] Option "${option.id}" in "${attributeName}" has an empty or missing label.`
|
|
1948
1928
|
);
|
|
@@ -1973,14 +1953,29 @@ function validateOptions(options, attributeName) {
|
|
|
1973
1953
|
}
|
|
1974
1954
|
if (inverseOption.inverse !== option.value) {
|
|
1975
1955
|
throw new Error(
|
|
1976
|
-
`[AttributeBuilder] Inverse mismatch in "${attributeName}": "${option.value}" points to "${option.inverse}", but "${option.inverse}" points to "${
|
|
1956
|
+
`[AttributeBuilder] Inverse mismatch in "${attributeName}": "${option.value}" points to "${option.inverse}", but "${option.inverse}" points to "${inverseOption.inverse ?? "(none)"}". Inverse pairs must be symmetric.`
|
|
1977
1957
|
);
|
|
1978
1958
|
}
|
|
1979
1959
|
}
|
|
1980
1960
|
}
|
|
1981
1961
|
|
|
1982
1962
|
// src/builders/attribute-builders.ts
|
|
1963
|
+
function asMutableArray(arr) {
|
|
1964
|
+
return arr;
|
|
1965
|
+
}
|
|
1983
1966
|
var BaseAttributeBuilder = class {
|
|
1967
|
+
/**
|
|
1968
|
+
* Standard Schema v1 interface implementation.
|
|
1969
|
+
*
|
|
1970
|
+
* This property enables interoperability with libraries that support
|
|
1971
|
+
* Standard Schema (React Hook Form, tRPC, etc.).
|
|
1972
|
+
*
|
|
1973
|
+
* @see https://standardschema.dev/
|
|
1974
|
+
*/
|
|
1975
|
+
get "~standard"() {
|
|
1976
|
+
const zodSchema = chunk2TEWGEUI_js.createAttributeValidator(this.build());
|
|
1977
|
+
return createStandardSchemaProps(zodSchema);
|
|
1978
|
+
}
|
|
1984
1979
|
constructor(type, name, label) {
|
|
1985
1980
|
validateAttributeName(name);
|
|
1986
1981
|
validateLabel(label);
|
|
@@ -1994,11 +1989,46 @@ var BaseAttributeBuilder = class {
|
|
|
1994
1989
|
setRequired(value) {
|
|
1995
1990
|
this.attr.required = value;
|
|
1996
1991
|
}
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
1992
|
+
/**
|
|
1993
|
+
* Type-safe method to return this builder with a different TRequired phantom type.
|
|
1994
|
+
*
|
|
1995
|
+
* This method centralizes the type assertion needed when transitioning between
|
|
1996
|
+
* required states. The assertion is safe because:
|
|
1997
|
+
* 1. The runtime representation is unchanged (same instance)
|
|
1998
|
+
* 2. Only the phantom _types.required property differs
|
|
1999
|
+
* 3. The class structure and all methods remain identical
|
|
2000
|
+
*
|
|
2001
|
+
* Using a single protected method for this pattern:
|
|
2002
|
+
* - Reduces scattered unsafe casts throughout the codebase
|
|
2003
|
+
* - Documents the safety reasoning in one place
|
|
2004
|
+
* - Makes the type transition explicit and auditable
|
|
2005
|
+
*
|
|
2006
|
+
* @internal
|
|
2007
|
+
*/
|
|
2008
|
+
asRequiredState() {
|
|
2009
|
+
return this;
|
|
2010
|
+
}
|
|
2011
|
+
/**
|
|
2012
|
+
* Type-safe method to return this builder with different phantom type parameters.
|
|
2013
|
+
*
|
|
2014
|
+
* Used by builders with additional type parameters (like TOptions in Status/Select/Multiselect)
|
|
2015
|
+
* when those parameters need to change while preserving the builder instance.
|
|
2016
|
+
*
|
|
2017
|
+
* The assertion is safe because:
|
|
2018
|
+
* 1. The runtime representation is unchanged (same instance)
|
|
2019
|
+
* 2. Only phantom type parameters differ
|
|
2020
|
+
* 3. The class structure and all methods remain identical
|
|
2021
|
+
*
|
|
2022
|
+
* @internal
|
|
2023
|
+
*/
|
|
2024
|
+
asPhantomState() {
|
|
2025
|
+
return this;
|
|
2026
|
+
}
|
|
2027
|
+
system() {
|
|
2028
|
+
this.attr.system = true;
|
|
2029
|
+
return this;
|
|
2030
|
+
}
|
|
2031
|
+
disabled() {
|
|
2002
2032
|
this.attr.disabled = true;
|
|
2003
2033
|
return this;
|
|
2004
2034
|
}
|
|
@@ -2054,8 +2084,8 @@ var BaseAttributeBuilder = class {
|
|
|
2054
2084
|
featureGate(flagName, options) {
|
|
2055
2085
|
this.attr.featureGate = {
|
|
2056
2086
|
flag: flagName,
|
|
2057
|
-
expectedValue:
|
|
2058
|
-
fallback:
|
|
2087
|
+
expectedValue: options?.expectedValue,
|
|
2088
|
+
fallback: options?.fallback
|
|
2059
2089
|
};
|
|
2060
2090
|
return this;
|
|
2061
2091
|
}
|
|
@@ -2081,11 +2111,11 @@ var TextAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2081
2111
|
}
|
|
2082
2112
|
required() {
|
|
2083
2113
|
this.setRequired(true);
|
|
2084
|
-
return this;
|
|
2114
|
+
return this.asRequiredState();
|
|
2085
2115
|
}
|
|
2086
2116
|
optional() {
|
|
2087
2117
|
this.setRequired(false);
|
|
2088
|
-
return this;
|
|
2118
|
+
return this.asRequiredState();
|
|
2089
2119
|
}
|
|
2090
2120
|
/**
|
|
2091
2121
|
* Set email validation pattern
|
|
@@ -2118,11 +2148,11 @@ var TextAreaAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2118
2148
|
}
|
|
2119
2149
|
required() {
|
|
2120
2150
|
this.setRequired(true);
|
|
2121
|
-
return this;
|
|
2151
|
+
return this.asRequiredState();
|
|
2122
2152
|
}
|
|
2123
2153
|
optional() {
|
|
2124
2154
|
this.setRequired(false);
|
|
2125
|
-
return this;
|
|
2155
|
+
return this.asRequiredState();
|
|
2126
2156
|
}
|
|
2127
2157
|
};
|
|
2128
2158
|
function textarea(config) {
|
|
@@ -2150,11 +2180,11 @@ var RichtextAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2150
2180
|
}
|
|
2151
2181
|
required() {
|
|
2152
2182
|
this.setRequired(true);
|
|
2153
|
-
return this;
|
|
2183
|
+
return this.asRequiredState();
|
|
2154
2184
|
}
|
|
2155
2185
|
optional() {
|
|
2156
2186
|
this.setRequired(false);
|
|
2157
|
-
return this;
|
|
2187
|
+
return this.asRequiredState();
|
|
2158
2188
|
}
|
|
2159
2189
|
};
|
|
2160
2190
|
function richtext(config) {
|
|
@@ -2188,11 +2218,11 @@ var NumberAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2188
2218
|
}
|
|
2189
2219
|
required() {
|
|
2190
2220
|
this.setRequired(true);
|
|
2191
|
-
return this;
|
|
2221
|
+
return this.asRequiredState();
|
|
2192
2222
|
}
|
|
2193
2223
|
optional() {
|
|
2194
2224
|
this.setRequired(false);
|
|
2195
|
-
return this;
|
|
2225
|
+
return this.asRequiredState();
|
|
2196
2226
|
}
|
|
2197
2227
|
};
|
|
2198
2228
|
function number(config) {
|
|
@@ -2204,11 +2234,11 @@ var CheckboxAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2204
2234
|
}
|
|
2205
2235
|
required() {
|
|
2206
2236
|
this.setRequired(true);
|
|
2207
|
-
return this;
|
|
2237
|
+
return this.asRequiredState();
|
|
2208
2238
|
}
|
|
2209
2239
|
optional() {
|
|
2210
2240
|
this.setRequired(false);
|
|
2211
|
-
return this;
|
|
2241
|
+
return this.asRequiredState();
|
|
2212
2242
|
}
|
|
2213
2243
|
};
|
|
2214
2244
|
function checkbox(config) {
|
|
@@ -2232,11 +2262,11 @@ var DateAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2232
2262
|
}
|
|
2233
2263
|
required() {
|
|
2234
2264
|
this.setRequired(true);
|
|
2235
|
-
return this;
|
|
2265
|
+
return this.asRequiredState();
|
|
2236
2266
|
}
|
|
2237
2267
|
optional() {
|
|
2238
2268
|
this.setRequired(false);
|
|
2239
|
-
return this;
|
|
2269
|
+
return this.asRequiredState();
|
|
2240
2270
|
}
|
|
2241
2271
|
};
|
|
2242
2272
|
function date(config) {
|
|
@@ -2252,11 +2282,11 @@ var PhoneAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2252
2282
|
}
|
|
2253
2283
|
required() {
|
|
2254
2284
|
this.setRequired(true);
|
|
2255
|
-
return this;
|
|
2285
|
+
return this.asRequiredState();
|
|
2256
2286
|
}
|
|
2257
2287
|
optional() {
|
|
2258
2288
|
this.setRequired(false);
|
|
2259
|
-
return this;
|
|
2289
|
+
return this.asRequiredState();
|
|
2260
2290
|
}
|
|
2261
2291
|
};
|
|
2262
2292
|
function phone(config) {
|
|
@@ -2276,11 +2306,11 @@ var CurrencyAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2276
2306
|
}
|
|
2277
2307
|
required() {
|
|
2278
2308
|
this.setRequired(true);
|
|
2279
|
-
return this;
|
|
2309
|
+
return this.asRequiredState();
|
|
2280
2310
|
}
|
|
2281
2311
|
optional() {
|
|
2282
2312
|
this.setRequired(false);
|
|
2283
|
-
return this;
|
|
2313
|
+
return this.asRequiredState();
|
|
2284
2314
|
}
|
|
2285
2315
|
};
|
|
2286
2316
|
function currency(config) {
|
|
@@ -2294,26 +2324,27 @@ var StatusAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2294
2324
|
* Set all options at once (preserves literal types for values)
|
|
2295
2325
|
*/
|
|
2296
2326
|
options(value) {
|
|
2297
|
-
|
|
2298
|
-
this.attr.
|
|
2299
|
-
|
|
2327
|
+
const mutableOptions = asMutableArray(value);
|
|
2328
|
+
validateOptions(mutableOptions, this.attr.name ?? "unknown");
|
|
2329
|
+
this.attr.options = mutableOptions;
|
|
2330
|
+
return this.asPhantomState();
|
|
2300
2331
|
}
|
|
2301
2332
|
option(config) {
|
|
2302
2333
|
if (!this.attr.options) {
|
|
2303
2334
|
this.attr.options = [];
|
|
2304
2335
|
}
|
|
2305
2336
|
const allOptions = [...this.attr.options, config];
|
|
2306
|
-
validateOptions(allOptions,
|
|
2337
|
+
validateOptions(allOptions, this.attr.name ?? "unknown");
|
|
2307
2338
|
this.attr.options.push(config);
|
|
2308
2339
|
return this;
|
|
2309
2340
|
}
|
|
2310
2341
|
required() {
|
|
2311
2342
|
this.setRequired(true);
|
|
2312
|
-
return this;
|
|
2343
|
+
return this.asRequiredState();
|
|
2313
2344
|
}
|
|
2314
2345
|
optional() {
|
|
2315
2346
|
this.setRequired(false);
|
|
2316
|
-
return this;
|
|
2347
|
+
return this.asRequiredState();
|
|
2317
2348
|
}
|
|
2318
2349
|
};
|
|
2319
2350
|
function status(config) {
|
|
@@ -2327,26 +2358,27 @@ var SelectAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2327
2358
|
* Set all options at once (preserves literal types for values)
|
|
2328
2359
|
*/
|
|
2329
2360
|
options(value) {
|
|
2330
|
-
|
|
2331
|
-
this.attr.
|
|
2332
|
-
|
|
2361
|
+
const mutableOptions = asMutableArray(value);
|
|
2362
|
+
validateOptions(mutableOptions, this.attr.name ?? "unknown");
|
|
2363
|
+
this.attr.options = mutableOptions;
|
|
2364
|
+
return this.asPhantomState();
|
|
2333
2365
|
}
|
|
2334
2366
|
option(config) {
|
|
2335
2367
|
if (!this.attr.options) {
|
|
2336
2368
|
this.attr.options = [];
|
|
2337
2369
|
}
|
|
2338
2370
|
const allOptions = [...this.attr.options, config];
|
|
2339
|
-
validateOptions(allOptions,
|
|
2371
|
+
validateOptions(allOptions, this.attr.name ?? "unknown");
|
|
2340
2372
|
this.attr.options.push(config);
|
|
2341
2373
|
return this;
|
|
2342
2374
|
}
|
|
2343
2375
|
required() {
|
|
2344
2376
|
this.setRequired(true);
|
|
2345
|
-
return this;
|
|
2377
|
+
return this.asRequiredState();
|
|
2346
2378
|
}
|
|
2347
2379
|
optional() {
|
|
2348
2380
|
this.setRequired(false);
|
|
2349
|
-
return this;
|
|
2381
|
+
return this.asRequiredState();
|
|
2350
2382
|
}
|
|
2351
2383
|
};
|
|
2352
2384
|
function select(config) {
|
|
@@ -2360,26 +2392,27 @@ var MultiselectAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2360
2392
|
* Set all options at once (preserves literal types for values)
|
|
2361
2393
|
*/
|
|
2362
2394
|
options(value) {
|
|
2363
|
-
|
|
2364
|
-
this.attr.
|
|
2365
|
-
|
|
2395
|
+
const mutableOptions = asMutableArray(value);
|
|
2396
|
+
validateOptions(mutableOptions, this.attr.name ?? "unknown");
|
|
2397
|
+
this.attr.options = mutableOptions;
|
|
2398
|
+
return this.asPhantomState();
|
|
2366
2399
|
}
|
|
2367
2400
|
option(config) {
|
|
2368
2401
|
if (!this.attr.options) {
|
|
2369
2402
|
this.attr.options = [];
|
|
2370
2403
|
}
|
|
2371
2404
|
const allOptions = [...this.attr.options, config];
|
|
2372
|
-
validateOptions(allOptions,
|
|
2405
|
+
validateOptions(allOptions, this.attr.name ?? "unknown");
|
|
2373
2406
|
this.attr.options.push(config);
|
|
2374
2407
|
return this;
|
|
2375
2408
|
}
|
|
2376
2409
|
required() {
|
|
2377
2410
|
this.setRequired(true);
|
|
2378
|
-
return this;
|
|
2411
|
+
return this.asRequiredState();
|
|
2379
2412
|
}
|
|
2380
2413
|
optional() {
|
|
2381
2414
|
this.setRequired(false);
|
|
2382
|
-
return this;
|
|
2415
|
+
return this.asRequiredState();
|
|
2383
2416
|
}
|
|
2384
2417
|
};
|
|
2385
2418
|
function multiselect(config) {
|
|
@@ -2415,11 +2448,11 @@ var LocationAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2415
2448
|
}
|
|
2416
2449
|
required() {
|
|
2417
2450
|
this.setRequired(true);
|
|
2418
|
-
return this;
|
|
2451
|
+
return this.asRequiredState();
|
|
2419
2452
|
}
|
|
2420
2453
|
optional() {
|
|
2421
2454
|
this.setRequired(false);
|
|
2422
|
-
return this;
|
|
2455
|
+
return this.asRequiredState();
|
|
2423
2456
|
}
|
|
2424
2457
|
};
|
|
2425
2458
|
function location(config) {
|
|
@@ -2438,7 +2471,7 @@ var FileAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2438
2471
|
return this;
|
|
2439
2472
|
}
|
|
2440
2473
|
allowedTypes(types) {
|
|
2441
|
-
this.attr.allowedTypes = types;
|
|
2474
|
+
this.attr.allowedTypes = asMutableArray(types);
|
|
2442
2475
|
return this;
|
|
2443
2476
|
}
|
|
2444
2477
|
/**
|
|
@@ -2450,11 +2483,11 @@ var FileAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2450
2483
|
}
|
|
2451
2484
|
required() {
|
|
2452
2485
|
this.setRequired(true);
|
|
2453
|
-
return this;
|
|
2486
|
+
return this.asRequiredState();
|
|
2454
2487
|
}
|
|
2455
2488
|
optional() {
|
|
2456
2489
|
this.setRequired(false);
|
|
2457
|
-
return this;
|
|
2490
|
+
return this.asRequiredState();
|
|
2458
2491
|
}
|
|
2459
2492
|
};
|
|
2460
2493
|
function file(config) {
|
|
@@ -2477,11 +2510,11 @@ var UserAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2477
2510
|
}
|
|
2478
2511
|
required() {
|
|
2479
2512
|
this.setRequired(true);
|
|
2480
|
-
return this;
|
|
2513
|
+
return this.asRequiredState();
|
|
2481
2514
|
}
|
|
2482
2515
|
optional() {
|
|
2483
2516
|
this.setRequired(false);
|
|
2484
|
-
return this;
|
|
2517
|
+
return this.asRequiredState();
|
|
2485
2518
|
}
|
|
2486
2519
|
};
|
|
2487
2520
|
function user(config) {
|
|
@@ -2498,7 +2531,7 @@ var BaseRelationAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2498
2531
|
object: objectName,
|
|
2499
2532
|
...options
|
|
2500
2533
|
};
|
|
2501
|
-
|
|
2534
|
+
this.attr.targets?.push(target);
|
|
2502
2535
|
return this;
|
|
2503
2536
|
}
|
|
2504
2537
|
/**
|
|
@@ -2575,7 +2608,7 @@ var SingleRelationAttributeBuilder = class extends BaseRelationAttributeBuilder
|
|
|
2575
2608
|
many() {
|
|
2576
2609
|
const multiBuilder = new MultiRelationAttributeBuilder(
|
|
2577
2610
|
this.attr.name,
|
|
2578
|
-
|
|
2611
|
+
this.attr.label ?? "",
|
|
2579
2612
|
{
|
|
2580
2613
|
targets: this.attr.targets,
|
|
2581
2614
|
isRequired: this.attr.required
|
|
@@ -2599,20 +2632,20 @@ var SingleRelationAttributeBuilder = class extends BaseRelationAttributeBuilder
|
|
|
2599
2632
|
}
|
|
2600
2633
|
required() {
|
|
2601
2634
|
this.setRequired(true);
|
|
2602
|
-
return this;
|
|
2635
|
+
return this.asRequiredState();
|
|
2603
2636
|
}
|
|
2604
2637
|
optional() {
|
|
2605
2638
|
this.setRequired(false);
|
|
2606
|
-
return this;
|
|
2639
|
+
return this.asRequiredState();
|
|
2607
2640
|
}
|
|
2608
2641
|
};
|
|
2609
2642
|
var MultiRelationAttributeBuilder = class extends BaseRelationAttributeBuilder {
|
|
2610
2643
|
constructor(name, label, initOptions) {
|
|
2611
2644
|
super("relation", name, label);
|
|
2612
2645
|
this.attr.cardinality = "many";
|
|
2613
|
-
this.attr.targets =
|
|
2646
|
+
this.attr.targets = initOptions?.targets ?? [];
|
|
2614
2647
|
this.attr.defaultValue = [];
|
|
2615
|
-
if (
|
|
2648
|
+
if (initOptions?.isRequired) {
|
|
2616
2649
|
this.setRequired(true);
|
|
2617
2650
|
}
|
|
2618
2651
|
}
|
|
@@ -2632,11 +2665,11 @@ var MultiRelationAttributeBuilder = class extends BaseRelationAttributeBuilder {
|
|
|
2632
2665
|
}
|
|
2633
2666
|
required() {
|
|
2634
2667
|
this.setRequired(true);
|
|
2635
|
-
return this;
|
|
2668
|
+
return this.asRequiredState();
|
|
2636
2669
|
}
|
|
2637
2670
|
optional() {
|
|
2638
2671
|
this.setRequired(false);
|
|
2639
|
-
return this;
|
|
2672
|
+
return this.asRequiredState();
|
|
2640
2673
|
}
|
|
2641
2674
|
};
|
|
2642
2675
|
function relation(config) {
|
|
@@ -2656,11 +2689,11 @@ var RatingAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2656
2689
|
}
|
|
2657
2690
|
required() {
|
|
2658
2691
|
this.setRequired(true);
|
|
2659
|
-
return this;
|
|
2692
|
+
return this.asRequiredState();
|
|
2660
2693
|
}
|
|
2661
2694
|
optional() {
|
|
2662
2695
|
this.setRequired(false);
|
|
2663
|
-
return this;
|
|
2696
|
+
return this.asRequiredState();
|
|
2664
2697
|
}
|
|
2665
2698
|
};
|
|
2666
2699
|
function rating(config) {
|
|
@@ -2805,8 +2838,7 @@ var DocumentAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2805
2838
|
return this;
|
|
2806
2839
|
}
|
|
2807
2840
|
/**
|
|
2808
|
-
* Automatically trigger processing on upload.
|
|
2809
|
-
* Processing is defined by the template's autoProcessing config.
|
|
2841
|
+
* Automatically trigger agent-compatible processing on upload.
|
|
2810
2842
|
*/
|
|
2811
2843
|
autoProcess() {
|
|
2812
2844
|
this.attr.autoProcess = true;
|
|
@@ -2817,23 +2849,20 @@ var DocumentAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2817
2849
|
*/
|
|
2818
2850
|
required() {
|
|
2819
2851
|
this.setRequired(true);
|
|
2820
|
-
return this;
|
|
2852
|
+
return this.asRequiredState();
|
|
2821
2853
|
}
|
|
2822
2854
|
/**
|
|
2823
2855
|
* Mark this attribute as optional (undo required).
|
|
2824
2856
|
*/
|
|
2825
2857
|
optional() {
|
|
2826
2858
|
this.setRequired(false);
|
|
2827
|
-
return this;
|
|
2859
|
+
return this.asRequiredState();
|
|
2828
2860
|
}
|
|
2829
2861
|
};
|
|
2830
2862
|
function document(config) {
|
|
2831
2863
|
return new DocumentAttributeBuilder(config.name, config.label);
|
|
2832
2864
|
}
|
|
2833
2865
|
|
|
2834
|
-
// src/builders/object-builder.ts
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
2866
|
// src/builders/migration-builder.ts
|
|
2838
2867
|
function resolveBuiltInTransform(targetType) {
|
|
2839
2868
|
const map = {
|
|
@@ -2911,7 +2940,7 @@ var MigrationBuilder = class {
|
|
|
2911
2940
|
changeType(name, from, to, options) {
|
|
2912
2941
|
this.assertNotTouched(name, "change_type");
|
|
2913
2942
|
this.touchedAttributes.add(name);
|
|
2914
|
-
const transform =
|
|
2943
|
+
const transform = options?.transform ? resolveBuiltInTransform(to) : void 0;
|
|
2915
2944
|
this.operations.push({ type: "change_type", name, from, to, transform });
|
|
2916
2945
|
return this;
|
|
2917
2946
|
}
|
|
@@ -2981,6 +3010,18 @@ var ObjectBuilder = class {
|
|
|
2981
3010
|
system: false
|
|
2982
3011
|
};
|
|
2983
3012
|
}
|
|
3013
|
+
/**
|
|
3014
|
+
* Standard Schema v1 interface implementation.
|
|
3015
|
+
*
|
|
3016
|
+
* This property enables interoperability with libraries that support
|
|
3017
|
+
* Standard Schema (React Hook Form, tRPC, etc.).
|
|
3018
|
+
*
|
|
3019
|
+
* @see https://standardschema.dev/
|
|
3020
|
+
*/
|
|
3021
|
+
get "~standard"() {
|
|
3022
|
+
const zodSchema = chunk2TEWGEUI_js.createObjectValidator(this.build());
|
|
3023
|
+
return createStandardSchemaProps(zodSchema);
|
|
3024
|
+
}
|
|
2984
3025
|
/**
|
|
2985
3026
|
* Set object description
|
|
2986
3027
|
*/
|
|
@@ -3119,6 +3160,13 @@ The labelExpression defines how records are displayed in lists and relations.
|
|
|
3119
3160
|
\u2705 Example: .labelExpression("{{ firstName }} {{ lastName }}")`
|
|
3120
3161
|
);
|
|
3121
3162
|
}
|
|
3163
|
+
const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
|
|
3164
|
+
if (!labelResult.success) {
|
|
3165
|
+
const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
|
|
3166
|
+
throw new Error(
|
|
3167
|
+
`[ObjectBuilder] Invalid labelExpression for "${this.obj.name}": ${errorMsg}`
|
|
3168
|
+
);
|
|
3169
|
+
}
|
|
3122
3170
|
const sortedVersions = [...this._migrations].sort((a, b) => a.version - b.version);
|
|
3123
3171
|
for (let i = 0; i < sortedVersions.length; i++) {
|
|
3124
3172
|
const expected = i + 2;
|
|
@@ -3146,13 +3194,13 @@ The labelExpression defines how records are displayed in lists and relations.
|
|
|
3146
3194
|
if (name === void 0) {
|
|
3147
3195
|
return;
|
|
3148
3196
|
}
|
|
3149
|
-
const objectNameSchema =
|
|
3197
|
+
const objectNameSchema = z3__default.default.string().min(1, "Object name cannot be empty").max(63, "Object name is too long (max 63 characters)").regex(/^[a-z][a-z0-9-]*$/, {
|
|
3150
3198
|
message: "Invalid object name format.\nName must be in kebab-case (slug format):\n \u2705 Valid: 'products', 'user-profiles', 'order-items'\n \u274C Invalid: 'Products', 'userProfiles', 'user_profiles'"
|
|
3151
3199
|
});
|
|
3152
3200
|
try {
|
|
3153
3201
|
objectNameSchema.parse(name);
|
|
3154
3202
|
} catch (error) {
|
|
3155
|
-
if (error instanceof
|
|
3203
|
+
if (error instanceof z3__default.default.ZodError) {
|
|
3156
3204
|
throw new Error(`[ObjectBuilder] ${error.issues[0].message}`);
|
|
3157
3205
|
}
|
|
3158
3206
|
throw error;
|
|
@@ -3162,9 +3210,6 @@ The labelExpression defines how records are displayed in lists and relations.
|
|
|
3162
3210
|
function object(config) {
|
|
3163
3211
|
return new ObjectBuilder(config);
|
|
3164
3212
|
}
|
|
3165
|
-
|
|
3166
|
-
// src/builders/view-builder.ts
|
|
3167
|
-
|
|
3168
3213
|
var GroupBuilder = class {
|
|
3169
3214
|
constructor(id, label) {
|
|
3170
3215
|
this.data = { fields: [] };
|
|
@@ -3200,7 +3245,7 @@ var GroupBuilder = class {
|
|
|
3200
3245
|
*/
|
|
3201
3246
|
fields(...names) {
|
|
3202
3247
|
for (const name of names) {
|
|
3203
|
-
|
|
3248
|
+
this.data.fields?.push({ attribute: name });
|
|
3204
3249
|
}
|
|
3205
3250
|
return this;
|
|
3206
3251
|
}
|
|
@@ -3209,7 +3254,7 @@ var GroupBuilder = class {
|
|
|
3209
3254
|
* @example .field("name", { span: 8, readOnly: true })
|
|
3210
3255
|
*/
|
|
3211
3256
|
field(attribute, options) {
|
|
3212
|
-
|
|
3257
|
+
this.data.fields?.push({ attribute, ...options });
|
|
3213
3258
|
return this;
|
|
3214
3259
|
}
|
|
3215
3260
|
/**
|
|
@@ -3218,7 +3263,7 @@ var GroupBuilder = class {
|
|
|
3218
3263
|
* @example .attributeGroup({ id: "address", label: "Address", attributes: ["street", "city", "postal_code"], displayTemplate: "{street}, {city}" })
|
|
3219
3264
|
*/
|
|
3220
3265
|
attributeGroup(config, options) {
|
|
3221
|
-
|
|
3266
|
+
this.data.fields?.push({ attributeGroup: config, ...options });
|
|
3222
3267
|
return this;
|
|
3223
3268
|
}
|
|
3224
3269
|
/**
|
|
@@ -3955,13 +4000,13 @@ var DetailViewBuilder = class {
|
|
|
3955
4000
|
* Validate view name format (kebab-case)
|
|
3956
4001
|
*/
|
|
3957
4002
|
validateName(name) {
|
|
3958
|
-
const viewNameSchema =
|
|
4003
|
+
const viewNameSchema = z3.z.string().min(1, "View name cannot be empty").max(63, "View name is too long (max 63 characters)").regex(/^[a-z][a-z0-9-]*$/, {
|
|
3959
4004
|
message: "Invalid view name format.\nName must be in kebab-case:\n \u2705 Valid: 'detail', 'list-view', 'company-detail'\n \u274C Invalid: 'Detail', 'listView', 'list_view'"
|
|
3960
4005
|
});
|
|
3961
4006
|
try {
|
|
3962
4007
|
viewNameSchema.parse(name);
|
|
3963
4008
|
} catch (error) {
|
|
3964
|
-
if (error instanceof
|
|
4009
|
+
if (error instanceof z3.z.ZodError) {
|
|
3965
4010
|
throw new Error(`[DetailViewBuilder] ${error.issues[0].message}`);
|
|
3966
4011
|
}
|
|
3967
4012
|
throw error;
|
|
@@ -4091,7 +4136,7 @@ var ListViewBuilder = class {
|
|
|
4091
4136
|
}
|
|
4092
4137
|
const config = {
|
|
4093
4138
|
defaultFilters: this.data.defaultFilters ? {
|
|
4094
|
-
id:
|
|
4139
|
+
id: chunkE6XO2STS_js.generateId(),
|
|
4095
4140
|
combinator: this.data.defaultFilters.combinator,
|
|
4096
4141
|
rules: this.data.defaultFilters.rules
|
|
4097
4142
|
} : void 0,
|
|
@@ -4104,7 +4149,7 @@ var ListViewBuilder = class {
|
|
|
4104
4149
|
columns: tab.columns,
|
|
4105
4150
|
columnSizing: tab.columnSizing,
|
|
4106
4151
|
filters: tab.filters ? {
|
|
4107
|
-
id:
|
|
4152
|
+
id: chunkE6XO2STS_js.generateId(),
|
|
4108
4153
|
combinator: tab.filters.combinator,
|
|
4109
4154
|
rules: tab.filters.rules
|
|
4110
4155
|
} : void 0,
|
|
@@ -4135,13 +4180,13 @@ var ListViewBuilder = class {
|
|
|
4135
4180
|
* Validate view name format (kebab-case)
|
|
4136
4181
|
*/
|
|
4137
4182
|
validateName(name) {
|
|
4138
|
-
const viewNameSchema =
|
|
4183
|
+
const viewNameSchema = z3.z.string().min(1, "View name cannot be empty").max(63, "View name is too long (max 63 characters)").regex(/^[a-z][a-z0-9-]*$/, {
|
|
4139
4184
|
message: "Invalid view name format.\nName must be in kebab-case:\n \u2705 Valid: 'default', 'list-view', 'active-contacts'\n \u274C Invalid: 'Default', 'listView', 'list_view'"
|
|
4140
4185
|
});
|
|
4141
4186
|
try {
|
|
4142
4187
|
viewNameSchema.parse(name);
|
|
4143
4188
|
} catch (error) {
|
|
4144
|
-
if (error instanceof
|
|
4189
|
+
if (error instanceof z3.z.ZodError) {
|
|
4145
4190
|
throw new Error(`[ListViewBuilder] ${error.issues[0].message}`);
|
|
4146
4191
|
}
|
|
4147
4192
|
throw error;
|
|
@@ -4319,9 +4364,7 @@ function group(id, label) {
|
|
|
4319
4364
|
function relationGroup(id, label, attribute) {
|
|
4320
4365
|
return new RelationGroupBuilder(id, label, attribute);
|
|
4321
4366
|
}
|
|
4322
|
-
|
|
4323
|
-
// src/builders/workflow-builder.ts
|
|
4324
|
-
|
|
4367
|
+
registerBuiltInNodeTypes();
|
|
4325
4368
|
var WorkflowFormRowBuilder = class {
|
|
4326
4369
|
/** @internal */
|
|
4327
4370
|
constructor(formBuilder, rowId, order) {
|
|
@@ -4343,8 +4386,8 @@ var WorkflowFormRowBuilder = class {
|
|
|
4343
4386
|
id: `${this.rowData.id}-${slotId}-${attribute}`,
|
|
4344
4387
|
slotId,
|
|
4345
4388
|
attribute,
|
|
4346
|
-
label:
|
|
4347
|
-
required:
|
|
4389
|
+
label: options?.label,
|
|
4390
|
+
required: options?.required
|
|
4348
4391
|
};
|
|
4349
4392
|
this.rowData.fields.push(field);
|
|
4350
4393
|
return this;
|
|
@@ -4359,16 +4402,16 @@ var WorkflowFormRowBuilder = class {
|
|
|
4359
4402
|
* @param options - Optional label, required flag, and relation config
|
|
4360
4403
|
*/
|
|
4361
4404
|
relationField(slotId, attribute, options) {
|
|
4362
|
-
const relationConfig =
|
|
4363
|
-
visibleProperties:
|
|
4364
|
-
allowCreate:
|
|
4405
|
+
const relationConfig = options?.visibleProperties || options?.allowCreate !== void 0 ? {
|
|
4406
|
+
visibleProperties: options?.visibleProperties,
|
|
4407
|
+
allowCreate: options?.allowCreate
|
|
4365
4408
|
} : void 0;
|
|
4366
4409
|
const field = {
|
|
4367
4410
|
id: `${this.rowData.id}-${slotId}-${attribute}`,
|
|
4368
4411
|
slotId,
|
|
4369
4412
|
attribute,
|
|
4370
|
-
label:
|
|
4371
|
-
required:
|
|
4413
|
+
label: options?.label,
|
|
4414
|
+
required: options?.required,
|
|
4372
4415
|
relationConfig
|
|
4373
4416
|
};
|
|
4374
4417
|
this.rowData.fields.push(field);
|
|
@@ -4487,10 +4530,10 @@ var WorkflowFormBuilder = class {
|
|
|
4487
4530
|
type: "relationList",
|
|
4488
4531
|
slotId,
|
|
4489
4532
|
relationName,
|
|
4490
|
-
preload:
|
|
4491
|
-
columns:
|
|
4492
|
-
qualifiersInline:
|
|
4493
|
-
modalFields:
|
|
4533
|
+
preload: options.preload ?? true,
|
|
4534
|
+
columns: options.columns ?? [],
|
|
4535
|
+
qualifiersInline: options.qualifiersInline ?? true,
|
|
4536
|
+
modalFields: options.modalFields ?? "all",
|
|
4494
4537
|
label: options.label
|
|
4495
4538
|
};
|
|
4496
4539
|
this.rows.push(row);
|
|
@@ -4645,132 +4688,6 @@ var WorkflowConditionBuilder = class {
|
|
|
4645
4688
|
};
|
|
4646
4689
|
}
|
|
4647
4690
|
};
|
|
4648
|
-
var WorkflowAssignBuilder = class {
|
|
4649
|
-
/** @internal */
|
|
4650
|
-
constructor(workflowBuilder, nodeId, label, targetSlotId) {
|
|
4651
|
-
this.assignments = [];
|
|
4652
|
-
this.workflowBuilder = workflowBuilder;
|
|
4653
|
-
this.nodeId = nodeId;
|
|
4654
|
-
this.label = label;
|
|
4655
|
-
this.targetSlotId = targetSlotId;
|
|
4656
|
-
}
|
|
4657
|
-
/**
|
|
4658
|
-
* Set an attribute using an expression template.
|
|
4659
|
-
* Uses mustache syntax: `{{ slotId.attribute }}`.
|
|
4660
|
-
*/
|
|
4661
|
-
expression(targetAttribute, template) {
|
|
4662
|
-
this.assignments.push({
|
|
4663
|
-
targetAttribute,
|
|
4664
|
-
source: { type: "expression", template }
|
|
4665
|
-
});
|
|
4666
|
-
return this;
|
|
4667
|
-
}
|
|
4668
|
-
/**
|
|
4669
|
-
* Link a relation attribute to a slot's record.
|
|
4670
|
-
* Optionally include qualified relation properties.
|
|
4671
|
-
*/
|
|
4672
|
-
slotRef(targetAttribute, slotId, properties) {
|
|
4673
|
-
this.assignments.push({
|
|
4674
|
-
targetAttribute,
|
|
4675
|
-
source: { type: "slot-ref", slotId, properties }
|
|
4676
|
-
});
|
|
4677
|
-
return this;
|
|
4678
|
-
}
|
|
4679
|
-
/**
|
|
4680
|
-
* Set a static value on an attribute
|
|
4681
|
-
*/
|
|
4682
|
-
setValue(targetAttribute, value) {
|
|
4683
|
-
this.assignments.push({
|
|
4684
|
-
targetAttribute,
|
|
4685
|
-
source: { type: "static", value }
|
|
4686
|
-
});
|
|
4687
|
-
return this;
|
|
4688
|
-
}
|
|
4689
|
-
/**
|
|
4690
|
-
* Set the description for this assign node
|
|
4691
|
-
*/
|
|
4692
|
-
describe(description) {
|
|
4693
|
-
this.nodeDescription = description;
|
|
4694
|
-
return this;
|
|
4695
|
-
}
|
|
4696
|
-
/**
|
|
4697
|
-
* Set the next node and complete the assign definition
|
|
4698
|
-
*/
|
|
4699
|
-
next(nodeId) {
|
|
4700
|
-
if (this.assignments.length === 0) {
|
|
4701
|
-
throw new Error(
|
|
4702
|
-
`[WorkflowBuilder] Assign "${this.nodeId}" must have at least one assignment. Use .expression(), .slotRef() or .setValue() first.`
|
|
4703
|
-
);
|
|
4704
|
-
}
|
|
4705
|
-
return this.workflowBuilder._addNode({
|
|
4706
|
-
type: "assign",
|
|
4707
|
-
id: this.nodeId,
|
|
4708
|
-
label: this.label,
|
|
4709
|
-
description: this.nodeDescription,
|
|
4710
|
-
targetSlotId: this.targetSlotId,
|
|
4711
|
-
assignments: this.assignments,
|
|
4712
|
-
next: nodeId
|
|
4713
|
-
});
|
|
4714
|
-
}
|
|
4715
|
-
};
|
|
4716
|
-
var WorkflowAIBuilder = class {
|
|
4717
|
-
/** @internal */
|
|
4718
|
-
constructor(workflowBuilder, nodeId, label) {
|
|
4719
|
-
this.agentConfig = null;
|
|
4720
|
-
this.workflowBuilder = workflowBuilder;
|
|
4721
|
-
this.nodeId = nodeId;
|
|
4722
|
-
this.label = label;
|
|
4723
|
-
}
|
|
4724
|
-
describe(description) {
|
|
4725
|
-
this.nodeDescription = description;
|
|
4726
|
-
return this;
|
|
4727
|
-
}
|
|
4728
|
-
timeout(ms) {
|
|
4729
|
-
this.nodeTimeoutMs = ms;
|
|
4730
|
-
return this;
|
|
4731
|
-
}
|
|
4732
|
-
/**
|
|
4733
|
-
* Configure the agent for this node.
|
|
4734
|
-
*
|
|
4735
|
-
* @param definitionIdOrConfig - Either an existing agent definition ID (string),
|
|
4736
|
-
* or an inline agent config object.
|
|
4737
|
-
* @param options - Additional options merged on top (only used when first arg is a string)
|
|
4738
|
-
*/
|
|
4739
|
-
agent(definitionIdOrConfig, options) {
|
|
4740
|
-
if (typeof definitionIdOrConfig === "string") {
|
|
4741
|
-
this.agentConfig = {
|
|
4742
|
-
// Default to async when referencing a definition by ID
|
|
4743
|
-
mode: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _58 => _58.mode]), () => ( "async")),
|
|
4744
|
-
definitionId: definitionIdOrConfig,
|
|
4745
|
-
instructions: _optionalChain([options, 'optionalAccess', _59 => _59.instructions]),
|
|
4746
|
-
inputSlotIds: _optionalChain([options, 'optionalAccess', _60 => _60.inputSlotIds]),
|
|
4747
|
-
targetSlotIds: _optionalChain([options, 'optionalAccess', _61 => _61.targetSlotIds])
|
|
4748
|
-
};
|
|
4749
|
-
} else {
|
|
4750
|
-
this.agentConfig = definitionIdOrConfig;
|
|
4751
|
-
}
|
|
4752
|
-
return this;
|
|
4753
|
-
}
|
|
4754
|
-
/**
|
|
4755
|
-
* Set the next node and complete the AI node definition
|
|
4756
|
-
*/
|
|
4757
|
-
next(nodeId) {
|
|
4758
|
-
if (!this.agentConfig) {
|
|
4759
|
-
throw new Error(
|
|
4760
|
-
`[WorkflowBuilder] AI node "${this.nodeId}" must have an agent config. Call .agent() first.`
|
|
4761
|
-
);
|
|
4762
|
-
}
|
|
4763
|
-
return this.workflowBuilder._addNode({
|
|
4764
|
-
type: "ai",
|
|
4765
|
-
id: this.nodeId,
|
|
4766
|
-
label: this.label,
|
|
4767
|
-
description: this.nodeDescription,
|
|
4768
|
-
timeoutMs: this.nodeTimeoutMs,
|
|
4769
|
-
next: nodeId,
|
|
4770
|
-
...this.agentConfig
|
|
4771
|
-
});
|
|
4772
|
-
}
|
|
4773
|
-
};
|
|
4774
4691
|
var WorkflowEndBuilder = class {
|
|
4775
4692
|
/** @internal */
|
|
4776
4693
|
constructor(workflowBuilder, nodeId) {
|
|
@@ -4891,18 +4808,18 @@ var WorkflowBuilder = class {
|
|
|
4891
4808
|
* @param options - Slot configuration
|
|
4892
4809
|
*/
|
|
4893
4810
|
slot(id, objectName, options) {
|
|
4894
|
-
if (
|
|
4811
|
+
if (this.data.slots?.some((s) => s.id === id)) {
|
|
4895
4812
|
throw new Error(`[WorkflowBuilder] Duplicate slot id: "${id}"`);
|
|
4896
4813
|
}
|
|
4897
4814
|
const slot = {
|
|
4898
4815
|
id,
|
|
4899
4816
|
objectName,
|
|
4900
4817
|
label: options.label,
|
|
4901
|
-
mode:
|
|
4818
|
+
mode: options.mode ?? "create",
|
|
4902
4819
|
color: options.color,
|
|
4903
4820
|
icon: options.icon
|
|
4904
4821
|
};
|
|
4905
|
-
|
|
4822
|
+
this.data.slots?.push(slot);
|
|
4906
4823
|
return this;
|
|
4907
4824
|
}
|
|
4908
4825
|
// ============================================================================
|
|
@@ -4936,16 +4853,6 @@ var WorkflowBuilder = class {
|
|
|
4936
4853
|
condition(id, label) {
|
|
4937
4854
|
return new WorkflowConditionBuilder(this, id, label);
|
|
4938
4855
|
}
|
|
4939
|
-
/**
|
|
4940
|
-
* Define an assign node (set values on a target slot)
|
|
4941
|
-
*/
|
|
4942
|
-
assign(id, label, targetSlotId) {
|
|
4943
|
-
return new WorkflowAssignBuilder(this, id, label, targetSlotId);
|
|
4944
|
-
}
|
|
4945
|
-
/** Define an AI agent node (sync or async, inline or referenced from a definition) */
|
|
4946
|
-
ai(id, label) {
|
|
4947
|
-
return new WorkflowAIBuilder(this, id, label);
|
|
4948
|
-
}
|
|
4949
4856
|
/**
|
|
4950
4857
|
* Define an end node
|
|
4951
4858
|
*/
|
|
@@ -4991,13 +4898,13 @@ var WorkflowBuilder = class {
|
|
|
4991
4898
|
// VALIDATION
|
|
4992
4899
|
// ============================================================================
|
|
4993
4900
|
validateName(name) {
|
|
4994
|
-
const schema =
|
|
4901
|
+
const schema = z3.z.string().min(1, "Workflow name cannot be empty").max(63, "Workflow name is too long (max 63 characters)").regex(/^[a-z][a-z0-9-]*$/, {
|
|
4995
4902
|
message: "Invalid workflow name format.\nName must be in kebab-case:\n \u2705 Valid: 'client-onboarding', 'contract-signature'\n \u274C Invalid: 'ClientOnboarding', 'contract_signature'"
|
|
4996
4903
|
});
|
|
4997
4904
|
try {
|
|
4998
4905
|
schema.parse(name);
|
|
4999
4906
|
} catch (error) {
|
|
5000
|
-
if (error instanceof
|
|
4907
|
+
if (error instanceof z3.z.ZodError) {
|
|
5001
4908
|
throw new Error(`[WorkflowBuilder] ${error.issues[0].message}`);
|
|
5002
4909
|
}
|
|
5003
4910
|
throw error;
|
|
@@ -5021,8 +4928,8 @@ var WorkflowBuilder = class {
|
|
|
5021
4928
|
}
|
|
5022
4929
|
}
|
|
5023
4930
|
validateNodeReferences() {
|
|
5024
|
-
const nodeIds = new Set(Object.keys(
|
|
5025
|
-
for (const node of Object.values(
|
|
4931
|
+
const nodeIds = new Set(Object.keys(this.data.nodes ?? {}));
|
|
4932
|
+
for (const node of Object.values(this.data.nodes ?? {})) {
|
|
5026
4933
|
for (const targetId of getNodeOutputs(node)) {
|
|
5027
4934
|
if (!nodeIds.has(targetId)) {
|
|
5028
4935
|
throw new Error(
|
|
@@ -5033,8 +4940,8 @@ var WorkflowBuilder = class {
|
|
|
5033
4940
|
}
|
|
5034
4941
|
}
|
|
5035
4942
|
validateSlotReferences() {
|
|
5036
|
-
const slotIds =
|
|
5037
|
-
for (const node of Object.values(
|
|
4943
|
+
const slotIds = this.data.slots?.reduce((set, s) => set.add(s.id), /* @__PURE__ */ new Set()) ?? /* @__PURE__ */ new Set();
|
|
4944
|
+
for (const node of Object.values(this.data.nodes ?? {})) {
|
|
5038
4945
|
for (const slotId of getNodeSlotIds(node)) {
|
|
5039
4946
|
if (!slotIds.has(slotId)) {
|
|
5040
4947
|
throw new Error(
|
|
@@ -5045,7 +4952,7 @@ var WorkflowBuilder = class {
|
|
|
5045
4952
|
}
|
|
5046
4953
|
}
|
|
5047
4954
|
validateDAG() {
|
|
5048
|
-
const nodes =
|
|
4955
|
+
const nodes = this.data.nodes ?? {};
|
|
5049
4956
|
const visited = /* @__PURE__ */ new Set();
|
|
5050
4957
|
const recursionStack = /* @__PURE__ */ new Set();
|
|
5051
4958
|
const hasCycle = (nodeId) => {
|
|
@@ -5166,7 +5073,7 @@ var BaseFlagBuilder = class {
|
|
|
5166
5073
|
* @throws {Error} If label is not set or is whitespace-only
|
|
5167
5074
|
*/
|
|
5168
5075
|
build() {
|
|
5169
|
-
if (!
|
|
5076
|
+
if (!this.flag.label?.trim()) {
|
|
5170
5077
|
throw new Error(
|
|
5171
5078
|
`Flag "${this.flag.name}" must have a label. Use .label("Human-readable label").`
|
|
5172
5079
|
);
|
|
@@ -5381,7 +5288,7 @@ var FlagRegistry = class {
|
|
|
5381
5288
|
* @returns The default value or undefined if flag not found
|
|
5382
5289
|
*/
|
|
5383
5290
|
getDefaultValue(name) {
|
|
5384
|
-
return
|
|
5291
|
+
return this.get(name)?.defaultValue;
|
|
5385
5292
|
}
|
|
5386
5293
|
/**
|
|
5387
5294
|
* Get a map of all flag names to their default values.
|
|
@@ -5427,7 +5334,7 @@ var FlagService = class {
|
|
|
5427
5334
|
constructor(options) {
|
|
5428
5335
|
this.repository = options.repository;
|
|
5429
5336
|
this.registry = options.registry;
|
|
5430
|
-
this.staticDefaults = new Map(
|
|
5337
|
+
this.staticDefaults = new Map(options.staticDefaults?.map((d) => [d.name, d.value]) ?? []);
|
|
5431
5338
|
}
|
|
5432
5339
|
/**
|
|
5433
5340
|
* Resolve all flags for the current context.
|
|
@@ -5505,7 +5412,7 @@ var FlagService = class {
|
|
|
5505
5412
|
`Flag "${flagName}" does not allow ${level}-level overrides. Allowed levels: ${flag.allowedLevels.join(", ")}`
|
|
5506
5413
|
);
|
|
5507
5414
|
}
|
|
5508
|
-
if (
|
|
5415
|
+
if (flag?.system) {
|
|
5509
5416
|
throw new Error(`Flag "${flagName}" is a system flag and cannot be overridden via API.`);
|
|
5510
5417
|
}
|
|
5511
5418
|
await this.repository.setOverride({
|
|
@@ -5556,7 +5463,7 @@ var FlagService = class {
|
|
|
5556
5463
|
*/
|
|
5557
5464
|
resolveValue(flagName, overrides, context) {
|
|
5558
5465
|
const flag = this.registry.get(flagName);
|
|
5559
|
-
const allowedLevels =
|
|
5466
|
+
const allowedLevels = flag?.allowedLevels ?? ["global", "tenant", "user"];
|
|
5560
5467
|
if (context.userId && allowedLevels.includes("user")) {
|
|
5561
5468
|
const userOverride = overrides.user.find((o) => o.flagName === flagName);
|
|
5562
5469
|
if (userOverride) return userOverride.value;
|
|
@@ -5572,14 +5479,14 @@ var FlagService = class {
|
|
|
5572
5479
|
if (this.staticDefaults.has(flagName)) {
|
|
5573
5480
|
return this.staticDefaults.get(flagName);
|
|
5574
5481
|
}
|
|
5575
|
-
return
|
|
5482
|
+
return flag?.defaultValue;
|
|
5576
5483
|
}
|
|
5577
5484
|
/**
|
|
5578
5485
|
* Resolve a flag value with source information.
|
|
5579
5486
|
*/
|
|
5580
5487
|
resolveWithSource(flagName, overrides, context) {
|
|
5581
5488
|
const flag = this.registry.get(flagName);
|
|
5582
|
-
const allowedLevels =
|
|
5489
|
+
const allowedLevels = flag?.allowedLevels ?? ["global", "tenant", "user"];
|
|
5583
5490
|
if (context.userId && allowedLevels.includes("user")) {
|
|
5584
5491
|
const userOverride = overrides.user.find((o) => o.flagName === flagName);
|
|
5585
5492
|
if (userOverride) {
|
|
@@ -5621,7 +5528,7 @@ var FlagService = class {
|
|
|
5621
5528
|
}
|
|
5622
5529
|
return {
|
|
5623
5530
|
name: flagName,
|
|
5624
|
-
value:
|
|
5531
|
+
value: flag?.defaultValue ?? void 0,
|
|
5625
5532
|
source: "default"
|
|
5626
5533
|
};
|
|
5627
5534
|
}
|
|
@@ -5681,7 +5588,7 @@ Native objects must have system=true. Did you forget to call .system() in your b
|
|
|
5681
5588
|
const existing = this.objects.get(object2.name);
|
|
5682
5589
|
throw new Error(
|
|
5683
5590
|
`[NativeObjectRegistry] Duplicate object name "${object2.name}":
|
|
5684
|
-
- Existing: "${
|
|
5591
|
+
- Existing: "${existing?.label}" (id: ${existing?.id})
|
|
5685
5592
|
- New: "${object2.label}" (id: ${object2.id})
|
|
5686
5593
|
Please use unique names for each native object.`
|
|
5687
5594
|
);
|
|
@@ -5803,11 +5710,11 @@ var ViewRegistry = class {
|
|
|
5803
5710
|
);
|
|
5804
5711
|
}
|
|
5805
5712
|
this.views.set(key, view2);
|
|
5806
|
-
const objectViews =
|
|
5713
|
+
const objectViews = this.byObject.get(view2.object) ?? [];
|
|
5807
5714
|
objectViews.push(view2);
|
|
5808
5715
|
this.byObject.set(view2.object, objectViews);
|
|
5809
5716
|
const typeKey = `${view2.object}:${view2.type}`;
|
|
5810
|
-
const typeViews =
|
|
5717
|
+
const typeViews = this.byObjectAndType.get(typeKey) ?? [];
|
|
5811
5718
|
typeViews.push(view2);
|
|
5812
5719
|
this.byObjectAndType.set(typeKey, typeViews);
|
|
5813
5720
|
}
|
|
@@ -5815,13 +5722,13 @@ var ViewRegistry = class {
|
|
|
5815
5722
|
* Get all views for an object
|
|
5816
5723
|
*/
|
|
5817
5724
|
getByObjectName(objectName) {
|
|
5818
|
-
return
|
|
5725
|
+
return this.byObject.get(objectName) ?? [];
|
|
5819
5726
|
}
|
|
5820
5727
|
/**
|
|
5821
5728
|
* Get views for an object filtered by type
|
|
5822
5729
|
*/
|
|
5823
5730
|
getByObjectNameAndType(objectName, type) {
|
|
5824
|
-
return
|
|
5731
|
+
return this.byObjectAndType.get(`${objectName}:${type}`) ?? [];
|
|
5825
5732
|
}
|
|
5826
5733
|
/**
|
|
5827
5734
|
* Get a specific view by object, name, and type
|
|
@@ -5887,7 +5794,7 @@ Available views: ${availableNames}`
|
|
|
5887
5794
|
*/
|
|
5888
5795
|
getDefault(objectName, type) {
|
|
5889
5796
|
const views = this.getByObjectNameAndType(objectName, type);
|
|
5890
|
-
return
|
|
5797
|
+
return views.find((v) => v.default) ?? views[0];
|
|
5891
5798
|
}
|
|
5892
5799
|
/**
|
|
5893
5800
|
* Clear all registered views (for testing)
|
|
@@ -5933,7 +5840,7 @@ function getActiveTab(config, tabId) {
|
|
|
5933
5840
|
const tab = config.tabs.find((t) => t.id === tabId);
|
|
5934
5841
|
if (tab) return tab;
|
|
5935
5842
|
}
|
|
5936
|
-
return
|
|
5843
|
+
return config.tabs.find((t) => t.default) ?? config.tabs[0];
|
|
5937
5844
|
}
|
|
5938
5845
|
|
|
5939
5846
|
// src/views/auto-generator.ts
|
|
@@ -5944,8 +5851,8 @@ function getVisibleAttributes(attributes, excludeNames = []) {
|
|
|
5944
5851
|
}
|
|
5945
5852
|
function sortAttributes(attributes) {
|
|
5946
5853
|
return [...attributes].sort((a, b) => {
|
|
5947
|
-
const orderA =
|
|
5948
|
-
const orderB =
|
|
5854
|
+
const orderA = a.order ?? 999;
|
|
5855
|
+
const orderB = b.order ?? 999;
|
|
5949
5856
|
if (orderA !== orderB) return orderA - orderB;
|
|
5950
5857
|
return a.name.localeCompare(b.name);
|
|
5951
5858
|
});
|
|
@@ -6176,7 +6083,7 @@ function isDetailViewCustomized(view2, object2) {
|
|
|
6176
6083
|
if (viewGroup.id !== defaultGroup.id) {
|
|
6177
6084
|
return true;
|
|
6178
6085
|
}
|
|
6179
|
-
if ((
|
|
6086
|
+
if ((viewGroup.type ?? "fields") !== (defaultGroup.type ?? "fields")) {
|
|
6180
6087
|
return true;
|
|
6181
6088
|
}
|
|
6182
6089
|
if (isFieldGroup(viewGroup) && isFieldGroup(defaultGroup)) {
|
|
@@ -6228,321 +6135,706 @@ function isViewCustomized(view2, object2) {
|
|
|
6228
6135
|
}
|
|
6229
6136
|
return true;
|
|
6230
6137
|
}
|
|
6138
|
+
function objectToJSONSchema(objectDef) {
|
|
6139
|
+
const properties = {};
|
|
6140
|
+
const required = [];
|
|
6141
|
+
for (const attr of objectDef.attributes) {
|
|
6142
|
+
properties[attr.name] = attributeToJSONSchema(attr);
|
|
6143
|
+
if (attr.required) {
|
|
6144
|
+
required.push(attr.name);
|
|
6145
|
+
}
|
|
6146
|
+
}
|
|
6147
|
+
return {
|
|
6148
|
+
type: "object",
|
|
6149
|
+
title: objectDef.label,
|
|
6150
|
+
properties,
|
|
6151
|
+
required
|
|
6152
|
+
};
|
|
6153
|
+
}
|
|
6154
|
+
function attributeToJSONSchema(attr) {
|
|
6155
|
+
const base = {
|
|
6156
|
+
type: "string",
|
|
6157
|
+
title: attr.label
|
|
6158
|
+
};
|
|
6159
|
+
if (attr.description) {
|
|
6160
|
+
base.description = attr.description;
|
|
6161
|
+
}
|
|
6162
|
+
if (attr.placeholder) {
|
|
6163
|
+
base.examples = [attr.placeholder];
|
|
6164
|
+
}
|
|
6165
|
+
switch (attr.type) {
|
|
6166
|
+
case "text":
|
|
6167
|
+
case "textarea":
|
|
6168
|
+
base.type = "string";
|
|
6169
|
+
if ("minLength" in attr && attr.minLength !== void 0) {
|
|
6170
|
+
base.minLength = attr.minLength;
|
|
6171
|
+
}
|
|
6172
|
+
if ("maxLength" in attr && attr.maxLength !== void 0) {
|
|
6173
|
+
base.maxLength = attr.maxLength;
|
|
6174
|
+
}
|
|
6175
|
+
if ("pattern" in attr && attr.pattern) {
|
|
6176
|
+
base.pattern = attr.pattern;
|
|
6177
|
+
}
|
|
6178
|
+
break;
|
|
6179
|
+
case "richtext":
|
|
6180
|
+
base.type = "string";
|
|
6181
|
+
base.format = "html";
|
|
6182
|
+
break;
|
|
6183
|
+
case "number":
|
|
6184
|
+
case "rating":
|
|
6185
|
+
base.type = "number";
|
|
6186
|
+
if ("min" in attr && attr.min !== void 0) {
|
|
6187
|
+
base.minimum = attr.min;
|
|
6188
|
+
}
|
|
6189
|
+
if ("max" in attr && attr.max !== void 0) {
|
|
6190
|
+
base.maximum = attr.max;
|
|
6191
|
+
}
|
|
6192
|
+
break;
|
|
6193
|
+
case "checkbox":
|
|
6194
|
+
base.type = "boolean";
|
|
6195
|
+
break;
|
|
6196
|
+
case "date":
|
|
6197
|
+
base.type = "string";
|
|
6198
|
+
base.format = "date-time";
|
|
6199
|
+
break;
|
|
6200
|
+
case "phone":
|
|
6201
|
+
base.type = "object";
|
|
6202
|
+
break;
|
|
6203
|
+
case "currency":
|
|
6204
|
+
base.type = "object";
|
|
6205
|
+
break;
|
|
6206
|
+
case "select":
|
|
6207
|
+
case "status":
|
|
6208
|
+
base.type = "string";
|
|
6209
|
+
if ("options" in attr && Array.isArray(attr.options)) {
|
|
6210
|
+
base.enum = attr.options.map((opt) => opt.value);
|
|
6211
|
+
}
|
|
6212
|
+
break;
|
|
6213
|
+
case "multiselect":
|
|
6214
|
+
base.type = "array";
|
|
6215
|
+
if ("options" in attr && Array.isArray(attr.options)) {
|
|
6216
|
+
base.items = {
|
|
6217
|
+
type: "string",
|
|
6218
|
+
enum: attr.options.map((opt) => opt.value)
|
|
6219
|
+
};
|
|
6220
|
+
}
|
|
6221
|
+
break;
|
|
6222
|
+
case "file":
|
|
6223
|
+
if ("multiple" in attr && attr.multiple) {
|
|
6224
|
+
base.type = "array";
|
|
6225
|
+
base.items = { type: "string", format: "uuid" };
|
|
6226
|
+
} else {
|
|
6227
|
+
base.type = "string";
|
|
6228
|
+
base.format = "uuid";
|
|
6229
|
+
}
|
|
6230
|
+
break;
|
|
6231
|
+
case "user":
|
|
6232
|
+
if ("multiple" in attr && attr.multiple) {
|
|
6233
|
+
base.type = "array";
|
|
6234
|
+
base.items = { type: "string", format: "uuid" };
|
|
6235
|
+
} else {
|
|
6236
|
+
base.type = "string";
|
|
6237
|
+
base.format = "uuid";
|
|
6238
|
+
}
|
|
6239
|
+
break;
|
|
6240
|
+
case "relation":
|
|
6241
|
+
if ("cardinality" in attr && attr.cardinality === "many") {
|
|
6242
|
+
base.type = "array";
|
|
6243
|
+
if ("targets" in attr && Array.isArray(attr.targets) && attr.targets.length > 0) {
|
|
6244
|
+
base.description ?? (base.description = `References to ${attr.targets[0].object}`);
|
|
6245
|
+
}
|
|
6246
|
+
base.items = { type: "string", format: "uuid" };
|
|
6247
|
+
} else {
|
|
6248
|
+
base.type = "string";
|
|
6249
|
+
base.format = "uuid";
|
|
6250
|
+
if ("targets" in attr && Array.isArray(attr.targets) && attr.targets.length > 0) {
|
|
6251
|
+
base.description ?? (base.description = `Reference to ${attr.targets[0].object}`);
|
|
6252
|
+
}
|
|
6253
|
+
}
|
|
6254
|
+
break;
|
|
6255
|
+
case "location":
|
|
6256
|
+
base.type = "object";
|
|
6257
|
+
break;
|
|
6258
|
+
case "formula":
|
|
6259
|
+
case "rollup":
|
|
6260
|
+
base.type = "string";
|
|
6261
|
+
if ("returnType" in attr) {
|
|
6262
|
+
switch (attr.returnType) {
|
|
6263
|
+
case "number":
|
|
6264
|
+
base.type = "number";
|
|
6265
|
+
break;
|
|
6266
|
+
case "boolean":
|
|
6267
|
+
base.type = "boolean";
|
|
6268
|
+
break;
|
|
6269
|
+
case "date":
|
|
6270
|
+
base.type = "string";
|
|
6271
|
+
base.format = "date-time";
|
|
6272
|
+
break;
|
|
6273
|
+
}
|
|
6274
|
+
}
|
|
6275
|
+
break;
|
|
6276
|
+
case "document":
|
|
6277
|
+
if ("multiple" in attr && attr.multiple) {
|
|
6278
|
+
base.type = "array";
|
|
6279
|
+
base.items = { type: "string", format: "uuid" };
|
|
6280
|
+
} else {
|
|
6281
|
+
base.type = "string";
|
|
6282
|
+
base.format = "uuid";
|
|
6283
|
+
}
|
|
6284
|
+
break;
|
|
6285
|
+
default:
|
|
6286
|
+
base.type = "string";
|
|
6287
|
+
}
|
|
6288
|
+
return base;
|
|
6289
|
+
}
|
|
6290
|
+
function objectValidatorToJSONSchema(objectDef) {
|
|
6291
|
+
const validator = chunk2TEWGEUI_js.createObjectValidator(objectDef);
|
|
6292
|
+
return z3.z.toJSONSchema(validator);
|
|
6293
|
+
}
|
|
6231
6294
|
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6250
|
-
|
|
6251
|
-
|
|
6252
|
-
|
|
6253
|
-
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
|
|
6260
|
-
|
|
6261
|
-
|
|
6262
|
-
|
|
6263
|
-
|
|
6264
|
-
|
|
6265
|
-
|
|
6266
|
-
|
|
6267
|
-
|
|
6268
|
-
|
|
6269
|
-
|
|
6270
|
-
|
|
6271
|
-
|
|
6272
|
-
|
|
6273
|
-
|
|
6274
|
-
|
|
6275
|
-
|
|
6276
|
-
|
|
6277
|
-
|
|
6278
|
-
|
|
6279
|
-
|
|
6280
|
-
|
|
6281
|
-
|
|
6282
|
-
|
|
6283
|
-
|
|
6284
|
-
|
|
6285
|
-
|
|
6286
|
-
|
|
6287
|
-
|
|
6288
|
-
|
|
6289
|
-
|
|
6290
|
-
|
|
6291
|
-
|
|
6292
|
-
|
|
6293
|
-
|
|
6294
|
-
|
|
6295
|
-
|
|
6296
|
-
|
|
6297
|
-
|
|
6298
|
-
|
|
6299
|
-
|
|
6300
|
-
|
|
6301
|
-
|
|
6302
|
-
|
|
6303
|
-
|
|
6304
|
-
|
|
6305
|
-
|
|
6306
|
-
|
|
6307
|
-
|
|
6308
|
-
|
|
6309
|
-
|
|
6310
|
-
|
|
6311
|
-
|
|
6312
|
-
|
|
6313
|
-
|
|
6314
|
-
|
|
6315
|
-
|
|
6316
|
-
|
|
6317
|
-
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
|
|
6328
|
-
|
|
6329
|
-
|
|
6330
|
-
|
|
6331
|
-
|
|
6332
|
-
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
|
|
6348
|
-
|
|
6349
|
-
|
|
6350
|
-
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6368
|
-
|
|
6369
|
-
|
|
6370
|
-
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6382
|
-
|
|
6383
|
-
|
|
6384
|
-
|
|
6385
|
-
|
|
6386
|
-
|
|
6387
|
-
|
|
6388
|
-
|
|
6389
|
-
|
|
6390
|
-
|
|
6391
|
-
|
|
6392
|
-
|
|
6393
|
-
|
|
6394
|
-
|
|
6395
|
-
|
|
6396
|
-
|
|
6397
|
-
|
|
6398
|
-
|
|
6399
|
-
|
|
6400
|
-
|
|
6401
|
-
|
|
6402
|
-
|
|
6403
|
-
|
|
6404
|
-
|
|
6405
|
-
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
|
|
6409
|
-
|
|
6410
|
-
|
|
6411
|
-
|
|
6412
|
-
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
|
|
6416
|
-
|
|
6417
|
-
|
|
6418
|
-
|
|
6419
|
-
|
|
6420
|
-
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
|
|
6431
|
-
|
|
6432
|
-
|
|
6433
|
-
|
|
6434
|
-
|
|
6435
|
-
|
|
6436
|
-
|
|
6437
|
-
|
|
6438
|
-
|
|
6439
|
-
|
|
6440
|
-
|
|
6441
|
-
|
|
6442
|
-
|
|
6443
|
-
|
|
6444
|
-
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
|
|
6449
|
-
|
|
6450
|
-
|
|
6451
|
-
|
|
6452
|
-
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
|
|
6459
|
-
|
|
6460
|
-
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
|
|
6473
|
-
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6480
|
-
|
|
6481
|
-
|
|
6482
|
-
|
|
6483
|
-
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6490
|
-
|
|
6491
|
-
|
|
6492
|
-
|
|
6493
|
-
|
|
6494
|
-
|
|
6495
|
-
|
|
6496
|
-
|
|
6497
|
-
|
|
6498
|
-
|
|
6499
|
-
|
|
6500
|
-
|
|
6501
|
-
|
|
6502
|
-
|
|
6503
|
-
|
|
6504
|
-
|
|
6505
|
-
|
|
6506
|
-
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6513
|
-
|
|
6514
|
-
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
|
|
6520
|
-
|
|
6521
|
-
|
|
6522
|
-
|
|
6523
|
-
|
|
6524
|
-
|
|
6525
|
-
|
|
6526
|
-
|
|
6527
|
-
|
|
6528
|
-
|
|
6529
|
-
|
|
6530
|
-
|
|
6531
|
-
|
|
6532
|
-
|
|
6533
|
-
|
|
6534
|
-
|
|
6535
|
-
|
|
6536
|
-
|
|
6537
|
-
|
|
6538
|
-
|
|
6539
|
-
|
|
6540
|
-
|
|
6541
|
-
|
|
6542
|
-
|
|
6543
|
-
|
|
6544
|
-
|
|
6545
|
-
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
exports.AINodeSchema = AINodeSchema; exports.ALL_ACTIONS = ALL_ACTIONS; exports.ALL_SYSTEM_RESOURCES = ALL_SYSTEM_RESOURCES; exports.ActivityTabConfig = ActivityTabConfig; exports.AssignNodeSchema = AssignNodeSchema; exports.AssignmentMappingSchema = AssignmentMappingSchema; exports.AssignmentSourceSchema = AssignmentSourceSchema; exports.AttributeInUseError = AttributeInUseError; exports.AttributeNotFoundError = AttributeNotFoundError; exports.AuthMethodSchema = AuthMethodSchema; exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES; exports.ConcurrentModificationError = ConcurrentModificationError; exports.ConditionGroupSchema = ConditionGroupSchema; exports.ConditionNodeSchema = ConditionNodeSchema; exports.ConditionOperatorSchema = ConditionOperatorSchema; exports.ConditionRuleSchema = ConditionRuleSchema; exports.CreateShareInputSchema = CreateShareInputSchema; exports.CustomTabConfig = CustomTabConfig; exports.DEFAULT_LABEL_FALLBACK = DEFAULT_LABEL_FALLBACK; exports.DEFAULT_RETENTION_POLICY = DEFAULT_RETENTION_POLICY; exports.DEFAULT_ROLES = DEFAULT_ROLES; exports.DEFAULT_ROLE_DESCRIPTIONS = DEFAULT_ROLE_DESCRIPTIONS; exports.DEFAULT_ROLE_FOR_NEW_USERS = DEFAULT_ROLE_FOR_NEW_USERS; exports.DEFAULT_ROLE_LABELS = DEFAULT_ROLE_LABELS; exports.DEFAULT_ROLE_PERMISSIONS = DEFAULT_ROLE_PERMISSIONS; exports.DEFAULT_THEME = DEFAULT_THEME; exports.DEFAULT_VALIDATION_MESSAGES = _chunk7QUI6TSOjs.DEFAULT_VALIDATION_MESSAGES; exports.DetailViewBuilder = DetailViewBuilder; exports.DocumentsTabConfig = DocumentsTabConfig; exports.DuplicateError = DuplicateError; exports.EMPTY_VALUE_PLACEHOLDER = EMPTY_VALUE_PLACEHOLDER; exports.EndNodeSchema = EndNodeSchema; exports.FORBIDDEN_PROPERTY_TYPES = FORBIDDEN_PROPERTY_TYPES; exports.FileNotFoundError = FileNotFoundError; exports.FlagRegistry = FlagRegistry; exports.FlagService = FlagService; exports.FlowRowFieldSchema = FlowRowFieldSchema; exports.FlowRowSchema = FlowRowSchema; exports.FlowsTabConfig = FlowsTabConfig; exports.ForbiddenError = ForbiddenError; exports.FormFieldRefSchema = FormFieldRefSchema; exports.FormNodeSchema = FormNodeSchema; exports.GroupBuilder = GroupBuilder; exports.IDENTITY_PROPERTIES = IDENTITY_PROPERTIES; exports.ListViewBuilder = ListViewBuilder; exports.ListViewTabConfigBuilder = ListViewTabConfigBuilder; exports.NON_SORTABLE_TYPES = NON_SORTABLE_TYPES; exports.NO_VALUE_OPERATORS = NO_VALUE_OPERATORS; exports.NodePositionSchema = NodePositionSchema; exports.NoopGeocodingAdapter = NoopGeocodingAdapter; exports.NotFoundError = NotFoundError; exports.NotSystemObjectError = NotSystemObjectError; exports.OPERATORS_BY_TYPE = OPERATORS_BY_TYPE; exports.ObjectBuilder = ObjectBuilder; exports.ObjectNotFoundError = ObjectNotFoundError; exports.ObjectReferencedError = ObjectReferencedError; exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES; exports.PolicyViolationError = PolicyViolationError; exports.ProtectedResourceError = ProtectedResourceError; exports.ProtectedRoleError = ProtectedRoleError; exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY; exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES; exports.RecordNotFoundError = RecordNotFoundError; exports.RecordReferencedError = RecordReferencedError; exports.RelationGroupBuilder = RelationGroupBuilder; exports.RichtextTabConfig = RichtextTabConfig; exports.RoleNotFoundError = RoleNotFoundError; exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES; exports.SYSTEM_FIELD_NAMES = SYSTEM_FIELD_NAMES; exports.SYSTEM_RESOURCES = SYSTEM_RESOURCES; exports.SYSTEM_RESOURCE_LABELS = SYSTEM_RESOURCE_LABELS; exports.SchemaError = SchemaError; exports.SchemaErrorCode = SchemaErrorCode; exports.ShareStatusSchema = ShareStatusSchema; exports.SlotModeSchema = SlotModeSchema; exports.StartNodeSchema = StartNodeSchema; exports.SyncError = SyncError; exports.TabBuilder = TabBuilder; exports.TableTabConfig = TableTabConfig; exports.ThemeColorsSchema = ThemeColorsSchema; exports.ThemeLogoSchema = ThemeLogoSchema; exports.USER_STATUSES = USER_STATUSES; exports.UserProfileNotFoundError = UserProfileNotFoundError; exports.ValidationError = ValidationError; exports.ViewBuilder = ViewBuilder; exports.ViewportSchema = ViewportSchema; exports.WorkflowAIBuilder = WorkflowAIBuilder; exports.WorkflowAssignBuilder = WorkflowAssignBuilder; exports.WorkflowBuilder = WorkflowBuilder; exports.WorkflowConditionBuilder = WorkflowConditionBuilder; exports.WorkflowConfigSchema = WorkflowConfigSchema; exports.WorkflowDefinitionSchema = WorkflowDefinitionSchema; exports.WorkflowEndBuilder = WorkflowEndBuilder; exports.WorkflowFormBuilder = WorkflowFormBuilder; exports.WorkflowFormRowBuilder = WorkflowFormRowBuilder; exports.WorkflowLayoutSchema = WorkflowLayoutSchema; exports.WorkflowNodeSchema = WorkflowNodeSchema; exports.WorkflowShareSchema = WorkflowShareSchema; exports.WorkflowSimpleFormBuilder = WorkflowSimpleFormBuilder; exports.WorkflowSlotSchema = WorkflowSlotSchema; exports.WorkflowStartBuilder = WorkflowStartBuilder; exports.WorkflowStatusSchema = WorkflowStatusSchema; exports.WorkflowThemeSchema = WorkflowThemeSchema; exports.ZONE_CONFIG = ZONE_CONFIG; exports.ZONE_ORDER = ZONE_ORDER; exports.accessLevelToActions = accessLevelToActions; exports.actionsToAccessLevel = actionsToAccessLevel; exports.and = and; exports.applyRelationProps = applyRelationProps; exports.asTenantId = _chunkE6XO2STSjs.asTenantId; exports.asUserId = _chunkE6XO2STSjs.asUserId; exports.assignNodeZones = assignNodeZones; exports.attributeConfigSchemas = _chunk7QUI6TSOjs.attributeConfigSchemas; exports.booleanFlag = booleanFlag; exports.canAccessNode = canAccessNode; exports.canResumeInstance = canResumeInstance; exports.checkbox = checkbox; exports.checkboxConfigSchema = _chunk7QUI6TSOjs.checkboxConfigSchema; exports.computeRecordStatus = _chunk7QUI6TSOjs.computeRecordStatus; exports.createAttributeValidator = _chunk7QUI6TSOjs.createAttributeValidator; exports.createCheckboxValidator = _chunk7QUI6TSOjs.createCheckboxValidator; exports.createCurrencyValidator = _chunk7QUI6TSOjs.createCurrencyValidator; exports.createDateValidator = _chunk7QUI6TSOjs.createDateValidator; exports.createDraftValidator = _chunk7QUI6TSOjs.createDraftValidator; exports.createEmptyContext = createEmptyContext; exports.createFileValidator = _chunk7QUI6TSOjs.createFileValidator; exports.createFlagRegistry = createFlagRegistry; exports.createFlagService = createFlagService; exports.createFormAttributeValidator = _chunk7QUI6TSOjs.createFormAttributeValidator; exports.createFormulaValidator = _chunk7QUI6TSOjs.createFormulaValidator; exports.createLocationValidator = _chunk7QUI6TSOjs.createLocationValidator; exports.createMultiRelationValidator = _chunk7QUI6TSOjs.createMultiRelationValidator; exports.createMultiselectValidator = _chunk7QUI6TSOjs.createMultiselectValidator; exports.createNumberValidator = _chunk7QUI6TSOjs.createNumberValidator; exports.createObjectValidator = _chunk7QUI6TSOjs.createObjectValidator; exports.createPhoneValidator = _chunk7QUI6TSOjs.createPhoneValidator; exports.createRatingValidator = _chunk7QUI6TSOjs.createRatingValidator; exports.createRelationValidator = _chunk7QUI6TSOjs.createRelationValidator; exports.createRichtextValidator = _chunk7QUI6TSOjs.createRichtextValidator; exports.createRollupValidator = _chunk7QUI6TSOjs.createRollupValidator; exports.createSelectValidator = _chunk7QUI6TSOjs.createSelectValidator; exports.createSingleRelationValidator = _chunk7QUI6TSOjs.createSingleRelationValidator; exports.createStartTransition = createStartTransition; exports.createStatusValidator = _chunk7QUI6TSOjs.createStatusValidator; exports.createTextAreaValidator = _chunk7QUI6TSOjs.createTextAreaValidator; exports.createTextValidator = _chunk7QUI6TSOjs.createTextValidator; exports.createUserValidator = _chunk7QUI6TSOjs.createUserValidator; exports.currency = currency; exports.currencyConfigSchema = _chunk7QUI6TSOjs.currencyConfigSchema; exports.date = date; exports.dateConfigSchema = _chunk7QUI6TSOjs.dateConfigSchema; exports.deepEqual = _chunkE6XO2STSjs.deepEqual; exports.detailView = detailView; exports.document = document; exports.documentConfigSchema = _chunk7QUI6TSOjs.documentConfigSchema; exports.eq = eq; exports.extractAttributeNames = extractAttributeNames; exports.file = file; exports.fileConfigSchema = _chunk7QUI6TSOjs.fileConfigSchema; exports.flagRegistry = flagRegistry; exports.formatAttributeValue = formatAttributeValue; exports.formatPhoneForDisplay = _chunk7QUI6TSOjs.formatPhoneForDisplay; exports.formatZodErrors = _chunk7QUI6TSOjs.formatZodErrors; exports.formula = formula; exports.formulaConfigSchema = _chunk7QUI6TSOjs.formulaConfigSchema; exports.generateCssVariables = generateCssVariables; exports.generateDefaultDetailView = generateDefaultDetailView; exports.generateDefaultListView = generateDefaultListView; exports.generateFallbackView = generateFallbackView; exports.generateId = _chunkE6XO2STSjs.generateId; exports.generatePrefixedId = _chunkE6XO2STSjs.generatePrefixedId; exports.generateTemplateName = _chunkE6XO2STSjs.generateTemplateName; exports.getActiveTab = getActiveTab; exports.getAttributeConfigSchema = _chunk7QUI6TSOjs.getAttributeConfigSchema; exports.getContextValue = getContextValue; exports.getErrorMessage = getErrorMessage; exports.getFormFieldRefs = getFormFieldRefs; exports.getMissingRequiredAttributes = _chunk7QUI6TSOjs.getMissingRequiredAttributes; exports.getNodeOutputs = getNodeOutputs; exports.getNodeSlotIds = getNodeSlotIds; exports.getRollupFilterOperators = getRollupFilterOperators; exports.getSystemAttributeList = getSystemAttributeList; exports.getZoneAllowedTypes = getZoneAllowedTypes; exports.group = group; exports.groupNodesByZone = groupNodesByZone; exports.hasOptions = hasOptions; exports.hasProperties = hasProperties; exports.inValues = inValues; exports.indexBy = _chunkE6XO2STSjs.indexBy; exports.inferInverseCardinality = inferInverseCardinality; exports.isAINode = isAINode; exports.isActivityTab = isActivityTab; exports.isAdvancedFormNode = isAdvancedFormNode; exports.isAssignNode = isAssignNode; exports.isAttributeSortable = isAttributeSortable; exports.isBehaviorProperty = isBehaviorProperty; exports.isBilateralRelation = isBilateralRelation; exports.isCalendarView = isCalendarView; exports.isConditionGroup = isConditionGroup; exports.isConditionNode = isConditionNode; exports.isConditionRule = isConditionRule; exports.isCustomTab = isCustomTab; exports.isDefaultRole = isDefaultRole; exports.isDetailView = isDetailView; exports.isDocumentsTab = isDocumentsTab; exports.isEmpty = isEmpty2; exports.isEndNode = isEndNode; exports.isFieldGroup = isFieldGroup; exports.isFlowDefinition = isFlowDefinition; exports.isFlowFieldsRow = isFlowFieldsRow; exports.isFlowPublished = isFlowPublished; exports.isFlowRelationListRow = isFlowRelationListRow; exports.isFlowsTab = isFlowsTab; exports.isForbiddenError = isForbiddenError; exports.isFormFieldsRow = isFormFieldsRow; exports.isFormNode = isFormNode; exports.isFormTab = isFormTab; exports.isGalleryView = isGalleryView; exports.isGrantExpired = isGrantExpired; exports.isGrantRevoked = isGrantRevoked; exports.isGrantValid = isGrantValid; exports.isIdentityProperty = isIdentityProperty; exports.isInstanceEvent = isInstanceEvent; exports.isInstanceTerminal = isInstanceTerminal; exports.isInstanceWaiting = isInstanceWaiting; exports.isInverseSourceTab = isInverseSourceTab; exports.isInvitationAccepted = isInvitationAccepted; exports.isInvitationExpired = isInvitationExpired; exports.isInvitationOrGrantEvent = isInvitationOrGrantEvent; exports.isInvitationValid = isInvitationValid; exports.isLabelExpression = isLabelExpression; exports.isLayoutRow = isLayoutRow; exports.isListView = isListView; exports.isNoValueOperator = isNoValueOperator; exports.isNodeEvent = isNodeEvent; exports.isNotEmpty = isNotEmpty2; exports.isNotFoundError = isNotFoundError; exports.isPresentationProperty = isPresentationProperty; exports.isProtectedResourceError = isProtectedResourceError; exports.isRecordComplete = _chunk7QUI6TSOjs.isRecordComplete; exports.isRelationGroup = isRelationGroup; exports.isRelationSourceTab = isRelationSourceTab; exports.isRichtextTab = isRichtextTab; exports.isSchemaError = isSchemaError; exports.isSimpleFormNode = isSimpleFormNode; exports.isStartNode = isStartNode; exports.isSystemAttribute = isSystemAttribute; exports.isSystemAttributeObject = isSystemAttributeObject; exports.isSystemFlow = isSystemFlow; exports.isSystemWorkflow = isSystemWorkflow; exports.isTableTab = isTableTab; exports.isTimelineView = isTimelineView; exports.isTokenRevoked = isTokenRevoked; exports.isUniversalRelation = isUniversalRelation; exports.isValidationError = isValidationError; exports.isViewCustomized = isViewCustomized; exports.isWorkflowDefinition = isWorkflowDefinition; exports.isWorkflowPublished = isWorkflowPublished; exports.jsonFlag = jsonFlag; exports.listView = listView; exports.location = location; exports.locationConfigSchema = _chunk7QUI6TSOjs.locationConfigSchema; exports.mergeWithDefaults = mergeWithDefaults; exports.multiselect = multiselect; exports.multiselectConfigSchema = _chunk7QUI6TSOjs.multiselectConfigSchema; exports.neq = neq; exports.nodeTypeRegistry = nodeTypeRegistry; exports.normalizePhoneNumber = _chunk7QUI6TSOjs.normalizePhoneNumber; exports.number = number; exports.numberConfigSchema = _chunk7QUI6TSOjs.numberConfigSchema; exports.numberFlag = numberFlag; exports.object = object; exports.or = or; exports.parseAttributeConfig = _chunk7QUI6TSOjs.parseAttributeConfig; exports.parseRawPhoneInput = _chunk7QUI6TSOjs.parseRawPhoneInput; exports.phone = phone; exports.phoneConfigSchema = _chunk7QUI6TSOjs.phoneConfigSchema; exports.rating = rating; exports.ratingConfigSchema = _chunk7QUI6TSOjs.ratingConfigSchema; exports.registry = registry; exports.relation = relation; exports.relationConfigSchema = _chunk7QUI6TSOjs.relationConfigSchema; exports.relationGroup = relationGroup; exports.renderLabelExpression = renderLabelExpression; exports.resetViewToDefault = resetViewToDefault; exports.richtext = richtext; exports.richtextConfigSchema = _chunk7QUI6TSOjs.richtextConfigSchema; exports.rollup = rollup; exports.rollupConfigSchema = _chunk7QUI6TSOjs.rollupConfigSchema; exports.safeParseAttributeConfig = _chunk7QUI6TSOjs.safeParseAttributeConfig; exports.select = select; exports.selectConfigSchema = _chunk7QUI6TSOjs.selectConfigSchema; exports.setContextValue = setContextValue; exports.setNodeNext = setNodeNext; exports.slugify = _chunkE6XO2STSjs.slugify; exports.status = status; exports.statusConfigSchema = _chunk7QUI6TSOjs.statusConfigSchema; exports.stringFlag = stringFlag; exports.text = text; exports.textConfigSchema = _chunk7QUI6TSOjs.textConfigSchema; exports.textarea = textarea; exports.textareaConfigSchema = _chunk7QUI6TSOjs.textareaConfigSchema; exports.toUndefinedIfEmpty = toUndefinedIfEmpty; exports.user = user; exports.userConfigSchema = _chunk7QUI6TSOjs.userConfigSchema; exports.validateAttribute = _chunk7QUI6TSOjs.validateAttribute; exports.validateAttributeConfig = _chunk7QUI6TSOjs.validateAttributeConfig; exports.validateDraft = _chunk7QUI6TSOjs.validateDraft; exports.validateDraftOrThrow = _chunk7QUI6TSOjs.validateDraftOrThrow; exports.validateNode = validateNode; exports.validateObject = _chunk7QUI6TSOjs.validateObject; exports.validateObjectOrThrow = _chunk7QUI6TSOjs.validateObjectOrThrow; exports.validatePhoneNumber = _chunk7QUI6TSOjs.validatePhoneNumber; exports.view = view; exports.viewRegistry = viewRegistry; exports.workflow = workflow;
|
|
6295
|
+
Object.defineProperty(exports, "asTenantId", {
|
|
6296
|
+
enumerable: true,
|
|
6297
|
+
get: function () { return chunkE6XO2STS_js.asTenantId; }
|
|
6298
|
+
});
|
|
6299
|
+
Object.defineProperty(exports, "asUserId", {
|
|
6300
|
+
enumerable: true,
|
|
6301
|
+
get: function () { return chunkE6XO2STS_js.asUserId; }
|
|
6302
|
+
});
|
|
6303
|
+
Object.defineProperty(exports, "deepEqual", {
|
|
6304
|
+
enumerable: true,
|
|
6305
|
+
get: function () { return chunkE6XO2STS_js.deepEqual; }
|
|
6306
|
+
});
|
|
6307
|
+
Object.defineProperty(exports, "generateId", {
|
|
6308
|
+
enumerable: true,
|
|
6309
|
+
get: function () { return chunkE6XO2STS_js.generateId; }
|
|
6310
|
+
});
|
|
6311
|
+
Object.defineProperty(exports, "generatePrefixedId", {
|
|
6312
|
+
enumerable: true,
|
|
6313
|
+
get: function () { return chunkE6XO2STS_js.generatePrefixedId; }
|
|
6314
|
+
});
|
|
6315
|
+
Object.defineProperty(exports, "generateTemplateName", {
|
|
6316
|
+
enumerable: true,
|
|
6317
|
+
get: function () { return chunkE6XO2STS_js.generateTemplateName; }
|
|
6318
|
+
});
|
|
6319
|
+
Object.defineProperty(exports, "indexBy", {
|
|
6320
|
+
enumerable: true,
|
|
6321
|
+
get: function () { return chunkE6XO2STS_js.indexBy; }
|
|
6322
|
+
});
|
|
6323
|
+
Object.defineProperty(exports, "slugify", {
|
|
6324
|
+
enumerable: true,
|
|
6325
|
+
get: function () { return chunkE6XO2STS_js.slugify; }
|
|
6326
|
+
});
|
|
6327
|
+
Object.defineProperty(exports, "computeRecordStatus", {
|
|
6328
|
+
enumerable: true,
|
|
6329
|
+
get: function () { return chunk2TEWGEUI_js.computeRecordStatus; }
|
|
6330
|
+
});
|
|
6331
|
+
Object.defineProperty(exports, "createAttributeValidator", {
|
|
6332
|
+
enumerable: true,
|
|
6333
|
+
get: function () { return chunk2TEWGEUI_js.createAttributeValidator; }
|
|
6334
|
+
});
|
|
6335
|
+
Object.defineProperty(exports, "createDraftValidator", {
|
|
6336
|
+
enumerable: true,
|
|
6337
|
+
get: function () { return chunk2TEWGEUI_js.createDraftValidator; }
|
|
6338
|
+
});
|
|
6339
|
+
Object.defineProperty(exports, "createFormAttributeValidator", {
|
|
6340
|
+
enumerable: true,
|
|
6341
|
+
get: function () { return chunk2TEWGEUI_js.createFormAttributeValidator; }
|
|
6342
|
+
});
|
|
6343
|
+
Object.defineProperty(exports, "createObjectValidator", {
|
|
6344
|
+
enumerable: true,
|
|
6345
|
+
get: function () { return chunk2TEWGEUI_js.createObjectValidator; }
|
|
6346
|
+
});
|
|
6347
|
+
Object.defineProperty(exports, "getMissingRequiredAttributes", {
|
|
6348
|
+
enumerable: true,
|
|
6349
|
+
get: function () { return chunk2TEWGEUI_js.getMissingRequiredAttributes; }
|
|
6350
|
+
});
|
|
6351
|
+
Object.defineProperty(exports, "isRecordComplete", {
|
|
6352
|
+
enumerable: true,
|
|
6353
|
+
get: function () { return chunk2TEWGEUI_js.isRecordComplete; }
|
|
6354
|
+
});
|
|
6355
|
+
Object.defineProperty(exports, "validateAttribute", {
|
|
6356
|
+
enumerable: true,
|
|
6357
|
+
get: function () { return chunk2TEWGEUI_js.validateAttribute; }
|
|
6358
|
+
});
|
|
6359
|
+
Object.defineProperty(exports, "validateDraft", {
|
|
6360
|
+
enumerable: true,
|
|
6361
|
+
get: function () { return chunk2TEWGEUI_js.validateDraft; }
|
|
6362
|
+
});
|
|
6363
|
+
Object.defineProperty(exports, "validateDraftOrThrow", {
|
|
6364
|
+
enumerable: true,
|
|
6365
|
+
get: function () { return chunk2TEWGEUI_js.validateDraftOrThrow; }
|
|
6366
|
+
});
|
|
6367
|
+
Object.defineProperty(exports, "validateObject", {
|
|
6368
|
+
enumerable: true,
|
|
6369
|
+
get: function () { return chunk2TEWGEUI_js.validateObject; }
|
|
6370
|
+
});
|
|
6371
|
+
Object.defineProperty(exports, "validateObjectOrThrow", {
|
|
6372
|
+
enumerable: true,
|
|
6373
|
+
get: function () { return chunk2TEWGEUI_js.validateObjectOrThrow; }
|
|
6374
|
+
});
|
|
6375
|
+
Object.defineProperty(exports, "createCheckboxValidator", {
|
|
6376
|
+
enumerable: true,
|
|
6377
|
+
get: function () { return chunkXK6XC3V4_js.createCheckboxValidator; }
|
|
6378
|
+
});
|
|
6379
|
+
Object.defineProperty(exports, "createDateValidator", {
|
|
6380
|
+
enumerable: true,
|
|
6381
|
+
get: function () { return chunkVD3P2A6Q_js.createDateValidator; }
|
|
6382
|
+
});
|
|
6383
|
+
Object.defineProperty(exports, "createNumberValidator", {
|
|
6384
|
+
enumerable: true,
|
|
6385
|
+
get: function () { return chunkXZ5B5MTG_js.createNumberValidator; }
|
|
6386
|
+
});
|
|
6387
|
+
Object.defineProperty(exports, "createRatingValidator", {
|
|
6388
|
+
enumerable: true,
|
|
6389
|
+
get: function () { return chunkN47XKY4R_js.createRatingValidator; }
|
|
6390
|
+
});
|
|
6391
|
+
Object.defineProperty(exports, "createTextAreaValidator", {
|
|
6392
|
+
enumerable: true,
|
|
6393
|
+
get: function () { return chunkLHXE7LLD_js.createTextAreaValidator; }
|
|
6394
|
+
});
|
|
6395
|
+
Object.defineProperty(exports, "createTextValidator", {
|
|
6396
|
+
enumerable: true,
|
|
6397
|
+
get: function () { return chunkLHXE7LLD_js.createTextValidator; }
|
|
6398
|
+
});
|
|
6399
|
+
Object.defineProperty(exports, "createMultiRelationValidator", {
|
|
6400
|
+
enumerable: true,
|
|
6401
|
+
get: function () { return chunk6HHSX6LP_js.createMultiRelationValidator; }
|
|
6402
|
+
});
|
|
6403
|
+
Object.defineProperty(exports, "createRelationValidator", {
|
|
6404
|
+
enumerable: true,
|
|
6405
|
+
get: function () { return chunk6HHSX6LP_js.createRelationValidator; }
|
|
6406
|
+
});
|
|
6407
|
+
Object.defineProperty(exports, "createSingleRelationValidator", {
|
|
6408
|
+
enumerable: true,
|
|
6409
|
+
get: function () { return chunk6HHSX6LP_js.createSingleRelationValidator; }
|
|
6410
|
+
});
|
|
6411
|
+
Object.defineProperty(exports, "createRichtextValidator", {
|
|
6412
|
+
enumerable: true,
|
|
6413
|
+
get: function () { return chunkS5VJ2FZE_js.createRichtextValidator; }
|
|
6414
|
+
});
|
|
6415
|
+
Object.defineProperty(exports, "createMultiselectValidator", {
|
|
6416
|
+
enumerable: true,
|
|
6417
|
+
get: function () { return chunkKC4F3HB7_js.createMultiselectValidator; }
|
|
6418
|
+
});
|
|
6419
|
+
Object.defineProperty(exports, "createSelectValidator", {
|
|
6420
|
+
enumerable: true,
|
|
6421
|
+
get: function () { return chunkKC4F3HB7_js.createSelectValidator; }
|
|
6422
|
+
});
|
|
6423
|
+
Object.defineProperty(exports, "createStatusValidator", {
|
|
6424
|
+
enumerable: true,
|
|
6425
|
+
get: function () { return chunkKC4F3HB7_js.createStatusValidator; }
|
|
6426
|
+
});
|
|
6427
|
+
Object.defineProperty(exports, "createUserValidator", {
|
|
6428
|
+
enumerable: true,
|
|
6429
|
+
get: function () { return chunkCKZHFJQT_js.createUserValidator; }
|
|
6430
|
+
});
|
|
6431
|
+
Object.defineProperty(exports, "createFormulaValidator", {
|
|
6432
|
+
enumerable: true,
|
|
6433
|
+
get: function () { return chunkJ4ORNCAH_js.createFormulaValidator; }
|
|
6434
|
+
});
|
|
6435
|
+
Object.defineProperty(exports, "createRollupValidator", {
|
|
6436
|
+
enumerable: true,
|
|
6437
|
+
get: function () { return chunkYKHC2AW6_js.createRollupValidator; }
|
|
6438
|
+
});
|
|
6439
|
+
Object.defineProperty(exports, "attributeConfigSchemas", {
|
|
6440
|
+
enumerable: true,
|
|
6441
|
+
get: function () { return chunkIMEPIVTR_js.attributeConfigSchemas; }
|
|
6442
|
+
});
|
|
6443
|
+
Object.defineProperty(exports, "checkboxConfigSchema", {
|
|
6444
|
+
enumerable: true,
|
|
6445
|
+
get: function () { return chunkIMEPIVTR_js.checkboxConfigSchema; }
|
|
6446
|
+
});
|
|
6447
|
+
Object.defineProperty(exports, "currencyConfigSchema", {
|
|
6448
|
+
enumerable: true,
|
|
6449
|
+
get: function () { return chunkIMEPIVTR_js.currencyConfigSchema; }
|
|
6450
|
+
});
|
|
6451
|
+
Object.defineProperty(exports, "dateConfigSchema", {
|
|
6452
|
+
enumerable: true,
|
|
6453
|
+
get: function () { return chunkIMEPIVTR_js.dateConfigSchema; }
|
|
6454
|
+
});
|
|
6455
|
+
Object.defineProperty(exports, "documentConfigSchema", {
|
|
6456
|
+
enumerable: true,
|
|
6457
|
+
get: function () { return chunkIMEPIVTR_js.documentConfigSchema; }
|
|
6458
|
+
});
|
|
6459
|
+
Object.defineProperty(exports, "fileConfigSchema", {
|
|
6460
|
+
enumerable: true,
|
|
6461
|
+
get: function () { return chunkIMEPIVTR_js.fileConfigSchema; }
|
|
6462
|
+
});
|
|
6463
|
+
Object.defineProperty(exports, "formulaConfigSchema", {
|
|
6464
|
+
enumerable: true,
|
|
6465
|
+
get: function () { return chunkIMEPIVTR_js.formulaConfigSchema; }
|
|
6466
|
+
});
|
|
6467
|
+
Object.defineProperty(exports, "getAttributeConfigSchema", {
|
|
6468
|
+
enumerable: true,
|
|
6469
|
+
get: function () { return chunkIMEPIVTR_js.getAttributeConfigSchema; }
|
|
6470
|
+
});
|
|
6471
|
+
Object.defineProperty(exports, "locationConfigSchema", {
|
|
6472
|
+
enumerable: true,
|
|
6473
|
+
get: function () { return chunkIMEPIVTR_js.locationConfigSchema; }
|
|
6474
|
+
});
|
|
6475
|
+
Object.defineProperty(exports, "multiselectConfigSchema", {
|
|
6476
|
+
enumerable: true,
|
|
6477
|
+
get: function () { return chunkIMEPIVTR_js.multiselectConfigSchema; }
|
|
6478
|
+
});
|
|
6479
|
+
Object.defineProperty(exports, "numberConfigSchema", {
|
|
6480
|
+
enumerable: true,
|
|
6481
|
+
get: function () { return chunkIMEPIVTR_js.numberConfigSchema; }
|
|
6482
|
+
});
|
|
6483
|
+
Object.defineProperty(exports, "parseAttributeConfig", {
|
|
6484
|
+
enumerable: true,
|
|
6485
|
+
get: function () { return chunkIMEPIVTR_js.parseAttributeConfig; }
|
|
6486
|
+
});
|
|
6487
|
+
Object.defineProperty(exports, "phoneConfigSchema", {
|
|
6488
|
+
enumerable: true,
|
|
6489
|
+
get: function () { return chunkIMEPIVTR_js.phoneConfigSchema; }
|
|
6490
|
+
});
|
|
6491
|
+
Object.defineProperty(exports, "ratingConfigSchema", {
|
|
6492
|
+
enumerable: true,
|
|
6493
|
+
get: function () { return chunkIMEPIVTR_js.ratingConfigSchema; }
|
|
6494
|
+
});
|
|
6495
|
+
Object.defineProperty(exports, "relationConfigSchema", {
|
|
6496
|
+
enumerable: true,
|
|
6497
|
+
get: function () { return chunkIMEPIVTR_js.relationConfigSchema; }
|
|
6498
|
+
});
|
|
6499
|
+
Object.defineProperty(exports, "richtextConfigSchema", {
|
|
6500
|
+
enumerable: true,
|
|
6501
|
+
get: function () { return chunkIMEPIVTR_js.richtextConfigSchema; }
|
|
6502
|
+
});
|
|
6503
|
+
Object.defineProperty(exports, "rollupConfigSchema", {
|
|
6504
|
+
enumerable: true,
|
|
6505
|
+
get: function () { return chunkIMEPIVTR_js.rollupConfigSchema; }
|
|
6506
|
+
});
|
|
6507
|
+
Object.defineProperty(exports, "safeParseAttributeConfig", {
|
|
6508
|
+
enumerable: true,
|
|
6509
|
+
get: function () { return chunkIMEPIVTR_js.safeParseAttributeConfig; }
|
|
6510
|
+
});
|
|
6511
|
+
Object.defineProperty(exports, "selectConfigSchema", {
|
|
6512
|
+
enumerable: true,
|
|
6513
|
+
get: function () { return chunkIMEPIVTR_js.selectConfigSchema; }
|
|
6514
|
+
});
|
|
6515
|
+
Object.defineProperty(exports, "statusConfigSchema", {
|
|
6516
|
+
enumerable: true,
|
|
6517
|
+
get: function () { return chunkIMEPIVTR_js.statusConfigSchema; }
|
|
6518
|
+
});
|
|
6519
|
+
Object.defineProperty(exports, "textConfigSchema", {
|
|
6520
|
+
enumerable: true,
|
|
6521
|
+
get: function () { return chunkIMEPIVTR_js.textConfigSchema; }
|
|
6522
|
+
});
|
|
6523
|
+
Object.defineProperty(exports, "textareaConfigSchema", {
|
|
6524
|
+
enumerable: true,
|
|
6525
|
+
get: function () { return chunkIMEPIVTR_js.textareaConfigSchema; }
|
|
6526
|
+
});
|
|
6527
|
+
Object.defineProperty(exports, "userConfigSchema", {
|
|
6528
|
+
enumerable: true,
|
|
6529
|
+
get: function () { return chunkIMEPIVTR_js.userConfigSchema; }
|
|
6530
|
+
});
|
|
6531
|
+
Object.defineProperty(exports, "validateAttributeConfig", {
|
|
6532
|
+
enumerable: true,
|
|
6533
|
+
get: function () { return chunkIMEPIVTR_js.validateAttributeConfig; }
|
|
6534
|
+
});
|
|
6535
|
+
Object.defineProperty(exports, "createCurrencyValidator", {
|
|
6536
|
+
enumerable: true,
|
|
6537
|
+
get: function () { return chunkQY65ZSBL_js.createCurrencyValidator; }
|
|
6538
|
+
});
|
|
6539
|
+
Object.defineProperty(exports, "createFileValidator", {
|
|
6540
|
+
enumerable: true,
|
|
6541
|
+
get: function () { return chunkZ2T7ONKU_js.createFileValidator; }
|
|
6542
|
+
});
|
|
6543
|
+
Object.defineProperty(exports, "createLocationValidator", {
|
|
6544
|
+
enumerable: true,
|
|
6545
|
+
get: function () { return chunkBH3RPSC5_js.createLocationValidator; }
|
|
6546
|
+
});
|
|
6547
|
+
Object.defineProperty(exports, "createPhoneValidator", {
|
|
6548
|
+
enumerable: true,
|
|
6549
|
+
get: function () { return chunkAHPXNPJC_js.createPhoneValidator; }
|
|
6550
|
+
});
|
|
6551
|
+
Object.defineProperty(exports, "formatPhoneForDisplay", {
|
|
6552
|
+
enumerable: true,
|
|
6553
|
+
get: function () { return chunkAHPXNPJC_js.formatPhoneForDisplay; }
|
|
6554
|
+
});
|
|
6555
|
+
Object.defineProperty(exports, "normalizePhoneNumber", {
|
|
6556
|
+
enumerable: true,
|
|
6557
|
+
get: function () { return chunkAHPXNPJC_js.normalizePhoneNumber; }
|
|
6558
|
+
});
|
|
6559
|
+
Object.defineProperty(exports, "parseRawPhoneInput", {
|
|
6560
|
+
enumerable: true,
|
|
6561
|
+
get: function () { return chunkAHPXNPJC_js.parseRawPhoneInput; }
|
|
6562
|
+
});
|
|
6563
|
+
Object.defineProperty(exports, "validatePhoneNumber", {
|
|
6564
|
+
enumerable: true,
|
|
6565
|
+
get: function () { return chunkAHPXNPJC_js.validatePhoneNumber; }
|
|
6566
|
+
});
|
|
6567
|
+
Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
|
|
6568
|
+
enumerable: true,
|
|
6569
|
+
get: function () { return chunkVCPYYLCS_js.DEFAULT_VALIDATION_MESSAGES; }
|
|
6570
|
+
});
|
|
6571
|
+
Object.defineProperty(exports, "createRegexCache", {
|
|
6572
|
+
enumerable: true,
|
|
6573
|
+
get: function () { return chunkVCPYYLCS_js.createRegexCache; }
|
|
6574
|
+
});
|
|
6575
|
+
Object.defineProperty(exports, "getCachedRegex", {
|
|
6576
|
+
enumerable: true,
|
|
6577
|
+
get: function () { return chunkVCPYYLCS_js.getCachedRegex; }
|
|
6578
|
+
});
|
|
6579
|
+
Object.defineProperty(exports, "formatZodErrors", {
|
|
6580
|
+
enumerable: true,
|
|
6581
|
+
get: function () { return chunkBEN6TE7Y_js.formatZodErrors; }
|
|
6582
|
+
});
|
|
6583
|
+
exports.ALL_ACTIONS = ALL_ACTIONS;
|
|
6584
|
+
exports.ALL_PIPES = ALL_PIPES;
|
|
6585
|
+
exports.ALL_SYSTEM_RESOURCES = ALL_SYSTEM_RESOURCES;
|
|
6586
|
+
exports.AccessDeniedError = AccessDeniedError;
|
|
6587
|
+
exports.ActivityTabConfig = ActivityTabConfig;
|
|
6588
|
+
exports.AttributeInUseError = AttributeInUseError;
|
|
6589
|
+
exports.AttributeNotFoundError = AttributeNotFoundError;
|
|
6590
|
+
exports.AuthMethodSchema = AuthMethodSchema;
|
|
6591
|
+
exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES;
|
|
6592
|
+
exports.ConcurrentModificationError = ConcurrentModificationError;
|
|
6593
|
+
exports.ConditionGroupSchema = ConditionGroupSchema;
|
|
6594
|
+
exports.ConditionNodeSchema = ConditionNodeSchema;
|
|
6595
|
+
exports.ConditionOperatorSchema = ConditionOperatorSchema;
|
|
6596
|
+
exports.ConditionRuleSchema = ConditionRuleSchema;
|
|
6597
|
+
exports.CreateShareInputSchema = CreateShareInputSchema;
|
|
6598
|
+
exports.CustomTabConfig = CustomTabConfig;
|
|
6599
|
+
exports.DEFAULT_LABEL_FALLBACK = DEFAULT_LABEL_FALLBACK;
|
|
6600
|
+
exports.DEFAULT_RETENTION_POLICY = DEFAULT_RETENTION_POLICY;
|
|
6601
|
+
exports.DEFAULT_ROLES = DEFAULT_ROLES;
|
|
6602
|
+
exports.DEFAULT_ROLE_DESCRIPTIONS = DEFAULT_ROLE_DESCRIPTIONS;
|
|
6603
|
+
exports.DEFAULT_ROLE_FOR_NEW_USERS = DEFAULT_ROLE_FOR_NEW_USERS;
|
|
6604
|
+
exports.DEFAULT_ROLE_LABELS = DEFAULT_ROLE_LABELS;
|
|
6605
|
+
exports.DEFAULT_ROLE_PERMISSIONS = DEFAULT_ROLE_PERMISSIONS;
|
|
6606
|
+
exports.DEFAULT_THEME = DEFAULT_THEME;
|
|
6607
|
+
exports.DetailViewBuilder = DetailViewBuilder;
|
|
6608
|
+
exports.DocumentsTabConfig = DocumentsTabConfig;
|
|
6609
|
+
exports.DuplicateError = DuplicateError;
|
|
6610
|
+
exports.EMPTY_VALUE_PLACEHOLDER = EMPTY_VALUE_PLACEHOLDER;
|
|
6611
|
+
exports.EndNodeSchema = EndNodeSchema;
|
|
6612
|
+
exports.FORBIDDEN_PROPERTY_TYPES = FORBIDDEN_PROPERTY_TYPES;
|
|
6613
|
+
exports.FileNotFoundError = FileNotFoundError;
|
|
6614
|
+
exports.FlagRegistry = FlagRegistry;
|
|
6615
|
+
exports.FlagService = FlagService;
|
|
6616
|
+
exports.FlowRowFieldSchema = FlowRowFieldSchema;
|
|
6617
|
+
exports.FlowRowSchema = FlowRowSchema;
|
|
6618
|
+
exports.FlowsTabConfig = FlowsTabConfig;
|
|
6619
|
+
exports.ForbiddenError = ForbiddenError;
|
|
6620
|
+
exports.FormFieldRefSchema = FormFieldRefSchema;
|
|
6621
|
+
exports.FormNodeSchema = FormNodeSchema;
|
|
6622
|
+
exports.GroupBuilder = GroupBuilder;
|
|
6623
|
+
exports.IDENTITY_PROPERTIES = IDENTITY_PROPERTIES;
|
|
6624
|
+
exports.ListViewBuilder = ListViewBuilder;
|
|
6625
|
+
exports.ListViewTabConfigBuilder = ListViewTabConfigBuilder;
|
|
6626
|
+
exports.MemoryNotFoundError = MemoryNotFoundError;
|
|
6627
|
+
exports.NON_SORTABLE_TYPES = NON_SORTABLE_TYPES;
|
|
6628
|
+
exports.NO_VALUE_OPERATORS = NO_VALUE_OPERATORS;
|
|
6629
|
+
exports.NodePositionSchema = NodePositionSchema;
|
|
6630
|
+
exports.NoopGeocodingAdapter = NoopGeocodingAdapter;
|
|
6631
|
+
exports.NotFoundError = NotFoundError;
|
|
6632
|
+
exports.NotImplementedError = NotImplementedError;
|
|
6633
|
+
exports.NotSystemObjectError = NotSystemObjectError;
|
|
6634
|
+
exports.OPERATORS_BY_TYPE = OPERATORS_BY_TYPE;
|
|
6635
|
+
exports.ObjectBuilder = ObjectBuilder;
|
|
6636
|
+
exports.ObjectNotFoundError = ObjectNotFoundError;
|
|
6637
|
+
exports.ObjectReferencedError = ObjectReferencedError;
|
|
6638
|
+
exports.PIPES_WITH_ARGS = PIPES_WITH_ARGS;
|
|
6639
|
+
exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES;
|
|
6640
|
+
exports.PolicyViolationError = PolicyViolationError;
|
|
6641
|
+
exports.ProtectedResourceError = ProtectedResourceError;
|
|
6642
|
+
exports.ProtectedRoleError = ProtectedRoleError;
|
|
6643
|
+
exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY;
|
|
6644
|
+
exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES;
|
|
6645
|
+
exports.RecordNotFoundError = RecordNotFoundError;
|
|
6646
|
+
exports.RecordReferencedError = RecordReferencedError;
|
|
6647
|
+
exports.RelationGroupBuilder = RelationGroupBuilder;
|
|
6648
|
+
exports.RepositoryError = RepositoryError;
|
|
6649
|
+
exports.RichtextTabConfig = RichtextTabConfig;
|
|
6650
|
+
exports.RoleNotFoundError = RoleNotFoundError;
|
|
6651
|
+
exports.SIMPLE_PIPES = SIMPLE_PIPES;
|
|
6652
|
+
exports.STANDARD_SCHEMA_VENDOR = STANDARD_SCHEMA_VENDOR;
|
|
6653
|
+
exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES;
|
|
6654
|
+
exports.SYSTEM_FIELD_NAMES = SYSTEM_FIELD_NAMES;
|
|
6655
|
+
exports.SYSTEM_RESOURCES = SYSTEM_RESOURCES;
|
|
6656
|
+
exports.SYSTEM_RESOURCE_LABELS = SYSTEM_RESOURCE_LABELS;
|
|
6657
|
+
exports.SchemaError = SchemaError;
|
|
6658
|
+
exports.SchemaErrorCode = SchemaErrorCode;
|
|
6659
|
+
exports.ShareStatusSchema = ShareStatusSchema;
|
|
6660
|
+
exports.SlotModeSchema = SlotModeSchema;
|
|
6661
|
+
exports.StartNodeSchema = StartNodeSchema;
|
|
6662
|
+
exports.StorageError = StorageError;
|
|
6663
|
+
exports.SyncError = SyncError;
|
|
6664
|
+
exports.TabBuilder = TabBuilder;
|
|
6665
|
+
exports.TableTabConfig = TableTabConfig;
|
|
6666
|
+
exports.ThemeColorsSchema = ThemeColorsSchema;
|
|
6667
|
+
exports.ThemeLogoSchema = ThemeLogoSchema;
|
|
6668
|
+
exports.USER_STATUSES = USER_STATUSES;
|
|
6669
|
+
exports.UserProfileNotFoundError = UserProfileNotFoundError;
|
|
6670
|
+
exports.ValidationError = ValidationError;
|
|
6671
|
+
exports.ViewBuilder = ViewBuilder;
|
|
6672
|
+
exports.ViewportSchema = ViewportSchema;
|
|
6673
|
+
exports.WorkflowBuilder = WorkflowBuilder;
|
|
6674
|
+
exports.WorkflowConditionBuilder = WorkflowConditionBuilder;
|
|
6675
|
+
exports.WorkflowConfigSchema = WorkflowConfigSchema;
|
|
6676
|
+
exports.WorkflowDefinitionSchema = WorkflowDefinitionSchema;
|
|
6677
|
+
exports.WorkflowEndBuilder = WorkflowEndBuilder;
|
|
6678
|
+
exports.WorkflowFormBuilder = WorkflowFormBuilder;
|
|
6679
|
+
exports.WorkflowFormRowBuilder = WorkflowFormRowBuilder;
|
|
6680
|
+
exports.WorkflowLayoutSchema = WorkflowLayoutSchema;
|
|
6681
|
+
exports.WorkflowNodeSchema = WorkflowNodeSchema;
|
|
6682
|
+
exports.WorkflowShareSchema = WorkflowShareSchema;
|
|
6683
|
+
exports.WorkflowSimpleFormBuilder = WorkflowSimpleFormBuilder;
|
|
6684
|
+
exports.WorkflowSlotSchema = WorkflowSlotSchema;
|
|
6685
|
+
exports.WorkflowStartBuilder = WorkflowStartBuilder;
|
|
6686
|
+
exports.WorkflowStatusSchema = WorkflowStatusSchema;
|
|
6687
|
+
exports.WorkflowThemeSchema = WorkflowThemeSchema;
|
|
6688
|
+
exports.ZONE_CONFIG = ZONE_CONFIG;
|
|
6689
|
+
exports.ZONE_ORDER = ZONE_ORDER;
|
|
6690
|
+
exports.accessLevelToActions = accessLevelToActions;
|
|
6691
|
+
exports.actionsToAccessLevel = actionsToAccessLevel;
|
|
6692
|
+
exports.and = and;
|
|
6693
|
+
exports.applyRelationProps = applyRelationProps;
|
|
6694
|
+
exports.assignNodeZones = assignNodeZones;
|
|
6695
|
+
exports.booleanFlag = booleanFlag;
|
|
6696
|
+
exports.canAccessNode = canAccessNode;
|
|
6697
|
+
exports.canResumeInstance = canResumeInstance;
|
|
6698
|
+
exports.checkbox = checkbox;
|
|
6699
|
+
exports.createEmptyContext = createEmptyContext;
|
|
6700
|
+
exports.createFlagRegistry = createFlagRegistry;
|
|
6701
|
+
exports.createFlagService = createFlagService;
|
|
6702
|
+
exports.createStandardSchemaProps = createStandardSchemaProps;
|
|
6703
|
+
exports.createStartTransition = createStartTransition;
|
|
6704
|
+
exports.currency = currency;
|
|
6705
|
+
exports.date = date;
|
|
6706
|
+
exports.detailView = detailView;
|
|
6707
|
+
exports.document = document;
|
|
6708
|
+
exports.eq = eq;
|
|
6709
|
+
exports.extractAttributeNames = extractAttributeNames;
|
|
6710
|
+
exports.file = file;
|
|
6711
|
+
exports.flagRegistry = flagRegistry;
|
|
6712
|
+
exports.formatAttributeValue = formatAttributeValue;
|
|
6713
|
+
exports.formula = formula;
|
|
6714
|
+
exports.generateCssVariables = generateCssVariables;
|
|
6715
|
+
exports.generateDefaultDetailView = generateDefaultDetailView;
|
|
6716
|
+
exports.generateDefaultListView = generateDefaultListView;
|
|
6717
|
+
exports.generateFallbackView = generateFallbackView;
|
|
6718
|
+
exports.getActiveTab = getActiveTab;
|
|
6719
|
+
exports.getContextValue = getContextValue;
|
|
6720
|
+
exports.getErrorMessage = getErrorMessage;
|
|
6721
|
+
exports.getFormFieldRefs = getFormFieldRefs;
|
|
6722
|
+
exports.getNodeOutputs = getNodeOutputs;
|
|
6723
|
+
exports.getNodeSlotIds = getNodeSlotIds;
|
|
6724
|
+
exports.getRollupFilterOperators = getRollupFilterOperators;
|
|
6725
|
+
exports.getSystemAttributeList = getSystemAttributeList;
|
|
6726
|
+
exports.getZoneAllowedTypes = getZoneAllowedTypes;
|
|
6727
|
+
exports.group = group;
|
|
6728
|
+
exports.groupNodesByZone = groupNodesByZone;
|
|
6729
|
+
exports.hasOptions = hasOptions;
|
|
6730
|
+
exports.hasProperties = hasProperties;
|
|
6731
|
+
exports.inValues = inValues;
|
|
6732
|
+
exports.inferInverseCardinality = inferInverseCardinality;
|
|
6733
|
+
exports.isAccessDeniedError = isAccessDeniedError;
|
|
6734
|
+
exports.isActivityTab = isActivityTab;
|
|
6735
|
+
exports.isAdvancedFormNode = isAdvancedFormNode;
|
|
6736
|
+
exports.isAttributeSortable = isAttributeSortable;
|
|
6737
|
+
exports.isBehaviorProperty = isBehaviorProperty;
|
|
6738
|
+
exports.isBilateralRelation = isBilateralRelation;
|
|
6739
|
+
exports.isCalendarView = isCalendarView;
|
|
6740
|
+
exports.isConditionGroup = isConditionGroup;
|
|
6741
|
+
exports.isConditionNode = isConditionNode;
|
|
6742
|
+
exports.isConditionRule = isConditionRule;
|
|
6743
|
+
exports.isCustomTab = isCustomTab;
|
|
6744
|
+
exports.isDefaultRole = isDefaultRole;
|
|
6745
|
+
exports.isDetailView = isDetailView;
|
|
6746
|
+
exports.isDocumentsTab = isDocumentsTab;
|
|
6747
|
+
exports.isEmpty = isEmpty2;
|
|
6748
|
+
exports.isEndNode = isEndNode;
|
|
6749
|
+
exports.isFieldGroup = isFieldGroup;
|
|
6750
|
+
exports.isFlowDefinition = isFlowDefinition;
|
|
6751
|
+
exports.isFlowFieldsRow = isFlowFieldsRow;
|
|
6752
|
+
exports.isFlowPublished = isFlowPublished;
|
|
6753
|
+
exports.isFlowRelationListRow = isFlowRelationListRow;
|
|
6754
|
+
exports.isFlowsTab = isFlowsTab;
|
|
6755
|
+
exports.isForbiddenError = isForbiddenError;
|
|
6756
|
+
exports.isFormFieldsRow = isFormFieldsRow;
|
|
6757
|
+
exports.isFormNode = isFormNode;
|
|
6758
|
+
exports.isFormTab = isFormTab;
|
|
6759
|
+
exports.isGalleryView = isGalleryView;
|
|
6760
|
+
exports.isGrantExpired = isGrantExpired;
|
|
6761
|
+
exports.isGrantRevoked = isGrantRevoked;
|
|
6762
|
+
exports.isGrantValid = isGrantValid;
|
|
6763
|
+
exports.isIdentityProperty = isIdentityProperty;
|
|
6764
|
+
exports.isInstanceEvent = isInstanceEvent;
|
|
6765
|
+
exports.isInstanceTerminal = isInstanceTerminal;
|
|
6766
|
+
exports.isInstanceWaiting = isInstanceWaiting;
|
|
6767
|
+
exports.isInverseSourceTab = isInverseSourceTab;
|
|
6768
|
+
exports.isInvitationAccepted = isInvitationAccepted;
|
|
6769
|
+
exports.isInvitationExpired = isInvitationExpired;
|
|
6770
|
+
exports.isInvitationOrGrantEvent = isInvitationOrGrantEvent;
|
|
6771
|
+
exports.isInvitationValid = isInvitationValid;
|
|
6772
|
+
exports.isLabelExpression = isLabelExpression;
|
|
6773
|
+
exports.isLayoutRow = isLayoutRow;
|
|
6774
|
+
exports.isListView = isListView;
|
|
6775
|
+
exports.isNoValueOperator = isNoValueOperator;
|
|
6776
|
+
exports.isNodeEvent = isNodeEvent;
|
|
6777
|
+
exports.isNotEmpty = isNotEmpty2;
|
|
6778
|
+
exports.isNotFoundError = isNotFoundError;
|
|
6779
|
+
exports.isNotImplementedError = isNotImplementedError;
|
|
6780
|
+
exports.isPresentationProperty = isPresentationProperty;
|
|
6781
|
+
exports.isProtectedResourceError = isProtectedResourceError;
|
|
6782
|
+
exports.isRelationGroup = isRelationGroup;
|
|
6783
|
+
exports.isRelationSourceTab = isRelationSourceTab;
|
|
6784
|
+
exports.isRepositoryError = isRepositoryError;
|
|
6785
|
+
exports.isRichtextTab = isRichtextTab;
|
|
6786
|
+
exports.isSchemaError = isSchemaError;
|
|
6787
|
+
exports.isSimpleFormNode = isSimpleFormNode;
|
|
6788
|
+
exports.isStandardSchema = isStandardSchema;
|
|
6789
|
+
exports.isStartNode = isStartNode;
|
|
6790
|
+
exports.isStorageError = isStorageError;
|
|
6791
|
+
exports.isSystemAttribute = isSystemAttribute;
|
|
6792
|
+
exports.isSystemAttributeObject = isSystemAttributeObject;
|
|
6793
|
+
exports.isSystemFlow = isSystemFlow;
|
|
6794
|
+
exports.isSystemWorkflow = isSystemWorkflow;
|
|
6795
|
+
exports.isTableTab = isTableTab;
|
|
6796
|
+
exports.isTimelineView = isTimelineView;
|
|
6797
|
+
exports.isTokenRevoked = isTokenRevoked;
|
|
6798
|
+
exports.isUniversalRelation = isUniversalRelation;
|
|
6799
|
+
exports.isValidationError = isValidationError;
|
|
6800
|
+
exports.isViewCustomized = isViewCustomized;
|
|
6801
|
+
exports.isWorkflowDefinition = isWorkflowDefinition;
|
|
6802
|
+
exports.isWorkflowPublished = isWorkflowPublished;
|
|
6803
|
+
exports.jsonFlag = jsonFlag;
|
|
6804
|
+
exports.labelExpressionSchema = labelExpressionSchema;
|
|
6805
|
+
exports.listView = listView;
|
|
6806
|
+
exports.location = location;
|
|
6807
|
+
exports.mergeWithDefaults = mergeWithDefaults;
|
|
6808
|
+
exports.multiselect = multiselect;
|
|
6809
|
+
exports.neq = neq;
|
|
6810
|
+
exports.nodeTypeRegistry = nodeTypeRegistry;
|
|
6811
|
+
exports.number = number;
|
|
6812
|
+
exports.numberFlag = numberFlag;
|
|
6813
|
+
exports.object = object;
|
|
6814
|
+
exports.objectToJSONSchema = objectToJSONSchema;
|
|
6815
|
+
exports.objectValidatorToJSONSchema = objectValidatorToJSONSchema;
|
|
6816
|
+
exports.or = or;
|
|
6817
|
+
exports.phone = phone;
|
|
6818
|
+
exports.rating = rating;
|
|
6819
|
+
exports.registerBuiltInNodeTypes = registerBuiltInNodeTypes;
|
|
6820
|
+
exports.registry = registry;
|
|
6821
|
+
exports.relation = relation;
|
|
6822
|
+
exports.relationGroup = relationGroup;
|
|
6823
|
+
exports.renderLabelExpression = renderLabelExpression;
|
|
6824
|
+
exports.resetViewToDefault = resetViewToDefault;
|
|
6825
|
+
exports.richtext = richtext;
|
|
6826
|
+
exports.rollup = rollup;
|
|
6827
|
+
exports.select = select;
|
|
6828
|
+
exports.setContextValue = setContextValue;
|
|
6829
|
+
exports.setNodeNext = setNodeNext;
|
|
6830
|
+
exports.status = status;
|
|
6831
|
+
exports.stringFlag = stringFlag;
|
|
6832
|
+
exports.text = text;
|
|
6833
|
+
exports.textarea = textarea;
|
|
6834
|
+
exports.toUndefinedIfEmpty = toUndefinedIfEmpty;
|
|
6835
|
+
exports.user = user;
|
|
6836
|
+
exports.validateLabelExpression = validateLabelExpression;
|
|
6837
|
+
exports.validateNode = validateNode;
|
|
6838
|
+
exports.view = view;
|
|
6839
|
+
exports.viewRegistry = viewRegistry;
|
|
6840
|
+
exports.workflow = workflow;
|