@stndrds/schema 1.0.0-alpha.95 → 1.0.0-alpha.97

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