@mindlogic-ai/logician-ui 3.1.0 → 3.2.0-alpha.1

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 (509) hide show
  1. package/dist/components/Icon/_constants/iconList.d.ts +1 -1
  2. package/dist/components/Icon/_constants/iconList.d.ts.map +1 -1
  3. package/dist/components/Icon/_constants/iconList.js +18 -0
  4. package/dist/components/Icon/_constants/iconList.js.map +1 -1
  5. package/dist/components/Icon/_constants/iconList.mjs +20 -2
  6. package/dist/components/Icon/_constants/iconList.mjs.map +1 -1
  7. package/dist/components/Icon/index.d.ts +2 -1
  8. package/dist/components/Icon/index.d.ts.map +1 -1
  9. package/dist/components/Icon/index.js +20 -1
  10. package/dist/components/Icon/index.js.map +1 -1
  11. package/dist/components/Icon/index.mjs +4 -2
  12. package/dist/components/Icon/index.mjs.map +1 -1
  13. package/dist/components/Tree/Tree.d.ts +20 -0
  14. package/dist/components/Tree/Tree.d.ts.map +1 -0
  15. package/dist/components/Tree/Tree.js +43 -0
  16. package/dist/components/Tree/Tree.js.map +1 -0
  17. package/dist/components/Tree/Tree.mjs +41 -0
  18. package/dist/components/Tree/Tree.mjs.map +1 -0
  19. package/dist/components/Tree/Tree.types.d.ts +21 -0
  20. package/dist/components/Tree/Tree.types.d.ts.map +1 -0
  21. package/dist/components/Tree/TreeBranch.d.ts +3 -0
  22. package/dist/components/Tree/TreeBranch.d.ts.map +1 -0
  23. package/dist/components/Tree/TreeBranch.js +14 -0
  24. package/dist/components/Tree/TreeBranch.js.map +1 -0
  25. package/dist/components/Tree/TreeBranch.mjs +12 -0
  26. package/dist/components/Tree/TreeBranch.mjs.map +1 -0
  27. package/dist/components/Tree/TreeBranchContent.d.ts +3 -0
  28. package/dist/components/Tree/TreeBranchContent.d.ts.map +1 -0
  29. package/dist/components/Tree/TreeBranchContent.js +14 -0
  30. package/dist/components/Tree/TreeBranchContent.js.map +1 -0
  31. package/dist/components/Tree/TreeBranchContent.mjs +12 -0
  32. package/dist/components/Tree/TreeBranchContent.mjs.map +1 -0
  33. package/dist/components/Tree/TreeBranchControl.d.ts +3 -0
  34. package/dist/components/Tree/TreeBranchControl.d.ts.map +1 -0
  35. package/dist/components/Tree/TreeBranchControl.js +19 -0
  36. package/dist/components/Tree/TreeBranchControl.js.map +1 -0
  37. package/dist/components/Tree/TreeBranchControl.mjs +17 -0
  38. package/dist/components/Tree/TreeBranchControl.mjs.map +1 -0
  39. package/dist/components/Tree/TreeBranchIndentGuide.d.ts +3 -0
  40. package/dist/components/Tree/TreeBranchIndentGuide.d.ts.map +1 -0
  41. package/dist/components/Tree/TreeBranchIndentGuide.js +20 -0
  42. package/dist/components/Tree/TreeBranchIndentGuide.js.map +1 -0
  43. package/dist/components/Tree/TreeBranchIndentGuide.mjs +18 -0
  44. package/dist/components/Tree/TreeBranchIndentGuide.mjs.map +1 -0
  45. package/dist/components/Tree/TreeBranchIndicator.d.ts +3 -0
  46. package/dist/components/Tree/TreeBranchIndicator.d.ts.map +1 -0
  47. package/dist/components/Tree/TreeBranchIndicator.js +15 -0
  48. package/dist/components/Tree/TreeBranchIndicator.js.map +1 -0
  49. package/dist/components/Tree/TreeBranchIndicator.mjs +13 -0
  50. package/dist/components/Tree/TreeBranchIndicator.mjs.map +1 -0
  51. package/dist/components/Tree/TreeBranchText.d.ts +3 -0
  52. package/dist/components/Tree/TreeBranchText.d.ts.map +1 -0
  53. package/dist/components/Tree/TreeBranchText.js +14 -0
  54. package/dist/components/Tree/TreeBranchText.js.map +1 -0
  55. package/dist/components/Tree/TreeBranchText.mjs +12 -0
  56. package/dist/components/Tree/TreeBranchText.mjs.map +1 -0
  57. package/dist/components/Tree/TreeBranchTrigger.d.ts +3 -0
  58. package/dist/components/Tree/TreeBranchTrigger.d.ts.map +1 -0
  59. package/dist/components/Tree/TreeBranchTrigger.js +15 -0
  60. package/dist/components/Tree/TreeBranchTrigger.js.map +1 -0
  61. package/dist/components/Tree/TreeBranchTrigger.mjs +13 -0
  62. package/dist/components/Tree/TreeBranchTrigger.mjs.map +1 -0
  63. package/dist/components/Tree/TreeItem.d.ts +3 -0
  64. package/dist/components/Tree/TreeItem.d.ts.map +1 -0
  65. package/dist/components/Tree/TreeItem.js +25 -0
  66. package/dist/components/Tree/TreeItem.js.map +1 -0
  67. package/dist/components/Tree/TreeItem.mjs +23 -0
  68. package/dist/components/Tree/TreeItem.mjs.map +1 -0
  69. package/dist/components/Tree/TreeItemIndicator.d.ts +3 -0
  70. package/dist/components/Tree/TreeItemIndicator.d.ts.map +1 -0
  71. package/dist/components/Tree/TreeItemIndicator.js +14 -0
  72. package/dist/components/Tree/TreeItemIndicator.js.map +1 -0
  73. package/dist/components/Tree/TreeItemIndicator.mjs +12 -0
  74. package/dist/components/Tree/TreeItemIndicator.mjs.map +1 -0
  75. package/dist/components/Tree/TreeItemText.d.ts +3 -0
  76. package/dist/components/Tree/TreeItemText.d.ts.map +1 -0
  77. package/dist/components/Tree/TreeItemText.js +14 -0
  78. package/dist/components/Tree/TreeItemText.js.map +1 -0
  79. package/dist/components/Tree/TreeItemText.mjs +12 -0
  80. package/dist/components/Tree/TreeItemText.mjs.map +1 -0
  81. package/dist/components/Tree/TreeLabel.d.ts +3 -0
  82. package/dist/components/Tree/TreeLabel.d.ts.map +1 -0
  83. package/dist/components/Tree/TreeLabel.js +14 -0
  84. package/dist/components/Tree/TreeLabel.js.map +1 -0
  85. package/dist/components/Tree/TreeLabel.mjs +12 -0
  86. package/dist/components/Tree/TreeLabel.mjs.map +1 -0
  87. package/dist/components/Tree/TreeNode.d.ts +5 -0
  88. package/dist/components/Tree/TreeNode.d.ts.map +1 -0
  89. package/dist/components/Tree/TreeNode.js +9 -0
  90. package/dist/components/Tree/TreeNode.js.map +1 -0
  91. package/dist/components/Tree/TreeNode.mjs +7 -0
  92. package/dist/components/Tree/TreeNode.mjs.map +1 -0
  93. package/dist/components/Tree/TreeNodeCheckbox.d.ts +3 -0
  94. package/dist/components/Tree/TreeNodeCheckbox.d.ts.map +1 -0
  95. package/dist/components/Tree/TreeNodeCheckbox.js +14 -0
  96. package/dist/components/Tree/TreeNodeCheckbox.js.map +1 -0
  97. package/dist/components/Tree/TreeNodeCheckbox.mjs +12 -0
  98. package/dist/components/Tree/TreeNodeCheckbox.mjs.map +1 -0
  99. package/dist/components/Tree/TreeNodeContext.d.ts +2 -0
  100. package/dist/components/Tree/TreeNodeContext.d.ts.map +1 -0
  101. package/dist/components/Tree/TreeNodeContext.js +9 -0
  102. package/dist/components/Tree/TreeNodeContext.js.map +1 -0
  103. package/dist/components/Tree/TreeNodeContext.mjs +7 -0
  104. package/dist/components/Tree/TreeNodeContext.mjs.map +1 -0
  105. package/dist/components/Tree/TreeNodeProvider.d.ts +5 -0
  106. package/dist/components/Tree/TreeNodeProvider.d.ts.map +1 -0
  107. package/dist/components/Tree/TreeNodeProvider.js +9 -0
  108. package/dist/components/Tree/TreeNodeProvider.js.map +1 -0
  109. package/dist/components/Tree/TreeNodeProvider.mjs +7 -0
  110. package/dist/components/Tree/TreeNodeProvider.mjs.map +1 -0
  111. package/dist/components/Tree/TreeRoot.d.ts +3 -0
  112. package/dist/components/Tree/TreeRoot.d.ts.map +1 -0
  113. package/dist/components/Tree/TreeRoot.js +14 -0
  114. package/dist/components/Tree/TreeRoot.js.map +1 -0
  115. package/dist/components/Tree/TreeRoot.mjs +12 -0
  116. package/dist/components/Tree/TreeRoot.mjs.map +1 -0
  117. package/dist/components/Tree/TreeTree.d.ts +3 -0
  118. package/dist/components/Tree/TreeTree.d.ts.map +1 -0
  119. package/dist/components/Tree/TreeTree.js +14 -0
  120. package/dist/components/Tree/TreeTree.js.map +1 -0
  121. package/dist/components/Tree/TreeTree.mjs +12 -0
  122. package/dist/components/Tree/TreeTree.mjs.map +1 -0
  123. package/dist/components/Tree/index.d.ts +23 -0
  124. package/dist/components/Tree/index.d.ts.map +1 -0
  125. package/dist/components/Workflow/Workflow.d.ts +3 -0
  126. package/dist/components/Workflow/Workflow.d.ts.map +1 -0
  127. package/dist/components/Workflow/Workflow.js +109 -0
  128. package/dist/components/Workflow/Workflow.js.map +1 -0
  129. package/dist/components/Workflow/Workflow.mjs +107 -0
  130. package/dist/components/Workflow/Workflow.mjs.map +1 -0
  131. package/dist/components/Workflow/Workflow.translations.json.js +164 -0
  132. package/dist/components/Workflow/Workflow.translations.json.js.map +1 -0
  133. package/dist/components/Workflow/Workflow.translations.json.mjs +138 -0
  134. package/dist/components/Workflow/Workflow.translations.json.mjs.map +1 -0
  135. package/dist/components/Workflow/Workflow.types.d.ts +435 -0
  136. package/dist/components/Workflow/Workflow.types.d.ts.map +1 -0
  137. package/dist/components/Workflow/Workflow.types.js +19 -0
  138. package/dist/components/Workflow/Workflow.types.js.map +1 -0
  139. package/dist/components/Workflow/Workflow.types.mjs +16 -0
  140. package/dist/components/Workflow/Workflow.types.mjs.map +1 -0
  141. package/dist/components/Workflow/WorkflowContext/WorkflowContext.d.ts +10 -0
  142. package/dist/components/Workflow/WorkflowContext/WorkflowContext.d.ts.map +1 -0
  143. package/dist/components/Workflow/WorkflowContext/WorkflowContext.js +163 -0
  144. package/dist/components/Workflow/WorkflowContext/WorkflowContext.js.map +1 -0
  145. package/dist/components/Workflow/WorkflowContext/WorkflowContext.mjs +159 -0
  146. package/dist/components/Workflow/WorkflowContext/WorkflowContext.mjs.map +1 -0
  147. package/dist/components/Workflow/WorkflowContext/WorkflowContext.types.d.ts +117 -0
  148. package/dist/components/Workflow/WorkflowContext/WorkflowContext.types.d.ts.map +1 -0
  149. package/dist/components/Workflow/WorkflowContext/index.d.ts +3 -0
  150. package/dist/components/Workflow/WorkflowContext/index.d.ts.map +1 -0
  151. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.d.ts +19 -0
  152. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.d.ts.map +1 -0
  153. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.js +44 -0
  154. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.js.map +1 -0
  155. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.mjs +42 -0
  156. package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.mjs.map +1 -0
  157. package/dist/components/Workflow/canvas/Canvas/Canvas.d.ts +10 -0
  158. package/dist/components/Workflow/canvas/Canvas/Canvas.d.ts.map +1 -0
  159. package/dist/components/Workflow/canvas/Canvas/Canvas.js +531 -0
  160. package/dist/components/Workflow/canvas/Canvas/Canvas.js.map +1 -0
  161. package/dist/components/Workflow/canvas/Canvas/Canvas.mjs +529 -0
  162. package/dist/components/Workflow/canvas/Canvas/Canvas.mjs.map +1 -0
  163. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.d.ts +53 -0
  164. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.d.ts.map +1 -0
  165. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.js +96 -0
  166. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.js.map +1 -0
  167. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.mjs +93 -0
  168. package/dist/components/Workflow/canvas/Canvas/Canvas.styles.mjs.map +1 -0
  169. package/dist/components/Workflow/canvas/Canvas/CanvasControls.d.ts +27 -0
  170. package/dist/components/Workflow/canvas/Canvas/CanvasControls.d.ts.map +1 -0
  171. package/dist/components/Workflow/canvas/Canvas/CanvasControls.js +70 -0
  172. package/dist/components/Workflow/canvas/Canvas/CanvasControls.js.map +1 -0
  173. package/dist/components/Workflow/canvas/Canvas/CanvasControls.mjs +68 -0
  174. package/dist/components/Workflow/canvas/Canvas/CanvasControls.mjs.map +1 -0
  175. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.d.ts +10 -0
  176. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.d.ts.map +1 -0
  177. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.js +106 -0
  178. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.js.map +1 -0
  179. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.mjs +104 -0
  180. package/dist/components/Workflow/canvas/Canvas/LabeledEdge.mjs.map +1 -0
  181. package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.d.ts +13 -0
  182. package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.d.ts.map +1 -0
  183. package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.js +18 -0
  184. package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.js.map +1 -0
  185. package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.mjs +16 -0
  186. package/dist/components/Workflow/canvas/Canvas/edgeLabelVariant.mjs.map +1 -0
  187. package/dist/components/Workflow/canvas/Canvas/index.d.ts +2 -0
  188. package/dist/components/Workflow/canvas/Canvas/index.d.ts.map +1 -0
  189. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.d.ts +30 -0
  190. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.d.ts.map +1 -0
  191. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.js +34 -0
  192. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.js.map +1 -0
  193. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.mjs +32 -0
  194. package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.mjs.map +1 -0
  195. package/dist/components/Workflow/canvas/CollapsibleSection/index.d.ts +2 -0
  196. package/dist/components/Workflow/canvas/CollapsibleSection/index.d.ts.map +1 -0
  197. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.d.ts +37 -0
  198. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.d.ts.map +1 -0
  199. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.js +33 -0
  200. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.js.map +1 -0
  201. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.mjs +31 -0
  202. package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.mjs.map +1 -0
  203. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.d.ts +16 -0
  204. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.d.ts.map +1 -0
  205. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.js +54 -0
  206. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.js.map +1 -0
  207. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.mjs +52 -0
  208. package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.mjs.map +1 -0
  209. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.d.ts +27 -0
  210. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.d.ts.map +1 -0
  211. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.js +178 -0
  212. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.js.map +1 -0
  213. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.mjs +176 -0
  214. package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.mjs.map +1 -0
  215. package/dist/components/Workflow/canvas/DrawerShell/index.d.ts +3 -0
  216. package/dist/components/Workflow/canvas/DrawerShell/index.d.ts.map +1 -0
  217. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.d.ts +12 -0
  218. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.d.ts.map +1 -0
  219. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.js +68 -0
  220. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.js.map +1 -0
  221. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.mjs +66 -0
  222. package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.mjs.map +1 -0
  223. package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.d.ts +19 -0
  224. package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.d.ts.map +1 -0
  225. package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.js +35 -0
  226. package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.js.map +1 -0
  227. package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.mjs +32 -0
  228. package/dist/components/Workflow/canvas/EdgeInspector/endpointTitle.mjs.map +1 -0
  229. package/dist/components/Workflow/canvas/EdgeInspector/index.d.ts +3 -0
  230. package/dist/components/Workflow/canvas/EdgeInspector/index.d.ts.map +1 -0
  231. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.d.ts +54 -0
  232. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.d.ts.map +1 -0
  233. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.js +56 -0
  234. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.js.map +1 -0
  235. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.mjs +54 -0
  236. package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.mjs.map +1 -0
  237. package/dist/components/Workflow/canvas/FieldWrapper/index.d.ts +3 -0
  238. package/dist/components/Workflow/canvas/FieldWrapper/index.d.ts.map +1 -0
  239. package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.d.ts +16 -0
  240. package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.d.ts.map +1 -0
  241. package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.js +25 -0
  242. package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.js.map +1 -0
  243. package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.mjs +22 -0
  244. package/dist/components/Workflow/canvas/FloatingCard/FloatingCard.mjs.map +1 -0
  245. package/dist/components/Workflow/canvas/FloatingCard/index.d.ts +2 -0
  246. package/dist/components/Workflow/canvas/FloatingCard/index.d.ts.map +1 -0
  247. package/dist/components/Workflow/canvas/GenericNode/GenericNode.d.ts +14 -0
  248. package/dist/components/Workflow/canvas/GenericNode/GenericNode.d.ts.map +1 -0
  249. package/dist/components/Workflow/canvas/GenericNode/GenericNode.js +61 -0
  250. package/dist/components/Workflow/canvas/GenericNode/GenericNode.js.map +1 -0
  251. package/dist/components/Workflow/canvas/GenericNode/GenericNode.mjs +59 -0
  252. package/dist/components/Workflow/canvas/GenericNode/GenericNode.mjs.map +1 -0
  253. package/dist/components/Workflow/canvas/GenericNode/GenericNode.types.d.ts +11 -0
  254. package/dist/components/Workflow/canvas/GenericNode/GenericNode.types.d.ts.map +1 -0
  255. package/dist/components/Workflow/canvas/GenericNode/index.d.ts +3 -0
  256. package/dist/components/Workflow/canvas/GenericNode/index.d.ts.map +1 -0
  257. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.d.ts +15 -0
  258. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.d.ts.map +1 -0
  259. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.js +145 -0
  260. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.js.map +1 -0
  261. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.mjs +143 -0
  262. package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.mjs.map +1 -0
  263. package/dist/components/Workflow/canvas/GraphErrorBanner/index.d.ts +2 -0
  264. package/dist/components/Workflow/canvas/GraphErrorBanner/index.d.ts.map +1 -0
  265. package/dist/components/Workflow/canvas/IconTile/IconTile.d.ts +10 -0
  266. package/dist/components/Workflow/canvas/IconTile/IconTile.d.ts.map +1 -0
  267. package/dist/components/Workflow/canvas/IconTile/IconTile.js +21 -0
  268. package/dist/components/Workflow/canvas/IconTile/IconTile.js.map +1 -0
  269. package/dist/components/Workflow/canvas/IconTile/IconTile.mjs +19 -0
  270. package/dist/components/Workflow/canvas/IconTile/IconTile.mjs.map +1 -0
  271. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.d.ts +18 -0
  272. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.d.ts.map +1 -0
  273. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.js +40 -0
  274. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.js.map +1 -0
  275. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.mjs +37 -0
  276. package/dist/components/Workflow/canvas/IconTile/IconTile.styles.mjs.map +1 -0
  277. package/dist/components/Workflow/canvas/IconTile/IconTile.types.d.ts +15 -0
  278. package/dist/components/Workflow/canvas/IconTile/IconTile.types.d.ts.map +1 -0
  279. package/dist/components/Workflow/canvas/IconTile/index.d.ts +4 -0
  280. package/dist/components/Workflow/canvas/IconTile/index.d.ts.map +1 -0
  281. package/dist/components/Workflow/canvas/IssueList/IssueList.d.ts +24 -0
  282. package/dist/components/Workflow/canvas/IssueList/IssueList.d.ts.map +1 -0
  283. package/dist/components/Workflow/canvas/IssueList/IssueList.js +34 -0
  284. package/dist/components/Workflow/canvas/IssueList/IssueList.js.map +1 -0
  285. package/dist/components/Workflow/canvas/IssueList/IssueList.mjs +32 -0
  286. package/dist/components/Workflow/canvas/IssueList/IssueList.mjs.map +1 -0
  287. package/dist/components/Workflow/canvas/IssueList/index.d.ts +2 -0
  288. package/dist/components/Workflow/canvas/IssueList/index.d.ts.map +1 -0
  289. package/dist/components/Workflow/canvas/NodePalette/NodePalette.d.ts +9 -0
  290. package/dist/components/Workflow/canvas/NodePalette/NodePalette.d.ts.map +1 -0
  291. package/dist/components/Workflow/canvas/NodePalette/NodePalette.js +94 -0
  292. package/dist/components/Workflow/canvas/NodePalette/NodePalette.js.map +1 -0
  293. package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs +92 -0
  294. package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs.map +1 -0
  295. package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.d.ts +7 -0
  296. package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.d.ts.map +1 -0
  297. package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.js +13 -0
  298. package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.js.map +1 -0
  299. package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.mjs +10 -0
  300. package/dist/components/Workflow/canvas/NodePalette/NodePalette.styles.mjs.map +1 -0
  301. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.d.ts +10 -0
  302. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.d.ts.map +1 -0
  303. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.js +28 -0
  304. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.js.map +1 -0
  305. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.mjs +26 -0
  306. package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.mjs.map +1 -0
  307. package/dist/components/Workflow/canvas/NodePalette/index.d.ts +4 -0
  308. package/dist/components/Workflow/canvas/NodePalette/index.d.ts.map +1 -0
  309. package/dist/components/Workflow/canvas/NodeShell/NodeShell.d.ts +3 -0
  310. package/dist/components/Workflow/canvas/NodeShell/NodeShell.d.ts.map +1 -0
  311. package/dist/components/Workflow/canvas/NodeShell/NodeShell.js +137 -0
  312. package/dist/components/Workflow/canvas/NodeShell/NodeShell.js.map +1 -0
  313. package/dist/components/Workflow/canvas/NodeShell/NodeShell.mjs +135 -0
  314. package/dist/components/Workflow/canvas/NodeShell/NodeShell.mjs.map +1 -0
  315. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.d.ts +66 -0
  316. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.d.ts.map +1 -0
  317. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.js +87 -0
  318. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.js.map +1 -0
  319. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.mjs +77 -0
  320. package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.mjs.map +1 -0
  321. package/dist/components/Workflow/canvas/NodeShell/NodeShell.types.d.ts +35 -0
  322. package/dist/components/Workflow/canvas/NodeShell/NodeShell.types.d.ts.map +1 -0
  323. package/dist/components/Workflow/canvas/NodeShell/index.d.ts +4 -0
  324. package/dist/components/Workflow/canvas/NodeShell/index.d.ts.map +1 -0
  325. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.d.ts +15 -0
  326. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.d.ts.map +1 -0
  327. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.js +14 -0
  328. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.js.map +1 -0
  329. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.mjs +12 -0
  330. package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.mjs.map +1 -0
  331. package/dist/components/Workflow/canvas/SeverityDot/index.d.ts +2 -0
  332. package/dist/components/Workflow/canvas/SeverityDot/index.d.ts.map +1 -0
  333. package/dist/components/Workflow/canvas/issueSeverity.d.ts +23 -0
  334. package/dist/components/Workflow/canvas/issueSeverity.d.ts.map +1 -0
  335. package/dist/components/Workflow/canvas/issueSeverity.js +51 -0
  336. package/dist/components/Workflow/canvas/issueSeverity.js.map +1 -0
  337. package/dist/components/Workflow/canvas/issueSeverity.mjs +47 -0
  338. package/dist/components/Workflow/canvas/issueSeverity.mjs.map +1 -0
  339. package/dist/components/Workflow/canvas/useFieldFocusRequest.d.ts +14 -0
  340. package/dist/components/Workflow/canvas/useFieldFocusRequest.d.ts.map +1 -0
  341. package/dist/components/Workflow/canvas/useFieldFocusRequest.js +48 -0
  342. package/dist/components/Workflow/canvas/useFieldFocusRequest.js.map +1 -0
  343. package/dist/components/Workflow/canvas/useFieldFocusRequest.mjs +46 -0
  344. package/dist/components/Workflow/canvas/useFieldFocusRequest.mjs.map +1 -0
  345. package/dist/components/Workflow/canvas/workflowLabelProps.d.ts +12 -0
  346. package/dist/components/Workflow/canvas/workflowLabelProps.d.ts.map +1 -0
  347. package/dist/components/Workflow/canvas/workflowLabelProps.js +17 -0
  348. package/dist/components/Workflow/canvas/workflowLabelProps.js.map +1 -0
  349. package/dist/components/Workflow/canvas/workflowLabelProps.mjs +15 -0
  350. package/dist/components/Workflow/canvas/workflowLabelProps.mjs.map +1 -0
  351. package/dist/components/Workflow/connectionRules.d.ts +59 -0
  352. package/dist/components/Workflow/connectionRules.d.ts.map +1 -0
  353. package/dist/components/Workflow/connectionRules.js +150 -0
  354. package/dist/components/Workflow/connectionRules.js.map +1 -0
  355. package/dist/components/Workflow/connectionRules.mjs +145 -0
  356. package/dist/components/Workflow/connectionRules.mjs.map +1 -0
  357. package/dist/components/Workflow/createNode.d.ts +27 -0
  358. package/dist/components/Workflow/createNode.d.ts.map +1 -0
  359. package/dist/components/Workflow/createNode.js +66 -0
  360. package/dist/components/Workflow/createNode.js.map +1 -0
  361. package/dist/components/Workflow/createNode.mjs +62 -0
  362. package/dist/components/Workflow/createNode.mjs.map +1 -0
  363. package/dist/components/Workflow/graphHistory.d.ts +23 -0
  364. package/dist/components/Workflow/graphHistory.d.ts.map +1 -0
  365. package/dist/components/Workflow/graphHistory.js +73 -0
  366. package/dist/components/Workflow/graphHistory.js.map +1 -0
  367. package/dist/components/Workflow/graphHistory.mjs +70 -0
  368. package/dist/components/Workflow/graphHistory.mjs.map +1 -0
  369. package/dist/components/Workflow/graphObserver.d.ts +13 -0
  370. package/dist/components/Workflow/graphObserver.d.ts.map +1 -0
  371. package/dist/components/Workflow/graphObserver.js +11 -0
  372. package/dist/components/Workflow/graphObserver.js.map +1 -0
  373. package/dist/components/Workflow/graphObserver.mjs +8 -0
  374. package/dist/components/Workflow/graphObserver.mjs.map +1 -0
  375. package/dist/components/Workflow/graphReducer.d.ts +75 -0
  376. package/dist/components/Workflow/graphReducer.d.ts.map +1 -0
  377. package/dist/components/Workflow/graphReducer.js +122 -0
  378. package/dist/components/Workflow/graphReducer.js.map +1 -0
  379. package/dist/components/Workflow/graphReducer.mjs +119 -0
  380. package/dist/components/Workflow/graphReducer.mjs.map +1 -0
  381. package/dist/components/Workflow/index.d.ts +22 -0
  382. package/dist/components/Workflow/index.d.ts.map +1 -0
  383. package/dist/components/Workflow/layout/autoLayout.d.ts +49 -0
  384. package/dist/components/Workflow/layout/autoLayout.d.ts.map +1 -0
  385. package/dist/components/Workflow/layout/autoLayout.js +149 -0
  386. package/dist/components/Workflow/layout/autoLayout.js.map +1 -0
  387. package/dist/components/Workflow/layout/autoLayout.mjs +146 -0
  388. package/dist/components/Workflow/layout/autoLayout.mjs.map +1 -0
  389. package/dist/components/Workflow/stories/toyNodeTypes.d.ts +40 -0
  390. package/dist/components/Workflow/stories/toyNodeTypes.d.ts.map +1 -0
  391. package/dist/components/Workflow/useWorkflowIssueMessage.d.ts +15 -0
  392. package/dist/components/Workflow/useWorkflowIssueMessage.d.ts.map +1 -0
  393. package/dist/components/Workflow/useWorkflowIssueMessage.js +45 -0
  394. package/dist/components/Workflow/useWorkflowIssueMessage.js.map +1 -0
  395. package/dist/components/Workflow/useWorkflowIssueMessage.mjs +43 -0
  396. package/dist/components/Workflow/useWorkflowIssueMessage.mjs.map +1 -0
  397. package/dist/components/Workflow/useWorkflowKeyboard.d.ts +10 -0
  398. package/dist/components/Workflow/useWorkflowKeyboard.d.ts.map +1 -0
  399. package/dist/components/Workflow/useWorkflowKeyboard.js +116 -0
  400. package/dist/components/Workflow/useWorkflowKeyboard.js.map +1 -0
  401. package/dist/components/Workflow/useWorkflowKeyboard.mjs +114 -0
  402. package/dist/components/Workflow/useWorkflowKeyboard.mjs.map +1 -0
  403. package/dist/icons.js +17 -0
  404. package/dist/icons.js.map +1 -1
  405. package/dist/icons.mjs +1 -1
  406. package/dist/index.d.ts +2 -0
  407. package/dist/index.d.ts.map +1 -1
  408. package/dist/index.js +78 -0
  409. package/dist/index.js.map +1 -1
  410. package/dist/index.mjs +33 -1
  411. package/dist/index.mjs.map +1 -1
  412. package/dist/test-support/setup.d.ts +5 -0
  413. package/dist/test-support/setup.d.ts.map +1 -0
  414. package/package.json +10 -2
  415. package/src/components/Icon/_constants/iconList.ts +35 -0
  416. package/src/components/Icon/index.tsx +20 -0
  417. package/src/components/Tree/Tree.stories.tsx +564 -0
  418. package/src/components/Tree/Tree.tsx +37 -0
  419. package/src/components/Tree/Tree.types.ts +51 -0
  420. package/src/components/Tree/TreeBranch.tsx +11 -0
  421. package/src/components/Tree/TreeBranchContent.tsx +21 -0
  422. package/src/components/Tree/TreeBranchControl.tsx +28 -0
  423. package/src/components/Tree/TreeBranchIndentGuide.tsx +20 -0
  424. package/src/components/Tree/TreeBranchIndicator.tsx +27 -0
  425. package/src/components/Tree/TreeBranchText.tsx +19 -0
  426. package/src/components/Tree/TreeBranchTrigger.tsx +25 -0
  427. package/src/components/Tree/TreeItem.tsx +33 -0
  428. package/src/components/Tree/TreeItemIndicator.tsx +20 -0
  429. package/src/components/Tree/TreeItemText.tsx +19 -0
  430. package/src/components/Tree/TreeLabel.tsx +19 -0
  431. package/src/components/Tree/TreeNode.tsx +6 -0
  432. package/src/components/Tree/TreeNodeCheckbox.tsx +12 -0
  433. package/src/components/Tree/TreeNodeContext.tsx +3 -0
  434. package/src/components/Tree/TreeNodeProvider.tsx +6 -0
  435. package/src/components/Tree/TreeRoot.tsx +11 -0
  436. package/src/components/Tree/TreeTree.tsx +11 -0
  437. package/src/components/Tree/index.ts +42 -0
  438. package/src/components/Workflow/README.md +362 -0
  439. package/src/components/Workflow/Workflow.translations.json +112 -0
  440. package/src/components/Workflow/Workflow.tsx +189 -0
  441. package/src/components/Workflow/Workflow.types.ts +496 -0
  442. package/src/components/Workflow/WorkflowContext/WorkflowContext.tsx +215 -0
  443. package/src/components/Workflow/WorkflowContext/WorkflowContext.types.ts +122 -0
  444. package/src/components/Workflow/WorkflowContext/index.ts +10 -0
  445. package/src/components/Workflow/WorkflowContext/workflowSelection.test.tsx +93 -0
  446. package/src/components/Workflow/canvas/Canvas/BranchLabelBadge.tsx +69 -0
  447. package/src/components/Workflow/canvas/Canvas/Canvas.styles.ts +91 -0
  448. package/src/components/Workflow/canvas/Canvas/Canvas.tsx +773 -0
  449. package/src/components/Workflow/canvas/Canvas/CanvasControls.tsx +178 -0
  450. package/src/components/Workflow/canvas/Canvas/LabeledEdge.tsx +198 -0
  451. package/src/components/Workflow/canvas/Canvas/edgeLabelVariant.test.ts +26 -0
  452. package/src/components/Workflow/canvas/Canvas/edgeLabelVariant.ts +23 -0
  453. package/src/components/Workflow/canvas/Canvas/index.ts +1 -0
  454. package/src/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.tsx +96 -0
  455. package/src/components/Workflow/canvas/CollapsibleSection/index.ts +4 -0
  456. package/src/components/Workflow/canvas/DrawerShell/DrawerHeader.tsx +104 -0
  457. package/src/components/Workflow/canvas/DrawerShell/DrawerIssues.tsx +115 -0
  458. package/src/components/Workflow/canvas/DrawerShell/DrawerShell.tsx +408 -0
  459. package/src/components/Workflow/canvas/DrawerShell/index.ts +2 -0
  460. package/src/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.tsx +135 -0
  461. package/src/components/Workflow/canvas/EdgeInspector/endpointTitle.ts +38 -0
  462. package/src/components/Workflow/canvas/EdgeInspector/index.ts +2 -0
  463. package/src/components/Workflow/canvas/FieldWrapper/FieldWrapper.tsx +118 -0
  464. package/src/components/Workflow/canvas/FieldWrapper/index.ts +6 -0
  465. package/src/components/Workflow/canvas/FloatingCard/FloatingCard.tsx +37 -0
  466. package/src/components/Workflow/canvas/FloatingCard/index.ts +1 -0
  467. package/src/components/Workflow/canvas/GenericNode/GenericNode.tsx +114 -0
  468. package/src/components/Workflow/canvas/GenericNode/GenericNode.types.ts +10 -0
  469. package/src/components/Workflow/canvas/GenericNode/index.ts +5 -0
  470. package/src/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.tsx +284 -0
  471. package/src/components/Workflow/canvas/GraphErrorBanner/index.ts +1 -0
  472. package/src/components/Workflow/canvas/IconTile/IconTile.styles.ts +40 -0
  473. package/src/components/Workflow/canvas/IconTile/IconTile.tsx +36 -0
  474. package/src/components/Workflow/canvas/IconTile/IconTile.types.ts +13 -0
  475. package/src/components/Workflow/canvas/IconTile/index.ts +7 -0
  476. package/src/components/Workflow/canvas/IssueList/IssueList.tsx +84 -0
  477. package/src/components/Workflow/canvas/IssueList/index.ts +1 -0
  478. package/src/components/Workflow/canvas/NodePalette/NodePalette.styles.ts +7 -0
  479. package/src/components/Workflow/canvas/NodePalette/NodePalette.tsx +180 -0
  480. package/src/components/Workflow/canvas/NodePalette/NodePaletteToggle.tsx +39 -0
  481. package/src/components/Workflow/canvas/NodePalette/index.ts +3 -0
  482. package/src/components/Workflow/canvas/NodeShell/NodeShell.styles.ts +84 -0
  483. package/src/components/Workflow/canvas/NodeShell/NodeShell.tsx +321 -0
  484. package/src/components/Workflow/canvas/NodeShell/NodeShell.types.ts +45 -0
  485. package/src/components/Workflow/canvas/NodeShell/index.ts +8 -0
  486. package/src/components/Workflow/canvas/SeverityDot/SeverityDot.tsx +33 -0
  487. package/src/components/Workflow/canvas/SeverityDot/index.ts +1 -0
  488. package/src/components/Workflow/canvas/issueSeverity.ts +48 -0
  489. package/src/components/Workflow/canvas/useFieldFocusRequest.ts +54 -0
  490. package/src/components/Workflow/canvas/workflowLabelProps.ts +11 -0
  491. package/src/components/Workflow/connectionRules.test.ts +326 -0
  492. package/src/components/Workflow/connectionRules.ts +190 -0
  493. package/src/components/Workflow/createNode.test.ts +61 -0
  494. package/src/components/Workflow/createNode.ts +67 -0
  495. package/src/components/Workflow/graphHistory.test.ts +178 -0
  496. package/src/components/Workflow/graphHistory.ts +91 -0
  497. package/src/components/Workflow/graphObserver.ts +21 -0
  498. package/src/components/Workflow/graphReducer.test.ts +314 -0
  499. package/src/components/Workflow/graphReducer.ts +196 -0
  500. package/src/components/Workflow/index.ts +74 -0
  501. package/src/components/Workflow/layout/autoLayout.test.ts +170 -0
  502. package/src/components/Workflow/layout/autoLayout.ts +200 -0
  503. package/src/components/Workflow/stories/Workflow.stories.tsx +111 -0
  504. package/src/components/Workflow/stories/toyNodeTypes.tsx +146 -0
  505. package/src/components/Workflow/useWorkflowIssueMessage.test.ts +101 -0
  506. package/src/components/Workflow/useWorkflowIssueMessage.ts +49 -0
  507. package/src/components/Workflow/useWorkflowKeyboard.ts +126 -0
  508. package/src/index.ts +2 -0
  509. package/src/test-support/setup.ts +11 -0
@@ -0,0 +1,66 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ /**
5
+ * Unique id for edges and other internal graph elements that aren't referenced
6
+ * by name in user content. Node IDs use `nextNodeId` for memorable
7
+ * `{kind}_{N}` ids instead.
8
+ */
9
+ function genId(prefix) {
10
+ if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {
11
+ return `${prefix}_${crypto.randomUUID()}`;
12
+ }
13
+ return `${prefix}_${Date.now().toString(36)}_${Math.random()
14
+ .toString(36)
15
+ .slice(2, 8)}`;
16
+ }
17
+ /**
18
+ * Next sequential id for a node of the given kind, given the current node
19
+ * list. Returns ids like `agent_1`, `classify_2`, `guardrail_1`, etc., so
20
+ * authors can type them verbatim into `{{...}}` references.
21
+ *
22
+ * Start is a singleton — always `start`. Existing seeded graphs use hand-named
23
+ * ids like `agent_main` / `guard_out`; those don't match the `kind_<digits>`
24
+ * pattern and are ignored when computing the next number, so a fresh `agent`
25
+ * dropped next to `agent_main` becomes `agent_1`, not `agent_2`.
26
+ */
27
+ function nextNodeId(kind, nodes) {
28
+ if (kind === 'start')
29
+ return 'start';
30
+ const re = new RegExp(`^${kind}_(\\d+)$`);
31
+ let max = 0;
32
+ for (const n of nodes) {
33
+ const m = re.exec(n.id);
34
+ if (m) {
35
+ const v = Number.parseInt(m[1], 10);
36
+ if (Number.isFinite(v) && v > max)
37
+ max = v;
38
+ }
39
+ }
40
+ return `${kind}_${max + 1}`;
41
+ }
42
+ /** Offset applied to a duplicated node so it doesn't sit exactly on top. */
43
+ const DUPLICATE_OFFSET = 40;
44
+ /**
45
+ * A copy of `node` with a fresh sequential id, a deep-cloned config, and a
46
+ * slight offset. Pass the current node list so the duplicate's id continues
47
+ * the per-kind counter. If two duplicates race within the same React batch
48
+ * the second collides and the reducer's existing `addNode` dedupe drops it
49
+ * — one missing duplicate, no corrupt state.
50
+ */
51
+ function cloneNode(node, nodes) {
52
+ return {
53
+ id: nextNodeId(node.kind, nodes),
54
+ kind: node.kind,
55
+ position: {
56
+ x: node.position.x + DUPLICATE_OFFSET,
57
+ y: node.position.y + DUPLICATE_OFFSET,
58
+ },
59
+ config: structuredClone(node.config),
60
+ };
61
+ }
62
+
63
+ exports.cloneNode = cloneNode;
64
+ exports.genId = genId;
65
+ exports.nextNodeId = nextNodeId;
66
+ //# sourceMappingURL=createNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNode.js","sources":["../../../src/components/Workflow/createNode.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAEA;;;;AAIG;AACG,SAAU,KAAK,CAAC,MAAc,EAAA;IAClC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,IAAI,MAAM,EAAE;QAC3D,OAAO,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,CAAC,UAAU,EAAE,EAAE;IAC3C;AACA,IAAA,OAAO,GAAG,MAAM,CAAA,CAAA,EAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM;SACvD,QAAQ,CAAC,EAAE;AACX,SAAA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAClB;AAEA;;;;;;;;;AASG;AACG,SAAU,UAAU,CACxB,IAAY,EACZ,KAA+B,EAAA;IAE/B,IAAI,IAAI,KAAK,OAAO;AAAE,QAAA,OAAO,OAAO;IACpC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,IAAI,CAAA,QAAA,CAAU,CAAC;IACzC,IAAI,GAAG,GAAG,CAAC;AACX,IAAA,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE;AACL,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG;gBAAE,GAAG,GAAG,CAAC;QAC5C;IACF;AACA,IAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,GAAG,GAAG,CAAC,EAAE;AAC7B;AAEA;AACA,MAAM,gBAAgB,GAAG,EAAE;AAE3B;;;;;;AAMG;AACG,SAAU,SAAS,CACvB,IAAe,EACf,KAA+B,EAAA;IAE/B,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,QAAA,QAAQ,EAAE;AACR,YAAA,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB;AACrC,YAAA,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB;AACtC,SAAA;AACD,QAAA,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;KACrC;AACH;;;;;;"}
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ /**
3
+ * Unique id for edges and other internal graph elements that aren't referenced
4
+ * by name in user content. Node IDs use `nextNodeId` for memorable
5
+ * `{kind}_{N}` ids instead.
6
+ */
7
+ function genId(prefix) {
8
+ if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {
9
+ return `${prefix}_${crypto.randomUUID()}`;
10
+ }
11
+ return `${prefix}_${Date.now().toString(36)}_${Math.random()
12
+ .toString(36)
13
+ .slice(2, 8)}`;
14
+ }
15
+ /**
16
+ * Next sequential id for a node of the given kind, given the current node
17
+ * list. Returns ids like `agent_1`, `classify_2`, `guardrail_1`, etc., so
18
+ * authors can type them verbatim into `{{...}}` references.
19
+ *
20
+ * Start is a singleton — always `start`. Existing seeded graphs use hand-named
21
+ * ids like `agent_main` / `guard_out`; those don't match the `kind_<digits>`
22
+ * pattern and are ignored when computing the next number, so a fresh `agent`
23
+ * dropped next to `agent_main` becomes `agent_1`, not `agent_2`.
24
+ */
25
+ function nextNodeId(kind, nodes) {
26
+ if (kind === 'start')
27
+ return 'start';
28
+ const re = new RegExp(`^${kind}_(\\d+)$`);
29
+ let max = 0;
30
+ for (const n of nodes) {
31
+ const m = re.exec(n.id);
32
+ if (m) {
33
+ const v = Number.parseInt(m[1], 10);
34
+ if (Number.isFinite(v) && v > max)
35
+ max = v;
36
+ }
37
+ }
38
+ return `${kind}_${max + 1}`;
39
+ }
40
+ /** Offset applied to a duplicated node so it doesn't sit exactly on top. */
41
+ const DUPLICATE_OFFSET = 40;
42
+ /**
43
+ * A copy of `node` with a fresh sequential id, a deep-cloned config, and a
44
+ * slight offset. Pass the current node list so the duplicate's id continues
45
+ * the per-kind counter. If two duplicates race within the same React batch
46
+ * the second collides and the reducer's existing `addNode` dedupe drops it
47
+ * — one missing duplicate, no corrupt state.
48
+ */
49
+ function cloneNode(node, nodes) {
50
+ return {
51
+ id: nextNodeId(node.kind, nodes),
52
+ kind: node.kind,
53
+ position: {
54
+ x: node.position.x + DUPLICATE_OFFSET,
55
+ y: node.position.y + DUPLICATE_OFFSET,
56
+ },
57
+ config: structuredClone(node.config),
58
+ };
59
+ }
60
+
61
+ export { cloneNode, genId, nextNodeId };
62
+ //# sourceMappingURL=createNode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNode.mjs","sources":["../../../src/components/Workflow/createNode.ts"],"sourcesContent":[null],"names":[],"mappings":";AAEA;;;;AAIG;AACG,SAAU,KAAK,CAAC,MAAc,EAAA;IAClC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,IAAI,MAAM,EAAE;QAC3D,OAAO,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,CAAC,UAAU,EAAE,EAAE;IAC3C;AACA,IAAA,OAAO,GAAG,MAAM,CAAA,CAAA,EAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM;SACvD,QAAQ,CAAC,EAAE;AACX,SAAA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAClB;AAEA;;;;;;;;;AASG;AACG,SAAU,UAAU,CACxB,IAAY,EACZ,KAA+B,EAAA;IAE/B,IAAI,IAAI,KAAK,OAAO;AAAE,QAAA,OAAO,OAAO;IACpC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,IAAI,CAAA,QAAA,CAAU,CAAC;IACzC,IAAI,GAAG,GAAG,CAAC;AACX,IAAA,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE;AACL,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG;gBAAE,GAAG,GAAG,CAAC;QAC5C;IACF;AACA,IAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,GAAG,GAAG,CAAC,EAAE;AAC7B;AAEA;AACA,MAAM,gBAAgB,GAAG,EAAE;AAE3B;;;;;;AAMG;AACG,SAAU,SAAS,CACvB,IAAe,EACf,KAA+B,EAAA;IAE/B,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,QAAA,QAAQ,EAAE;AACR,YAAA,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB;AACrC,YAAA,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB;AACtC,SAAA;AACD,QAAA,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;KACrC;AACH;;;;"}
@@ -0,0 +1,23 @@
1
+ import { type GraphAction } from './graphReducer';
2
+ import type { Graph } from './Workflow.types';
3
+ /** Max retained undo steps. Older steps are dropped once exceeded. */
4
+ export declare const MAX_HISTORY = 50;
5
+ export type HistoryState = {
6
+ past: Graph[];
7
+ present: Graph;
8
+ future: Graph[];
9
+ /**
10
+ * Coalescing key of the action that produced `present`. A new action with
11
+ * the same key merges into the current step instead of pushing a new one,
12
+ * so a burst of edits to one node stays a single undo unit.
13
+ */
14
+ lastKey: string | null;
15
+ };
16
+ export type HistoryAction = GraphAction | {
17
+ type: 'undo';
18
+ } | {
19
+ type: 'redo';
20
+ };
21
+ export declare const initHistory: (graph: Graph) => HistoryState;
22
+ export declare function historyReducer(state: HistoryState, action: HistoryAction): HistoryState;
23
+ //# sourceMappingURL=graphHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphHistory.d.ts","sourceRoot":"","sources":["../../../src/components/Workflow/graphHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,sEAAsE;AACtE,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,KAAG,YAKzC,CAAC;AAmBH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACpB,YAAY,CA2Cd"}
@@ -0,0 +1,73 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var graphReducer = require('./graphReducer.js');
5
+
6
+ const initHistory = (graph) => ({
7
+ past: [],
8
+ present: graph,
9
+ future: [],
10
+ lastKey: null,
11
+ });
12
+ /**
13
+ * Key used to collapse a run of edits into one undo step. `updateNodeConfig`
14
+ * / `updateNodePosition` targeting the same node coalesce (typing a prompt or
15
+ * dragging a node is one undo); structural actions return `null` (never
16
+ * coalesce).
17
+ */
18
+ const coalesceKey = (action) => {
19
+ switch (action.type) {
20
+ case 'updateNodeConfig':
21
+ case 'updateNodePosition':
22
+ case 'updateEdge':
23
+ return `${action.type}:${action.id}`;
24
+ default:
25
+ return null;
26
+ }
27
+ };
28
+ function historyReducer(state, action) {
29
+ if (action.type === 'undo') {
30
+ if (state.past.length === 0)
31
+ return state;
32
+ return {
33
+ past: state.past.slice(0, -1),
34
+ present: state.past[state.past.length - 1],
35
+ future: [state.present, ...state.future],
36
+ lastKey: null,
37
+ };
38
+ }
39
+ if (action.type === 'redo') {
40
+ if (state.future.length === 0)
41
+ return state;
42
+ const [next, ...rest] = state.future;
43
+ return {
44
+ past: [...state.past, state.present],
45
+ present: next,
46
+ future: rest,
47
+ lastKey: null,
48
+ };
49
+ }
50
+ const present = graphReducer.graphReducer(state.present, action);
51
+ // Pure no-op actions (dedupe guards, unknown ids) must not create history.
52
+ if (present === state.present)
53
+ return state;
54
+ // `replace` is an external resync (draft load, server push), not a user
55
+ // edit — it establishes a fresh baseline, so history is cleared.
56
+ if (action.type === 'replace') {
57
+ return { past: [], present, future: [], lastKey: null };
58
+ }
59
+ const key = coalesceKey(action);
60
+ if (key !== null && key === state.lastKey) {
61
+ return { ...state, present };
62
+ }
63
+ return {
64
+ past: [...state.past, state.present].slice(-50),
65
+ present,
66
+ future: [],
67
+ lastKey: key,
68
+ };
69
+ }
70
+
71
+ exports.historyReducer = historyReducer;
72
+ exports.initHistory = initHistory;
73
+ //# sourceMappingURL=graphHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphHistory.js","sources":["../../../src/components/Workflow/graphHistory.ts"],"sourcesContent":[null],"names":["graphReducer"],"mappings":";;;;;MAoBa,WAAW,GAAG,CAAC,KAAY,MAAoB;AAC1D,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,OAAO,EAAE,IAAI;AACd,CAAA;AAED;;;;;AAKG;AACH,MAAM,WAAW,GAAG,CAAC,MAAmB,KAAmB;AACzD,IAAA,QAAQ,MAAM,CAAC,IAAI;AACjB,QAAA,KAAK,kBAAkB;AACvB,QAAA,KAAK,oBAAoB;AACzB,QAAA,KAAK,YAAY;YACf,OAAO,CAAA,EAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAA,CAAE;AACtC,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB,CAAC;AAEK,SAAU,cAAc,CAC5B,KAAmB,EACnB,MAAqB,EAAA;AAErB,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;AAC1B,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK;QACzC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7B,YAAA,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;AACxC,YAAA,OAAO,EAAE,IAAI;SACd;IACH;AAEA,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;AAC1B,QAAA,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK;QAC3C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM;QACpC,OAAO;YACL,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;AACpC,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,OAAO,EAAE,IAAI;SACd;IACH;IAEA,MAAM,OAAO,GAAGA,yBAAY,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;;AAEnD,IAAA,IAAI,OAAO,KAAK,KAAK,CAAC,OAAO;AAAE,QAAA,OAAO,KAAK;;;AAI3C,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7B,QAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD;AAEA,IAAA,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;IAC/B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE;AACzC,QAAA,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE;IAC9B;IAEA,OAAO;AACL,QAAA,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAY,CAAC;QACxD,OAAO;AACP,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,OAAO,EAAE,GAAG;KACb;AACH;;;;;"}
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ import { graphReducer } from './graphReducer.mjs';
3
+
4
+ const initHistory = (graph) => ({
5
+ past: [],
6
+ present: graph,
7
+ future: [],
8
+ lastKey: null,
9
+ });
10
+ /**
11
+ * Key used to collapse a run of edits into one undo step. `updateNodeConfig`
12
+ * / `updateNodePosition` targeting the same node coalesce (typing a prompt or
13
+ * dragging a node is one undo); structural actions return `null` (never
14
+ * coalesce).
15
+ */
16
+ const coalesceKey = (action) => {
17
+ switch (action.type) {
18
+ case 'updateNodeConfig':
19
+ case 'updateNodePosition':
20
+ case 'updateEdge':
21
+ return `${action.type}:${action.id}`;
22
+ default:
23
+ return null;
24
+ }
25
+ };
26
+ function historyReducer(state, action) {
27
+ if (action.type === 'undo') {
28
+ if (state.past.length === 0)
29
+ return state;
30
+ return {
31
+ past: state.past.slice(0, -1),
32
+ present: state.past[state.past.length - 1],
33
+ future: [state.present, ...state.future],
34
+ lastKey: null,
35
+ };
36
+ }
37
+ if (action.type === 'redo') {
38
+ if (state.future.length === 0)
39
+ return state;
40
+ const [next, ...rest] = state.future;
41
+ return {
42
+ past: [...state.past, state.present],
43
+ present: next,
44
+ future: rest,
45
+ lastKey: null,
46
+ };
47
+ }
48
+ const present = graphReducer(state.present, action);
49
+ // Pure no-op actions (dedupe guards, unknown ids) must not create history.
50
+ if (present === state.present)
51
+ return state;
52
+ // `replace` is an external resync (draft load, server push), not a user
53
+ // edit — it establishes a fresh baseline, so history is cleared.
54
+ if (action.type === 'replace') {
55
+ return { past: [], present, future: [], lastKey: null };
56
+ }
57
+ const key = coalesceKey(action);
58
+ if (key !== null && key === state.lastKey) {
59
+ return { ...state, present };
60
+ }
61
+ return {
62
+ past: [...state.past, state.present].slice(-50),
63
+ present,
64
+ future: [],
65
+ lastKey: key,
66
+ };
67
+ }
68
+
69
+ export { historyReducer, initHistory };
70
+ //# sourceMappingURL=graphHistory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphHistory.mjs","sources":["../../../src/components/Workflow/graphHistory.ts"],"sourcesContent":[null],"names":[],"mappings":";;;MAoBa,WAAW,GAAG,CAAC,KAAY,MAAoB;AAC1D,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,OAAO,EAAE,IAAI;AACd,CAAA;AAED;;;;;AAKG;AACH,MAAM,WAAW,GAAG,CAAC,MAAmB,KAAmB;AACzD,IAAA,QAAQ,MAAM,CAAC,IAAI;AACjB,QAAA,KAAK,kBAAkB;AACvB,QAAA,KAAK,oBAAoB;AACzB,QAAA,KAAK,YAAY;YACf,OAAO,CAAA,EAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAA,CAAE;AACtC,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB,CAAC;AAEK,SAAU,cAAc,CAC5B,KAAmB,EACnB,MAAqB,EAAA;AAErB,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;AAC1B,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK;QACzC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7B,YAAA,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;AACxC,YAAA,OAAO,EAAE,IAAI;SACd;IACH;AAEA,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;AAC1B,QAAA,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK;QAC3C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM;QACpC,OAAO;YACL,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;AACpC,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,OAAO,EAAE,IAAI;SACd;IACH;IAEA,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;;AAEnD,IAAA,IAAI,OAAO,KAAK,KAAK,CAAC,OAAO;AAAE,QAAA,OAAO,KAAK;;;AAI3C,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7B,QAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD;AAEA,IAAA,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;IAC/B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE;AACzC,QAAA,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE;IAC9B;IAEA,OAAO;AACL,QAAA,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAY,CAAC;QACxD,OAAO;AACP,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,OAAO,EAAE,GAAG;KACb;AACH;;;;"}
@@ -0,0 +1,13 @@
1
+ import type { Graph } from './Workflow.types';
2
+ /**
3
+ * Optional ancestor-provided hook to observe an uncontrolled <Workflow>'s
4
+ * graph without taking over its state (which `graph` + `onGraphChange` would).
5
+ *
6
+ * Used by the Storybook JSON-preview decorator so every story can render the
7
+ * serialized graph payload. No provider exists in production, so <Workflow>
8
+ * treats it as a no-op.
9
+ */
10
+ export type WorkflowGraphObserver = (graph: Graph) => void;
11
+ export declare const WorkflowGraphObserverContext: import("react").Context<WorkflowGraphObserver>;
12
+ export declare const useWorkflowGraphObserver: () => WorkflowGraphObserver;
13
+ //# sourceMappingURL=graphObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphObserver.d.ts","sourceRoot":"","sources":["../../../src/components/Workflow/graphObserver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAE3D,eAAO,MAAM,4BAA4B,gDACU,CAAC;AAEpD,eAAO,MAAM,wBAAwB,6BACK,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+
6
+ const WorkflowGraphObserverContext = React.createContext(null);
7
+ const useWorkflowGraphObserver = () => React.useContext(WorkflowGraphObserverContext);
8
+
9
+ exports.WorkflowGraphObserverContext = WorkflowGraphObserverContext;
10
+ exports.useWorkflowGraphObserver = useWorkflowGraphObserver;
11
+ //# sourceMappingURL=graphObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphObserver.js","sources":["../../../src/components/Workflow/graphObserver.ts"],"sourcesContent":[null],"names":["createContext","useContext"],"mappings":";;;;;MAgBa,4BAA4B,GACvCA,mBAAa,CAA+B,IAAI;AAE3C,MAAM,wBAAwB,GAAG,MACtCC,gBAAU,CAAC,4BAA4B;;;;;"}
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { createContext, useContext } from 'react';
3
+
4
+ const WorkflowGraphObserverContext = createContext(null);
5
+ const useWorkflowGraphObserver = () => useContext(WorkflowGraphObserverContext);
6
+
7
+ export { WorkflowGraphObserverContext, useWorkflowGraphObserver };
8
+ //# sourceMappingURL=graphObserver.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphObserver.mjs","sources":["../../../src/components/Workflow/graphObserver.ts"],"sourcesContent":[null],"names":[],"mappings":";;;MAgBa,4BAA4B,GACvC,aAAa,CAA+B,IAAI;AAE3C,MAAM,wBAAwB,GAAG,MACtC,UAAU,CAAC,4BAA4B;;;;"}
@@ -0,0 +1,75 @@
1
+ import type { Graph, GraphEdge, GraphNode, Position } from './Workflow.types';
2
+ export type GraphAction = {
3
+ type: 'addNode';
4
+ node: GraphNode;
5
+ } | {
6
+ /**
7
+ * Adds a node and, when `autoConnectFrom` is supplied, an edge from that
8
+ * source node into the new node — both in a single reducer transition so
9
+ * one undo step reverts the node and the auto-edge together.
10
+ */
11
+ type: 'addNodeWithEdge';
12
+ node: GraphNode;
13
+ autoConnectFrom: {
14
+ edge: GraphEdge;
15
+ } | null;
16
+ } | {
17
+ type: 'updateNodePosition';
18
+ id: string;
19
+ position: Position;
20
+ } | {
21
+ /**
22
+ * Repositions many nodes in one transition — the one-click auto-arrange.
23
+ * Positions are precomputed by `autoLayout`; a node absent from the map
24
+ * keeps its current position. Unlike `replace` this is an in-place user
25
+ * edit, so it pushes a SINGLE undo step (and leaves the rest of the undo
26
+ * stack intact) rather than resetting history.
27
+ */
28
+ type: 'arrangeNodes';
29
+ positions: Record<string, Position>;
30
+ } | {
31
+ type: 'updateNodeConfig';
32
+ id: string;
33
+ config: unknown;
34
+ /**
35
+ * Renames an output handle id on the node's outbound edges in the SAME
36
+ * transition. Some handle ids derive from mutable config (Classify:
37
+ * `cat_<name>`); moving the edge atomically keeps React Flow from pruning
38
+ * it as an orphan when the id changes.
39
+ */
40
+ remapEdgeHandle?: {
41
+ from: string;
42
+ to: string;
43
+ };
44
+ } | {
45
+ type: 'deleteNode';
46
+ id: string;
47
+ } | {
48
+ type: 'addEdge';
49
+ edge: GraphEdge;
50
+ } | {
51
+ type: 'reconnectEdge';
52
+ id: string;
53
+ source: string;
54
+ target: string;
55
+ sourceHandle?: string;
56
+ targetHandle?: string;
57
+ } | {
58
+ type: 'deleteEdge';
59
+ id: string;
60
+ } | {
61
+ /**
62
+ * Merges a partial patch into an edge by id (e.g. its `label`). Endpoint
63
+ * moves go through `reconnectEdge`; this is for non-structural fields so
64
+ * label edits stay undoable through `graphHistory`.
65
+ */
66
+ type: 'updateEdge';
67
+ id: string;
68
+ patch: Partial<Omit<GraphEdge, 'id'>>;
69
+ } | {
70
+ type: 'replace';
71
+ graph: Graph;
72
+ };
73
+ export declare function graphReducer(state: Graph, action: GraphAction): Graph;
74
+ export declare const emptyGraph: Graph;
75
+ //# sourceMappingURL=graphReducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphReducer.d.ts","sourceRoot":"","sources":["../../../src/components/Workflow/graphReducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9E,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACpC;IACE;;;;OAIG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7C,GACD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GAC9D;IACE;;;;;;OAMG;IACH,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACrC,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD,GACD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACpC;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClC;IACE;;;;OAIG;IACH,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;CACvC,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAetC,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,CAuHrE;AAED,eAAO,MAAM,UAAU,EAAE,KAAgC,CAAC"}
@@ -0,0 +1,122 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ /** Normalize null-vs-undefined for optional handle ids so dedupe works. */
5
+ function normEdge(edge) {
6
+ return {
7
+ ...edge,
8
+ sourceHandle: edge.sourceHandle ?? undefined,
9
+ targetHandle: edge.targetHandle ?? undefined,
10
+ };
11
+ }
12
+ function normGraph(graph) {
13
+ return { ...graph, edges: graph.edges.map(normEdge) };
14
+ }
15
+ function graphReducer(state, action) {
16
+ switch (action.type) {
17
+ case 'addNode':
18
+ if (state.nodes.some((n) => n.id === action.node.id))
19
+ return state;
20
+ return { ...state, nodes: [...state.nodes, action.node] };
21
+ case 'addNodeWithEdge': {
22
+ if (state.nodes.some((n) => n.id === action.node.id))
23
+ return state;
24
+ const nodes = [...state.nodes, action.node];
25
+ if (!action.autoConnectFrom)
26
+ return { ...state, nodes };
27
+ const edge = normEdge(action.autoConnectFrom.edge);
28
+ // The auto-edge is freshly generated and references a brand-new node id,
29
+ // so it can't collide; append it alongside the node.
30
+ return { nodes, edges: [...state.edges, edge] };
31
+ }
32
+ case 'updateNodePosition':
33
+ return {
34
+ ...state,
35
+ nodes: state.nodes.map((n) => n.id === action.id ? { ...n, position: action.position } : n),
36
+ };
37
+ case 'arrangeNodes': {
38
+ // Skip nodes that don't move so an arrange producing the current layout
39
+ // collapses to the same reference — `historyReducer` then treats it as a
40
+ // no-op and records no undo step.
41
+ let moved = false;
42
+ const nodes = state.nodes.map((n) => {
43
+ const next = action.positions[n.id];
44
+ if (!next || (next.x === n.position.x && next.y === n.position.y)) {
45
+ return n;
46
+ }
47
+ moved = true;
48
+ return { ...n, position: next };
49
+ });
50
+ return moved ? { ...state, nodes } : state;
51
+ }
52
+ case 'updateNodeConfig': {
53
+ const nodes = state.nodes.map((n) => n.id === action.id ? { ...n, config: action.config } : n);
54
+ const remap = action.remapEdgeHandle;
55
+ if (!remap)
56
+ return { ...state, nodes };
57
+ const edges = state.edges.map((e) => e.source === action.id && (e.sourceHandle ?? undefined) === remap.from
58
+ ? { ...e, sourceHandle: remap.to }
59
+ : e);
60
+ return { ...state, nodes, edges };
61
+ }
62
+ case 'deleteNode':
63
+ return {
64
+ nodes: state.nodes.filter((n) => n.id !== action.id),
65
+ edges: state.edges.filter((e) => e.source !== action.id && e.target !== action.id),
66
+ };
67
+ case 'addEdge': {
68
+ const edge = normEdge(action.edge);
69
+ if (state.edges.some((e) => e.id === edge.id))
70
+ return state;
71
+ const dup = state.edges.some((e) => e.source === edge.source &&
72
+ (e.sourceHandle ?? undefined) === edge.sourceHandle &&
73
+ e.target === edge.target &&
74
+ (e.targetHandle ?? undefined) === edge.targetHandle);
75
+ if (dup)
76
+ return state;
77
+ return { ...state, edges: [...state.edges, edge] };
78
+ }
79
+ case 'reconnectEdge': {
80
+ const existing = state.edges.find((e) => e.id === action.id);
81
+ if (!existing)
82
+ return state;
83
+ const next = normEdge({
84
+ ...existing,
85
+ source: action.source,
86
+ target: action.target,
87
+ sourceHandle: action.sourceHandle,
88
+ targetHandle: action.targetHandle,
89
+ });
90
+ // A reconnect can land on endpoints that already have an identical edge;
91
+ // isValidConnection doesn't dedupe, so guard here and no-op the move.
92
+ const dup = state.edges.some((e) => e.id !== next.id &&
93
+ e.source === next.source &&
94
+ (e.sourceHandle ?? undefined) === next.sourceHandle &&
95
+ e.target === next.target &&
96
+ (e.targetHandle ?? undefined) === next.targetHandle);
97
+ if (dup)
98
+ return state;
99
+ return {
100
+ ...state,
101
+ edges: state.edges.map((e) => (e.id === next.id ? next : e)),
102
+ };
103
+ }
104
+ case 'deleteEdge':
105
+ return { ...state, edges: state.edges.filter((e) => e.id !== action.id) };
106
+ case 'updateEdge': {
107
+ if (!state.edges.some((e) => e.id === action.id))
108
+ return state;
109
+ return {
110
+ ...state,
111
+ edges: state.edges.map((e) => e.id === action.id ? normEdge({ ...e, ...action.patch }) : e),
112
+ };
113
+ }
114
+ case 'replace':
115
+ return normGraph(action.graph);
116
+ }
117
+ }
118
+ const emptyGraph = { nodes: [], edges: [] };
119
+
120
+ exports.emptyGraph = emptyGraph;
121
+ exports.graphReducer = graphReducer;
122
+ //# sourceMappingURL=graphReducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphReducer.js","sources":["../../../src/components/Workflow/graphReducer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}