@decaf-ts/ui-decorators 0.20.3 → 0.20.6

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 (200) hide show
  1. package/dist/ui-decorators.cjs +1 -1
  2. package/lib/cjs/graph/GraphExecutionStateMapper.cjs +97 -0
  3. package/lib/cjs/graph/GraphExecutionStateMapper.cjs.map +1 -0
  4. package/lib/cjs/graph/GraphResolution.cjs +17 -0
  5. package/lib/cjs/graph/GraphResolution.cjs.map +1 -0
  6. package/lib/cjs/graph/constants.cjs +157 -1
  7. package/lib/cjs/graph/constants.cjs.map +1 -1
  8. package/lib/cjs/graph/index.cjs +3 -0
  9. package/lib/cjs/graph/index.cjs.map +1 -1
  10. package/lib/cjs/graph/nodes/agents/agent.cjs +110 -0
  11. package/lib/cjs/graph/nodes/agents/agent.cjs.map +1 -0
  12. package/lib/cjs/graph/nodes/base.cjs +36 -0
  13. package/lib/cjs/graph/nodes/base.cjs.map +1 -0
  14. package/lib/cjs/graph/nodes/boundary/input-value.cjs +57 -0
  15. package/lib/cjs/graph/nodes/boundary/input-value.cjs.map +1 -0
  16. package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
  17. package/lib/cjs/graph/nodes/category-styles.cjs.map +1 -0
  18. package/lib/cjs/graph/nodes/flow-control/break.cjs +63 -0
  19. package/lib/cjs/graph/nodes/flow-control/break.cjs.map +1 -0
  20. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +67 -0
  21. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs.map +1 -0
  22. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +69 -0
  23. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs.map +1 -0
  24. package/lib/cjs/graph/nodes/flow-control/if.cjs +71 -0
  25. package/lib/cjs/graph/nodes/flow-control/if.cjs.map +1 -0
  26. package/lib/cjs/graph/nodes/flow-control/parallel.cjs +61 -0
  27. package/lib/cjs/graph/nodes/flow-control/parallel.cjs.map +1 -0
  28. package/lib/cjs/graph/nodes/flow-control/switch.cjs +121 -0
  29. package/lib/cjs/graph/nodes/flow-control/switch.cjs.map +1 -0
  30. package/lib/cjs/graph/nodes/index.cjs +123 -0
  31. package/lib/cjs/graph/nodes/index.cjs.map +1 -0
  32. package/lib/cjs/graph/nodes/loops/foreach.cjs +86 -0
  33. package/lib/cjs/graph/nodes/loops/foreach.cjs.map +1 -0
  34. package/lib/cjs/graph/nodes/loops/until.cjs +74 -0
  35. package/lib/cjs/graph/nodes/loops/until.cjs.map +1 -0
  36. package/lib/cjs/graph/nodes/loops/while.cjs +74 -0
  37. package/lib/cjs/graph/nodes/loops/while.cjs.map +1 -0
  38. package/lib/cjs/graph/nodes/manifests.cjs +338 -0
  39. package/lib/cjs/graph/nodes/manifests.cjs.map +1 -0
  40. package/lib/cjs/graph/nodes/triggers/chat.cjs +70 -0
  41. package/lib/cjs/graph/nodes/triggers/chat.cjs.map +1 -0
  42. package/lib/cjs/graph/nodes/triggers/event.cjs +58 -0
  43. package/lib/cjs/graph/nodes/triggers/event.cjs.map +1 -0
  44. package/lib/cjs/graph/nodes/triggers/form.cjs +59 -0
  45. package/lib/cjs/graph/nodes/triggers/form.cjs.map +1 -0
  46. package/lib/cjs/graph/nodes/triggers/manual.cjs +60 -0
  47. package/lib/cjs/graph/nodes/triggers/manual.cjs.map +1 -0
  48. package/lib/cjs/graph/nodes/triggers/schedule.cjs +60 -0
  49. package/lib/cjs/graph/nodes/triggers/schedule.cjs.map +1 -0
  50. package/lib/cjs/graph/nodes/triggers/webhook.cjs +62 -0
  51. package/lib/cjs/graph/nodes/triggers/webhook.cjs.map +1 -0
  52. package/lib/cjs/graph/nodes/utility/code.cjs +99 -0
  53. package/lib/cjs/graph/nodes/utility/code.cjs.map +1 -0
  54. package/lib/cjs/graph/nodes/utility/delay.cjs +61 -0
  55. package/lib/cjs/graph/nodes/utility/delay.cjs.map +1 -0
  56. package/lib/cjs/graph/nodes/utility/log.cjs +62 -0
  57. package/lib/cjs/graph/nodes/utility/log.cjs.map +1 -0
  58. package/lib/cjs/graph/nodes/utility/map.cjs +61 -0
  59. package/lib/cjs/graph/nodes/utility/map.cjs.map +1 -0
  60. package/lib/cjs/graph/nodes/utility/merge.cjs +62 -0
  61. package/lib/cjs/graph/nodes/utility/merge.cjs.map +1 -0
  62. package/lib/cjs/graph/nodes/utility/return.cjs +61 -0
  63. package/lib/cjs/graph/nodes/utility/return.cjs.map +1 -0
  64. package/lib/cjs/graph/nodes/utility/utility-log.cjs +66 -0
  65. package/lib/cjs/graph/nodes/utility/utility-log.cjs.map +1 -0
  66. package/lib/cjs/index.cjs +3 -3
  67. package/lib/esm/graph/GraphExecutionStateMapper.js +91 -0
  68. package/lib/esm/graph/GraphExecutionStateMapper.js.map +1 -0
  69. package/lib/esm/graph/GraphResolution.js +13 -0
  70. package/lib/esm/graph/GraphResolution.js.map +1 -0
  71. package/lib/esm/graph/constants.js +179 -0
  72. package/lib/esm/graph/constants.js.map +1 -1
  73. package/lib/esm/graph/index.js +3 -0
  74. package/lib/esm/graph/index.js.map +1 -1
  75. package/lib/esm/graph/nodes/agents/agent.js +101 -0
  76. package/lib/esm/graph/nodes/agents/agent.js.map +1 -0
  77. package/lib/esm/graph/nodes/base.js +31 -0
  78. package/lib/esm/graph/nodes/base.js.map +1 -0
  79. package/lib/esm/graph/nodes/boundary/input-value.js +48 -0
  80. package/lib/esm/graph/nodes/boundary/input-value.js.map +1 -0
  81. package/lib/esm/graph/nodes/category-styles.js +34 -0
  82. package/lib/esm/graph/nodes/category-styles.js.map +1 -0
  83. package/lib/esm/graph/nodes/flow-control/break.js +54 -0
  84. package/lib/esm/graph/nodes/flow-control/break.js.map +1 -0
  85. package/lib/esm/graph/nodes/flow-control/error-boundary.js +58 -0
  86. package/lib/esm/graph/nodes/flow-control/error-boundary.js.map +1 -0
  87. package/lib/esm/graph/nodes/flow-control/human-approval.js +60 -0
  88. package/lib/esm/graph/nodes/flow-control/human-approval.js.map +1 -0
  89. package/lib/esm/graph/nodes/flow-control/if.js +62 -0
  90. package/lib/esm/graph/nodes/flow-control/if.js.map +1 -0
  91. package/lib/esm/graph/nodes/flow-control/parallel.js +52 -0
  92. package/lib/esm/graph/nodes/flow-control/parallel.js.map +1 -0
  93. package/lib/esm/graph/nodes/flow-control/switch.js +112 -0
  94. package/lib/esm/graph/nodes/flow-control/switch.js.map +1 -0
  95. package/lib/esm/graph/nodes/index.js +105 -0
  96. package/lib/esm/graph/nodes/index.js.map +1 -0
  97. package/lib/esm/graph/nodes/loops/foreach.js +77 -0
  98. package/lib/esm/graph/nodes/loops/foreach.js.map +1 -0
  99. package/lib/esm/graph/nodes/loops/until.js +65 -0
  100. package/lib/esm/graph/nodes/loops/until.js.map +1 -0
  101. package/lib/esm/graph/nodes/loops/while.js +65 -0
  102. package/lib/esm/graph/nodes/loops/while.js.map +1 -0
  103. package/lib/esm/graph/nodes/manifests.js +334 -0
  104. package/lib/esm/graph/nodes/manifests.js.map +1 -0
  105. package/lib/esm/graph/nodes/triggers/chat.js +61 -0
  106. package/lib/esm/graph/nodes/triggers/chat.js.map +1 -0
  107. package/lib/esm/graph/nodes/triggers/event.js +49 -0
  108. package/lib/esm/graph/nodes/triggers/event.js.map +1 -0
  109. package/lib/esm/graph/nodes/triggers/form.js +50 -0
  110. package/lib/esm/graph/nodes/triggers/form.js.map +1 -0
  111. package/lib/esm/graph/nodes/triggers/manual.js +51 -0
  112. package/lib/esm/graph/nodes/triggers/manual.js.map +1 -0
  113. package/lib/esm/graph/nodes/triggers/schedule.js +51 -0
  114. package/lib/esm/graph/nodes/triggers/schedule.js.map +1 -0
  115. package/lib/esm/graph/nodes/triggers/webhook.js +53 -0
  116. package/lib/esm/graph/nodes/triggers/webhook.js.map +1 -0
  117. package/lib/esm/graph/nodes/utility/code.js +90 -0
  118. package/lib/esm/graph/nodes/utility/code.js.map +1 -0
  119. package/lib/esm/graph/nodes/utility/delay.js +52 -0
  120. package/lib/esm/graph/nodes/utility/delay.js.map +1 -0
  121. package/lib/esm/graph/nodes/utility/log.js +53 -0
  122. package/lib/esm/graph/nodes/utility/log.js.map +1 -0
  123. package/lib/esm/graph/nodes/utility/map.js +52 -0
  124. package/lib/esm/graph/nodes/utility/map.js.map +1 -0
  125. package/lib/esm/graph/nodes/utility/merge.js +53 -0
  126. package/lib/esm/graph/nodes/utility/merge.js.map +1 -0
  127. package/lib/esm/graph/nodes/utility/return.js +52 -0
  128. package/lib/esm/graph/nodes/utility/return.js.map +1 -0
  129. package/lib/esm/graph/nodes/utility/utility-log.js +57 -0
  130. package/lib/esm/graph/nodes/utility/utility-log.js.map +1 -0
  131. package/lib/esm/index.js +3 -3
  132. package/lib/types/graph/GraphExecutionStateMapper.d.cts +66 -0
  133. package/lib/types/graph/GraphExecutionStateMapper.d.mts +66 -0
  134. package/lib/types/graph/GraphResolution.d.cts +53 -0
  135. package/lib/types/graph/GraphResolution.d.mts +53 -0
  136. package/lib/types/graph/constants.d.cts +165 -0
  137. package/lib/types/graph/constants.d.mts +165 -0
  138. package/lib/types/graph/index.d.cts +3 -0
  139. package/lib/types/graph/index.d.mts +3 -0
  140. package/lib/types/graph/nodes/agents/agent.d.cts +44 -0
  141. package/lib/types/graph/nodes/agents/agent.d.mts +44 -0
  142. package/lib/types/graph/nodes/base.d.cts +28 -0
  143. package/lib/types/graph/nodes/base.d.mts +28 -0
  144. package/lib/types/graph/nodes/boundary/input-value.d.cts +13 -0
  145. package/lib/types/graph/nodes/boundary/input-value.d.mts +13 -0
  146. package/lib/types/graph/nodes/category-styles.d.cts +8 -0
  147. package/lib/types/graph/nodes/category-styles.d.mts +8 -0
  148. package/lib/types/graph/nodes/flow-control/break.d.cts +15 -0
  149. package/lib/types/graph/nodes/flow-control/break.d.mts +15 -0
  150. package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +12 -0
  151. package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +12 -0
  152. package/lib/types/graph/nodes/flow-control/human-approval.d.cts +13 -0
  153. package/lib/types/graph/nodes/flow-control/human-approval.d.mts +13 -0
  154. package/lib/types/graph/nodes/flow-control/if.d.cts +16 -0
  155. package/lib/types/graph/nodes/flow-control/if.d.mts +16 -0
  156. package/lib/types/graph/nodes/flow-control/parallel.d.cts +11 -0
  157. package/lib/types/graph/nodes/flow-control/parallel.d.mts +11 -0
  158. package/lib/types/graph/nodes/flow-control/switch.d.cts +21 -0
  159. package/lib/types/graph/nodes/flow-control/switch.d.mts +21 -0
  160. package/lib/types/graph/nodes/index.d.cts +79 -0
  161. package/lib/types/graph/nodes/index.d.mts +79 -0
  162. package/lib/types/graph/nodes/loops/foreach.d.cts +19 -0
  163. package/lib/types/graph/nodes/loops/foreach.d.mts +19 -0
  164. package/lib/types/graph/nodes/loops/until.d.cts +16 -0
  165. package/lib/types/graph/nodes/loops/until.d.mts +16 -0
  166. package/lib/types/graph/nodes/loops/while.d.cts +16 -0
  167. package/lib/types/graph/nodes/loops/while.d.mts +16 -0
  168. package/lib/types/graph/nodes/manifests.d.cts +62 -0
  169. package/lib/types/graph/nodes/manifests.d.mts +62 -0
  170. package/lib/types/graph/nodes/triggers/chat.d.cts +13 -0
  171. package/lib/types/graph/nodes/triggers/chat.d.mts +13 -0
  172. package/lib/types/graph/nodes/triggers/event.d.cts +10 -0
  173. package/lib/types/graph/nodes/triggers/event.d.mts +10 -0
  174. package/lib/types/graph/nodes/triggers/form.d.cts +11 -0
  175. package/lib/types/graph/nodes/triggers/form.d.mts +11 -0
  176. package/lib/types/graph/nodes/triggers/manual.d.cts +12 -0
  177. package/lib/types/graph/nodes/triggers/manual.d.mts +12 -0
  178. package/lib/types/graph/nodes/triggers/schedule.d.cts +11 -0
  179. package/lib/types/graph/nodes/triggers/schedule.d.mts +11 -0
  180. package/lib/types/graph/nodes/triggers/webhook.d.cts +11 -0
  181. package/lib/types/graph/nodes/triggers/webhook.d.mts +11 -0
  182. package/lib/types/graph/nodes/utility/code.d.cts +31 -0
  183. package/lib/types/graph/nodes/utility/code.d.mts +31 -0
  184. package/lib/types/graph/nodes/utility/delay.d.cts +11 -0
  185. package/lib/types/graph/nodes/utility/delay.d.mts +11 -0
  186. package/lib/types/graph/nodes/utility/log.d.cts +13 -0
  187. package/lib/types/graph/nodes/utility/log.d.mts +13 -0
  188. package/lib/types/graph/nodes/utility/map.d.cts +11 -0
  189. package/lib/types/graph/nodes/utility/map.d.mts +11 -0
  190. package/lib/types/graph/nodes/utility/merge.d.cts +12 -0
  191. package/lib/types/graph/nodes/utility/merge.d.mts +12 -0
  192. package/lib/types/graph/nodes/utility/return.d.cts +11 -0
  193. package/lib/types/graph/nodes/utility/return.d.mts +11 -0
  194. package/lib/types/graph/nodes/utility/utility-log.d.cts +15 -0
  195. package/lib/types/graph/nodes/utility/utility-log.d.mts +15 -0
  196. package/lib/types/graph/types.d.cts +286 -0
  197. package/lib/types/graph/types.d.mts +286 -0
  198. package/lib/types/index.d.cts +3 -3
  199. package/lib/types/index.d.mts +3 -3
  200. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphInputValueNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/boundary/input-value
20
+ * @summary Workflow input value boundary node declaration.
21
+ * @description Shared canvas node representing a workflow input value
22
+ * (decorator id `graph-input-value-node`), moved from the for-angular
23
+ * boundary nodes so both sides share the declaration. Reusable value node
24
+ * whose single `value` output may feed multiple targets.
25
+ */
26
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
27
+ const decorators_js_1 = require("./../../decorators.cjs");
28
+ // Ensure category styles are registered (idempotent).
29
+ require("./../category-styles.cjs");
30
+ let GraphInputValueNode = class GraphInputValueNode extends decorator_validation_1.Model {
31
+ };
32
+ exports.GraphInputValueNode = GraphInputValueNode;
33
+ __decorate([
34
+ (0, decorators_js_1.output)({
35
+ handle: 'value',
36
+ connectionRules: {
37
+ allowMultiple: true,
38
+ },
39
+ }),
40
+ __metadata("design:type", Object)
41
+ ], GraphInputValueNode.prototype, "value", void 0);
42
+ exports.GraphInputValueNode = GraphInputValueNode = __decorate([
43
+ (0, decorators_js_1.node)('graph-input-value-node', {
44
+ kind: 'value',
45
+ category: 'Boundary',
46
+ color: '#0f766e',
47
+ icon: 'ti-circle-plus',
48
+ labels: ['workflow', 'input', 'value'],
49
+ metadata: {
50
+ title: 'Workflow input value',
51
+ description: 'Reusable canvas value node representing a workflow input.',
52
+ },
53
+ }),
54
+ (0, decorator_validation_1.model)()
55
+ ], GraphInputValueNode);
56
+ //# sourceMappingURL=input-value.js.map
57
+ //# sourceMappingURL=input-value.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/boundary/input-value.cjs","sourceRoot":"","sources":["graph/nodes/boundary/input-value.js"],"names":[],"mappings":";;;AAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IACjF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;QAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AACF,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAC;AACF;;;;;;;GAOG;AACH,yEAA8D;AAC9D,yDAAqD;AACrD,sDAAsD;AACtD,mCAAiC;AACjC,IAAI,mBAAmB,GAAG,MAAM,mBAAoB,SAAQ,4BAAK;CAChE,CAAC;AAwBO,kDAAmB;AAvB5B,UAAU,CAAC;IACP,IAAA,sBAAM,EAAC;QACH,MAAM,EAAE,OAAO;QACf,eAAe,EAAE;YACb,aAAa,EAAE,IAAI;SACtB;KACJ,CAAC;IACF,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACnD,8BAAA,mBAAmB,GAAG,UAAU,CAAC;IAC7B,IAAA,oBAAI,EAAC,wBAAwB,EAAE;QAC3B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;QACtC,QAAQ,EAAE;YACN,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,2DAA2D;SAC3E;KACJ,CAAC;IACF,IAAA,4BAAK,GAAE;CACV,EAAE,mBAAmB,CAAC,CAAC;AAExB,uCAAuC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerBuiltinCategoryStyles = registerBuiltinCategoryStyles;
4
+ /**
5
+ * @module ui-decorators/graph/nodes/category-styles
6
+ * @summary Built-in node/connection category style registrations.
7
+ * @description Registers default colors and icons for the built-in node and
8
+ * connection categories (DECAF-32 §21.2). The `color` / `icon` on a node's
9
+ * `@node()` metadata are optional overrides — when omitted, the effective
10
+ * style is resolved from the category registry.
11
+ */
12
+ const constants_js_1 = require("./../constants.cjs");
13
+ /**
14
+ * Registers all built-in category styles. Called once at module init.
15
+ *
16
+ * Categories define the default visual style for nodes and connection ports.
17
+ * A node's explicit `color` / `icon` (on `@node()`) overrides the category
18
+ * style; when omitted, the category style is used.
19
+ */
20
+ function registerBuiltinCategoryStyles() {
21
+ // Node categories
22
+ (0, constants_js_1.registerGraphCategoryStyle)("Trigger", { color: "#3b82f6", icon: "ti-bolt" });
23
+ (0, constants_js_1.registerGraphCategoryStyle)("Flow Control", { color: "#f59e0b", icon: "ti-arrows-split-2" });
24
+ (0, constants_js_1.registerGraphCategoryStyle)("Utility", { color: "#0d9488", icon: "ti-tool" });
25
+ (0, constants_js_1.registerGraphCategoryStyle)("Loop", { color: "#eab308", icon: "ti-repeat" });
26
+ (0, constants_js_1.registerGraphCategoryStyle)("Workflow", { color: "#f97316", icon: "ti-sitemap" });
27
+ (0, constants_js_1.registerGraphCategoryStyle)("Pipeline", { color: "#0ea5e9", icon: "ti-git-merge" });
28
+ (0, constants_js_1.registerGraphCategoryStyle)("Node", { color: "#8b5cf6", icon: "ti-point-filled" });
29
+ (0, constants_js_1.registerGraphCategoryStyle)("Agent", { color: "#7c3aed", icon: "ti-robot" });
30
+ // Connection categories (for @connection() ports)
31
+ (0, constants_js_1.registerGraphCategoryStyle)("model", { color: "#3b82f6", icon: "ti-cpu" });
32
+ (0, constants_js_1.registerGraphCategoryStyle)("memory", { color: "#10b981", icon: "ti-database" });
33
+ (0, constants_js_1.registerGraphCategoryStyle)("workspace", { color: "#f59e0b", icon: "ti-folder" });
34
+ }
35
+ // Register at module load so the styles are available immediately.
36
+ registerBuiltinCategoryStyles();
37
+ //# sourceMappingURL=category-styles.js.map
38
+ //# sourceMappingURL=category-styles.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/category-styles.cjs","sourceRoot":"","sources":["graph/nodes/category-styles.js"],"names":[],"mappings":";;AAgBA,sEAcC;AA9BD;;;;;;;GAOG;AACH,oDAA+D;AAC/D;;;;;;GAMG;AACH,SAAgB,6BAA6B;IACzC,kBAAkB;IAClB,IAAA,yCAA0B,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7E,IAAA,yCAA0B,EAAC,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC5F,IAAA,yCAA0B,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7E,IAAA,yCAA0B,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5E,IAAA,yCAA0B,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACjF,IAAA,yCAA0B,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACnF,IAAA,yCAA0B,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClF,IAAA,yCAA0B,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5E,kDAAkD;IAClD,IAAA,yCAA0B,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1E,IAAA,yCAA0B,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAChF,IAAA,yCAA0B,EAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AACrF,CAAC;AACD,mEAAmE;AACnE,6BAA6B,EAAE,CAAC;AAChC,2CAA2C"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BreakFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/flow-control/break
20
+ * @summary Break flow-control node declaration (DECAF-32 §22.2.2).
21
+ * @description Break — breaks out of the enclosing loop (foreach/while/until).
22
+ * When executed inside a loop body, the loop terminates early and the loop's
23
+ * `completed`/`state` output carries the results collected so far. The Break
24
+ * node executor throws a `GraphBreakSignal` that the enclosing loop executor
25
+ * catches.
26
+ */
27
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
28
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
29
+ const decorators_js_2 = require("./../../decorators.cjs");
30
+ // Ensure category styles are registered (idempotent).
31
+ require("./../category-styles.cjs");
32
+ let BreakFlowNode = class BreakFlowNode extends decorator_validation_1.Model {
33
+ };
34
+ exports.BreakFlowNode = BreakFlowNode;
35
+ __decorate([
36
+ (0, decorator_validation_1.required)(),
37
+ (0, decorators_js_1.uielement)("textarea", { label: "Value", placeholder: "Value to forward (collected as the last partial result)" }),
38
+ (0, decorators_js_2.input)({ handle: "value" }),
39
+ __metadata("design:type", Object)
40
+ ], BreakFlowNode.prototype, "value", void 0);
41
+ __decorate([
42
+ (0, decorator_validation_1.required)(),
43
+ (0, decorators_js_2.output)({ handle: "broken" }),
44
+ __metadata("design:type", Object)
45
+ ], BreakFlowNode.prototype, "broken", void 0);
46
+ exports.BreakFlowNode = BreakFlowNode = __decorate([
47
+ (0, decorators_js_2.node)("core.flow.break", {
48
+ kind: "core.flow.break",
49
+ category: "Flow Control",
50
+ color: "#ef4444",
51
+ icon: "ti-square-arrow-right",
52
+ width: 96,
53
+ height: 96,
54
+ labels: ["flow", "break", "loop", "control"],
55
+ metadata: {
56
+ title: "Break",
57
+ description: "Breaks out of the enclosing loop. The loop terminates early and returns the results collected so far.",
58
+ },
59
+ }),
60
+ (0, decorator_validation_1.model)()
61
+ ], BreakFlowNode);
62
+ //# sourceMappingURL=break.js.map
63
+ //# sourceMappingURL=break.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/flow-control/break.cjs","sourceRoot":"","sources":["graph/nodes/flow-control/break.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorBoundaryFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/flow-control/error-boundary
20
+ * @summary Error-boundary flow-control node declaration (DECAF-32 §22.2.2).
21
+ * @description Error boundary — try/catch/finally workflow behaviour.
22
+ */
23
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
24
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
25
+ const decorators_js_2 = require("./../../decorators.cjs");
26
+ // Ensure category styles are registered (idempotent).
27
+ require("./../category-styles.cjs");
28
+ let ErrorBoundaryFlowNode = class ErrorBoundaryFlowNode extends decorator_validation_1.Model {
29
+ };
30
+ exports.ErrorBoundaryFlowNode = ErrorBoundaryFlowNode;
31
+ __decorate([
32
+ (0, decorator_validation_1.required)(),
33
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to guard" }),
34
+ (0, decorators_js_2.input)({ handle: "value" }),
35
+ __metadata("design:type", Object)
36
+ ], ErrorBoundaryFlowNode.prototype, "value", void 0);
37
+ __decorate([
38
+ (0, decorator_validation_1.required)(),
39
+ (0, decorators_js_1.uielement)("input", { label: "Result", placeholder: "Output on success" }),
40
+ (0, decorators_js_2.output)({ handle: "result" }),
41
+ __metadata("design:type", Object)
42
+ ], ErrorBoundaryFlowNode.prototype, "result", void 0);
43
+ __decorate([
44
+ (0, decorator_validation_1.required)(),
45
+ (0, decorators_js_1.uielement)("input", { label: "Error", placeholder: "Output on failure" }),
46
+ (0, decorators_js_2.output)({ handle: "error" }),
47
+ __metadata("design:type", Object)
48
+ ], ErrorBoundaryFlowNode.prototype, "error", void 0);
49
+ exports.ErrorBoundaryFlowNode = ErrorBoundaryFlowNode = __decorate([
50
+ (0, decorators_js_2.node)("core.flow.errorBoundary", {
51
+ kind: "core.flow.errorBoundary",
52
+ category: "Flow Control",
53
+ color: "#ef4444",
54
+ icon: "ti-shield-check",
55
+ width: 96,
56
+ height: 96,
57
+ labels: ["flow", "error", "try-catch"],
58
+ metadata: {
59
+ title: "Error boundary",
60
+ description: "Wraps the input in a try/catch/finally. Emits the result on success, or the error on failure.",
61
+ finally: false,
62
+ },
63
+ }),
64
+ (0, decorator_validation_1.model)()
65
+ ], ErrorBoundaryFlowNode);
66
+ //# sourceMappingURL=error-boundary.js.map
67
+ //# sourceMappingURL=error-boundary.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/flow-control/error-boundary.cjs","sourceRoot":"","sources":["graph/nodes/flow-control/error-boundary.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HumanApprovalFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/flow-control/human-approval
20
+ * @summary Human-approval flow-control node declaration (DECAF-32 §22.2.2).
21
+ * @description Human approval — suspends execution until a human approves
22
+ * or rejects.
23
+ */
24
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
25
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
26
+ const decorators_js_2 = require("./../../decorators.cjs");
27
+ // Ensure category styles are registered (idempotent).
28
+ require("./../category-styles.cjs");
29
+ let HumanApprovalFlowNode = class HumanApprovalFlowNode extends decorator_validation_1.Model {
30
+ };
31
+ exports.HumanApprovalFlowNode = HumanApprovalFlowNode;
32
+ __decorate([
33
+ (0, decorator_validation_1.required)(),
34
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value pending approval" }),
35
+ (0, decorators_js_2.input)({ handle: "value" }),
36
+ __metadata("design:type", Object)
37
+ ], HumanApprovalFlowNode.prototype, "value", void 0);
38
+ __decorate([
39
+ (0, decorator_validation_1.required)(),
40
+ (0, decorators_js_1.uielement)("input", { label: "Approved", placeholder: "Output when approved" }),
41
+ (0, decorators_js_2.output)({ handle: "approved" }),
42
+ __metadata("design:type", Object)
43
+ ], HumanApprovalFlowNode.prototype, "approved", void 0);
44
+ __decorate([
45
+ (0, decorator_validation_1.required)(),
46
+ (0, decorators_js_1.uielement)("input", { label: "Rejected", placeholder: "Output when rejected" }),
47
+ (0, decorators_js_2.output)({ handle: "rejected" }),
48
+ __metadata("design:type", Object)
49
+ ], HumanApprovalFlowNode.prototype, "rejected", void 0);
50
+ exports.HumanApprovalFlowNode = HumanApprovalFlowNode = __decorate([
51
+ (0, decorators_js_2.node)("core.flow.humanApproval", {
52
+ kind: "core.flow.humanApproval",
53
+ category: "Flow Control",
54
+ color: "#d946ef",
55
+ icon: "ti-user-check",
56
+ width: 96,
57
+ height: 96,
58
+ labels: ["flow", "approval", "suspend"],
59
+ metadata: {
60
+ title: "Human approval",
61
+ description: "Suspends execution until a human approves or rejects. Emits the approved value or a rejection.",
62
+ approvers: [],
63
+ timeoutMs: 86400000,
64
+ },
65
+ }),
66
+ (0, decorator_validation_1.model)()
67
+ ], HumanApprovalFlowNode);
68
+ //# sourceMappingURL=human-approval.js.map
69
+ //# sourceMappingURL=human-approval.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/flow-control/human-approval.cjs","sourceRoot":"","sources":["graph/nodes/flow-control/human-approval.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IfFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/flow-control/if
20
+ * @summary If flow-control node declaration (DECAF-32 §22.2.2).
21
+ * @description If — conditional branch. Evaluates a `ConditionExpression`
22
+ * (§22.3) and routes the input to the `then` or `else` output. A graph-level
23
+ * macro: the engine's planner recognises it as an ordinary executable node
24
+ * (§5.7) but it has no built-in executor — downstream projects register
25
+ * custom executors or compile it into composition APIs (§22.2.2).
26
+ */
27
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
28
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
29
+ const decorators_js_2 = require("./../../decorators.cjs");
30
+ // Ensure category styles are registered (idempotent).
31
+ require("./../category-styles.cjs");
32
+ let IfFlowNode = class IfFlowNode extends decorator_validation_1.Model {
33
+ };
34
+ exports.IfFlowNode = IfFlowNode;
35
+ __decorate([
36
+ (0, decorator_validation_1.required)(),
37
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to evaluate" }),
38
+ (0, decorators_js_2.input)({ handle: "value" }),
39
+ __metadata("design:type", Object)
40
+ ], IfFlowNode.prototype, "value", void 0);
41
+ __decorate([
42
+ (0, decorator_validation_1.required)(),
43
+ (0, decorators_js_1.uielement)("input", { label: "Then", placeholder: "Output when condition is true" }),
44
+ (0, decorators_js_2.output)({ handle: "then" }),
45
+ __metadata("design:type", Object)
46
+ ], IfFlowNode.prototype, "then", void 0);
47
+ __decorate([
48
+ (0, decorator_validation_1.required)(),
49
+ (0, decorators_js_1.uielement)("input", { label: "Else", placeholder: "Output when condition is false" }),
50
+ (0, decorators_js_2.output)({ handle: "else" }),
51
+ __metadata("design:type", Object)
52
+ ], IfFlowNode.prototype, "else", void 0);
53
+ exports.IfFlowNode = IfFlowNode = __decorate([
54
+ (0, decorators_js_2.node)("core.flow.if", {
55
+ kind: "core.flow.if",
56
+ category: "Flow Control",
57
+ color: "#f59e0b",
58
+ icon: "ti-arrows-split-2",
59
+ width: 96,
60
+ height: 96,
61
+ labels: ["flow", "conditional", "branch"],
62
+ metadata: {
63
+ title: "If",
64
+ description: "Conditional branch. Evaluates the configured condition and routes the input to the matching output.",
65
+ condition: { op: "eq", left: { const: true }, right: { const: true } },
66
+ },
67
+ }),
68
+ (0, decorator_validation_1.model)()
69
+ ], IfFlowNode);
70
+ //# sourceMappingURL=if.js.map
71
+ //# sourceMappingURL=if.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/flow-control/if.cjs","sourceRoot":"","sources":["graph/nodes/flow-control/if.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParallelFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/flow-control/parallel
20
+ * @summary Parallel flow-control node declaration (DECAF-32 §22.2.2).
21
+ * @description Parallel — splits execution into concurrent branches.
22
+ */
23
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
24
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
25
+ const decorators_js_2 = require("./../../decorators.cjs");
26
+ // Ensure category styles are registered (idempotent).
27
+ require("./../category-styles.cjs");
28
+ let ParallelFlowNode = class ParallelFlowNode extends decorator_validation_1.Model {
29
+ };
30
+ exports.ParallelFlowNode = ParallelFlowNode;
31
+ __decorate([
32
+ (0, decorator_validation_1.required)(),
33
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to fan out" }),
34
+ (0, decorators_js_2.input)({ handle: "value" }),
35
+ __metadata("design:type", Object)
36
+ ], ParallelFlowNode.prototype, "value", void 0);
37
+ __decorate([
38
+ (0, decorator_validation_1.required)(),
39
+ (0, decorators_js_1.uielement)("input", { label: "Branches", placeholder: "Collected branch outputs" }),
40
+ (0, decorators_js_2.output)({ handle: "branches" }),
41
+ __metadata("design:type", Array)
42
+ ], ParallelFlowNode.prototype, "branches", void 0);
43
+ exports.ParallelFlowNode = ParallelFlowNode = __decorate([
44
+ (0, decorators_js_2.node)("core.flow.parallel", {
45
+ kind: "core.flow.parallel",
46
+ category: "Flow Control",
47
+ color: "#06b6d4",
48
+ icon: "ti-arrows-vertical",
49
+ width: 96,
50
+ height: 96,
51
+ labels: ["flow", "parallel", "concurrent"],
52
+ metadata: {
53
+ title: "Parallel",
54
+ description: "Splits execution into concurrent branches. All branches run in parallel and outputs are collected.",
55
+ branchCount: 2,
56
+ },
57
+ }),
58
+ (0, decorator_validation_1.model)()
59
+ ], ParallelFlowNode);
60
+ //# sourceMappingURL=parallel.js.map
61
+ //# sourceMappingURL=parallel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/flow-control/parallel.cjs","sourceRoot":"","sources":["graph/nodes/flow-control/parallel.js"],"names":[],"mappings":";;;AAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IACjF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;QAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AACF,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAC;AACF;;;;GAIG;AACH,yEAAwE;AACxE,+DAAwD;AACxD,yDAA4D;AAC5D,sDAAsD;AACtD,mCAAiC;AACjC,IAAI,gBAAgB,GAAG,MAAM,gBAAiB,SAAQ,4BAAK;CAC1D,CAAC;AA8BO,4CAAgB;AA7BzB,UAAU,CAAC;IACP,IAAA,+BAAQ,GAAE;IACV,IAAA,yBAAS,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAChF,IAAA,qBAAK,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC1B,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAChD,UAAU,CAAC;IACP,IAAA,+BAAQ,GAAE;IACV,IAAA,yBAAS,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAClF,IAAA,sBAAM,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC9B,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC;CACnC,EAAE,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AACnD,2BAAA,gBAAgB,GAAG,UAAU,CAAC;IAC1B,IAAA,oBAAI,EAAC,oBAAoB,EAAE;QACvB,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;QAC1C,QAAQ,EAAE;YACN,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,oGAAoG;YACjH,WAAW,EAAE,CAAC;SACjB;KACJ,CAAC;IACF,IAAA,4BAAK,GAAE;CACV,EAAE,gBAAgB,CAAC,CAAC;AAErB,oCAAoC"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SwitchFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/flow-control/switch
20
+ * @summary Switch flow-control node declaration (DECAF-32 §22.2.2).
21
+ * @description Switch — multi-branch. Routes the input to one of the case
22
+ * output ports or `default` based on matching conditions. Each case defines
23
+ * a `SwitchCaseCondition` (graphical or code mode) and a dedicated output
24
+ * port. Cases are stored in `metadata.switch.cases` and the renderer creates
25
+ * dynamic output ports from them (DECAF-32 §22.2.2).
26
+ *
27
+ * The node grows in height as cases are added. Each case gets its own
28
+ * output port on the right side, labeled with the case label.
29
+ */
30
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
31
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
32
+ const decorators_js_2 = require("./../../decorators.cjs");
33
+ const constants_js_1 = require("./../../constants.cjs");
34
+ const reader_js_1 = require("./../../reader.cjs");
35
+ const base_js_1 = require("./../base.cjs");
36
+ // Ensure category styles are registered (idempotent).
37
+ require("./../category-styles.cjs");
38
+ let SwitchFlowNode = class SwitchFlowNode extends base_js_1.GraphNode {
39
+ /**
40
+ * Computes the node's ports, size, and data patch from the given switch
41
+ * metadata. Each case gets its own output port on the right side; the
42
+ * `default` port always renders **last** (DECAF-32 §21 port-ordering rule,
43
+ * DECAF-34 §6.2). When `hasDefault` is `false`, the `default` output port
44
+ * is omitted entirely. The node grows in height as cases are added.
45
+ *
46
+ * @param meta - The switch metadata patch (`metadata.switch`), carrying
47
+ * the cases and the optional default-port configuration.
48
+ * @returns The computed {@link NodeMetadataChange}: reordered ports
49
+ * (case outputs inserted before the optional default), the grown size,
50
+ * and the `switchMetadata` data patch.
51
+ */
52
+ static applyMetadata(meta) {
53
+ const definition = (0, reader_js_1.graphDefinitionOf)(this);
54
+ const defaultPortName = meta.defaultPort ?? "default";
55
+ const hasDefault = meta.hasDefault === true;
56
+ // Base ports excluding any port that collides with a case output port.
57
+ const basePorts = definition.ports.filter((p) => !meta.cases.some((c) => c.outputPort === p.property));
58
+ // Separate the default output port so it can be placed last (or omitted).
59
+ const nonDefaultPorts = basePorts.filter((p) => p.property !== defaultPortName);
60
+ const defaultPort = basePorts.find((p) => p.property === defaultPortName);
61
+ const casePorts = meta.cases.map((c) => ({
62
+ property: c.outputPort,
63
+ name: c.label,
64
+ direction: constants_js_1.PortDirection.OUTPUT,
65
+ label: c.label,
66
+ required: false,
67
+ hidden: false,
68
+ path: c.outputPort,
69
+ }));
70
+ // Port order: inputs/non-default outputs first, case outputs next, default last.
71
+ const ports = [...nonDefaultPorts, ...casePorts];
72
+ if (hasDefault && defaultPort) {
73
+ ports.push(defaultPort);
74
+ }
75
+ const caseCount = meta.cases.length;
76
+ return {
77
+ ports,
78
+ size: {
79
+ width: definition.width ?? 120,
80
+ height: caseCount > 0 ? 140 + caseCount * 24 : definition.height ?? 140,
81
+ },
82
+ dataPatch: { switchMetadata: meta },
83
+ };
84
+ }
85
+ };
86
+ exports.SwitchFlowNode = SwitchFlowNode;
87
+ __decorate([
88
+ (0, decorator_validation_1.required)(),
89
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to switch on" }),
90
+ (0, decorators_js_2.input)({ handle: "value" }),
91
+ __metadata("design:type", Object)
92
+ ], SwitchFlowNode.prototype, "value", void 0);
93
+ __decorate([
94
+ (0, decorator_validation_1.required)(),
95
+ (0, decorators_js_1.uielement)("input", { label: "Default", placeholder: "Default output when no case matches" }),
96
+ (0, decorators_js_2.output)({ handle: "default" }),
97
+ __metadata("design:type", Object)
98
+ ], SwitchFlowNode.prototype, "default", void 0);
99
+ exports.SwitchFlowNode = SwitchFlowNode = __decorate([
100
+ (0, decorators_js_2.node)("core.flow.switch", {
101
+ kind: "core.flow.switch",
102
+ category: "Flow Control",
103
+ color: "#f97316",
104
+ icon: "ti-arrows-shuffle",
105
+ width: 120,
106
+ height: 140,
107
+ labels: ["flow", "switch", "multi-branch"],
108
+ metadata: {
109
+ title: "Switch",
110
+ description: "Multi-branch switch. Routes the input to the first matching case output, or the default output.",
111
+ switch: {
112
+ cases: [],
113
+ defaultPort: "default",
114
+ hasDefault: false,
115
+ },
116
+ },
117
+ }),
118
+ (0, decorator_validation_1.model)()
119
+ ], SwitchFlowNode);
120
+ //# sourceMappingURL=switch.js.map
121
+ //# sourceMappingURL=switch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/nodes/flow-control/switch.cjs","sourceRoot":"","sources":["graph/nodes/flow-control/switch.js"],"names":[],"mappings":"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"}