@stndrds/schema 1.0.0-alpha.94 → 1.0.0-alpha.96
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-Btn-GLvC.d.ts +674 -0
- package/dist/attributes-CeDp1IMp.d.mts +674 -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-BCw4Sn01.d.mts → index-CvXnHxD2.d.mts} +12 -1359
- package/dist/{validators-5XMwJOlV.d.ts → index-telccAkt.d.ts} +12 -1359
- package/dist/index.d.mts +1295 -474
- package/dist/index.d.ts +1295 -474
- package/dist/index.js +1400 -831
- package/dist/index.mjs +583 -571
- package/dist/types-B5Zhhoev.d.ts +39 -0
- package/dist/types-C6naks1H.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";
|
|
@@ -574,29 +529,39 @@ function isEndNode(node) {
|
|
|
574
529
|
return node.type === "end";
|
|
575
530
|
}
|
|
576
531
|
|
|
577
|
-
// src/types/workflows/node-types/
|
|
578
|
-
var
|
|
579
|
-
type: "
|
|
532
|
+
// src/types/workflows/node-types/ai.node-type.ts
|
|
533
|
+
var aiNodeType = {
|
|
534
|
+
type: "ai",
|
|
580
535
|
isLinear: true,
|
|
581
|
-
structural:
|
|
536
|
+
structural: false,
|
|
582
537
|
getOutputs(node) {
|
|
583
538
|
return node.next ? [node.next] : [];
|
|
584
539
|
},
|
|
585
540
|
setNext(node, targetId) {
|
|
586
541
|
return { ...node, next: targetId };
|
|
587
542
|
},
|
|
588
|
-
getSlotIds() {
|
|
589
|
-
|
|
543
|
+
getSlotIds(node) {
|
|
544
|
+
const slotIds = /* @__PURE__ */ new Set();
|
|
545
|
+
for (const id of node.inputSlotIds ?? []) slotIds.add(id);
|
|
546
|
+
for (const id of node.targetSlotIds ?? []) slotIds.add(id);
|
|
547
|
+
return [...slotIds];
|
|
590
548
|
},
|
|
591
|
-
validate() {
|
|
592
|
-
|
|
549
|
+
validate(node) {
|
|
550
|
+
const errors = [];
|
|
551
|
+
if (!node.label) errors.push("AINode must have a label");
|
|
552
|
+
if (!node.mode) errors.push("AINode must have a mode (sync or async)");
|
|
553
|
+
if (!node.next) errors.push("AINode must have a 'next' target");
|
|
554
|
+
const hasAgentSource = !!node.definitionId || !!node.systemPrompt;
|
|
555
|
+
if (!hasAgentSource) {
|
|
556
|
+
errors.push("AINode must have either a definitionId or a systemPrompt");
|
|
557
|
+
}
|
|
558
|
+
return errors;
|
|
593
559
|
}
|
|
594
560
|
};
|
|
595
|
-
nodeTypeRegistry.register(startNodeType);
|
|
596
561
|
|
|
597
|
-
// src/types/workflows/node-types/
|
|
598
|
-
var
|
|
599
|
-
type: "
|
|
562
|
+
// src/types/workflows/node-types/assign.node-type.ts
|
|
563
|
+
var assignNodeType = {
|
|
564
|
+
type: "assign",
|
|
600
565
|
isLinear: true,
|
|
601
566
|
structural: false,
|
|
602
567
|
getOutputs(node) {
|
|
@@ -607,37 +572,36 @@ var formNodeType = {
|
|
|
607
572
|
},
|
|
608
573
|
getSlotIds(node) {
|
|
609
574
|
const slotIds = /* @__PURE__ */ new Set();
|
|
610
|
-
if (node.
|
|
611
|
-
|
|
612
|
-
if (field.slotId) {
|
|
613
|
-
slotIds.add(field.slotId);
|
|
614
|
-
}
|
|
615
|
-
}
|
|
575
|
+
if (node.targetSlotId) {
|
|
576
|
+
slotIds.add(node.targetSlotId);
|
|
616
577
|
}
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
578
|
+
for (const assignment of node.assignments ?? []) {
|
|
579
|
+
const src = assignment.source;
|
|
580
|
+
if (src.type === "slot-ref") {
|
|
581
|
+
slotIds.add(src.slotId);
|
|
582
|
+
} else if (src.type === "expression") {
|
|
583
|
+
const matches = src.template.matchAll(/\{\{\s*([\w]+)\.\w+/g);
|
|
584
|
+
for (const match of matches) {
|
|
585
|
+
slotIds.add(match[1]);
|
|
625
586
|
}
|
|
626
587
|
}
|
|
627
588
|
}
|
|
628
|
-
return
|
|
589
|
+
return [...slotIds];
|
|
629
590
|
},
|
|
630
591
|
validate(node) {
|
|
631
592
|
const errors = [];
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
593
|
+
if (!node.targetSlotId) {
|
|
594
|
+
errors.push("AssignNode must have a target slot");
|
|
595
|
+
}
|
|
596
|
+
if (!node.assignments?.length) {
|
|
597
|
+
errors.push("AssignNode must have at least one assignment");
|
|
598
|
+
}
|
|
599
|
+
if (!node.next) {
|
|
600
|
+
errors.push("AssignNode must have a 'next' target");
|
|
636
601
|
}
|
|
637
602
|
return errors;
|
|
638
603
|
}
|
|
639
604
|
};
|
|
640
|
-
nodeTypeRegistry.register(formNodeType);
|
|
641
605
|
|
|
642
606
|
// src/types/workflows/node-types/condition.node-type.ts
|
|
643
607
|
var conditionNodeType = {
|
|
@@ -663,11 +627,29 @@ var conditionNodeType = {
|
|
|
663
627
|
return errors;
|
|
664
628
|
}
|
|
665
629
|
};
|
|
666
|
-
nodeTypeRegistry.register(conditionNodeType);
|
|
667
630
|
|
|
668
|
-
// src/types/workflows/node-types/
|
|
669
|
-
var
|
|
670
|
-
type: "
|
|
631
|
+
// src/types/workflows/node-types/end.node-type.ts
|
|
632
|
+
var endNodeType = {
|
|
633
|
+
type: "end",
|
|
634
|
+
isLinear: false,
|
|
635
|
+
structural: true,
|
|
636
|
+
getOutputs() {
|
|
637
|
+
return [];
|
|
638
|
+
},
|
|
639
|
+
setNext() {
|
|
640
|
+
throw new Error("[NodeTypeRegistry] EndNode does not support setNext.");
|
|
641
|
+
},
|
|
642
|
+
getSlotIds() {
|
|
643
|
+
return [];
|
|
644
|
+
},
|
|
645
|
+
validate() {
|
|
646
|
+
return [];
|
|
647
|
+
}
|
|
648
|
+
};
|
|
649
|
+
|
|
650
|
+
// src/types/workflows/node-types/form.node-type.ts
|
|
651
|
+
var formNodeType = {
|
|
652
|
+
type: "form",
|
|
671
653
|
isLinear: true,
|
|
672
654
|
structural: false,
|
|
673
655
|
getOutputs(node) {
|
|
@@ -678,80 +660,48 @@ var assignNodeType = {
|
|
|
678
660
|
},
|
|
679
661
|
getSlotIds(node) {
|
|
680
662
|
const slotIds = /* @__PURE__ */ new Set();
|
|
681
|
-
if (node.
|
|
682
|
-
|
|
663
|
+
if (node.fields) {
|
|
664
|
+
for (const field of node.fields) {
|
|
665
|
+
if (field.slotId) {
|
|
666
|
+
slotIds.add(field.slotId);
|
|
667
|
+
}
|
|
668
|
+
}
|
|
683
669
|
}
|
|
684
|
-
|
|
685
|
-
const
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
670
|
+
if (node.rows) {
|
|
671
|
+
for (const row of node.rows) {
|
|
672
|
+
if (isFlowFieldsRow(row)) {
|
|
673
|
+
for (const field of row.fields) {
|
|
674
|
+
if (field.slotId) {
|
|
675
|
+
slotIds.add(field.slotId);
|
|
676
|
+
}
|
|
677
|
+
}
|
|
692
678
|
}
|
|
693
679
|
}
|
|
694
680
|
}
|
|
695
|
-
return
|
|
681
|
+
return Array.from(slotIds);
|
|
696
682
|
},
|
|
697
683
|
validate(node) {
|
|
698
684
|
const errors = [];
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
errors.push("AssignNode must have at least one assignment");
|
|
704
|
-
}
|
|
705
|
-
if (!node.next) {
|
|
706
|
-
errors.push("AssignNode must have a 'next' target");
|
|
685
|
+
const hasFields = node.fields !== void 0 && node.fields.length > 0;
|
|
686
|
+
const hasRows = node.rows !== void 0 && node.rows.length > 0;
|
|
687
|
+
if (hasFields && hasRows) {
|
|
688
|
+
errors.push("FormNode cannot have both 'fields' and 'rows'");
|
|
707
689
|
}
|
|
708
690
|
return errors;
|
|
709
691
|
}
|
|
710
692
|
};
|
|
711
|
-
nodeTypeRegistry.register(assignNodeType);
|
|
712
693
|
|
|
713
|
-
// src/types/workflows/node-types/
|
|
714
|
-
var
|
|
715
|
-
type: "
|
|
694
|
+
// src/types/workflows/node-types/start.node-type.ts
|
|
695
|
+
var startNodeType = {
|
|
696
|
+
type: "start",
|
|
716
697
|
isLinear: true,
|
|
717
|
-
structural:
|
|
698
|
+
structural: true,
|
|
718
699
|
getOutputs(node) {
|
|
719
700
|
return node.next ? [node.next] : [];
|
|
720
701
|
},
|
|
721
702
|
setNext(node, targetId) {
|
|
722
703
|
return { ...node, next: targetId };
|
|
723
704
|
},
|
|
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
705
|
getSlotIds() {
|
|
756
706
|
return [];
|
|
757
707
|
},
|
|
@@ -759,7 +709,20 @@ var endNodeType = {
|
|
|
759
709
|
return [];
|
|
760
710
|
}
|
|
761
711
|
};
|
|
762
|
-
|
|
712
|
+
|
|
713
|
+
// src/types/workflows/node-types/index.ts
|
|
714
|
+
var registered = false;
|
|
715
|
+
function registerBuiltInNodeTypes() {
|
|
716
|
+
if (registered) return;
|
|
717
|
+
registered = true;
|
|
718
|
+
nodeTypeRegistry.register(startNodeType);
|
|
719
|
+
nodeTypeRegistry.register(formNodeType);
|
|
720
|
+
nodeTypeRegistry.register(conditionNodeType);
|
|
721
|
+
nodeTypeRegistry.register(assignNodeType);
|
|
722
|
+
nodeTypeRegistry.register(aiNodeType);
|
|
723
|
+
nodeTypeRegistry.register(endNodeType);
|
|
724
|
+
}
|
|
725
|
+
registerBuiltInNodeTypes();
|
|
763
726
|
|
|
764
727
|
// src/types/workflows/conditions.ts
|
|
765
728
|
function isConditionRule(item) {
|
|
@@ -981,7 +944,7 @@ function assignNodeZones(orderedNodes) {
|
|
|
981
944
|
} else if (node.type === "condition") {
|
|
982
945
|
result.set(node.id, hasFormAfter[i] ? "collect" : "actions");
|
|
983
946
|
} else {
|
|
984
|
-
result.set(node.id,
|
|
947
|
+
result.set(node.id, NODE_TYPE_ZONE[node.type] ?? null);
|
|
985
948
|
}
|
|
986
949
|
}
|
|
987
950
|
return result;
|
|
@@ -1013,10 +976,8 @@ function groupNodesByZone(orderedNodes) {
|
|
|
1013
976
|
function getZoneAllowedTypes(zone) {
|
|
1014
977
|
return ZONE_CONFIG[zone].allowedNodeTypes;
|
|
1015
978
|
}
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);
|
|
1019
|
-
var ConditionOperatorSchema = _zod.z.enum([
|
|
979
|
+
registerBuiltInNodeTypes();
|
|
980
|
+
var ConditionOperatorSchema = z3.z.enum([
|
|
1020
981
|
"eq",
|
|
1021
982
|
"neq",
|
|
1022
983
|
"gt",
|
|
@@ -1031,79 +992,79 @@ var ConditionOperatorSchema = _zod.z.enum([
|
|
|
1031
992
|
"in",
|
|
1032
993
|
"notIn"
|
|
1033
994
|
]);
|
|
1034
|
-
var ConditionRuleSchema =
|
|
1035
|
-
field:
|
|
995
|
+
var ConditionRuleSchema = z3.z.object({
|
|
996
|
+
field: z3.z.string().min(1, "Field path is required"),
|
|
1036
997
|
operator: ConditionOperatorSchema,
|
|
1037
|
-
value:
|
|
998
|
+
value: z3.z.unknown()
|
|
1038
999
|
});
|
|
1039
|
-
var ConditionGroupSchema =
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
}
|
|
1044
|
-
);
|
|
1045
|
-
var StartNodeSchema = _zod.z.object({
|
|
1046
|
-
type: _zod.z.literal("start"),
|
|
1047
|
-
id: _zod.z.string().min(1),
|
|
1048
|
-
next: _zod.z.string().nullish()
|
|
1000
|
+
var ConditionGroupSchema = z3.z.object({
|
|
1001
|
+
operator: z3.z.enum(["and", "or"]),
|
|
1002
|
+
get rules() {
|
|
1003
|
+
return z3.z.array(z3.z.union([ConditionRuleSchema, ConditionGroupSchema])).min(1);
|
|
1004
|
+
}
|
|
1049
1005
|
});
|
|
1050
|
-
var
|
|
1051
|
-
|
|
1052
|
-
|
|
1006
|
+
var StartNodeSchema = z3.z.object({
|
|
1007
|
+
type: z3.z.literal("start"),
|
|
1008
|
+
id: z3.z.string().min(1),
|
|
1009
|
+
next: z3.z.string().nullish()
|
|
1010
|
+
});
|
|
1011
|
+
var RelationFieldConfigSchema = z3.z.object({
|
|
1012
|
+
visibleProperties: z3.z.array(z3.z.string()).optional(),
|
|
1013
|
+
allowCreate: z3.z.boolean().optional()
|
|
1053
1014
|
}).optional();
|
|
1054
|
-
var FormFieldRefSchema =
|
|
1055
|
-
slotId:
|
|
1056
|
-
attribute:
|
|
1015
|
+
var FormFieldRefSchema = z3.z.object({
|
|
1016
|
+
slotId: z3.z.string().min(1, "slotId is required"),
|
|
1017
|
+
attribute: z3.z.string().min(1, "attribute is required"),
|
|
1057
1018
|
relationConfig: RelationFieldConfigSchema
|
|
1058
1019
|
});
|
|
1059
|
-
var FlowRowFieldSchema =
|
|
1060
|
-
id:
|
|
1061
|
-
slotId:
|
|
1062
|
-
attribute:
|
|
1063
|
-
label:
|
|
1064
|
-
tooltip:
|
|
1065
|
-
required:
|
|
1020
|
+
var FlowRowFieldSchema = z3.z.object({
|
|
1021
|
+
id: z3.z.string().min(1),
|
|
1022
|
+
slotId: z3.z.string().min(1),
|
|
1023
|
+
attribute: z3.z.string().min(1),
|
|
1024
|
+
label: z3.z.string().max(200).optional(),
|
|
1025
|
+
tooltip: z3.z.string().max(1e3).optional(),
|
|
1026
|
+
required: z3.z.boolean().optional(),
|
|
1066
1027
|
relationConfig: RelationFieldConfigSchema
|
|
1067
1028
|
});
|
|
1068
|
-
var FlowFieldsRowSchema =
|
|
1069
|
-
id:
|
|
1070
|
-
order:
|
|
1071
|
-
type:
|
|
1072
|
-
fields:
|
|
1029
|
+
var FlowFieldsRowSchema = z3.z.object({
|
|
1030
|
+
id: z3.z.string().min(1),
|
|
1031
|
+
order: z3.z.number(),
|
|
1032
|
+
type: z3.z.literal("fields").optional(),
|
|
1033
|
+
fields: z3.z.array(FlowRowFieldSchema)
|
|
1073
1034
|
});
|
|
1074
|
-
var FlowHeadingRowSchema =
|
|
1075
|
-
id:
|
|
1076
|
-
order:
|
|
1077
|
-
type:
|
|
1078
|
-
content:
|
|
1079
|
-
level:
|
|
1035
|
+
var FlowHeadingRowSchema = z3.z.object({
|
|
1036
|
+
id: z3.z.string().min(1),
|
|
1037
|
+
order: z3.z.number(),
|
|
1038
|
+
type: z3.z.literal("heading"),
|
|
1039
|
+
content: z3.z.string().min(1).max(200),
|
|
1040
|
+
level: z3.z.union([z3.z.literal(1), z3.z.literal(2), z3.z.literal(3)]).optional()
|
|
1080
1041
|
});
|
|
1081
|
-
var FlowSeparatorRowSchema =
|
|
1082
|
-
id:
|
|
1083
|
-
order:
|
|
1084
|
-
type:
|
|
1042
|
+
var FlowSeparatorRowSchema = z3.z.object({
|
|
1043
|
+
id: z3.z.string().min(1),
|
|
1044
|
+
order: z3.z.number(),
|
|
1045
|
+
type: z3.z.literal("separator")
|
|
1085
1046
|
});
|
|
1086
|
-
var FlowTextRowSchema =
|
|
1087
|
-
id:
|
|
1088
|
-
order:
|
|
1089
|
-
type:
|
|
1090
|
-
content:
|
|
1047
|
+
var FlowTextRowSchema = z3.z.object({
|
|
1048
|
+
id: z3.z.string().min(1),
|
|
1049
|
+
order: z3.z.number(),
|
|
1050
|
+
type: z3.z.literal("text"),
|
|
1051
|
+
content: z3.z.string().min(1).max(5e3)
|
|
1091
1052
|
});
|
|
1092
|
-
var FlowRowSchema =
|
|
1053
|
+
var FlowRowSchema = z3.z.union([
|
|
1093
1054
|
FlowHeadingRowSchema,
|
|
1094
1055
|
FlowSeparatorRowSchema,
|
|
1095
1056
|
FlowTextRowSchema,
|
|
1096
1057
|
FlowFieldsRowSchema
|
|
1097
1058
|
]);
|
|
1098
|
-
var FormNodeSchema =
|
|
1099
|
-
type:
|
|
1100
|
-
id:
|
|
1101
|
-
label:
|
|
1102
|
-
description:
|
|
1103
|
-
fields:
|
|
1104
|
-
rows:
|
|
1105
|
-
participantId:
|
|
1106
|
-
next:
|
|
1059
|
+
var FormNodeSchema = z3.z.object({
|
|
1060
|
+
type: z3.z.literal("form"),
|
|
1061
|
+
id: z3.z.string().min(1),
|
|
1062
|
+
label: z3.z.string().min(1),
|
|
1063
|
+
description: z3.z.string().nullish(),
|
|
1064
|
+
fields: z3.z.array(FormFieldRefSchema).optional(),
|
|
1065
|
+
rows: z3.z.array(FlowRowSchema).optional(),
|
|
1066
|
+
participantId: z3.z.string().nullish(),
|
|
1067
|
+
next: z3.z.string().nullish()
|
|
1107
1068
|
}).refine(
|
|
1108
1069
|
(node) => {
|
|
1109
1070
|
const hasFields = node.fields !== void 0 && node.fields.length > 0;
|
|
@@ -1114,60 +1075,60 @@ var FormNodeSchema = _zod.z.object({
|
|
|
1114
1075
|
message: "FormNode must have either 'fields' (simple mode) or 'rows' (advanced mode), not both"
|
|
1115
1076
|
}
|
|
1116
1077
|
);
|
|
1117
|
-
var ConditionNodeSchema =
|
|
1118
|
-
type:
|
|
1119
|
-
id:
|
|
1120
|
-
label:
|
|
1078
|
+
var ConditionNodeSchema = z3.z.object({
|
|
1079
|
+
type: z3.z.literal("condition"),
|
|
1080
|
+
id: z3.z.string().min(1),
|
|
1081
|
+
label: z3.z.string().min(1),
|
|
1121
1082
|
condition: ConditionGroupSchema,
|
|
1122
|
-
onTrue:
|
|
1123
|
-
onFalse:
|
|
1083
|
+
onTrue: z3.z.string().nullish(),
|
|
1084
|
+
onFalse: z3.z.string().nullish()
|
|
1124
1085
|
});
|
|
1125
|
-
var AssignmentSourceSchema =
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
type:
|
|
1129
|
-
slotId:
|
|
1130
|
-
properties:
|
|
1086
|
+
var AssignmentSourceSchema = z3.z.discriminatedUnion("type", [
|
|
1087
|
+
z3.z.object({ type: z3.z.literal("expression"), template: z3.z.string().min(1) }),
|
|
1088
|
+
z3.z.object({
|
|
1089
|
+
type: z3.z.literal("slot-ref"),
|
|
1090
|
+
slotId: z3.z.string().min(1),
|
|
1091
|
+
properties: z3.z.record(z3.z.string(), z3.z.unknown()).optional()
|
|
1131
1092
|
}),
|
|
1132
|
-
|
|
1093
|
+
z3.z.object({ type: z3.z.literal("static"), value: z3.z.unknown() })
|
|
1133
1094
|
]);
|
|
1134
|
-
var AssignmentMappingSchema =
|
|
1135
|
-
targetAttribute:
|
|
1095
|
+
var AssignmentMappingSchema = z3.z.object({
|
|
1096
|
+
targetAttribute: z3.z.string().min(1),
|
|
1136
1097
|
source: AssignmentSourceSchema
|
|
1137
1098
|
});
|
|
1138
|
-
var AssignNodeSchema =
|
|
1139
|
-
type:
|
|
1140
|
-
id:
|
|
1141
|
-
label:
|
|
1142
|
-
description:
|
|
1143
|
-
targetSlotId:
|
|
1144
|
-
assignments:
|
|
1145
|
-
next:
|
|
1099
|
+
var AssignNodeSchema = z3.z.object({
|
|
1100
|
+
type: z3.z.literal("assign"),
|
|
1101
|
+
id: z3.z.string().min(1),
|
|
1102
|
+
label: z3.z.string().min(1),
|
|
1103
|
+
description: z3.z.string().nullish(),
|
|
1104
|
+
targetSlotId: z3.z.string().min(1, "Target slot is required"),
|
|
1105
|
+
assignments: z3.z.array(AssignmentMappingSchema).min(1),
|
|
1106
|
+
next: z3.z.string().nullish()
|
|
1146
1107
|
});
|
|
1147
|
-
var AINodeSchema =
|
|
1148
|
-
type:
|
|
1149
|
-
id:
|
|
1150
|
-
label:
|
|
1151
|
-
description:
|
|
1152
|
-
mode:
|
|
1153
|
-
definitionId:
|
|
1154
|
-
systemPrompt:
|
|
1155
|
-
model:
|
|
1156
|
-
tools:
|
|
1157
|
-
maxIterations:
|
|
1158
|
-
instructions:
|
|
1159
|
-
inputSlotIds:
|
|
1160
|
-
targetSlotIds:
|
|
1161
|
-
timeoutMs:
|
|
1162
|
-
next:
|
|
1108
|
+
var AINodeSchema = z3.z.object({
|
|
1109
|
+
type: z3.z.literal("ai"),
|
|
1110
|
+
id: z3.z.string().min(1),
|
|
1111
|
+
label: z3.z.string().min(1),
|
|
1112
|
+
description: z3.z.string().nullish(),
|
|
1113
|
+
mode: z3.z.enum(["sync", "async"]),
|
|
1114
|
+
definitionId: z3.z.string().optional(),
|
|
1115
|
+
systemPrompt: z3.z.string().optional(),
|
|
1116
|
+
model: z3.z.string().optional(),
|
|
1117
|
+
tools: z3.z.array(z3.z.string()).optional(),
|
|
1118
|
+
maxIterations: z3.z.number().positive().optional(),
|
|
1119
|
+
instructions: z3.z.string().optional(),
|
|
1120
|
+
inputSlotIds: z3.z.array(z3.z.string()).optional(),
|
|
1121
|
+
targetSlotIds: z3.z.array(z3.z.string()).optional(),
|
|
1122
|
+
timeoutMs: z3.z.number().positive().optional(),
|
|
1123
|
+
next: z3.z.string().nullish()
|
|
1163
1124
|
});
|
|
1164
|
-
var EndNodeSchema =
|
|
1165
|
-
type:
|
|
1166
|
-
id:
|
|
1167
|
-
label:
|
|
1168
|
-
status:
|
|
1125
|
+
var EndNodeSchema = z3.z.object({
|
|
1126
|
+
type: z3.z.literal("end"),
|
|
1127
|
+
id: z3.z.string().min(1),
|
|
1128
|
+
label: z3.z.string().optional(),
|
|
1129
|
+
status: z3.z.string().optional()
|
|
1169
1130
|
});
|
|
1170
|
-
var WorkflowNodeSchema =
|
|
1131
|
+
var WorkflowNodeSchema = z3.z.discriminatedUnion("type", [
|
|
1171
1132
|
StartNodeSchema,
|
|
1172
1133
|
FormNodeSchema,
|
|
1173
1134
|
ConditionNodeSchema,
|
|
@@ -1175,107 +1136,107 @@ var WorkflowNodeSchema = _zod.z.discriminatedUnion("type", [
|
|
|
1175
1136
|
AINodeSchema,
|
|
1176
1137
|
EndNodeSchema
|
|
1177
1138
|
]);
|
|
1178
|
-
var SlotModeSchema =
|
|
1179
|
-
var WorkflowSlotSchema =
|
|
1180
|
-
id:
|
|
1181
|
-
objectName:
|
|
1182
|
-
label:
|
|
1139
|
+
var SlotModeSchema = z3.z.enum(["create", "select", "optional"]);
|
|
1140
|
+
var WorkflowSlotSchema = z3.z.object({
|
|
1141
|
+
id: z3.z.string().min(1),
|
|
1142
|
+
objectName: z3.z.string().min(1),
|
|
1143
|
+
label: z3.z.string().min(1),
|
|
1183
1144
|
mode: SlotModeSchema,
|
|
1184
|
-
color:
|
|
1185
|
-
icon:
|
|
1145
|
+
color: z3.z.string().nullish(),
|
|
1146
|
+
icon: z3.z.string().nullish()
|
|
1186
1147
|
});
|
|
1187
|
-
var AuthMethodSchema =
|
|
1188
|
-
var ShareStatusSchema =
|
|
1189
|
-
var WorkflowShareSchema =
|
|
1190
|
-
id:
|
|
1191
|
-
instanceId:
|
|
1192
|
-
email:
|
|
1193
|
-
name:
|
|
1194
|
-
phone:
|
|
1148
|
+
var AuthMethodSchema = z3.z.enum(["signed_link", "pin_code"]);
|
|
1149
|
+
var ShareStatusSchema = z3.z.enum(["pending", "active", "expired", "revoked"]);
|
|
1150
|
+
var WorkflowShareSchema = z3.z.object({
|
|
1151
|
+
id: z3.z.uuid(),
|
|
1152
|
+
instanceId: z3.z.uuid(),
|
|
1153
|
+
email: z3.z.email(),
|
|
1154
|
+
name: z3.z.string().optional(),
|
|
1155
|
+
phone: z3.z.string().optional(),
|
|
1195
1156
|
authMethod: AuthMethodSchema,
|
|
1196
|
-
token:
|
|
1197
|
-
pinCodeHash:
|
|
1198
|
-
pinAttempts:
|
|
1157
|
+
token: z3.z.string().optional(),
|
|
1158
|
+
pinCodeHash: z3.z.string().optional(),
|
|
1159
|
+
pinAttempts: z3.z.number().int().nonnegative().optional(),
|
|
1199
1160
|
status: ShareStatusSchema,
|
|
1200
|
-
emailSent:
|
|
1201
|
-
smsSent:
|
|
1202
|
-
createdAt:
|
|
1203
|
-
expiresAt:
|
|
1204
|
-
lastAccessAt:
|
|
1161
|
+
emailSent: z3.z.boolean(),
|
|
1162
|
+
smsSent: z3.z.boolean().optional(),
|
|
1163
|
+
createdAt: z3.z.coerce.date(),
|
|
1164
|
+
expiresAt: z3.z.coerce.date(),
|
|
1165
|
+
lastAccessAt: z3.z.coerce.date().optional()
|
|
1205
1166
|
});
|
|
1206
|
-
var CreateShareInputSchema =
|
|
1207
|
-
instanceId:
|
|
1208
|
-
email:
|
|
1209
|
-
name:
|
|
1210
|
-
phone:
|
|
1167
|
+
var CreateShareInputSchema = z3.z.object({
|
|
1168
|
+
instanceId: z3.z.uuid(),
|
|
1169
|
+
email: z3.z.email(),
|
|
1170
|
+
name: z3.z.string().optional(),
|
|
1171
|
+
phone: z3.z.string().optional(),
|
|
1211
1172
|
authMethod: AuthMethodSchema,
|
|
1212
|
-
sendNotification:
|
|
1213
|
-
expiresInDays:
|
|
1173
|
+
sendNotification: z3.z.boolean().optional(),
|
|
1174
|
+
expiresInDays: z3.z.number().int().positive().optional()
|
|
1214
1175
|
});
|
|
1215
|
-
var NodePositionSchema =
|
|
1216
|
-
x:
|
|
1217
|
-
y:
|
|
1176
|
+
var NodePositionSchema = z3.z.object({
|
|
1177
|
+
x: z3.z.number(),
|
|
1178
|
+
y: z3.z.number()
|
|
1218
1179
|
});
|
|
1219
|
-
var ViewportSchema =
|
|
1220
|
-
x:
|
|
1221
|
-
y:
|
|
1222
|
-
zoom:
|
|
1180
|
+
var ViewportSchema = z3.z.object({
|
|
1181
|
+
x: z3.z.number(),
|
|
1182
|
+
y: z3.z.number(),
|
|
1183
|
+
zoom: z3.z.number().positive()
|
|
1223
1184
|
});
|
|
1224
|
-
var WorkflowLayoutSchema =
|
|
1225
|
-
positions:
|
|
1185
|
+
var WorkflowLayoutSchema = z3.z.object({
|
|
1186
|
+
positions: z3.z.record(z3.z.string(), NodePositionSchema),
|
|
1226
1187
|
viewport: ViewportSchema.optional()
|
|
1227
1188
|
});
|
|
1228
|
-
var ThemeColorsSchema =
|
|
1229
|
-
primary:
|
|
1230
|
-
primaryForeground:
|
|
1231
|
-
background:
|
|
1232
|
-
foreground:
|
|
1233
|
-
muted:
|
|
1234
|
-
border:
|
|
1235
|
-
accent:
|
|
1189
|
+
var ThemeColorsSchema = z3.z.object({
|
|
1190
|
+
primary: z3.z.string().optional(),
|
|
1191
|
+
primaryForeground: z3.z.string().optional(),
|
|
1192
|
+
background: z3.z.string().optional(),
|
|
1193
|
+
foreground: z3.z.string().optional(),
|
|
1194
|
+
muted: z3.z.string().optional(),
|
|
1195
|
+
border: z3.z.string().optional(),
|
|
1196
|
+
accent: z3.z.string().optional()
|
|
1236
1197
|
});
|
|
1237
|
-
var ThemeLogoSchema =
|
|
1238
|
-
url:
|
|
1239
|
-
alt:
|
|
1240
|
-
maxHeight:
|
|
1198
|
+
var ThemeLogoSchema = z3.z.object({
|
|
1199
|
+
url: z3.z.url(),
|
|
1200
|
+
alt: z3.z.string().optional(),
|
|
1201
|
+
maxHeight: z3.z.number().positive().optional()
|
|
1241
1202
|
});
|
|
1242
|
-
var WorkflowThemeSchema =
|
|
1203
|
+
var WorkflowThemeSchema = z3.z.object({
|
|
1243
1204
|
logo: ThemeLogoSchema.optional(),
|
|
1244
1205
|
colors: ThemeColorsSchema.optional(),
|
|
1245
|
-
typography:
|
|
1246
|
-
headingFont:
|
|
1247
|
-
bodyFont:
|
|
1248
|
-
baseFontSize:
|
|
1206
|
+
typography: z3.z.object({
|
|
1207
|
+
headingFont: z3.z.string().optional(),
|
|
1208
|
+
bodyFont: z3.z.string().optional(),
|
|
1209
|
+
baseFontSize: z3.z.number().positive().optional()
|
|
1249
1210
|
}).optional(),
|
|
1250
|
-
borderRadius:
|
|
1251
|
-
showPoweredBy:
|
|
1252
|
-
customCss:
|
|
1211
|
+
borderRadius: z3.z.number().nonnegative().optional(),
|
|
1212
|
+
showPoweredBy: z3.z.boolean().optional(),
|
|
1213
|
+
customCss: z3.z.string().optional()
|
|
1253
1214
|
});
|
|
1254
|
-
var WorkflowConfigSchema =
|
|
1255
|
-
instanceTtl:
|
|
1256
|
-
externalLinkTtl:
|
|
1257
|
-
allowExternalParticipants:
|
|
1215
|
+
var WorkflowConfigSchema = z3.z.object({
|
|
1216
|
+
instanceTtl: z3.z.string().optional(),
|
|
1217
|
+
externalLinkTtl: z3.z.string().optional(),
|
|
1218
|
+
allowExternalParticipants: z3.z.boolean().optional()
|
|
1258
1219
|
});
|
|
1259
|
-
var WorkflowStatusSchema =
|
|
1260
|
-
var WorkflowDefinitionSchema =
|
|
1261
|
-
id:
|
|
1262
|
-
name:
|
|
1263
|
-
label:
|
|
1264
|
-
description:
|
|
1265
|
-
icon:
|
|
1220
|
+
var WorkflowStatusSchema = z3.z.enum(["draft", "published", "archived"]);
|
|
1221
|
+
var WorkflowDefinitionSchema = z3.z.object({
|
|
1222
|
+
id: z3.z.string().optional(),
|
|
1223
|
+
name: z3.z.string().min(1).regex(/^[a-z0-9-]+$/, "Name must be kebab-case"),
|
|
1224
|
+
label: z3.z.string().min(1),
|
|
1225
|
+
description: z3.z.string().nullish(),
|
|
1226
|
+
icon: z3.z.string().nullish(),
|
|
1266
1227
|
status: WorkflowStatusSchema,
|
|
1267
|
-
version:
|
|
1268
|
-
slots:
|
|
1269
|
-
nodes:
|
|
1270
|
-
startNodeId:
|
|
1228
|
+
version: z3.z.number().int().positive(),
|
|
1229
|
+
slots: z3.z.array(WorkflowSlotSchema),
|
|
1230
|
+
nodes: z3.z.record(z3.z.string(), WorkflowNodeSchema),
|
|
1231
|
+
startNodeId: z3.z.string().min(1),
|
|
1271
1232
|
layout: WorkflowLayoutSchema.optional(),
|
|
1272
1233
|
theme: WorkflowThemeSchema.optional(),
|
|
1273
1234
|
config: WorkflowConfigSchema.optional(),
|
|
1274
|
-
tenantId:
|
|
1275
|
-
system:
|
|
1276
|
-
metadata:
|
|
1277
|
-
createdAt:
|
|
1278
|
-
updatedAt:
|
|
1235
|
+
tenantId: z3.z.string().optional(),
|
|
1236
|
+
system: z3.z.boolean().optional(),
|
|
1237
|
+
metadata: z3.z.record(z3.z.string(), z3.z.unknown()).optional(),
|
|
1238
|
+
createdAt: z3.z.coerce.date().optional(),
|
|
1239
|
+
updatedAt: z3.z.coerce.date().optional()
|
|
1279
1240
|
}).refine(
|
|
1280
1241
|
(def) => {
|
|
1281
1242
|
return def.startNodeId in def.nodes;
|
|
@@ -1286,7 +1247,7 @@ var WorkflowDefinitionSchema = _zod.z.object({
|
|
|
1286
1247
|
).refine(
|
|
1287
1248
|
(def) => {
|
|
1288
1249
|
const startNode = def.nodes[def.startNodeId];
|
|
1289
|
-
return
|
|
1250
|
+
return startNode?.type === "start";
|
|
1290
1251
|
},
|
|
1291
1252
|
{
|
|
1292
1253
|
message: "startNodeId must reference a node of type 'start'"
|
|
@@ -1307,6 +1268,9 @@ var WorkflowDefinitionSchema = _zod.z.object({
|
|
|
1307
1268
|
}
|
|
1308
1269
|
);
|
|
1309
1270
|
|
|
1271
|
+
// src/types/workflows/index.ts
|
|
1272
|
+
registerBuiltInNodeTypes();
|
|
1273
|
+
|
|
1310
1274
|
// src/types/migrations.ts
|
|
1311
1275
|
var DEFAULT_RETENTION_POLICY = {
|
|
1312
1276
|
attributeData: 30,
|
|
@@ -1334,9 +1298,6 @@ function toUndefinedIfEmpty(obj) {
|
|
|
1334
1298
|
function hasProperties(obj) {
|
|
1335
1299
|
return isNotEmpty2(obj);
|
|
1336
1300
|
}
|
|
1337
|
-
|
|
1338
|
-
// src/format.ts
|
|
1339
|
-
var _constants = require('@stndrds/constants');
|
|
1340
1301
|
var EMPTY_VALUE_PLACEHOLDER = "\u2014";
|
|
1341
1302
|
function formatText(value) {
|
|
1342
1303
|
return String(value);
|
|
@@ -1393,25 +1354,25 @@ function formatPhone(value) {
|
|
|
1393
1354
|
if (!("phoneNumber" in phone2)) return String(value);
|
|
1394
1355
|
if (!phone2.phoneNumber) return "";
|
|
1395
1356
|
if (!phone2.countryCode) return phone2.phoneNumber;
|
|
1396
|
-
return
|
|
1357
|
+
return chunkAHPXNPJC_js.formatPhoneForDisplay(phone2);
|
|
1397
1358
|
}
|
|
1398
1359
|
function formatLocation(value, attribute) {
|
|
1399
1360
|
if (typeof value !== "object" || value === null) return String(value);
|
|
1400
1361
|
const loc = value;
|
|
1401
|
-
const granularity =
|
|
1362
|
+
const granularity = attribute.granularity ?? "full";
|
|
1402
1363
|
const parts = [];
|
|
1403
1364
|
switch (granularity) {
|
|
1404
1365
|
case "country":
|
|
1405
|
-
if (loc.country) parts.push(
|
|
1366
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1406
1367
|
break;
|
|
1407
1368
|
case "state":
|
|
1408
1369
|
if (loc.state) parts.push(loc.state);
|
|
1409
|
-
if (loc.country) parts.push(
|
|
1370
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1410
1371
|
break;
|
|
1411
1372
|
case "city":
|
|
1412
1373
|
if (loc.city) parts.push(loc.city);
|
|
1413
1374
|
if (loc.state) parts.push(loc.state);
|
|
1414
|
-
if (loc.country) parts.push(
|
|
1375
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1415
1376
|
break;
|
|
1416
1377
|
case "coordinates":
|
|
1417
1378
|
if (loc.latitude !== void 0 && loc.longitude !== void 0) {
|
|
@@ -1422,34 +1383,34 @@ function formatLocation(value, attribute) {
|
|
|
1422
1383
|
if (loc.address) parts.push(loc.address);
|
|
1423
1384
|
if (loc.city) parts.push(loc.city);
|
|
1424
1385
|
if (loc.state) parts.push(loc.state);
|
|
1425
|
-
if (loc.country) parts.push(
|
|
1386
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1426
1387
|
break;
|
|
1427
1388
|
default:
|
|
1428
1389
|
if (loc.address) parts.push(loc.address);
|
|
1429
1390
|
if (loc.city) parts.push(loc.city);
|
|
1430
1391
|
if (loc.state) parts.push(loc.state);
|
|
1431
1392
|
if (loc.postalCode) parts.push(loc.postalCode);
|
|
1432
|
-
if (loc.country) parts.push(
|
|
1393
|
+
if (loc.country) parts.push(constants.getCountryDisplayNameByIso3(loc.country));
|
|
1433
1394
|
break;
|
|
1434
1395
|
}
|
|
1435
1396
|
return parts.join(", ") || EMPTY_VALUE_PLACEHOLDER;
|
|
1436
1397
|
}
|
|
1437
1398
|
function formatSelect(value, attribute) {
|
|
1438
1399
|
if (typeof value !== "string") return String(value);
|
|
1439
|
-
const option =
|
|
1440
|
-
return
|
|
1400
|
+
const option = attribute.options?.find((o) => o.value === value);
|
|
1401
|
+
return option?.label ?? String(value);
|
|
1441
1402
|
}
|
|
1442
1403
|
function formatMultiselect(value, attribute) {
|
|
1443
1404
|
if (!Array.isArray(value)) return String(value);
|
|
1444
1405
|
if (attribute.options) {
|
|
1445
|
-
const labels = value.map((v) =>
|
|
1406
|
+
const labels = value.map((v) => attribute.options.find((o) => o.value === v)?.label).filter(Boolean);
|
|
1446
1407
|
return labels.join(", ");
|
|
1447
1408
|
}
|
|
1448
1409
|
return value.join(", ");
|
|
1449
1410
|
}
|
|
1450
1411
|
function formatRating(value, attribute) {
|
|
1451
1412
|
if (typeof value !== "number") return String(value);
|
|
1452
|
-
const max =
|
|
1413
|
+
const max = attribute.max ?? 5;
|
|
1453
1414
|
return `${value}/${max}`;
|
|
1454
1415
|
}
|
|
1455
1416
|
function formatAttributeValue(value, attribute) {
|
|
@@ -1465,7 +1426,7 @@ function formatAttributeValue(value, attribute) {
|
|
|
1465
1426
|
case "number":
|
|
1466
1427
|
return formatNumber(value, attribute);
|
|
1467
1428
|
case "currency":
|
|
1468
|
-
return formatCurrency(value
|
|
1429
|
+
return formatCurrency(value);
|
|
1469
1430
|
case "date":
|
|
1470
1431
|
return formatDate(value);
|
|
1471
1432
|
case "phone":
|
|
@@ -1495,20 +1456,58 @@ function formatAttributeValue(value, attribute) {
|
|
|
1495
1456
|
}
|
|
1496
1457
|
}
|
|
1497
1458
|
}
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
var
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1459
|
+
var SIMPLE_PIPES = ["UPPER", "LOWER", "capitalize", "trim"];
|
|
1460
|
+
var PIPES_WITH_ARGS = ["prefix", "suffix", "wrap", "default"];
|
|
1461
|
+
var ALL_PIPES = [...SIMPLE_PIPES, ...PIPES_WITH_ARGS];
|
|
1462
|
+
var labelExpressionSchema = z3.z.string().min(1, "labelExpression cannot be empty").refine((val) => isLabelExpression(val), {
|
|
1463
|
+
message: "labelExpression must contain at least one {{ attribute }} interpolation"
|
|
1464
|
+
}).refine(
|
|
1465
|
+
(val) => {
|
|
1466
|
+
const emptyCheck = /\{\{\s*\}\}/;
|
|
1467
|
+
return !emptyCheck.test(val);
|
|
1468
|
+
},
|
|
1469
|
+
{ message: "labelExpression contains empty {{ }} interpolation" }
|
|
1470
|
+
).refine(
|
|
1471
|
+
(val) => {
|
|
1472
|
+
const pipePattern = /(?<!\|)\|(?!\|)\s*(\w+)(?::[^|}]*)?/g;
|
|
1473
|
+
let match;
|
|
1474
|
+
while ((match = pipePattern.exec(val)) !== null) {
|
|
1475
|
+
const pipeName = match[1];
|
|
1476
|
+
if (!ALL_PIPES.includes(pipeName)) {
|
|
1477
|
+
return false;
|
|
1478
|
+
}
|
|
1479
|
+
}
|
|
1480
|
+
return true;
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
message: `Invalid pipe name. Valid pipes: ${ALL_PIPES.join(", ")}`
|
|
1484
|
+
}
|
|
1485
|
+
);
|
|
1486
|
+
function validateLabelExpression(expression) {
|
|
1487
|
+
const result = labelExpressionSchema.safeParse(expression);
|
|
1488
|
+
if (!result.success) {
|
|
1489
|
+
return {
|
|
1490
|
+
success: false,
|
|
1491
|
+
error: result.error.issues[0]?.message ?? "Invalid labelExpression"
|
|
1492
|
+
};
|
|
1493
|
+
}
|
|
1494
|
+
return {
|
|
1495
|
+
success: true,
|
|
1496
|
+
attributes: extractAttributeNames(expression)
|
|
1497
|
+
};
|
|
1498
|
+
}
|
|
1499
|
+
var simplePipes = {
|
|
1500
|
+
/** Convert to uppercase */
|
|
1501
|
+
UPPER: (v) => String(v).toUpperCase(),
|
|
1502
|
+
/** Convert to lowercase */
|
|
1503
|
+
LOWER: (v) => String(v).toLowerCase(),
|
|
1504
|
+
/** Capitalize first letter of each word */
|
|
1505
|
+
capitalize: (v) => String(v).replace(/\b\w/g, (c) => c.toUpperCase()),
|
|
1506
|
+
/** Trim whitespace from both ends */
|
|
1507
|
+
trim: (v) => String(v).trim()
|
|
1508
|
+
};
|
|
1509
|
+
var pipesWithArgs = {
|
|
1510
|
+
/** Add prefix only if value is non-empty */
|
|
1512
1511
|
prefix: (v, pre = "") => v ? `${pre}${v}` : "",
|
|
1513
1512
|
/** Add suffix only if value is non-empty */
|
|
1514
1513
|
suffix: (v, suf = "") => v ? `${v}${suf}` : "",
|
|
@@ -1566,11 +1565,11 @@ function renderLabelExpression(template, values, fallback = DEFAULT_LABEL_FALLBA
|
|
|
1566
1565
|
} else {
|
|
1567
1566
|
const argFn = pipesWithArgs[pipeName];
|
|
1568
1567
|
if (argFn) {
|
|
1569
|
-
value = argFn(String(
|
|
1568
|
+
value = argFn(String(value ?? ""), ...args);
|
|
1570
1569
|
}
|
|
1571
1570
|
}
|
|
1572
1571
|
}
|
|
1573
|
-
return String(
|
|
1572
|
+
return String(value ?? "");
|
|
1574
1573
|
}).trim();
|
|
1575
1574
|
return result || fallback;
|
|
1576
1575
|
}
|
|
@@ -1602,7 +1601,7 @@ var PROPS_TOKEN_RE = /\{\{\s*props\./;
|
|
|
1602
1601
|
function applyRelationProps(label, props, propertyDefs) {
|
|
1603
1602
|
if (!PROPS_TOKEN_RE.test(label)) return label;
|
|
1604
1603
|
const formattedProps = {};
|
|
1605
|
-
const defMap = new Map(
|
|
1604
|
+
const defMap = new Map(propertyDefs?.map((d) => [d.name, d]));
|
|
1606
1605
|
if (props) {
|
|
1607
1606
|
for (const [key, value] of Object.entries(props)) {
|
|
1608
1607
|
if (value == null) continue;
|
|
@@ -1682,6 +1681,8 @@ var SchemaErrorCode = {
|
|
|
1682
1681
|
USER_PROFILE_NOT_FOUND: "SCHEMA_USER_PROFILE_NOT_FOUND",
|
|
1683
1682
|
FILE_NOT_FOUND: "SCHEMA_FILE_NOT_FOUND",
|
|
1684
1683
|
ROLE_NOT_FOUND: "SCHEMA_ROLE_NOT_FOUND",
|
|
1684
|
+
MEMORY_NOT_FOUND: "SCHEMA_MEMORY_NOT_FOUND",
|
|
1685
|
+
CONVERSATION_NOT_FOUND: "SCHEMA_CONVERSATION_NOT_FOUND",
|
|
1685
1686
|
// Validation
|
|
1686
1687
|
VALIDATION_FAILED: "SCHEMA_VALIDATION_FAILED",
|
|
1687
1688
|
INVALID_ATTRIBUTE_NAME: "SCHEMA_INVALID_ATTRIBUTE_NAME",
|
|
@@ -1693,6 +1694,7 @@ var SchemaErrorCode = {
|
|
|
1693
1694
|
PROTECTED_ROLE: "SCHEMA_PROTECTED_ROLE",
|
|
1694
1695
|
// Permissions
|
|
1695
1696
|
FORBIDDEN: "SCHEMA_FORBIDDEN",
|
|
1697
|
+
ACCESS_DENIED: "SCHEMA_ACCESS_DENIED",
|
|
1696
1698
|
// Sync
|
|
1697
1699
|
SYNC_FAILED: "SCHEMA_SYNC_FAILED",
|
|
1698
1700
|
NOT_SYSTEM_OBJECT: "SCHEMA_NOT_SYSTEM_OBJECT",
|
|
@@ -1700,7 +1702,19 @@ var SchemaErrorCode = {
|
|
|
1700
1702
|
DUPLICATE_OBJECT: "SCHEMA_DUPLICATE_OBJECT",
|
|
1701
1703
|
DUPLICATE_ATTRIBUTE: "SCHEMA_DUPLICATE_ATTRIBUTE",
|
|
1702
1704
|
// Concurrency
|
|
1703
|
-
CONFLICT: "SCHEMA_CONFLICT"
|
|
1705
|
+
CONFLICT: "SCHEMA_CONFLICT",
|
|
1706
|
+
// Storage
|
|
1707
|
+
STORAGE_UPLOAD_FAILED: "SCHEMA_STORAGE_UPLOAD_FAILED",
|
|
1708
|
+
STORAGE_DOWNLOAD_FAILED: "SCHEMA_STORAGE_DOWNLOAD_FAILED",
|
|
1709
|
+
STORAGE_DELETE_FAILED: "SCHEMA_STORAGE_DELETE_FAILED",
|
|
1710
|
+
STORAGE_URL_FAILED: "SCHEMA_STORAGE_URL_FAILED",
|
|
1711
|
+
// Repository Operations
|
|
1712
|
+
REPOSITORY_CREATE_FAILED: "SCHEMA_REPOSITORY_CREATE_FAILED",
|
|
1713
|
+
REPOSITORY_UPDATE_FAILED: "SCHEMA_REPOSITORY_UPDATE_FAILED",
|
|
1714
|
+
REPOSITORY_DELETE_FAILED: "SCHEMA_REPOSITORY_DELETE_FAILED",
|
|
1715
|
+
REPOSITORY_QUERY_FAILED: "SCHEMA_REPOSITORY_QUERY_FAILED",
|
|
1716
|
+
// Not Implemented
|
|
1717
|
+
NOT_IMPLEMENTED: "SCHEMA_NOT_IMPLEMENTED"
|
|
1704
1718
|
};
|
|
1705
1719
|
var SchemaError = class extends Error {
|
|
1706
1720
|
constructor(message, code = SchemaErrorCode.UNKNOWN, details) {
|
|
@@ -1796,7 +1810,7 @@ var SyncError = class extends SchemaError {
|
|
|
1796
1810
|
constructor(objectName, message, cause) {
|
|
1797
1811
|
super(`Failed to sync object "${objectName}": ${message}`, SchemaErrorCode.SYNC_FAILED, {
|
|
1798
1812
|
objectName,
|
|
1799
|
-
cause:
|
|
1813
|
+
cause: cause?.message
|
|
1800
1814
|
});
|
|
1801
1815
|
this.name = "SyncError";
|
|
1802
1816
|
this.objectName = objectName;
|
|
@@ -1881,10 +1895,108 @@ var ConcurrentModificationError = class extends SchemaError {
|
|
|
1881
1895
|
);
|
|
1882
1896
|
}
|
|
1883
1897
|
};
|
|
1898
|
+
var StorageError = class extends SchemaError {
|
|
1899
|
+
constructor(operation, message, path, cause) {
|
|
1900
|
+
const code = operation === "upload" ? SchemaErrorCode.STORAGE_UPLOAD_FAILED : operation === "download" ? SchemaErrorCode.STORAGE_DOWNLOAD_FAILED : operation === "delete" ? SchemaErrorCode.STORAGE_DELETE_FAILED : SchemaErrorCode.STORAGE_URL_FAILED;
|
|
1901
|
+
super(`Storage ${operation} failed: ${message}`, code, {
|
|
1902
|
+
operation,
|
|
1903
|
+
path,
|
|
1904
|
+
cause
|
|
1905
|
+
});
|
|
1906
|
+
this.name = "StorageError";
|
|
1907
|
+
this.operation = operation;
|
|
1908
|
+
this.path = path;
|
|
1909
|
+
this.cause = cause;
|
|
1910
|
+
}
|
|
1911
|
+
};
|
|
1912
|
+
function isStorageError(error) {
|
|
1913
|
+
return error instanceof StorageError;
|
|
1914
|
+
}
|
|
1915
|
+
var AccessDeniedError = class extends SchemaError {
|
|
1916
|
+
constructor(resource, reason) {
|
|
1917
|
+
super(reason ?? `Access denied to resource: ${resource}`, SchemaErrorCode.ACCESS_DENIED, {
|
|
1918
|
+
resource,
|
|
1919
|
+
reason
|
|
1920
|
+
});
|
|
1921
|
+
this.name = "AccessDeniedError";
|
|
1922
|
+
this.resource = resource;
|
|
1923
|
+
this.reason = reason;
|
|
1924
|
+
}
|
|
1925
|
+
};
|
|
1926
|
+
function isAccessDeniedError(error) {
|
|
1927
|
+
return error instanceof AccessDeniedError;
|
|
1928
|
+
}
|
|
1929
|
+
var RepositoryError = class extends SchemaError {
|
|
1930
|
+
constructor(operation, entity, message, cause) {
|
|
1931
|
+
const code = operation === "create" ? SchemaErrorCode.REPOSITORY_CREATE_FAILED : operation === "update" ? SchemaErrorCode.REPOSITORY_UPDATE_FAILED : operation === "delete" ? SchemaErrorCode.REPOSITORY_DELETE_FAILED : SchemaErrorCode.REPOSITORY_QUERY_FAILED;
|
|
1932
|
+
super(`Failed to ${operation} ${entity}: ${message}`, code, {
|
|
1933
|
+
operation,
|
|
1934
|
+
entity,
|
|
1935
|
+
cause
|
|
1936
|
+
});
|
|
1937
|
+
this.name = "RepositoryError";
|
|
1938
|
+
this.operation = operation;
|
|
1939
|
+
this.entity = entity;
|
|
1940
|
+
this.cause = cause;
|
|
1941
|
+
}
|
|
1942
|
+
};
|
|
1943
|
+
function isRepositoryError(error) {
|
|
1944
|
+
return error instanceof RepositoryError;
|
|
1945
|
+
}
|
|
1946
|
+
var NotImplementedError = class extends SchemaError {
|
|
1947
|
+
constructor(feature, milestone) {
|
|
1948
|
+
const message = milestone ? `${feature}: not implemented (${milestone})` : `${feature}: not implemented`;
|
|
1949
|
+
super(message, SchemaErrorCode.NOT_IMPLEMENTED, {
|
|
1950
|
+
feature,
|
|
1951
|
+
milestone
|
|
1952
|
+
});
|
|
1953
|
+
this.name = "NotImplementedError";
|
|
1954
|
+
this.feature = feature;
|
|
1955
|
+
this.milestone = milestone;
|
|
1956
|
+
}
|
|
1957
|
+
};
|
|
1958
|
+
function isNotImplementedError(error) {
|
|
1959
|
+
return error instanceof NotImplementedError;
|
|
1960
|
+
}
|
|
1961
|
+
var MemoryNotFoundError = class extends NotFoundError {
|
|
1962
|
+
constructor(memoryId) {
|
|
1963
|
+
super("Memory", memoryId, SchemaErrorCode.MEMORY_NOT_FOUND);
|
|
1964
|
+
this.name = "MemoryNotFoundError";
|
|
1965
|
+
}
|
|
1966
|
+
};
|
|
1967
|
+
var ConversationNotFoundError = class extends NotFoundError {
|
|
1968
|
+
constructor(conversationId) {
|
|
1969
|
+
super("Conversation", conversationId, SchemaErrorCode.CONVERSATION_NOT_FOUND);
|
|
1970
|
+
this.name = "ConversationNotFoundError";
|
|
1971
|
+
}
|
|
1972
|
+
};
|
|
1884
1973
|
|
|
1885
|
-
// src/
|
|
1886
|
-
|
|
1887
|
-
|
|
1974
|
+
// src/standard-schema.ts
|
|
1975
|
+
var STANDARD_SCHEMA_VENDOR = "@stndrds/schema";
|
|
1976
|
+
function createStandardSchemaProps(zodSchema) {
|
|
1977
|
+
return {
|
|
1978
|
+
version: 1,
|
|
1979
|
+
vendor: STANDARD_SCHEMA_VENDOR,
|
|
1980
|
+
validate: (value) => {
|
|
1981
|
+
const result = zodSchema.safeParse(value);
|
|
1982
|
+
if (result.success) {
|
|
1983
|
+
return { value: result.data };
|
|
1984
|
+
}
|
|
1985
|
+
return {
|
|
1986
|
+
issues: result.error.issues.map((issue) => ({
|
|
1987
|
+
message: issue.message,
|
|
1988
|
+
// Zod path segments are string | number which are valid PropertyKey
|
|
1989
|
+
// for Standard Schema v1 (no conversion needed)
|
|
1990
|
+
path: issue.path
|
|
1991
|
+
}))
|
|
1992
|
+
};
|
|
1993
|
+
}
|
|
1994
|
+
};
|
|
1995
|
+
}
|
|
1996
|
+
function isStandardSchema(obj) {
|
|
1997
|
+
return typeof obj === "object" && obj !== null && "~standard" in obj && typeof obj["~standard"] === "object" && obj["~standard"].version === 1;
|
|
1998
|
+
}
|
|
1999
|
+
var VALID_ICONS = new Set(constants.ICONS);
|
|
1888
2000
|
var ATTRIBUTE_NAME_REGEX = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
1889
2001
|
var MAX_NAME_LENGTH = 63;
|
|
1890
2002
|
var MAX_LABEL_LENGTH = 128;
|
|
@@ -1932,17 +2044,17 @@ function validateOptions(options, attributeName) {
|
|
|
1932
2044
|
const ids = /* @__PURE__ */ new Set();
|
|
1933
2045
|
const values = /* @__PURE__ */ new Set();
|
|
1934
2046
|
for (const option of options) {
|
|
1935
|
-
if (!
|
|
2047
|
+
if (!option.id?.trim()) {
|
|
1936
2048
|
throw new Error(
|
|
1937
2049
|
`[AttributeBuilder] Option in "${attributeName}" has an empty or missing id.`
|
|
1938
2050
|
);
|
|
1939
2051
|
}
|
|
1940
|
-
if (!
|
|
2052
|
+
if (!option.value?.trim()) {
|
|
1941
2053
|
throw new Error(
|
|
1942
2054
|
`[AttributeBuilder] Option "${option.id}" in "${attributeName}" has an empty or missing value.`
|
|
1943
2055
|
);
|
|
1944
2056
|
}
|
|
1945
|
-
if (!
|
|
2057
|
+
if (!option.label?.trim()) {
|
|
1946
2058
|
throw new Error(
|
|
1947
2059
|
`[AttributeBuilder] Option "${option.id}" in "${attributeName}" has an empty or missing label.`
|
|
1948
2060
|
);
|
|
@@ -1973,14 +2085,29 @@ function validateOptions(options, attributeName) {
|
|
|
1973
2085
|
}
|
|
1974
2086
|
if (inverseOption.inverse !== option.value) {
|
|
1975
2087
|
throw new Error(
|
|
1976
|
-
`[AttributeBuilder] Inverse mismatch in "${attributeName}": "${option.value}" points to "${option.inverse}", but "${option.inverse}" points to "${
|
|
2088
|
+
`[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
2089
|
);
|
|
1978
2090
|
}
|
|
1979
2091
|
}
|
|
1980
2092
|
}
|
|
1981
2093
|
|
|
1982
2094
|
// src/builders/attribute-builders.ts
|
|
2095
|
+
function asMutableArray(arr) {
|
|
2096
|
+
return arr;
|
|
2097
|
+
}
|
|
1983
2098
|
var BaseAttributeBuilder = class {
|
|
2099
|
+
/**
|
|
2100
|
+
* Standard Schema v1 interface implementation.
|
|
2101
|
+
*
|
|
2102
|
+
* This property enables interoperability with libraries that support
|
|
2103
|
+
* Standard Schema (React Hook Form, tRPC, etc.).
|
|
2104
|
+
*
|
|
2105
|
+
* @see https://standardschema.dev/
|
|
2106
|
+
*/
|
|
2107
|
+
get "~standard"() {
|
|
2108
|
+
const zodSchema = chunk2TEWGEUI_js.createAttributeValidator(this.build());
|
|
2109
|
+
return createStandardSchemaProps(zodSchema);
|
|
2110
|
+
}
|
|
1984
2111
|
constructor(type, name, label) {
|
|
1985
2112
|
validateAttributeName(name);
|
|
1986
2113
|
validateLabel(label);
|
|
@@ -1994,6 +2121,41 @@ var BaseAttributeBuilder = class {
|
|
|
1994
2121
|
setRequired(value) {
|
|
1995
2122
|
this.attr.required = value;
|
|
1996
2123
|
}
|
|
2124
|
+
/**
|
|
2125
|
+
* Type-safe method to return this builder with a different TRequired phantom type.
|
|
2126
|
+
*
|
|
2127
|
+
* This method centralizes the type assertion needed when transitioning between
|
|
2128
|
+
* required states. The assertion is safe because:
|
|
2129
|
+
* 1. The runtime representation is unchanged (same instance)
|
|
2130
|
+
* 2. Only the phantom _types.required property differs
|
|
2131
|
+
* 3. The class structure and all methods remain identical
|
|
2132
|
+
*
|
|
2133
|
+
* Using a single protected method for this pattern:
|
|
2134
|
+
* - Reduces scattered unsafe casts throughout the codebase
|
|
2135
|
+
* - Documents the safety reasoning in one place
|
|
2136
|
+
* - Makes the type transition explicit and auditable
|
|
2137
|
+
*
|
|
2138
|
+
* @internal
|
|
2139
|
+
*/
|
|
2140
|
+
asRequiredState() {
|
|
2141
|
+
return this;
|
|
2142
|
+
}
|
|
2143
|
+
/**
|
|
2144
|
+
* Type-safe method to return this builder with different phantom type parameters.
|
|
2145
|
+
*
|
|
2146
|
+
* Used by builders with additional type parameters (like TOptions in Status/Select/Multiselect)
|
|
2147
|
+
* when those parameters need to change while preserving the builder instance.
|
|
2148
|
+
*
|
|
2149
|
+
* The assertion is safe because:
|
|
2150
|
+
* 1. The runtime representation is unchanged (same instance)
|
|
2151
|
+
* 2. Only phantom type parameters differ
|
|
2152
|
+
* 3. The class structure and all methods remain identical
|
|
2153
|
+
*
|
|
2154
|
+
* @internal
|
|
2155
|
+
*/
|
|
2156
|
+
asPhantomState() {
|
|
2157
|
+
return this;
|
|
2158
|
+
}
|
|
1997
2159
|
system() {
|
|
1998
2160
|
this.attr.system = true;
|
|
1999
2161
|
return this;
|
|
@@ -2054,8 +2216,8 @@ var BaseAttributeBuilder = class {
|
|
|
2054
2216
|
featureGate(flagName, options) {
|
|
2055
2217
|
this.attr.featureGate = {
|
|
2056
2218
|
flag: flagName,
|
|
2057
|
-
expectedValue:
|
|
2058
|
-
fallback:
|
|
2219
|
+
expectedValue: options?.expectedValue,
|
|
2220
|
+
fallback: options?.fallback
|
|
2059
2221
|
};
|
|
2060
2222
|
return this;
|
|
2061
2223
|
}
|
|
@@ -2081,11 +2243,11 @@ var TextAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2081
2243
|
}
|
|
2082
2244
|
required() {
|
|
2083
2245
|
this.setRequired(true);
|
|
2084
|
-
return this;
|
|
2246
|
+
return this.asRequiredState();
|
|
2085
2247
|
}
|
|
2086
2248
|
optional() {
|
|
2087
2249
|
this.setRequired(false);
|
|
2088
|
-
return this;
|
|
2250
|
+
return this.asRequiredState();
|
|
2089
2251
|
}
|
|
2090
2252
|
/**
|
|
2091
2253
|
* Set email validation pattern
|
|
@@ -2118,11 +2280,11 @@ var TextAreaAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2118
2280
|
}
|
|
2119
2281
|
required() {
|
|
2120
2282
|
this.setRequired(true);
|
|
2121
|
-
return this;
|
|
2283
|
+
return this.asRequiredState();
|
|
2122
2284
|
}
|
|
2123
2285
|
optional() {
|
|
2124
2286
|
this.setRequired(false);
|
|
2125
|
-
return this;
|
|
2287
|
+
return this.asRequiredState();
|
|
2126
2288
|
}
|
|
2127
2289
|
};
|
|
2128
2290
|
function textarea(config) {
|
|
@@ -2150,11 +2312,11 @@ var RichtextAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2150
2312
|
}
|
|
2151
2313
|
required() {
|
|
2152
2314
|
this.setRequired(true);
|
|
2153
|
-
return this;
|
|
2315
|
+
return this.asRequiredState();
|
|
2154
2316
|
}
|
|
2155
2317
|
optional() {
|
|
2156
2318
|
this.setRequired(false);
|
|
2157
|
-
return this;
|
|
2319
|
+
return this.asRequiredState();
|
|
2158
2320
|
}
|
|
2159
2321
|
};
|
|
2160
2322
|
function richtext(config) {
|
|
@@ -2188,11 +2350,11 @@ var NumberAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2188
2350
|
}
|
|
2189
2351
|
required() {
|
|
2190
2352
|
this.setRequired(true);
|
|
2191
|
-
return this;
|
|
2353
|
+
return this.asRequiredState();
|
|
2192
2354
|
}
|
|
2193
2355
|
optional() {
|
|
2194
2356
|
this.setRequired(false);
|
|
2195
|
-
return this;
|
|
2357
|
+
return this.asRequiredState();
|
|
2196
2358
|
}
|
|
2197
2359
|
};
|
|
2198
2360
|
function number(config) {
|
|
@@ -2204,11 +2366,11 @@ var CheckboxAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2204
2366
|
}
|
|
2205
2367
|
required() {
|
|
2206
2368
|
this.setRequired(true);
|
|
2207
|
-
return this;
|
|
2369
|
+
return this.asRequiredState();
|
|
2208
2370
|
}
|
|
2209
2371
|
optional() {
|
|
2210
2372
|
this.setRequired(false);
|
|
2211
|
-
return this;
|
|
2373
|
+
return this.asRequiredState();
|
|
2212
2374
|
}
|
|
2213
2375
|
};
|
|
2214
2376
|
function checkbox(config) {
|
|
@@ -2232,11 +2394,11 @@ var DateAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2232
2394
|
}
|
|
2233
2395
|
required() {
|
|
2234
2396
|
this.setRequired(true);
|
|
2235
|
-
return this;
|
|
2397
|
+
return this.asRequiredState();
|
|
2236
2398
|
}
|
|
2237
2399
|
optional() {
|
|
2238
2400
|
this.setRequired(false);
|
|
2239
|
-
return this;
|
|
2401
|
+
return this.asRequiredState();
|
|
2240
2402
|
}
|
|
2241
2403
|
};
|
|
2242
2404
|
function date(config) {
|
|
@@ -2252,11 +2414,11 @@ var PhoneAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2252
2414
|
}
|
|
2253
2415
|
required() {
|
|
2254
2416
|
this.setRequired(true);
|
|
2255
|
-
return this;
|
|
2417
|
+
return this.asRequiredState();
|
|
2256
2418
|
}
|
|
2257
2419
|
optional() {
|
|
2258
2420
|
this.setRequired(false);
|
|
2259
|
-
return this;
|
|
2421
|
+
return this.asRequiredState();
|
|
2260
2422
|
}
|
|
2261
2423
|
};
|
|
2262
2424
|
function phone(config) {
|
|
@@ -2276,11 +2438,11 @@ var CurrencyAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2276
2438
|
}
|
|
2277
2439
|
required() {
|
|
2278
2440
|
this.setRequired(true);
|
|
2279
|
-
return this;
|
|
2441
|
+
return this.asRequiredState();
|
|
2280
2442
|
}
|
|
2281
2443
|
optional() {
|
|
2282
2444
|
this.setRequired(false);
|
|
2283
|
-
return this;
|
|
2445
|
+
return this.asRequiredState();
|
|
2284
2446
|
}
|
|
2285
2447
|
};
|
|
2286
2448
|
function currency(config) {
|
|
@@ -2294,26 +2456,27 @@ var StatusAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2294
2456
|
* Set all options at once (preserves literal types for values)
|
|
2295
2457
|
*/
|
|
2296
2458
|
options(value) {
|
|
2297
|
-
|
|
2298
|
-
this.attr.
|
|
2299
|
-
|
|
2459
|
+
const mutableOptions = asMutableArray(value);
|
|
2460
|
+
validateOptions(mutableOptions, this.attr.name ?? "unknown");
|
|
2461
|
+
this.attr.options = mutableOptions;
|
|
2462
|
+
return this.asPhantomState();
|
|
2300
2463
|
}
|
|
2301
2464
|
option(config) {
|
|
2302
2465
|
if (!this.attr.options) {
|
|
2303
2466
|
this.attr.options = [];
|
|
2304
2467
|
}
|
|
2305
2468
|
const allOptions = [...this.attr.options, config];
|
|
2306
|
-
validateOptions(allOptions,
|
|
2469
|
+
validateOptions(allOptions, this.attr.name ?? "unknown");
|
|
2307
2470
|
this.attr.options.push(config);
|
|
2308
2471
|
return this;
|
|
2309
2472
|
}
|
|
2310
2473
|
required() {
|
|
2311
2474
|
this.setRequired(true);
|
|
2312
|
-
return this;
|
|
2475
|
+
return this.asRequiredState();
|
|
2313
2476
|
}
|
|
2314
2477
|
optional() {
|
|
2315
2478
|
this.setRequired(false);
|
|
2316
|
-
return this;
|
|
2479
|
+
return this.asRequiredState();
|
|
2317
2480
|
}
|
|
2318
2481
|
};
|
|
2319
2482
|
function status(config) {
|
|
@@ -2327,26 +2490,27 @@ var SelectAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2327
2490
|
* Set all options at once (preserves literal types for values)
|
|
2328
2491
|
*/
|
|
2329
2492
|
options(value) {
|
|
2330
|
-
|
|
2331
|
-
this.attr.
|
|
2332
|
-
|
|
2493
|
+
const mutableOptions = asMutableArray(value);
|
|
2494
|
+
validateOptions(mutableOptions, this.attr.name ?? "unknown");
|
|
2495
|
+
this.attr.options = mutableOptions;
|
|
2496
|
+
return this.asPhantomState();
|
|
2333
2497
|
}
|
|
2334
2498
|
option(config) {
|
|
2335
2499
|
if (!this.attr.options) {
|
|
2336
2500
|
this.attr.options = [];
|
|
2337
2501
|
}
|
|
2338
2502
|
const allOptions = [...this.attr.options, config];
|
|
2339
|
-
validateOptions(allOptions,
|
|
2503
|
+
validateOptions(allOptions, this.attr.name ?? "unknown");
|
|
2340
2504
|
this.attr.options.push(config);
|
|
2341
2505
|
return this;
|
|
2342
2506
|
}
|
|
2343
2507
|
required() {
|
|
2344
2508
|
this.setRequired(true);
|
|
2345
|
-
return this;
|
|
2509
|
+
return this.asRequiredState();
|
|
2346
2510
|
}
|
|
2347
2511
|
optional() {
|
|
2348
2512
|
this.setRequired(false);
|
|
2349
|
-
return this;
|
|
2513
|
+
return this.asRequiredState();
|
|
2350
2514
|
}
|
|
2351
2515
|
};
|
|
2352
2516
|
function select(config) {
|
|
@@ -2360,26 +2524,27 @@ var MultiselectAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2360
2524
|
* Set all options at once (preserves literal types for values)
|
|
2361
2525
|
*/
|
|
2362
2526
|
options(value) {
|
|
2363
|
-
|
|
2364
|
-
this.attr.
|
|
2365
|
-
|
|
2527
|
+
const mutableOptions = asMutableArray(value);
|
|
2528
|
+
validateOptions(mutableOptions, this.attr.name ?? "unknown");
|
|
2529
|
+
this.attr.options = mutableOptions;
|
|
2530
|
+
return this.asPhantomState();
|
|
2366
2531
|
}
|
|
2367
2532
|
option(config) {
|
|
2368
2533
|
if (!this.attr.options) {
|
|
2369
2534
|
this.attr.options = [];
|
|
2370
2535
|
}
|
|
2371
2536
|
const allOptions = [...this.attr.options, config];
|
|
2372
|
-
validateOptions(allOptions,
|
|
2537
|
+
validateOptions(allOptions, this.attr.name ?? "unknown");
|
|
2373
2538
|
this.attr.options.push(config);
|
|
2374
2539
|
return this;
|
|
2375
2540
|
}
|
|
2376
2541
|
required() {
|
|
2377
2542
|
this.setRequired(true);
|
|
2378
|
-
return this;
|
|
2543
|
+
return this.asRequiredState();
|
|
2379
2544
|
}
|
|
2380
2545
|
optional() {
|
|
2381
2546
|
this.setRequired(false);
|
|
2382
|
-
return this;
|
|
2547
|
+
return this.asRequiredState();
|
|
2383
2548
|
}
|
|
2384
2549
|
};
|
|
2385
2550
|
function multiselect(config) {
|
|
@@ -2415,11 +2580,11 @@ var LocationAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2415
2580
|
}
|
|
2416
2581
|
required() {
|
|
2417
2582
|
this.setRequired(true);
|
|
2418
|
-
return this;
|
|
2583
|
+
return this.asRequiredState();
|
|
2419
2584
|
}
|
|
2420
2585
|
optional() {
|
|
2421
2586
|
this.setRequired(false);
|
|
2422
|
-
return this;
|
|
2587
|
+
return this.asRequiredState();
|
|
2423
2588
|
}
|
|
2424
2589
|
};
|
|
2425
2590
|
function location(config) {
|
|
@@ -2438,7 +2603,7 @@ var FileAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2438
2603
|
return this;
|
|
2439
2604
|
}
|
|
2440
2605
|
allowedTypes(types) {
|
|
2441
|
-
this.attr.allowedTypes = types;
|
|
2606
|
+
this.attr.allowedTypes = asMutableArray(types);
|
|
2442
2607
|
return this;
|
|
2443
2608
|
}
|
|
2444
2609
|
/**
|
|
@@ -2450,11 +2615,11 @@ var FileAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2450
2615
|
}
|
|
2451
2616
|
required() {
|
|
2452
2617
|
this.setRequired(true);
|
|
2453
|
-
return this;
|
|
2618
|
+
return this.asRequiredState();
|
|
2454
2619
|
}
|
|
2455
2620
|
optional() {
|
|
2456
2621
|
this.setRequired(false);
|
|
2457
|
-
return this;
|
|
2622
|
+
return this.asRequiredState();
|
|
2458
2623
|
}
|
|
2459
2624
|
};
|
|
2460
2625
|
function file(config) {
|
|
@@ -2477,11 +2642,11 @@ var UserAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2477
2642
|
}
|
|
2478
2643
|
required() {
|
|
2479
2644
|
this.setRequired(true);
|
|
2480
|
-
return this;
|
|
2645
|
+
return this.asRequiredState();
|
|
2481
2646
|
}
|
|
2482
2647
|
optional() {
|
|
2483
2648
|
this.setRequired(false);
|
|
2484
|
-
return this;
|
|
2649
|
+
return this.asRequiredState();
|
|
2485
2650
|
}
|
|
2486
2651
|
};
|
|
2487
2652
|
function user(config) {
|
|
@@ -2498,7 +2663,7 @@ var BaseRelationAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2498
2663
|
object: objectName,
|
|
2499
2664
|
...options
|
|
2500
2665
|
};
|
|
2501
|
-
|
|
2666
|
+
this.attr.targets?.push(target);
|
|
2502
2667
|
return this;
|
|
2503
2668
|
}
|
|
2504
2669
|
/**
|
|
@@ -2575,7 +2740,7 @@ var SingleRelationAttributeBuilder = class extends BaseRelationAttributeBuilder
|
|
|
2575
2740
|
many() {
|
|
2576
2741
|
const multiBuilder = new MultiRelationAttributeBuilder(
|
|
2577
2742
|
this.attr.name,
|
|
2578
|
-
|
|
2743
|
+
this.attr.label ?? "",
|
|
2579
2744
|
{
|
|
2580
2745
|
targets: this.attr.targets,
|
|
2581
2746
|
isRequired: this.attr.required
|
|
@@ -2599,20 +2764,20 @@ var SingleRelationAttributeBuilder = class extends BaseRelationAttributeBuilder
|
|
|
2599
2764
|
}
|
|
2600
2765
|
required() {
|
|
2601
2766
|
this.setRequired(true);
|
|
2602
|
-
return this;
|
|
2767
|
+
return this.asRequiredState();
|
|
2603
2768
|
}
|
|
2604
2769
|
optional() {
|
|
2605
2770
|
this.setRequired(false);
|
|
2606
|
-
return this;
|
|
2771
|
+
return this.asRequiredState();
|
|
2607
2772
|
}
|
|
2608
2773
|
};
|
|
2609
2774
|
var MultiRelationAttributeBuilder = class extends BaseRelationAttributeBuilder {
|
|
2610
2775
|
constructor(name, label, initOptions) {
|
|
2611
2776
|
super("relation", name, label);
|
|
2612
2777
|
this.attr.cardinality = "many";
|
|
2613
|
-
this.attr.targets =
|
|
2778
|
+
this.attr.targets = initOptions?.targets ?? [];
|
|
2614
2779
|
this.attr.defaultValue = [];
|
|
2615
|
-
if (
|
|
2780
|
+
if (initOptions?.isRequired) {
|
|
2616
2781
|
this.setRequired(true);
|
|
2617
2782
|
}
|
|
2618
2783
|
}
|
|
@@ -2632,11 +2797,11 @@ var MultiRelationAttributeBuilder = class extends BaseRelationAttributeBuilder {
|
|
|
2632
2797
|
}
|
|
2633
2798
|
required() {
|
|
2634
2799
|
this.setRequired(true);
|
|
2635
|
-
return this;
|
|
2800
|
+
return this.asRequiredState();
|
|
2636
2801
|
}
|
|
2637
2802
|
optional() {
|
|
2638
2803
|
this.setRequired(false);
|
|
2639
|
-
return this;
|
|
2804
|
+
return this.asRequiredState();
|
|
2640
2805
|
}
|
|
2641
2806
|
};
|
|
2642
2807
|
function relation(config) {
|
|
@@ -2656,11 +2821,11 @@ var RatingAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2656
2821
|
}
|
|
2657
2822
|
required() {
|
|
2658
2823
|
this.setRequired(true);
|
|
2659
|
-
return this;
|
|
2824
|
+
return this.asRequiredState();
|
|
2660
2825
|
}
|
|
2661
2826
|
optional() {
|
|
2662
2827
|
this.setRequired(false);
|
|
2663
|
-
return this;
|
|
2828
|
+
return this.asRequiredState();
|
|
2664
2829
|
}
|
|
2665
2830
|
};
|
|
2666
2831
|
function rating(config) {
|
|
@@ -2817,23 +2982,20 @@ var DocumentAttributeBuilder = class extends BaseAttributeBuilder {
|
|
|
2817
2982
|
*/
|
|
2818
2983
|
required() {
|
|
2819
2984
|
this.setRequired(true);
|
|
2820
|
-
return this;
|
|
2985
|
+
return this.asRequiredState();
|
|
2821
2986
|
}
|
|
2822
2987
|
/**
|
|
2823
2988
|
* Mark this attribute as optional (undo required).
|
|
2824
2989
|
*/
|
|
2825
2990
|
optional() {
|
|
2826
2991
|
this.setRequired(false);
|
|
2827
|
-
return this;
|
|
2992
|
+
return this.asRequiredState();
|
|
2828
2993
|
}
|
|
2829
2994
|
};
|
|
2830
2995
|
function document(config) {
|
|
2831
2996
|
return new DocumentAttributeBuilder(config.name, config.label);
|
|
2832
2997
|
}
|
|
2833
2998
|
|
|
2834
|
-
// src/builders/object-builder.ts
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
2999
|
// src/builders/migration-builder.ts
|
|
2838
3000
|
function resolveBuiltInTransform(targetType) {
|
|
2839
3001
|
const map = {
|
|
@@ -2911,7 +3073,7 @@ var MigrationBuilder = class {
|
|
|
2911
3073
|
changeType(name, from, to, options) {
|
|
2912
3074
|
this.assertNotTouched(name, "change_type");
|
|
2913
3075
|
this.touchedAttributes.add(name);
|
|
2914
|
-
const transform =
|
|
3076
|
+
const transform = options?.transform ? resolveBuiltInTransform(to) : void 0;
|
|
2915
3077
|
this.operations.push({ type: "change_type", name, from, to, transform });
|
|
2916
3078
|
return this;
|
|
2917
3079
|
}
|
|
@@ -2981,6 +3143,18 @@ var ObjectBuilder = class {
|
|
|
2981
3143
|
system: false
|
|
2982
3144
|
};
|
|
2983
3145
|
}
|
|
3146
|
+
/**
|
|
3147
|
+
* Standard Schema v1 interface implementation.
|
|
3148
|
+
*
|
|
3149
|
+
* This property enables interoperability with libraries that support
|
|
3150
|
+
* Standard Schema (React Hook Form, tRPC, etc.).
|
|
3151
|
+
*
|
|
3152
|
+
* @see https://standardschema.dev/
|
|
3153
|
+
*/
|
|
3154
|
+
get "~standard"() {
|
|
3155
|
+
const zodSchema = chunk2TEWGEUI_js.createObjectValidator(this.build());
|
|
3156
|
+
return createStandardSchemaProps(zodSchema);
|
|
3157
|
+
}
|
|
2984
3158
|
/**
|
|
2985
3159
|
* Set object description
|
|
2986
3160
|
*/
|
|
@@ -3119,6 +3293,13 @@ The labelExpression defines how records are displayed in lists and relations.
|
|
|
3119
3293
|
\u2705 Example: .labelExpression("{{ firstName }} {{ lastName }}")`
|
|
3120
3294
|
);
|
|
3121
3295
|
}
|
|
3296
|
+
const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
|
|
3297
|
+
if (!labelResult.success) {
|
|
3298
|
+
const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
|
|
3299
|
+
throw new Error(
|
|
3300
|
+
`[ObjectBuilder] Invalid labelExpression for "${this.obj.name}": ${errorMsg}`
|
|
3301
|
+
);
|
|
3302
|
+
}
|
|
3122
3303
|
const sortedVersions = [...this._migrations].sort((a, b) => a.version - b.version);
|
|
3123
3304
|
for (let i = 0; i < sortedVersions.length; i++) {
|
|
3124
3305
|
const expected = i + 2;
|
|
@@ -3146,13 +3327,13 @@ The labelExpression defines how records are displayed in lists and relations.
|
|
|
3146
3327
|
if (name === void 0) {
|
|
3147
3328
|
return;
|
|
3148
3329
|
}
|
|
3149
|
-
const objectNameSchema =
|
|
3330
|
+
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
3331
|
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
3332
|
});
|
|
3152
3333
|
try {
|
|
3153
3334
|
objectNameSchema.parse(name);
|
|
3154
3335
|
} catch (error) {
|
|
3155
|
-
if (error instanceof
|
|
3336
|
+
if (error instanceof z3__default.default.ZodError) {
|
|
3156
3337
|
throw new Error(`[ObjectBuilder] ${error.issues[0].message}`);
|
|
3157
3338
|
}
|
|
3158
3339
|
throw error;
|
|
@@ -3162,9 +3343,6 @@ The labelExpression defines how records are displayed in lists and relations.
|
|
|
3162
3343
|
function object(config) {
|
|
3163
3344
|
return new ObjectBuilder(config);
|
|
3164
3345
|
}
|
|
3165
|
-
|
|
3166
|
-
// src/builders/view-builder.ts
|
|
3167
|
-
|
|
3168
3346
|
var GroupBuilder = class {
|
|
3169
3347
|
constructor(id, label) {
|
|
3170
3348
|
this.data = { fields: [] };
|
|
@@ -3200,7 +3378,7 @@ var GroupBuilder = class {
|
|
|
3200
3378
|
*/
|
|
3201
3379
|
fields(...names) {
|
|
3202
3380
|
for (const name of names) {
|
|
3203
|
-
|
|
3381
|
+
this.data.fields?.push({ attribute: name });
|
|
3204
3382
|
}
|
|
3205
3383
|
return this;
|
|
3206
3384
|
}
|
|
@@ -3209,7 +3387,7 @@ var GroupBuilder = class {
|
|
|
3209
3387
|
* @example .field("name", { span: 8, readOnly: true })
|
|
3210
3388
|
*/
|
|
3211
3389
|
field(attribute, options) {
|
|
3212
|
-
|
|
3390
|
+
this.data.fields?.push({ attribute, ...options });
|
|
3213
3391
|
return this;
|
|
3214
3392
|
}
|
|
3215
3393
|
/**
|
|
@@ -3218,7 +3396,7 @@ var GroupBuilder = class {
|
|
|
3218
3396
|
* @example .attributeGroup({ id: "address", label: "Address", attributes: ["street", "city", "postal_code"], displayTemplate: "{street}, {city}" })
|
|
3219
3397
|
*/
|
|
3220
3398
|
attributeGroup(config, options) {
|
|
3221
|
-
|
|
3399
|
+
this.data.fields?.push({ attributeGroup: config, ...options });
|
|
3222
3400
|
return this;
|
|
3223
3401
|
}
|
|
3224
3402
|
/**
|
|
@@ -3955,13 +4133,13 @@ var DetailViewBuilder = class {
|
|
|
3955
4133
|
* Validate view name format (kebab-case)
|
|
3956
4134
|
*/
|
|
3957
4135
|
validateName(name) {
|
|
3958
|
-
const viewNameSchema =
|
|
4136
|
+
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
4137
|
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
4138
|
});
|
|
3961
4139
|
try {
|
|
3962
4140
|
viewNameSchema.parse(name);
|
|
3963
4141
|
} catch (error) {
|
|
3964
|
-
if (error instanceof
|
|
4142
|
+
if (error instanceof z3.z.ZodError) {
|
|
3965
4143
|
throw new Error(`[DetailViewBuilder] ${error.issues[0].message}`);
|
|
3966
4144
|
}
|
|
3967
4145
|
throw error;
|
|
@@ -4091,7 +4269,7 @@ var ListViewBuilder = class {
|
|
|
4091
4269
|
}
|
|
4092
4270
|
const config = {
|
|
4093
4271
|
defaultFilters: this.data.defaultFilters ? {
|
|
4094
|
-
id:
|
|
4272
|
+
id: chunkE6XO2STS_js.generateId(),
|
|
4095
4273
|
combinator: this.data.defaultFilters.combinator,
|
|
4096
4274
|
rules: this.data.defaultFilters.rules
|
|
4097
4275
|
} : void 0,
|
|
@@ -4104,7 +4282,7 @@ var ListViewBuilder = class {
|
|
|
4104
4282
|
columns: tab.columns,
|
|
4105
4283
|
columnSizing: tab.columnSizing,
|
|
4106
4284
|
filters: tab.filters ? {
|
|
4107
|
-
id:
|
|
4285
|
+
id: chunkE6XO2STS_js.generateId(),
|
|
4108
4286
|
combinator: tab.filters.combinator,
|
|
4109
4287
|
rules: tab.filters.rules
|
|
4110
4288
|
} : void 0,
|
|
@@ -4135,13 +4313,13 @@ var ListViewBuilder = class {
|
|
|
4135
4313
|
* Validate view name format (kebab-case)
|
|
4136
4314
|
*/
|
|
4137
4315
|
validateName(name) {
|
|
4138
|
-
const viewNameSchema =
|
|
4316
|
+
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
4317
|
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
4318
|
});
|
|
4141
4319
|
try {
|
|
4142
4320
|
viewNameSchema.parse(name);
|
|
4143
4321
|
} catch (error) {
|
|
4144
|
-
if (error instanceof
|
|
4322
|
+
if (error instanceof z3.z.ZodError) {
|
|
4145
4323
|
throw new Error(`[ListViewBuilder] ${error.issues[0].message}`);
|
|
4146
4324
|
}
|
|
4147
4325
|
throw error;
|
|
@@ -4319,9 +4497,6 @@ function group(id, label) {
|
|
|
4319
4497
|
function relationGroup(id, label, attribute) {
|
|
4320
4498
|
return new RelationGroupBuilder(id, label, attribute);
|
|
4321
4499
|
}
|
|
4322
|
-
|
|
4323
|
-
// src/builders/workflow-builder.ts
|
|
4324
|
-
|
|
4325
4500
|
var WorkflowFormRowBuilder = class {
|
|
4326
4501
|
/** @internal */
|
|
4327
4502
|
constructor(formBuilder, rowId, order) {
|
|
@@ -4343,8 +4518,8 @@ var WorkflowFormRowBuilder = class {
|
|
|
4343
4518
|
id: `${this.rowData.id}-${slotId}-${attribute}`,
|
|
4344
4519
|
slotId,
|
|
4345
4520
|
attribute,
|
|
4346
|
-
label:
|
|
4347
|
-
required:
|
|
4521
|
+
label: options?.label,
|
|
4522
|
+
required: options?.required
|
|
4348
4523
|
};
|
|
4349
4524
|
this.rowData.fields.push(field);
|
|
4350
4525
|
return this;
|
|
@@ -4359,16 +4534,16 @@ var WorkflowFormRowBuilder = class {
|
|
|
4359
4534
|
* @param options - Optional label, required flag, and relation config
|
|
4360
4535
|
*/
|
|
4361
4536
|
relationField(slotId, attribute, options) {
|
|
4362
|
-
const relationConfig =
|
|
4363
|
-
visibleProperties:
|
|
4364
|
-
allowCreate:
|
|
4537
|
+
const relationConfig = options?.visibleProperties || options?.allowCreate !== void 0 ? {
|
|
4538
|
+
visibleProperties: options?.visibleProperties,
|
|
4539
|
+
allowCreate: options?.allowCreate
|
|
4365
4540
|
} : void 0;
|
|
4366
4541
|
const field = {
|
|
4367
4542
|
id: `${this.rowData.id}-${slotId}-${attribute}`,
|
|
4368
4543
|
slotId,
|
|
4369
4544
|
attribute,
|
|
4370
|
-
label:
|
|
4371
|
-
required:
|
|
4545
|
+
label: options?.label,
|
|
4546
|
+
required: options?.required,
|
|
4372
4547
|
relationConfig
|
|
4373
4548
|
};
|
|
4374
4549
|
this.rowData.fields.push(field);
|
|
@@ -4487,10 +4662,10 @@ var WorkflowFormBuilder = class {
|
|
|
4487
4662
|
type: "relationList",
|
|
4488
4663
|
slotId,
|
|
4489
4664
|
relationName,
|
|
4490
|
-
preload:
|
|
4491
|
-
columns:
|
|
4492
|
-
qualifiersInline:
|
|
4493
|
-
modalFields:
|
|
4665
|
+
preload: options.preload ?? true,
|
|
4666
|
+
columns: options.columns ?? [],
|
|
4667
|
+
qualifiersInline: options.qualifiersInline ?? true,
|
|
4668
|
+
modalFields: options.modalFields ?? "all",
|
|
4494
4669
|
label: options.label
|
|
4495
4670
|
};
|
|
4496
4671
|
this.rows.push(row);
|
|
@@ -4740,11 +4915,11 @@ var WorkflowAIBuilder = class {
|
|
|
4740
4915
|
if (typeof definitionIdOrConfig === "string") {
|
|
4741
4916
|
this.agentConfig = {
|
|
4742
4917
|
// Default to async when referencing a definition by ID
|
|
4743
|
-
mode:
|
|
4918
|
+
mode: options?.mode ?? "async",
|
|
4744
4919
|
definitionId: definitionIdOrConfig,
|
|
4745
|
-
instructions:
|
|
4746
|
-
inputSlotIds:
|
|
4747
|
-
targetSlotIds:
|
|
4920
|
+
instructions: options?.instructions,
|
|
4921
|
+
inputSlotIds: options?.inputSlotIds,
|
|
4922
|
+
targetSlotIds: options?.targetSlotIds
|
|
4748
4923
|
};
|
|
4749
4924
|
} else {
|
|
4750
4925
|
this.agentConfig = definitionIdOrConfig;
|
|
@@ -4891,18 +5066,18 @@ var WorkflowBuilder = class {
|
|
|
4891
5066
|
* @param options - Slot configuration
|
|
4892
5067
|
*/
|
|
4893
5068
|
slot(id, objectName, options) {
|
|
4894
|
-
if (
|
|
5069
|
+
if (this.data.slots?.some((s) => s.id === id)) {
|
|
4895
5070
|
throw new Error(`[WorkflowBuilder] Duplicate slot id: "${id}"`);
|
|
4896
5071
|
}
|
|
4897
5072
|
const slot = {
|
|
4898
5073
|
id,
|
|
4899
5074
|
objectName,
|
|
4900
5075
|
label: options.label,
|
|
4901
|
-
mode:
|
|
5076
|
+
mode: options.mode ?? "create",
|
|
4902
5077
|
color: options.color,
|
|
4903
5078
|
icon: options.icon
|
|
4904
5079
|
};
|
|
4905
|
-
|
|
5080
|
+
this.data.slots?.push(slot);
|
|
4906
5081
|
return this;
|
|
4907
5082
|
}
|
|
4908
5083
|
// ============================================================================
|
|
@@ -4991,13 +5166,13 @@ var WorkflowBuilder = class {
|
|
|
4991
5166
|
// VALIDATION
|
|
4992
5167
|
// ============================================================================
|
|
4993
5168
|
validateName(name) {
|
|
4994
|
-
const schema =
|
|
5169
|
+
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
5170
|
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
5171
|
});
|
|
4997
5172
|
try {
|
|
4998
5173
|
schema.parse(name);
|
|
4999
5174
|
} catch (error) {
|
|
5000
|
-
if (error instanceof
|
|
5175
|
+
if (error instanceof z3.z.ZodError) {
|
|
5001
5176
|
throw new Error(`[WorkflowBuilder] ${error.issues[0].message}`);
|
|
5002
5177
|
}
|
|
5003
5178
|
throw error;
|
|
@@ -5021,8 +5196,8 @@ var WorkflowBuilder = class {
|
|
|
5021
5196
|
}
|
|
5022
5197
|
}
|
|
5023
5198
|
validateNodeReferences() {
|
|
5024
|
-
const nodeIds = new Set(Object.keys(
|
|
5025
|
-
for (const node of Object.values(
|
|
5199
|
+
const nodeIds = new Set(Object.keys(this.data.nodes ?? {}));
|
|
5200
|
+
for (const node of Object.values(this.data.nodes ?? {})) {
|
|
5026
5201
|
for (const targetId of getNodeOutputs(node)) {
|
|
5027
5202
|
if (!nodeIds.has(targetId)) {
|
|
5028
5203
|
throw new Error(
|
|
@@ -5033,8 +5208,8 @@ var WorkflowBuilder = class {
|
|
|
5033
5208
|
}
|
|
5034
5209
|
}
|
|
5035
5210
|
validateSlotReferences() {
|
|
5036
|
-
const slotIds =
|
|
5037
|
-
for (const node of Object.values(
|
|
5211
|
+
const slotIds = this.data.slots?.reduce((set, s) => set.add(s.id), /* @__PURE__ */ new Set()) ?? /* @__PURE__ */ new Set();
|
|
5212
|
+
for (const node of Object.values(this.data.nodes ?? {})) {
|
|
5038
5213
|
for (const slotId of getNodeSlotIds(node)) {
|
|
5039
5214
|
if (!slotIds.has(slotId)) {
|
|
5040
5215
|
throw new Error(
|
|
@@ -5045,7 +5220,7 @@ var WorkflowBuilder = class {
|
|
|
5045
5220
|
}
|
|
5046
5221
|
}
|
|
5047
5222
|
validateDAG() {
|
|
5048
|
-
const nodes =
|
|
5223
|
+
const nodes = this.data.nodes ?? {};
|
|
5049
5224
|
const visited = /* @__PURE__ */ new Set();
|
|
5050
5225
|
const recursionStack = /* @__PURE__ */ new Set();
|
|
5051
5226
|
const hasCycle = (nodeId) => {
|
|
@@ -5166,7 +5341,7 @@ var BaseFlagBuilder = class {
|
|
|
5166
5341
|
* @throws {Error} If label is not set or is whitespace-only
|
|
5167
5342
|
*/
|
|
5168
5343
|
build() {
|
|
5169
|
-
if (!
|
|
5344
|
+
if (!this.flag.label?.trim()) {
|
|
5170
5345
|
throw new Error(
|
|
5171
5346
|
`Flag "${this.flag.name}" must have a label. Use .label("Human-readable label").`
|
|
5172
5347
|
);
|
|
@@ -5381,7 +5556,7 @@ var FlagRegistry = class {
|
|
|
5381
5556
|
* @returns The default value or undefined if flag not found
|
|
5382
5557
|
*/
|
|
5383
5558
|
getDefaultValue(name) {
|
|
5384
|
-
return
|
|
5559
|
+
return this.get(name)?.defaultValue;
|
|
5385
5560
|
}
|
|
5386
5561
|
/**
|
|
5387
5562
|
* Get a map of all flag names to their default values.
|
|
@@ -5427,7 +5602,7 @@ var FlagService = class {
|
|
|
5427
5602
|
constructor(options) {
|
|
5428
5603
|
this.repository = options.repository;
|
|
5429
5604
|
this.registry = options.registry;
|
|
5430
|
-
this.staticDefaults = new Map(
|
|
5605
|
+
this.staticDefaults = new Map(options.staticDefaults?.map((d) => [d.name, d.value]) ?? []);
|
|
5431
5606
|
}
|
|
5432
5607
|
/**
|
|
5433
5608
|
* Resolve all flags for the current context.
|
|
@@ -5505,7 +5680,7 @@ var FlagService = class {
|
|
|
5505
5680
|
`Flag "${flagName}" does not allow ${level}-level overrides. Allowed levels: ${flag.allowedLevels.join(", ")}`
|
|
5506
5681
|
);
|
|
5507
5682
|
}
|
|
5508
|
-
if (
|
|
5683
|
+
if (flag?.system) {
|
|
5509
5684
|
throw new Error(`Flag "${flagName}" is a system flag and cannot be overridden via API.`);
|
|
5510
5685
|
}
|
|
5511
5686
|
await this.repository.setOverride({
|
|
@@ -5556,7 +5731,7 @@ var FlagService = class {
|
|
|
5556
5731
|
*/
|
|
5557
5732
|
resolveValue(flagName, overrides, context) {
|
|
5558
5733
|
const flag = this.registry.get(flagName);
|
|
5559
|
-
const allowedLevels =
|
|
5734
|
+
const allowedLevels = flag?.allowedLevels ?? ["global", "tenant", "user"];
|
|
5560
5735
|
if (context.userId && allowedLevels.includes("user")) {
|
|
5561
5736
|
const userOverride = overrides.user.find((o) => o.flagName === flagName);
|
|
5562
5737
|
if (userOverride) return userOverride.value;
|
|
@@ -5572,14 +5747,14 @@ var FlagService = class {
|
|
|
5572
5747
|
if (this.staticDefaults.has(flagName)) {
|
|
5573
5748
|
return this.staticDefaults.get(flagName);
|
|
5574
5749
|
}
|
|
5575
|
-
return
|
|
5750
|
+
return flag?.defaultValue;
|
|
5576
5751
|
}
|
|
5577
5752
|
/**
|
|
5578
5753
|
* Resolve a flag value with source information.
|
|
5579
5754
|
*/
|
|
5580
5755
|
resolveWithSource(flagName, overrides, context) {
|
|
5581
5756
|
const flag = this.registry.get(flagName);
|
|
5582
|
-
const allowedLevels =
|
|
5757
|
+
const allowedLevels = flag?.allowedLevels ?? ["global", "tenant", "user"];
|
|
5583
5758
|
if (context.userId && allowedLevels.includes("user")) {
|
|
5584
5759
|
const userOverride = overrides.user.find((o) => o.flagName === flagName);
|
|
5585
5760
|
if (userOverride) {
|
|
@@ -5621,7 +5796,7 @@ var FlagService = class {
|
|
|
5621
5796
|
}
|
|
5622
5797
|
return {
|
|
5623
5798
|
name: flagName,
|
|
5624
|
-
value:
|
|
5799
|
+
value: flag?.defaultValue ?? void 0,
|
|
5625
5800
|
source: "default"
|
|
5626
5801
|
};
|
|
5627
5802
|
}
|
|
@@ -5681,7 +5856,7 @@ Native objects must have system=true. Did you forget to call .system() in your b
|
|
|
5681
5856
|
const existing = this.objects.get(object2.name);
|
|
5682
5857
|
throw new Error(
|
|
5683
5858
|
`[NativeObjectRegistry] Duplicate object name "${object2.name}":
|
|
5684
|
-
- Existing: "${
|
|
5859
|
+
- Existing: "${existing?.label}" (id: ${existing?.id})
|
|
5685
5860
|
- New: "${object2.label}" (id: ${object2.id})
|
|
5686
5861
|
Please use unique names for each native object.`
|
|
5687
5862
|
);
|
|
@@ -5803,11 +5978,11 @@ var ViewRegistry = class {
|
|
|
5803
5978
|
);
|
|
5804
5979
|
}
|
|
5805
5980
|
this.views.set(key, view2);
|
|
5806
|
-
const objectViews =
|
|
5981
|
+
const objectViews = this.byObject.get(view2.object) ?? [];
|
|
5807
5982
|
objectViews.push(view2);
|
|
5808
5983
|
this.byObject.set(view2.object, objectViews);
|
|
5809
5984
|
const typeKey = `${view2.object}:${view2.type}`;
|
|
5810
|
-
const typeViews =
|
|
5985
|
+
const typeViews = this.byObjectAndType.get(typeKey) ?? [];
|
|
5811
5986
|
typeViews.push(view2);
|
|
5812
5987
|
this.byObjectAndType.set(typeKey, typeViews);
|
|
5813
5988
|
}
|
|
@@ -5815,13 +5990,13 @@ var ViewRegistry = class {
|
|
|
5815
5990
|
* Get all views for an object
|
|
5816
5991
|
*/
|
|
5817
5992
|
getByObjectName(objectName) {
|
|
5818
|
-
return
|
|
5993
|
+
return this.byObject.get(objectName) ?? [];
|
|
5819
5994
|
}
|
|
5820
5995
|
/**
|
|
5821
5996
|
* Get views for an object filtered by type
|
|
5822
5997
|
*/
|
|
5823
5998
|
getByObjectNameAndType(objectName, type) {
|
|
5824
|
-
return
|
|
5999
|
+
return this.byObjectAndType.get(`${objectName}:${type}`) ?? [];
|
|
5825
6000
|
}
|
|
5826
6001
|
/**
|
|
5827
6002
|
* Get a specific view by object, name, and type
|
|
@@ -5887,7 +6062,7 @@ Available views: ${availableNames}`
|
|
|
5887
6062
|
*/
|
|
5888
6063
|
getDefault(objectName, type) {
|
|
5889
6064
|
const views = this.getByObjectNameAndType(objectName, type);
|
|
5890
|
-
return
|
|
6065
|
+
return views.find((v) => v.default) ?? views[0];
|
|
5891
6066
|
}
|
|
5892
6067
|
/**
|
|
5893
6068
|
* Clear all registered views (for testing)
|
|
@@ -5933,7 +6108,7 @@ function getActiveTab(config, tabId) {
|
|
|
5933
6108
|
const tab = config.tabs.find((t) => t.id === tabId);
|
|
5934
6109
|
if (tab) return tab;
|
|
5935
6110
|
}
|
|
5936
|
-
return
|
|
6111
|
+
return config.tabs.find((t) => t.default) ?? config.tabs[0];
|
|
5937
6112
|
}
|
|
5938
6113
|
|
|
5939
6114
|
// src/views/auto-generator.ts
|
|
@@ -5944,8 +6119,8 @@ function getVisibleAttributes(attributes, excludeNames = []) {
|
|
|
5944
6119
|
}
|
|
5945
6120
|
function sortAttributes(attributes) {
|
|
5946
6121
|
return [...attributes].sort((a, b) => {
|
|
5947
|
-
const orderA =
|
|
5948
|
-
const orderB =
|
|
6122
|
+
const orderA = a.order ?? 999;
|
|
6123
|
+
const orderB = b.order ?? 999;
|
|
5949
6124
|
if (orderA !== orderB) return orderA - orderB;
|
|
5950
6125
|
return a.name.localeCompare(b.name);
|
|
5951
6126
|
});
|
|
@@ -6176,7 +6351,7 @@ function isDetailViewCustomized(view2, object2) {
|
|
|
6176
6351
|
if (viewGroup.id !== defaultGroup.id) {
|
|
6177
6352
|
return true;
|
|
6178
6353
|
}
|
|
6179
|
-
if ((
|
|
6354
|
+
if ((viewGroup.type ?? "fields") !== (defaultGroup.type ?? "fields")) {
|
|
6180
6355
|
return true;
|
|
6181
6356
|
}
|
|
6182
6357
|
if (isFieldGroup(viewGroup) && isFieldGroup(defaultGroup)) {
|
|
@@ -6228,321 +6403,715 @@ function isViewCustomized(view2, object2) {
|
|
|
6228
6403
|
}
|
|
6229
6404
|
return true;
|
|
6230
6405
|
}
|
|
6406
|
+
function objectToJSONSchema(objectDef) {
|
|
6407
|
+
const properties = {};
|
|
6408
|
+
const required = [];
|
|
6409
|
+
for (const attr of objectDef.attributes) {
|
|
6410
|
+
properties[attr.name] = attributeToJSONSchema(attr);
|
|
6411
|
+
if (attr.required) {
|
|
6412
|
+
required.push(attr.name);
|
|
6413
|
+
}
|
|
6414
|
+
}
|
|
6415
|
+
return {
|
|
6416
|
+
type: "object",
|
|
6417
|
+
title: objectDef.label,
|
|
6418
|
+
properties,
|
|
6419
|
+
required
|
|
6420
|
+
};
|
|
6421
|
+
}
|
|
6422
|
+
function attributeToJSONSchema(attr) {
|
|
6423
|
+
const base = {
|
|
6424
|
+
type: "string",
|
|
6425
|
+
title: attr.label
|
|
6426
|
+
};
|
|
6427
|
+
if (attr.description) {
|
|
6428
|
+
base.description = attr.description;
|
|
6429
|
+
}
|
|
6430
|
+
if (attr.placeholder) {
|
|
6431
|
+
base.examples = [attr.placeholder];
|
|
6432
|
+
}
|
|
6433
|
+
switch (attr.type) {
|
|
6434
|
+
case "text":
|
|
6435
|
+
case "textarea":
|
|
6436
|
+
base.type = "string";
|
|
6437
|
+
if ("minLength" in attr && attr.minLength !== void 0) {
|
|
6438
|
+
base.minLength = attr.minLength;
|
|
6439
|
+
}
|
|
6440
|
+
if ("maxLength" in attr && attr.maxLength !== void 0) {
|
|
6441
|
+
base.maxLength = attr.maxLength;
|
|
6442
|
+
}
|
|
6443
|
+
if ("pattern" in attr && attr.pattern) {
|
|
6444
|
+
base.pattern = attr.pattern;
|
|
6445
|
+
}
|
|
6446
|
+
break;
|
|
6447
|
+
case "richtext":
|
|
6448
|
+
base.type = "string";
|
|
6449
|
+
base.format = "html";
|
|
6450
|
+
break;
|
|
6451
|
+
case "number":
|
|
6452
|
+
case "rating":
|
|
6453
|
+
base.type = "number";
|
|
6454
|
+
if ("min" in attr && attr.min !== void 0) {
|
|
6455
|
+
base.minimum = attr.min;
|
|
6456
|
+
}
|
|
6457
|
+
if ("max" in attr && attr.max !== void 0) {
|
|
6458
|
+
base.maximum = attr.max;
|
|
6459
|
+
}
|
|
6460
|
+
break;
|
|
6461
|
+
case "checkbox":
|
|
6462
|
+
base.type = "boolean";
|
|
6463
|
+
break;
|
|
6464
|
+
case "date":
|
|
6465
|
+
base.type = "string";
|
|
6466
|
+
base.format = "date-time";
|
|
6467
|
+
break;
|
|
6468
|
+
case "phone":
|
|
6469
|
+
base.type = "object";
|
|
6470
|
+
break;
|
|
6471
|
+
case "currency":
|
|
6472
|
+
base.type = "object";
|
|
6473
|
+
break;
|
|
6474
|
+
case "select":
|
|
6475
|
+
case "status":
|
|
6476
|
+
base.type = "string";
|
|
6477
|
+
if ("options" in attr && Array.isArray(attr.options)) {
|
|
6478
|
+
base.enum = attr.options.map((opt) => opt.value);
|
|
6479
|
+
}
|
|
6480
|
+
break;
|
|
6481
|
+
case "multiselect":
|
|
6482
|
+
base.type = "array";
|
|
6483
|
+
if ("options" in attr && Array.isArray(attr.options)) {
|
|
6484
|
+
base.items = {
|
|
6485
|
+
type: "string",
|
|
6486
|
+
enum: attr.options.map((opt) => opt.value)
|
|
6487
|
+
};
|
|
6488
|
+
}
|
|
6489
|
+
break;
|
|
6490
|
+
case "file":
|
|
6491
|
+
if ("multiple" in attr && attr.multiple) {
|
|
6492
|
+
base.type = "array";
|
|
6493
|
+
base.items = { type: "string", format: "uuid" };
|
|
6494
|
+
} else {
|
|
6495
|
+
base.type = "string";
|
|
6496
|
+
base.format = "uuid";
|
|
6497
|
+
}
|
|
6498
|
+
break;
|
|
6499
|
+
case "user":
|
|
6500
|
+
if ("multiple" in attr && attr.multiple) {
|
|
6501
|
+
base.type = "array";
|
|
6502
|
+
base.items = { type: "string", format: "uuid" };
|
|
6503
|
+
} else {
|
|
6504
|
+
base.type = "string";
|
|
6505
|
+
base.format = "uuid";
|
|
6506
|
+
}
|
|
6507
|
+
break;
|
|
6508
|
+
case "relation":
|
|
6509
|
+
if ("cardinality" in attr && attr.cardinality === "many") {
|
|
6510
|
+
base.type = "array";
|
|
6511
|
+
if ("targets" in attr && Array.isArray(attr.targets) && attr.targets.length > 0) {
|
|
6512
|
+
base.description ?? (base.description = `References to ${attr.targets[0].object}`);
|
|
6513
|
+
}
|
|
6514
|
+
base.items = { type: "string", format: "uuid" };
|
|
6515
|
+
} else {
|
|
6516
|
+
base.type = "string";
|
|
6517
|
+
base.format = "uuid";
|
|
6518
|
+
if ("targets" in attr && Array.isArray(attr.targets) && attr.targets.length > 0) {
|
|
6519
|
+
base.description ?? (base.description = `Reference to ${attr.targets[0].object}`);
|
|
6520
|
+
}
|
|
6521
|
+
}
|
|
6522
|
+
break;
|
|
6523
|
+
case "location":
|
|
6524
|
+
base.type = "object";
|
|
6525
|
+
break;
|
|
6526
|
+
case "formula":
|
|
6527
|
+
case "rollup":
|
|
6528
|
+
base.type = "string";
|
|
6529
|
+
if ("returnType" in attr) {
|
|
6530
|
+
switch (attr.returnType) {
|
|
6531
|
+
case "number":
|
|
6532
|
+
base.type = "number";
|
|
6533
|
+
break;
|
|
6534
|
+
case "boolean":
|
|
6535
|
+
base.type = "boolean";
|
|
6536
|
+
break;
|
|
6537
|
+
case "date":
|
|
6538
|
+
base.type = "string";
|
|
6539
|
+
base.format = "date-time";
|
|
6540
|
+
break;
|
|
6541
|
+
}
|
|
6542
|
+
}
|
|
6543
|
+
break;
|
|
6544
|
+
case "document":
|
|
6545
|
+
if ("multiple" in attr && attr.multiple) {
|
|
6546
|
+
base.type = "array";
|
|
6547
|
+
base.items = { type: "string", format: "uuid" };
|
|
6548
|
+
} else {
|
|
6549
|
+
base.type = "string";
|
|
6550
|
+
base.format = "uuid";
|
|
6551
|
+
}
|
|
6552
|
+
break;
|
|
6553
|
+
default:
|
|
6554
|
+
base.type = "string";
|
|
6555
|
+
}
|
|
6556
|
+
return base;
|
|
6557
|
+
}
|
|
6558
|
+
function objectValidatorToJSONSchema(objectDef) {
|
|
6559
|
+
const validator = chunk2TEWGEUI_js.createObjectValidator(objectDef);
|
|
6560
|
+
return z3.z.toJSONSchema(validator);
|
|
6561
|
+
}
|
|
6231
6562
|
|
|
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;
|
|
6563
|
+
Object.defineProperty(exports, "asTenantId", {
|
|
6564
|
+
enumerable: true,
|
|
6565
|
+
get: function () { return chunkE6XO2STS_js.asTenantId; }
|
|
6566
|
+
});
|
|
6567
|
+
Object.defineProperty(exports, "asUserId", {
|
|
6568
|
+
enumerable: true,
|
|
6569
|
+
get: function () { return chunkE6XO2STS_js.asUserId; }
|
|
6570
|
+
});
|
|
6571
|
+
Object.defineProperty(exports, "deepEqual", {
|
|
6572
|
+
enumerable: true,
|
|
6573
|
+
get: function () { return chunkE6XO2STS_js.deepEqual; }
|
|
6574
|
+
});
|
|
6575
|
+
Object.defineProperty(exports, "generateId", {
|
|
6576
|
+
enumerable: true,
|
|
6577
|
+
get: function () { return chunkE6XO2STS_js.generateId; }
|
|
6578
|
+
});
|
|
6579
|
+
Object.defineProperty(exports, "generatePrefixedId", {
|
|
6580
|
+
enumerable: true,
|
|
6581
|
+
get: function () { return chunkE6XO2STS_js.generatePrefixedId; }
|
|
6582
|
+
});
|
|
6583
|
+
Object.defineProperty(exports, "generateTemplateName", {
|
|
6584
|
+
enumerable: true,
|
|
6585
|
+
get: function () { return chunkE6XO2STS_js.generateTemplateName; }
|
|
6586
|
+
});
|
|
6587
|
+
Object.defineProperty(exports, "indexBy", {
|
|
6588
|
+
enumerable: true,
|
|
6589
|
+
get: function () { return chunkE6XO2STS_js.indexBy; }
|
|
6590
|
+
});
|
|
6591
|
+
Object.defineProperty(exports, "slugify", {
|
|
6592
|
+
enumerable: true,
|
|
6593
|
+
get: function () { return chunkE6XO2STS_js.slugify; }
|
|
6594
|
+
});
|
|
6595
|
+
Object.defineProperty(exports, "computeRecordStatus", {
|
|
6596
|
+
enumerable: true,
|
|
6597
|
+
get: function () { return chunk2TEWGEUI_js.computeRecordStatus; }
|
|
6598
|
+
});
|
|
6599
|
+
Object.defineProperty(exports, "createAttributeValidator", {
|
|
6600
|
+
enumerable: true,
|
|
6601
|
+
get: function () { return chunk2TEWGEUI_js.createAttributeValidator; }
|
|
6602
|
+
});
|
|
6603
|
+
Object.defineProperty(exports, "createDraftValidator", {
|
|
6604
|
+
enumerable: true,
|
|
6605
|
+
get: function () { return chunk2TEWGEUI_js.createDraftValidator; }
|
|
6606
|
+
});
|
|
6607
|
+
Object.defineProperty(exports, "createFormAttributeValidator", {
|
|
6608
|
+
enumerable: true,
|
|
6609
|
+
get: function () { return chunk2TEWGEUI_js.createFormAttributeValidator; }
|
|
6610
|
+
});
|
|
6611
|
+
Object.defineProperty(exports, "createObjectValidator", {
|
|
6612
|
+
enumerable: true,
|
|
6613
|
+
get: function () { return chunk2TEWGEUI_js.createObjectValidator; }
|
|
6614
|
+
});
|
|
6615
|
+
Object.defineProperty(exports, "getMissingRequiredAttributes", {
|
|
6616
|
+
enumerable: true,
|
|
6617
|
+
get: function () { return chunk2TEWGEUI_js.getMissingRequiredAttributes; }
|
|
6618
|
+
});
|
|
6619
|
+
Object.defineProperty(exports, "isRecordComplete", {
|
|
6620
|
+
enumerable: true,
|
|
6621
|
+
get: function () { return chunk2TEWGEUI_js.isRecordComplete; }
|
|
6622
|
+
});
|
|
6623
|
+
Object.defineProperty(exports, "validateAttribute", {
|
|
6624
|
+
enumerable: true,
|
|
6625
|
+
get: function () { return chunk2TEWGEUI_js.validateAttribute; }
|
|
6626
|
+
});
|
|
6627
|
+
Object.defineProperty(exports, "validateDraft", {
|
|
6628
|
+
enumerable: true,
|
|
6629
|
+
get: function () { return chunk2TEWGEUI_js.validateDraft; }
|
|
6630
|
+
});
|
|
6631
|
+
Object.defineProperty(exports, "validateDraftOrThrow", {
|
|
6632
|
+
enumerable: true,
|
|
6633
|
+
get: function () { return chunk2TEWGEUI_js.validateDraftOrThrow; }
|
|
6634
|
+
});
|
|
6635
|
+
Object.defineProperty(exports, "validateObject", {
|
|
6636
|
+
enumerable: true,
|
|
6637
|
+
get: function () { return chunk2TEWGEUI_js.validateObject; }
|
|
6638
|
+
});
|
|
6639
|
+
Object.defineProperty(exports, "validateObjectOrThrow", {
|
|
6640
|
+
enumerable: true,
|
|
6641
|
+
get: function () { return chunk2TEWGEUI_js.validateObjectOrThrow; }
|
|
6642
|
+
});
|
|
6643
|
+
Object.defineProperty(exports, "createCheckboxValidator", {
|
|
6644
|
+
enumerable: true,
|
|
6645
|
+
get: function () { return chunkXK6XC3V4_js.createCheckboxValidator; }
|
|
6646
|
+
});
|
|
6647
|
+
Object.defineProperty(exports, "createDateValidator", {
|
|
6648
|
+
enumerable: true,
|
|
6649
|
+
get: function () { return chunkVD3P2A6Q_js.createDateValidator; }
|
|
6650
|
+
});
|
|
6651
|
+
Object.defineProperty(exports, "createNumberValidator", {
|
|
6652
|
+
enumerable: true,
|
|
6653
|
+
get: function () { return chunkXZ5B5MTG_js.createNumberValidator; }
|
|
6654
|
+
});
|
|
6655
|
+
Object.defineProperty(exports, "createRatingValidator", {
|
|
6656
|
+
enumerable: true,
|
|
6657
|
+
get: function () { return chunkN47XKY4R_js.createRatingValidator; }
|
|
6658
|
+
});
|
|
6659
|
+
Object.defineProperty(exports, "createTextAreaValidator", {
|
|
6660
|
+
enumerable: true,
|
|
6661
|
+
get: function () { return chunkLHXE7LLD_js.createTextAreaValidator; }
|
|
6662
|
+
});
|
|
6663
|
+
Object.defineProperty(exports, "createTextValidator", {
|
|
6664
|
+
enumerable: true,
|
|
6665
|
+
get: function () { return chunkLHXE7LLD_js.createTextValidator; }
|
|
6666
|
+
});
|
|
6667
|
+
Object.defineProperty(exports, "createMultiRelationValidator", {
|
|
6668
|
+
enumerable: true,
|
|
6669
|
+
get: function () { return chunk6HHSX6LP_js.createMultiRelationValidator; }
|
|
6670
|
+
});
|
|
6671
|
+
Object.defineProperty(exports, "createRelationValidator", {
|
|
6672
|
+
enumerable: true,
|
|
6673
|
+
get: function () { return chunk6HHSX6LP_js.createRelationValidator; }
|
|
6674
|
+
});
|
|
6675
|
+
Object.defineProperty(exports, "createSingleRelationValidator", {
|
|
6676
|
+
enumerable: true,
|
|
6677
|
+
get: function () { return chunk6HHSX6LP_js.createSingleRelationValidator; }
|
|
6678
|
+
});
|
|
6679
|
+
Object.defineProperty(exports, "createRichtextValidator", {
|
|
6680
|
+
enumerable: true,
|
|
6681
|
+
get: function () { return chunkS5VJ2FZE_js.createRichtextValidator; }
|
|
6682
|
+
});
|
|
6683
|
+
Object.defineProperty(exports, "createMultiselectValidator", {
|
|
6684
|
+
enumerable: true,
|
|
6685
|
+
get: function () { return chunkKC4F3HB7_js.createMultiselectValidator; }
|
|
6686
|
+
});
|
|
6687
|
+
Object.defineProperty(exports, "createSelectValidator", {
|
|
6688
|
+
enumerable: true,
|
|
6689
|
+
get: function () { return chunkKC4F3HB7_js.createSelectValidator; }
|
|
6690
|
+
});
|
|
6691
|
+
Object.defineProperty(exports, "createStatusValidator", {
|
|
6692
|
+
enumerable: true,
|
|
6693
|
+
get: function () { return chunkKC4F3HB7_js.createStatusValidator; }
|
|
6694
|
+
});
|
|
6695
|
+
Object.defineProperty(exports, "createUserValidator", {
|
|
6696
|
+
enumerable: true,
|
|
6697
|
+
get: function () { return chunkCKZHFJQT_js.createUserValidator; }
|
|
6698
|
+
});
|
|
6699
|
+
Object.defineProperty(exports, "createFormulaValidator", {
|
|
6700
|
+
enumerable: true,
|
|
6701
|
+
get: function () { return chunkJ4ORNCAH_js.createFormulaValidator; }
|
|
6702
|
+
});
|
|
6703
|
+
Object.defineProperty(exports, "createRollupValidator", {
|
|
6704
|
+
enumerable: true,
|
|
6705
|
+
get: function () { return chunkYKHC2AW6_js.createRollupValidator; }
|
|
6706
|
+
});
|
|
6707
|
+
Object.defineProperty(exports, "attributeConfigSchemas", {
|
|
6708
|
+
enumerable: true,
|
|
6709
|
+
get: function () { return chunkIMEPIVTR_js.attributeConfigSchemas; }
|
|
6710
|
+
});
|
|
6711
|
+
Object.defineProperty(exports, "checkboxConfigSchema", {
|
|
6712
|
+
enumerable: true,
|
|
6713
|
+
get: function () { return chunkIMEPIVTR_js.checkboxConfigSchema; }
|
|
6714
|
+
});
|
|
6715
|
+
Object.defineProperty(exports, "currencyConfigSchema", {
|
|
6716
|
+
enumerable: true,
|
|
6717
|
+
get: function () { return chunkIMEPIVTR_js.currencyConfigSchema; }
|
|
6718
|
+
});
|
|
6719
|
+
Object.defineProperty(exports, "dateConfigSchema", {
|
|
6720
|
+
enumerable: true,
|
|
6721
|
+
get: function () { return chunkIMEPIVTR_js.dateConfigSchema; }
|
|
6722
|
+
});
|
|
6723
|
+
Object.defineProperty(exports, "documentConfigSchema", {
|
|
6724
|
+
enumerable: true,
|
|
6725
|
+
get: function () { return chunkIMEPIVTR_js.documentConfigSchema; }
|
|
6726
|
+
});
|
|
6727
|
+
Object.defineProperty(exports, "fileConfigSchema", {
|
|
6728
|
+
enumerable: true,
|
|
6729
|
+
get: function () { return chunkIMEPIVTR_js.fileConfigSchema; }
|
|
6730
|
+
});
|
|
6731
|
+
Object.defineProperty(exports, "formulaConfigSchema", {
|
|
6732
|
+
enumerable: true,
|
|
6733
|
+
get: function () { return chunkIMEPIVTR_js.formulaConfigSchema; }
|
|
6734
|
+
});
|
|
6735
|
+
Object.defineProperty(exports, "getAttributeConfigSchema", {
|
|
6736
|
+
enumerable: true,
|
|
6737
|
+
get: function () { return chunkIMEPIVTR_js.getAttributeConfigSchema; }
|
|
6738
|
+
});
|
|
6739
|
+
Object.defineProperty(exports, "locationConfigSchema", {
|
|
6740
|
+
enumerable: true,
|
|
6741
|
+
get: function () { return chunkIMEPIVTR_js.locationConfigSchema; }
|
|
6742
|
+
});
|
|
6743
|
+
Object.defineProperty(exports, "multiselectConfigSchema", {
|
|
6744
|
+
enumerable: true,
|
|
6745
|
+
get: function () { return chunkIMEPIVTR_js.multiselectConfigSchema; }
|
|
6746
|
+
});
|
|
6747
|
+
Object.defineProperty(exports, "numberConfigSchema", {
|
|
6748
|
+
enumerable: true,
|
|
6749
|
+
get: function () { return chunkIMEPIVTR_js.numberConfigSchema; }
|
|
6750
|
+
});
|
|
6751
|
+
Object.defineProperty(exports, "parseAttributeConfig", {
|
|
6752
|
+
enumerable: true,
|
|
6753
|
+
get: function () { return chunkIMEPIVTR_js.parseAttributeConfig; }
|
|
6754
|
+
});
|
|
6755
|
+
Object.defineProperty(exports, "phoneConfigSchema", {
|
|
6756
|
+
enumerable: true,
|
|
6757
|
+
get: function () { return chunkIMEPIVTR_js.phoneConfigSchema; }
|
|
6758
|
+
});
|
|
6759
|
+
Object.defineProperty(exports, "ratingConfigSchema", {
|
|
6760
|
+
enumerable: true,
|
|
6761
|
+
get: function () { return chunkIMEPIVTR_js.ratingConfigSchema; }
|
|
6762
|
+
});
|
|
6763
|
+
Object.defineProperty(exports, "relationConfigSchema", {
|
|
6764
|
+
enumerable: true,
|
|
6765
|
+
get: function () { return chunkIMEPIVTR_js.relationConfigSchema; }
|
|
6766
|
+
});
|
|
6767
|
+
Object.defineProperty(exports, "richtextConfigSchema", {
|
|
6768
|
+
enumerable: true,
|
|
6769
|
+
get: function () { return chunkIMEPIVTR_js.richtextConfigSchema; }
|
|
6770
|
+
});
|
|
6771
|
+
Object.defineProperty(exports, "rollupConfigSchema", {
|
|
6772
|
+
enumerable: true,
|
|
6773
|
+
get: function () { return chunkIMEPIVTR_js.rollupConfigSchema; }
|
|
6774
|
+
});
|
|
6775
|
+
Object.defineProperty(exports, "safeParseAttributeConfig", {
|
|
6776
|
+
enumerable: true,
|
|
6777
|
+
get: function () { return chunkIMEPIVTR_js.safeParseAttributeConfig; }
|
|
6778
|
+
});
|
|
6779
|
+
Object.defineProperty(exports, "selectConfigSchema", {
|
|
6780
|
+
enumerable: true,
|
|
6781
|
+
get: function () { return chunkIMEPIVTR_js.selectConfigSchema; }
|
|
6782
|
+
});
|
|
6783
|
+
Object.defineProperty(exports, "statusConfigSchema", {
|
|
6784
|
+
enumerable: true,
|
|
6785
|
+
get: function () { return chunkIMEPIVTR_js.statusConfigSchema; }
|
|
6786
|
+
});
|
|
6787
|
+
Object.defineProperty(exports, "textConfigSchema", {
|
|
6788
|
+
enumerable: true,
|
|
6789
|
+
get: function () { return chunkIMEPIVTR_js.textConfigSchema; }
|
|
6790
|
+
});
|
|
6791
|
+
Object.defineProperty(exports, "textareaConfigSchema", {
|
|
6792
|
+
enumerable: true,
|
|
6793
|
+
get: function () { return chunkIMEPIVTR_js.textareaConfigSchema; }
|
|
6794
|
+
});
|
|
6795
|
+
Object.defineProperty(exports, "userConfigSchema", {
|
|
6796
|
+
enumerable: true,
|
|
6797
|
+
get: function () { return chunkIMEPIVTR_js.userConfigSchema; }
|
|
6798
|
+
});
|
|
6799
|
+
Object.defineProperty(exports, "validateAttributeConfig", {
|
|
6800
|
+
enumerable: true,
|
|
6801
|
+
get: function () { return chunkIMEPIVTR_js.validateAttributeConfig; }
|
|
6802
|
+
});
|
|
6803
|
+
Object.defineProperty(exports, "createCurrencyValidator", {
|
|
6804
|
+
enumerable: true,
|
|
6805
|
+
get: function () { return chunkQY65ZSBL_js.createCurrencyValidator; }
|
|
6806
|
+
});
|
|
6807
|
+
Object.defineProperty(exports, "createFileValidator", {
|
|
6808
|
+
enumerable: true,
|
|
6809
|
+
get: function () { return chunkZ2T7ONKU_js.createFileValidator; }
|
|
6810
|
+
});
|
|
6811
|
+
Object.defineProperty(exports, "createLocationValidator", {
|
|
6812
|
+
enumerable: true,
|
|
6813
|
+
get: function () { return chunkBH3RPSC5_js.createLocationValidator; }
|
|
6814
|
+
});
|
|
6815
|
+
Object.defineProperty(exports, "createPhoneValidator", {
|
|
6816
|
+
enumerable: true,
|
|
6817
|
+
get: function () { return chunkAHPXNPJC_js.createPhoneValidator; }
|
|
6818
|
+
});
|
|
6819
|
+
Object.defineProperty(exports, "formatPhoneForDisplay", {
|
|
6820
|
+
enumerable: true,
|
|
6821
|
+
get: function () { return chunkAHPXNPJC_js.formatPhoneForDisplay; }
|
|
6822
|
+
});
|
|
6823
|
+
Object.defineProperty(exports, "normalizePhoneNumber", {
|
|
6824
|
+
enumerable: true,
|
|
6825
|
+
get: function () { return chunkAHPXNPJC_js.normalizePhoneNumber; }
|
|
6826
|
+
});
|
|
6827
|
+
Object.defineProperty(exports, "parseRawPhoneInput", {
|
|
6828
|
+
enumerable: true,
|
|
6829
|
+
get: function () { return chunkAHPXNPJC_js.parseRawPhoneInput; }
|
|
6830
|
+
});
|
|
6831
|
+
Object.defineProperty(exports, "validatePhoneNumber", {
|
|
6832
|
+
enumerable: true,
|
|
6833
|
+
get: function () { return chunkAHPXNPJC_js.validatePhoneNumber; }
|
|
6834
|
+
});
|
|
6835
|
+
Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
|
|
6836
|
+
enumerable: true,
|
|
6837
|
+
get: function () { return chunkVCPYYLCS_js.DEFAULT_VALIDATION_MESSAGES; }
|
|
6838
|
+
});
|
|
6839
|
+
Object.defineProperty(exports, "createRegexCache", {
|
|
6840
|
+
enumerable: true,
|
|
6841
|
+
get: function () { return chunkVCPYYLCS_js.createRegexCache; }
|
|
6842
|
+
});
|
|
6843
|
+
Object.defineProperty(exports, "getCachedRegex", {
|
|
6844
|
+
enumerable: true,
|
|
6845
|
+
get: function () { return chunkVCPYYLCS_js.getCachedRegex; }
|
|
6846
|
+
});
|
|
6847
|
+
Object.defineProperty(exports, "formatZodErrors", {
|
|
6848
|
+
enumerable: true,
|
|
6849
|
+
get: function () { return chunkBEN6TE7Y_js.formatZodErrors; }
|
|
6850
|
+
});
|
|
6851
|
+
exports.AINodeSchema = AINodeSchema;
|
|
6852
|
+
exports.ALL_ACTIONS = ALL_ACTIONS;
|
|
6853
|
+
exports.ALL_PIPES = ALL_PIPES;
|
|
6854
|
+
exports.ALL_SYSTEM_RESOURCES = ALL_SYSTEM_RESOURCES;
|
|
6855
|
+
exports.AccessDeniedError = AccessDeniedError;
|
|
6856
|
+
exports.ActivityTabConfig = ActivityTabConfig;
|
|
6857
|
+
exports.AssignNodeSchema = AssignNodeSchema;
|
|
6858
|
+
exports.AssignmentMappingSchema = AssignmentMappingSchema;
|
|
6859
|
+
exports.AssignmentSourceSchema = AssignmentSourceSchema;
|
|
6860
|
+
exports.AttributeInUseError = AttributeInUseError;
|
|
6861
|
+
exports.AttributeNotFoundError = AttributeNotFoundError;
|
|
6862
|
+
exports.AuthMethodSchema = AuthMethodSchema;
|
|
6863
|
+
exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES;
|
|
6864
|
+
exports.ConcurrentModificationError = ConcurrentModificationError;
|
|
6865
|
+
exports.ConditionGroupSchema = ConditionGroupSchema;
|
|
6866
|
+
exports.ConditionNodeSchema = ConditionNodeSchema;
|
|
6867
|
+
exports.ConditionOperatorSchema = ConditionOperatorSchema;
|
|
6868
|
+
exports.ConditionRuleSchema = ConditionRuleSchema;
|
|
6869
|
+
exports.ConversationNotFoundError = ConversationNotFoundError;
|
|
6870
|
+
exports.CreateShareInputSchema = CreateShareInputSchema;
|
|
6871
|
+
exports.CustomTabConfig = CustomTabConfig;
|
|
6872
|
+
exports.DEFAULT_LABEL_FALLBACK = DEFAULT_LABEL_FALLBACK;
|
|
6873
|
+
exports.DEFAULT_RETENTION_POLICY = DEFAULT_RETENTION_POLICY;
|
|
6874
|
+
exports.DEFAULT_ROLES = DEFAULT_ROLES;
|
|
6875
|
+
exports.DEFAULT_ROLE_DESCRIPTIONS = DEFAULT_ROLE_DESCRIPTIONS;
|
|
6876
|
+
exports.DEFAULT_ROLE_FOR_NEW_USERS = DEFAULT_ROLE_FOR_NEW_USERS;
|
|
6877
|
+
exports.DEFAULT_ROLE_LABELS = DEFAULT_ROLE_LABELS;
|
|
6878
|
+
exports.DEFAULT_ROLE_PERMISSIONS = DEFAULT_ROLE_PERMISSIONS;
|
|
6879
|
+
exports.DEFAULT_THEME = DEFAULT_THEME;
|
|
6880
|
+
exports.DetailViewBuilder = DetailViewBuilder;
|
|
6881
|
+
exports.DocumentsTabConfig = DocumentsTabConfig;
|
|
6882
|
+
exports.DuplicateError = DuplicateError;
|
|
6883
|
+
exports.EMPTY_VALUE_PLACEHOLDER = EMPTY_VALUE_PLACEHOLDER;
|
|
6884
|
+
exports.EndNodeSchema = EndNodeSchema;
|
|
6885
|
+
exports.FORBIDDEN_PROPERTY_TYPES = FORBIDDEN_PROPERTY_TYPES;
|
|
6886
|
+
exports.FileNotFoundError = FileNotFoundError;
|
|
6887
|
+
exports.FlagRegistry = FlagRegistry;
|
|
6888
|
+
exports.FlagService = FlagService;
|
|
6889
|
+
exports.FlowRowFieldSchema = FlowRowFieldSchema;
|
|
6890
|
+
exports.FlowRowSchema = FlowRowSchema;
|
|
6891
|
+
exports.FlowsTabConfig = FlowsTabConfig;
|
|
6892
|
+
exports.ForbiddenError = ForbiddenError;
|
|
6893
|
+
exports.FormFieldRefSchema = FormFieldRefSchema;
|
|
6894
|
+
exports.FormNodeSchema = FormNodeSchema;
|
|
6895
|
+
exports.GroupBuilder = GroupBuilder;
|
|
6896
|
+
exports.IDENTITY_PROPERTIES = IDENTITY_PROPERTIES;
|
|
6897
|
+
exports.ListViewBuilder = ListViewBuilder;
|
|
6898
|
+
exports.ListViewTabConfigBuilder = ListViewTabConfigBuilder;
|
|
6899
|
+
exports.MemoryNotFoundError = MemoryNotFoundError;
|
|
6900
|
+
exports.NON_SORTABLE_TYPES = NON_SORTABLE_TYPES;
|
|
6901
|
+
exports.NO_VALUE_OPERATORS = NO_VALUE_OPERATORS;
|
|
6902
|
+
exports.NodePositionSchema = NodePositionSchema;
|
|
6903
|
+
exports.NoopGeocodingAdapter = NoopGeocodingAdapter;
|
|
6904
|
+
exports.NotFoundError = NotFoundError;
|
|
6905
|
+
exports.NotImplementedError = NotImplementedError;
|
|
6906
|
+
exports.NotSystemObjectError = NotSystemObjectError;
|
|
6907
|
+
exports.OPERATORS_BY_TYPE = OPERATORS_BY_TYPE;
|
|
6908
|
+
exports.ObjectBuilder = ObjectBuilder;
|
|
6909
|
+
exports.ObjectNotFoundError = ObjectNotFoundError;
|
|
6910
|
+
exports.ObjectReferencedError = ObjectReferencedError;
|
|
6911
|
+
exports.PIPES_WITH_ARGS = PIPES_WITH_ARGS;
|
|
6912
|
+
exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES;
|
|
6913
|
+
exports.PolicyViolationError = PolicyViolationError;
|
|
6914
|
+
exports.ProtectedResourceError = ProtectedResourceError;
|
|
6915
|
+
exports.ProtectedRoleError = ProtectedRoleError;
|
|
6916
|
+
exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY;
|
|
6917
|
+
exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES;
|
|
6918
|
+
exports.RecordNotFoundError = RecordNotFoundError;
|
|
6919
|
+
exports.RecordReferencedError = RecordReferencedError;
|
|
6920
|
+
exports.RelationGroupBuilder = RelationGroupBuilder;
|
|
6921
|
+
exports.RepositoryError = RepositoryError;
|
|
6922
|
+
exports.RichtextTabConfig = RichtextTabConfig;
|
|
6923
|
+
exports.RoleNotFoundError = RoleNotFoundError;
|
|
6924
|
+
exports.SIMPLE_PIPES = SIMPLE_PIPES;
|
|
6925
|
+
exports.STANDARD_SCHEMA_VENDOR = STANDARD_SCHEMA_VENDOR;
|
|
6926
|
+
exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES;
|
|
6927
|
+
exports.SYSTEM_FIELD_NAMES = SYSTEM_FIELD_NAMES;
|
|
6928
|
+
exports.SYSTEM_RESOURCES = SYSTEM_RESOURCES;
|
|
6929
|
+
exports.SYSTEM_RESOURCE_LABELS = SYSTEM_RESOURCE_LABELS;
|
|
6930
|
+
exports.SchemaError = SchemaError;
|
|
6931
|
+
exports.SchemaErrorCode = SchemaErrorCode;
|
|
6932
|
+
exports.ShareStatusSchema = ShareStatusSchema;
|
|
6933
|
+
exports.SlotModeSchema = SlotModeSchema;
|
|
6934
|
+
exports.StartNodeSchema = StartNodeSchema;
|
|
6935
|
+
exports.StorageError = StorageError;
|
|
6936
|
+
exports.SyncError = SyncError;
|
|
6937
|
+
exports.TabBuilder = TabBuilder;
|
|
6938
|
+
exports.TableTabConfig = TableTabConfig;
|
|
6939
|
+
exports.ThemeColorsSchema = ThemeColorsSchema;
|
|
6940
|
+
exports.ThemeLogoSchema = ThemeLogoSchema;
|
|
6941
|
+
exports.USER_STATUSES = USER_STATUSES;
|
|
6942
|
+
exports.UserProfileNotFoundError = UserProfileNotFoundError;
|
|
6943
|
+
exports.ValidationError = ValidationError;
|
|
6944
|
+
exports.ViewBuilder = ViewBuilder;
|
|
6945
|
+
exports.ViewportSchema = ViewportSchema;
|
|
6946
|
+
exports.WorkflowAIBuilder = WorkflowAIBuilder;
|
|
6947
|
+
exports.WorkflowAssignBuilder = WorkflowAssignBuilder;
|
|
6948
|
+
exports.WorkflowBuilder = WorkflowBuilder;
|
|
6949
|
+
exports.WorkflowConditionBuilder = WorkflowConditionBuilder;
|
|
6950
|
+
exports.WorkflowConfigSchema = WorkflowConfigSchema;
|
|
6951
|
+
exports.WorkflowDefinitionSchema = WorkflowDefinitionSchema;
|
|
6952
|
+
exports.WorkflowEndBuilder = WorkflowEndBuilder;
|
|
6953
|
+
exports.WorkflowFormBuilder = WorkflowFormBuilder;
|
|
6954
|
+
exports.WorkflowFormRowBuilder = WorkflowFormRowBuilder;
|
|
6955
|
+
exports.WorkflowLayoutSchema = WorkflowLayoutSchema;
|
|
6956
|
+
exports.WorkflowNodeSchema = WorkflowNodeSchema;
|
|
6957
|
+
exports.WorkflowShareSchema = WorkflowShareSchema;
|
|
6958
|
+
exports.WorkflowSimpleFormBuilder = WorkflowSimpleFormBuilder;
|
|
6959
|
+
exports.WorkflowSlotSchema = WorkflowSlotSchema;
|
|
6960
|
+
exports.WorkflowStartBuilder = WorkflowStartBuilder;
|
|
6961
|
+
exports.WorkflowStatusSchema = WorkflowStatusSchema;
|
|
6962
|
+
exports.WorkflowThemeSchema = WorkflowThemeSchema;
|
|
6963
|
+
exports.ZONE_CONFIG = ZONE_CONFIG;
|
|
6964
|
+
exports.ZONE_ORDER = ZONE_ORDER;
|
|
6965
|
+
exports.accessLevelToActions = accessLevelToActions;
|
|
6966
|
+
exports.actionsToAccessLevel = actionsToAccessLevel;
|
|
6967
|
+
exports.and = and;
|
|
6968
|
+
exports.applyRelationProps = applyRelationProps;
|
|
6969
|
+
exports.assignNodeZones = assignNodeZones;
|
|
6970
|
+
exports.booleanFlag = booleanFlag;
|
|
6971
|
+
exports.canAccessNode = canAccessNode;
|
|
6972
|
+
exports.canResumeInstance = canResumeInstance;
|
|
6973
|
+
exports.checkbox = checkbox;
|
|
6974
|
+
exports.createEmptyContext = createEmptyContext;
|
|
6975
|
+
exports.createFlagRegistry = createFlagRegistry;
|
|
6976
|
+
exports.createFlagService = createFlagService;
|
|
6977
|
+
exports.createStandardSchemaProps = createStandardSchemaProps;
|
|
6978
|
+
exports.createStartTransition = createStartTransition;
|
|
6979
|
+
exports.currency = currency;
|
|
6980
|
+
exports.date = date;
|
|
6981
|
+
exports.detailView = detailView;
|
|
6982
|
+
exports.document = document;
|
|
6983
|
+
exports.eq = eq;
|
|
6984
|
+
exports.extractAttributeNames = extractAttributeNames;
|
|
6985
|
+
exports.file = file;
|
|
6986
|
+
exports.flagRegistry = flagRegistry;
|
|
6987
|
+
exports.formatAttributeValue = formatAttributeValue;
|
|
6988
|
+
exports.formula = formula;
|
|
6989
|
+
exports.generateCssVariables = generateCssVariables;
|
|
6990
|
+
exports.generateDefaultDetailView = generateDefaultDetailView;
|
|
6991
|
+
exports.generateDefaultListView = generateDefaultListView;
|
|
6992
|
+
exports.generateFallbackView = generateFallbackView;
|
|
6993
|
+
exports.getActiveTab = getActiveTab;
|
|
6994
|
+
exports.getContextValue = getContextValue;
|
|
6995
|
+
exports.getErrorMessage = getErrorMessage;
|
|
6996
|
+
exports.getFormFieldRefs = getFormFieldRefs;
|
|
6997
|
+
exports.getNodeOutputs = getNodeOutputs;
|
|
6998
|
+
exports.getNodeSlotIds = getNodeSlotIds;
|
|
6999
|
+
exports.getRollupFilterOperators = getRollupFilterOperators;
|
|
7000
|
+
exports.getSystemAttributeList = getSystemAttributeList;
|
|
7001
|
+
exports.getZoneAllowedTypes = getZoneAllowedTypes;
|
|
7002
|
+
exports.group = group;
|
|
7003
|
+
exports.groupNodesByZone = groupNodesByZone;
|
|
7004
|
+
exports.hasOptions = hasOptions;
|
|
7005
|
+
exports.hasProperties = hasProperties;
|
|
7006
|
+
exports.inValues = inValues;
|
|
7007
|
+
exports.inferInverseCardinality = inferInverseCardinality;
|
|
7008
|
+
exports.isAINode = isAINode;
|
|
7009
|
+
exports.isAccessDeniedError = isAccessDeniedError;
|
|
7010
|
+
exports.isActivityTab = isActivityTab;
|
|
7011
|
+
exports.isAdvancedFormNode = isAdvancedFormNode;
|
|
7012
|
+
exports.isAssignNode = isAssignNode;
|
|
7013
|
+
exports.isAttributeSortable = isAttributeSortable;
|
|
7014
|
+
exports.isBehaviorProperty = isBehaviorProperty;
|
|
7015
|
+
exports.isBilateralRelation = isBilateralRelation;
|
|
7016
|
+
exports.isCalendarView = isCalendarView;
|
|
7017
|
+
exports.isConditionGroup = isConditionGroup;
|
|
7018
|
+
exports.isConditionNode = isConditionNode;
|
|
7019
|
+
exports.isConditionRule = isConditionRule;
|
|
7020
|
+
exports.isCustomTab = isCustomTab;
|
|
7021
|
+
exports.isDefaultRole = isDefaultRole;
|
|
7022
|
+
exports.isDetailView = isDetailView;
|
|
7023
|
+
exports.isDocumentsTab = isDocumentsTab;
|
|
7024
|
+
exports.isEmpty = isEmpty2;
|
|
7025
|
+
exports.isEndNode = isEndNode;
|
|
7026
|
+
exports.isFieldGroup = isFieldGroup;
|
|
7027
|
+
exports.isFlowDefinition = isFlowDefinition;
|
|
7028
|
+
exports.isFlowFieldsRow = isFlowFieldsRow;
|
|
7029
|
+
exports.isFlowPublished = isFlowPublished;
|
|
7030
|
+
exports.isFlowRelationListRow = isFlowRelationListRow;
|
|
7031
|
+
exports.isFlowsTab = isFlowsTab;
|
|
7032
|
+
exports.isForbiddenError = isForbiddenError;
|
|
7033
|
+
exports.isFormFieldsRow = isFormFieldsRow;
|
|
7034
|
+
exports.isFormNode = isFormNode;
|
|
7035
|
+
exports.isFormTab = isFormTab;
|
|
7036
|
+
exports.isGalleryView = isGalleryView;
|
|
7037
|
+
exports.isGrantExpired = isGrantExpired;
|
|
7038
|
+
exports.isGrantRevoked = isGrantRevoked;
|
|
7039
|
+
exports.isGrantValid = isGrantValid;
|
|
7040
|
+
exports.isIdentityProperty = isIdentityProperty;
|
|
7041
|
+
exports.isInstanceEvent = isInstanceEvent;
|
|
7042
|
+
exports.isInstanceTerminal = isInstanceTerminal;
|
|
7043
|
+
exports.isInstanceWaiting = isInstanceWaiting;
|
|
7044
|
+
exports.isInverseSourceTab = isInverseSourceTab;
|
|
7045
|
+
exports.isInvitationAccepted = isInvitationAccepted;
|
|
7046
|
+
exports.isInvitationExpired = isInvitationExpired;
|
|
7047
|
+
exports.isInvitationOrGrantEvent = isInvitationOrGrantEvent;
|
|
7048
|
+
exports.isInvitationValid = isInvitationValid;
|
|
7049
|
+
exports.isLabelExpression = isLabelExpression;
|
|
7050
|
+
exports.isLayoutRow = isLayoutRow;
|
|
7051
|
+
exports.isListView = isListView;
|
|
7052
|
+
exports.isNoValueOperator = isNoValueOperator;
|
|
7053
|
+
exports.isNodeEvent = isNodeEvent;
|
|
7054
|
+
exports.isNotEmpty = isNotEmpty2;
|
|
7055
|
+
exports.isNotFoundError = isNotFoundError;
|
|
7056
|
+
exports.isNotImplementedError = isNotImplementedError;
|
|
7057
|
+
exports.isPresentationProperty = isPresentationProperty;
|
|
7058
|
+
exports.isProtectedResourceError = isProtectedResourceError;
|
|
7059
|
+
exports.isRelationGroup = isRelationGroup;
|
|
7060
|
+
exports.isRelationSourceTab = isRelationSourceTab;
|
|
7061
|
+
exports.isRepositoryError = isRepositoryError;
|
|
7062
|
+
exports.isRichtextTab = isRichtextTab;
|
|
7063
|
+
exports.isSchemaError = isSchemaError;
|
|
7064
|
+
exports.isSimpleFormNode = isSimpleFormNode;
|
|
7065
|
+
exports.isStandardSchema = isStandardSchema;
|
|
7066
|
+
exports.isStartNode = isStartNode;
|
|
7067
|
+
exports.isStorageError = isStorageError;
|
|
7068
|
+
exports.isSystemAttribute = isSystemAttribute;
|
|
7069
|
+
exports.isSystemAttributeObject = isSystemAttributeObject;
|
|
7070
|
+
exports.isSystemFlow = isSystemFlow;
|
|
7071
|
+
exports.isSystemWorkflow = isSystemWorkflow;
|
|
7072
|
+
exports.isTableTab = isTableTab;
|
|
7073
|
+
exports.isTimelineView = isTimelineView;
|
|
7074
|
+
exports.isTokenRevoked = isTokenRevoked;
|
|
7075
|
+
exports.isUniversalRelation = isUniversalRelation;
|
|
7076
|
+
exports.isValidationError = isValidationError;
|
|
7077
|
+
exports.isViewCustomized = isViewCustomized;
|
|
7078
|
+
exports.isWorkflowDefinition = isWorkflowDefinition;
|
|
7079
|
+
exports.isWorkflowPublished = isWorkflowPublished;
|
|
7080
|
+
exports.jsonFlag = jsonFlag;
|
|
7081
|
+
exports.labelExpressionSchema = labelExpressionSchema;
|
|
7082
|
+
exports.listView = listView;
|
|
7083
|
+
exports.location = location;
|
|
7084
|
+
exports.mergeWithDefaults = mergeWithDefaults;
|
|
7085
|
+
exports.multiselect = multiselect;
|
|
7086
|
+
exports.neq = neq;
|
|
7087
|
+
exports.nodeTypeRegistry = nodeTypeRegistry;
|
|
7088
|
+
exports.number = number;
|
|
7089
|
+
exports.numberFlag = numberFlag;
|
|
7090
|
+
exports.object = object;
|
|
7091
|
+
exports.objectToJSONSchema = objectToJSONSchema;
|
|
7092
|
+
exports.objectValidatorToJSONSchema = objectValidatorToJSONSchema;
|
|
7093
|
+
exports.or = or;
|
|
7094
|
+
exports.phone = phone;
|
|
7095
|
+
exports.rating = rating;
|
|
7096
|
+
exports.registerBuiltInNodeTypes = registerBuiltInNodeTypes;
|
|
7097
|
+
exports.registry = registry;
|
|
7098
|
+
exports.relation = relation;
|
|
7099
|
+
exports.relationGroup = relationGroup;
|
|
7100
|
+
exports.renderLabelExpression = renderLabelExpression;
|
|
7101
|
+
exports.resetViewToDefault = resetViewToDefault;
|
|
7102
|
+
exports.richtext = richtext;
|
|
7103
|
+
exports.rollup = rollup;
|
|
7104
|
+
exports.select = select;
|
|
7105
|
+
exports.setContextValue = setContextValue;
|
|
7106
|
+
exports.setNodeNext = setNodeNext;
|
|
7107
|
+
exports.status = status;
|
|
7108
|
+
exports.stringFlag = stringFlag;
|
|
7109
|
+
exports.text = text;
|
|
7110
|
+
exports.textarea = textarea;
|
|
7111
|
+
exports.toUndefinedIfEmpty = toUndefinedIfEmpty;
|
|
7112
|
+
exports.user = user;
|
|
7113
|
+
exports.validateLabelExpression = validateLabelExpression;
|
|
7114
|
+
exports.validateNode = validateNode;
|
|
7115
|
+
exports.view = view;
|
|
7116
|
+
exports.viewRegistry = viewRegistry;
|
|
7117
|
+
exports.workflow = workflow;
|