@flowdrop/flowdrop 1.4.0 → 1.6.0

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 (441) hide show
  1. package/README.md +94 -51
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +27 -47
  4. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
  5. package/dist/adapters/agentspec/AgentSpecAdapter.js +122 -133
  6. package/dist/adapters/agentspec/agentAdapter.d.ts +2 -2
  7. package/dist/adapters/agentspec/agentAdapter.js +10 -10
  8. package/dist/adapters/agentspec/autoLayout.d.ts +52 -6
  9. package/dist/adapters/agentspec/autoLayout.js +118 -23
  10. package/dist/adapters/agentspec/componentTypeDefaults.d.ts +1 -1
  11. package/dist/adapters/agentspec/componentTypeDefaults.js +120 -120
  12. package/dist/adapters/agentspec/defaultNodeTypes.d.ts +2 -2
  13. package/dist/adapters/agentspec/defaultNodeTypes.js +307 -307
  14. package/dist/adapters/agentspec/index.d.ts +10 -10
  15. package/dist/adapters/agentspec/index.js +6 -6
  16. package/dist/adapters/agentspec/validator.d.ts +2 -2
  17. package/dist/adapters/agentspec/validator.js +20 -22
  18. package/dist/api/enhanced-client.d.ts +3 -3
  19. package/dist/api/enhanced-client.js +72 -73
  20. package/dist/chat/commandClassifier.d.ts +19 -0
  21. package/dist/chat/commandClassifier.js +30 -0
  22. package/dist/chat/index.d.ts +27 -0
  23. package/dist/chat/index.js +32 -0
  24. package/dist/chat/responseParser.d.ts +21 -0
  25. package/dist/chat/responseParser.js +91 -0
  26. package/dist/commands/batch.d.ts +18 -0
  27. package/dist/commands/batch.js +54 -0
  28. package/dist/commands/executor.d.ts +37 -0
  29. package/dist/commands/executor.js +1133 -0
  30. package/dist/commands/index.d.ts +14 -0
  31. package/dist/commands/index.js +17 -0
  32. package/dist/commands/parser.d.ts +16 -0
  33. package/dist/commands/parser.js +295 -0
  34. package/dist/commands/positioner.d.ts +19 -0
  35. package/dist/commands/positioner.js +33 -0
  36. package/dist/commands/storeIntegration.svelte.d.ts +16 -0
  37. package/dist/commands/storeIntegration.svelte.js +67 -0
  38. package/dist/commands/types.d.ts +343 -0
  39. package/dist/commands/types.js +45 -0
  40. package/dist/components/App.svelte +522 -237
  41. package/dist/components/App.svelte.d.ts +11 -8
  42. package/dist/components/CanvasBanner.stories.svelte +10 -16
  43. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  44. package/dist/components/CanvasBanner.svelte +2 -2
  45. package/dist/components/CanvasBanner.svelte.d.ts +1 -1
  46. package/dist/components/CanvasController.svelte +37 -0
  47. package/dist/components/CanvasController.svelte.d.ts +32 -0
  48. package/dist/components/ConfigForm.svelte +118 -256
  49. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  50. package/dist/components/ConfigMappingRow.svelte +128 -0
  51. package/dist/components/ConfigMappingRow.svelte.d.ts +8 -0
  52. package/dist/components/ConfigModal.svelte +3 -3
  53. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  54. package/dist/components/ConfigPanel.stories.svelte +19 -19
  55. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  56. package/dist/components/ConfigPanel.svelte +57 -19
  57. package/dist/components/ConfigPanel.svelte.d.ts +3 -1
  58. package/dist/components/ConnectionLine.svelte +4 -4
  59. package/dist/components/EdgeRefresher.svelte +1 -1
  60. package/dist/components/FlowDropEdge.stories.svelte +110 -110
  61. package/dist/components/FlowDropEdge.svelte +11 -19
  62. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  63. package/dist/components/FlowDropZone.svelte +6 -9
  64. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  65. package/dist/components/LoadingSpinner.stories.svelte +13 -13
  66. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  67. package/dist/components/LoadingSpinner.svelte +3 -3
  68. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  69. package/dist/components/Logo.stories.svelte +4 -4
  70. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  71. package/dist/components/Logo.svelte +3 -9
  72. package/dist/components/LogsSidebar.svelte +46 -53
  73. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  74. package/dist/components/MarkdownDisplay.stories.svelte +10 -14
  75. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  76. package/dist/components/MarkdownDisplay.svelte +4 -6
  77. package/dist/components/Navbar.stories.svelte +19 -19
  78. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  79. package/dist/components/Navbar.svelte +28 -49
  80. package/dist/components/Navbar.svelte.d.ts +2 -2
  81. package/dist/components/NodeSidebar.svelte +55 -135
  82. package/dist/components/NodeSidebar.svelte.d.ts +1 -1
  83. package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
  84. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  85. package/dist/components/NodeStatusOverlay.svelte +40 -55
  86. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  87. package/dist/components/NodeSwapPicker.svelte +493 -0
  88. package/dist/components/NodeSwapPicker.svelte.d.ts +16 -0
  89. package/dist/components/PipelineStatus.svelte +63 -89
  90. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  91. package/dist/components/PortCoordinateTracker.svelte +5 -7
  92. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  93. package/dist/components/PortMappingRow.svelte +205 -0
  94. package/dist/components/PortMappingRow.svelte.d.ts +12 -0
  95. package/dist/components/ReadOnlyDetails.svelte +1 -1
  96. package/dist/components/SchemaForm.stories.svelte +53 -53
  97. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  98. package/dist/components/SchemaForm.svelte +24 -51
  99. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  100. package/dist/components/SettingsModal.svelte +6 -9
  101. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  102. package/dist/components/SettingsPanel.svelte +138 -158
  103. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  104. package/dist/components/StatusIcon.stories.svelte +16 -29
  105. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  106. package/dist/components/StatusIcon.svelte +19 -19
  107. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  108. package/dist/components/StatusLabel.stories.svelte +8 -8
  109. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  110. package/dist/components/SwapMappingEditor.svelte +529 -0
  111. package/dist/components/SwapMappingEditor.svelte.d.ts +12 -0
  112. package/dist/components/ThemeToggle.stories.svelte +10 -10
  113. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  114. package/dist/components/ThemeToggle.svelte +22 -33
  115. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  116. package/dist/components/UniversalNode.svelte +29 -41
  117. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  118. package/dist/components/WorkflowEditor.svelte +210 -170
  119. package/dist/components/WorkflowEditor.svelte.d.ts +12 -4
  120. package/dist/components/chat/AIChatPanel.svelte +797 -0
  121. package/dist/components/chat/AIChatPanel.svelte.d.ts +13 -0
  122. package/dist/components/chat/CommandPreview.svelte +234 -0
  123. package/dist/components/chat/CommandPreview.svelte.d.ts +9 -0
  124. package/dist/components/console/CommandConsole.stories.svelte +111 -0
  125. package/dist/components/console/CommandConsole.stories.svelte.d.ts +27 -0
  126. package/dist/components/console/CommandConsole.svelte +263 -0
  127. package/dist/components/console/CommandConsole.svelte.d.ts +11 -0
  128. package/dist/components/console/ConsoleAutocomplete.svelte +142 -0
  129. package/dist/components/console/ConsoleAutocomplete.svelte.d.ts +21 -0
  130. package/dist/components/console/ConsoleInput.svelte +771 -0
  131. package/dist/components/console/ConsoleInput.svelte.d.ts +16 -0
  132. package/dist/components/console/ConsoleOutput.svelte +116 -0
  133. package/dist/components/console/ConsoleOutput.svelte.d.ts +11 -0
  134. package/dist/components/console/formatters.d.ts +26 -0
  135. package/dist/components/console/formatters.js +116 -0
  136. package/dist/components/form/FormArray.svelte +75 -132
  137. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  138. package/dist/components/form/FormAutocomplete.svelte +65 -108
  139. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  140. package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
  141. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  142. package/dist/components/form/FormCheckboxGroup.svelte +2 -2
  143. package/dist/components/form/FormCodeEditor.svelte +42 -56
  144. package/dist/components/form/FormField.svelte +79 -90
  145. package/dist/components/form/FormField.svelte.d.ts +2 -2
  146. package/dist/components/form/FormFieldLight.svelte +72 -88
  147. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  148. package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
  149. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  150. package/dist/components/form/FormFieldWrapper.svelte +2 -9
  151. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  152. package/dist/components/form/FormFieldset.svelte +3 -3
  153. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  154. package/dist/components/form/FormMarkdownEditor.svelte +123 -156
  155. package/dist/components/form/FormNumberField.stories.svelte +18 -18
  156. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  157. package/dist/components/form/FormNumberField.svelte +6 -6
  158. package/dist/components/form/FormRangeField.stories.svelte +13 -13
  159. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  160. package/dist/components/form/FormRangeField.svelte +4 -12
  161. package/dist/components/form/FormSelect.stories.svelte +21 -21
  162. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  163. package/dist/components/form/FormSelect.svelte +5 -5
  164. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  165. package/dist/components/form/FormTemplateEditor.svelte +126 -175
  166. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  167. package/dist/components/form/FormTextField.stories.svelte +17 -23
  168. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  169. package/dist/components/form/FormTextField.svelte +4 -4
  170. package/dist/components/form/FormTextarea.stories.svelte +18 -21
  171. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  172. package/dist/components/form/FormTextarea.svelte +4 -4
  173. package/dist/components/form/FormToggle.stories.svelte +13 -16
  174. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  175. package/dist/components/form/FormToggle.svelte +3 -3
  176. package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
  177. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  178. package/dist/components/form/index.d.ts +19 -19
  179. package/dist/components/form/index.js +18 -18
  180. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  181. package/dist/components/form/templateAutocomplete.js +55 -64
  182. package/dist/components/form/types.d.ts +6 -6
  183. package/dist/components/form/types.js +4 -9
  184. package/dist/components/icons/AlertCircleIcon.svelte +1 -6
  185. package/dist/components/icons/CogIcon.svelte +1 -6
  186. package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
  187. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  188. package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
  189. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  190. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
  191. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  192. package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
  193. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  194. package/dist/components/interrupt/FormPrompt.svelte +10 -15
  195. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  196. package/dist/components/interrupt/InterruptBubble.svelte +87 -121
  197. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  198. package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
  199. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  200. package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
  201. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  202. package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
  203. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  204. package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
  205. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  206. package/dist/components/interrupt/index.d.ts +6 -5
  207. package/dist/components/interrupt/index.js +6 -5
  208. package/dist/components/layouts/MainLayout.svelte +46 -84
  209. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  210. package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
  211. package/dist/components/nodes/GatewayNode.svelte +37 -70
  212. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  213. package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
  214. package/dist/components/nodes/IdeaNode.svelte +22 -36
  215. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  216. package/dist/components/nodes/NotesNode.stories.svelte +37 -38
  217. package/dist/components/nodes/NotesNode.svelte +28 -39
  218. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  219. package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
  220. package/dist/components/nodes/SimpleNode.svelte +44 -74
  221. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  222. package/dist/components/nodes/SquareNode.stories.svelte +75 -75
  223. package/dist/components/nodes/SquareNode.svelte +42 -68
  224. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  225. package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
  226. package/dist/components/nodes/TerminalNode.svelte +74 -112
  227. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  228. package/dist/components/nodes/ToolNode.stories.svelte +115 -116
  229. package/dist/components/nodes/ToolNode.svelte +31 -64
  230. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  231. package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
  232. package/dist/components/nodes/WorkflowNode.svelte +50 -103
  233. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  234. package/dist/components/playground/ChatPanel.svelte +47 -103
  235. package/dist/components/playground/ExecutionLogs.svelte +45 -68
  236. package/dist/components/playground/InputCollector.svelte +32 -51
  237. package/dist/components/playground/MessageBubble.stories.svelte +25 -25
  238. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  239. package/dist/components/playground/MessageBubble.svelte +54 -70
  240. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  241. package/dist/components/playground/Playground.svelte +60 -91
  242. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  243. package/dist/components/playground/PlaygroundModal.svelte +8 -12
  244. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  245. package/dist/components/playground/SessionManager.svelte +34 -40
  246. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  247. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  248. package/dist/config/agentSpecEndpoints.js +20 -20
  249. package/dist/config/constants.js +2 -2
  250. package/dist/config/defaultCategories.d.ts +1 -1
  251. package/dist/config/defaultCategories.js +86 -86
  252. package/dist/config/defaultPortConfig.d.ts +1 -1
  253. package/dist/config/defaultPortConfig.js +144 -144
  254. package/dist/config/endpoints.d.ts +12 -4
  255. package/dist/config/endpoints.js +70 -65
  256. package/dist/config/runtimeConfig.d.ts +2 -2
  257. package/dist/config/runtimeConfig.js +8 -8
  258. package/dist/core/index.d.ts +68 -63
  259. package/dist/core/index.js +44 -35
  260. package/dist/display/index.d.ts +2 -2
  261. package/dist/display/index.js +2 -2
  262. package/dist/editor/index.d.ts +64 -62
  263. package/dist/editor/index.js +57 -55
  264. package/dist/form/code.d.ts +5 -5
  265. package/dist/form/code.js +14 -14
  266. package/dist/form/fieldRegistry.d.ts +3 -3
  267. package/dist/form/fieldRegistry.js +9 -11
  268. package/dist/form/full.d.ts +8 -8
  269. package/dist/form/full.js +9 -9
  270. package/dist/form/index.d.ts +18 -18
  271. package/dist/form/index.js +16 -16
  272. package/dist/form/markdown.d.ts +4 -4
  273. package/dist/form/markdown.js +8 -8
  274. package/dist/helpers/proximityConnect.d.ts +3 -3
  275. package/dist/helpers/proximityConnect.js +40 -35
  276. package/dist/helpers/workflowEditorHelper.d.ts +8 -58
  277. package/dist/helpers/workflowEditorHelper.js +73 -292
  278. package/dist/index.d.ts +6 -6
  279. package/dist/index.js +6 -6
  280. package/dist/mocks/app-environment.js +2 -2
  281. package/dist/mocks/app-forms.js +1 -1
  282. package/dist/mocks/app-navigation.js +2 -2
  283. package/dist/mocks/app-stores.js +3 -3
  284. package/dist/playground/index.d.ts +19 -19
  285. package/dist/playground/index.js +16 -16
  286. package/dist/playground/mount.d.ts +3 -3
  287. package/dist/playground/mount.js +24 -24
  288. package/dist/registry/builtinFormats.js +13 -13
  289. package/dist/registry/builtinNodes.d.ts +2 -2
  290. package/dist/registry/builtinNodes.js +77 -77
  291. package/dist/registry/index.d.ts +4 -4
  292. package/dist/registry/index.js +4 -4
  293. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  294. package/dist/registry/nodeComponentRegistry.js +9 -11
  295. package/dist/registry/plugin.d.ts +2 -2
  296. package/dist/registry/plugin.js +11 -11
  297. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  298. package/dist/registry/workflowFormatRegistry.js +2 -2
  299. package/dist/schema/index.d.ts +1 -1
  300. package/dist/schema/index.js +2 -2
  301. package/dist/schemas/v1/workflow.schema.json +107 -22
  302. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  303. package/dist/services/agentSpecExecutionService.js +55 -56
  304. package/dist/services/api.d.ts +2 -2
  305. package/dist/services/api.js +37 -37
  306. package/dist/services/apiVariableService.d.ts +1 -1
  307. package/dist/services/apiVariableService.js +34 -41
  308. package/dist/services/autoSaveService.js +8 -8
  309. package/dist/services/categoriesApi.d.ts +2 -2
  310. package/dist/services/categoriesApi.js +8 -8
  311. package/dist/services/chatService.d.ts +65 -0
  312. package/dist/services/chatService.js +131 -0
  313. package/dist/services/draftStorage.d.ts +1 -1
  314. package/dist/services/draftStorage.js +11 -11
  315. package/dist/services/dynamicSchemaService.d.ts +1 -1
  316. package/dist/services/dynamicSchemaService.js +39 -41
  317. package/dist/services/globalSave.d.ts +2 -2
  318. package/dist/services/globalSave.js +38 -41
  319. package/dist/services/historyService.d.ts +7 -5
  320. package/dist/services/historyService.js +29 -14
  321. package/dist/services/interruptService.d.ts +1 -1
  322. package/dist/services/interruptService.js +29 -35
  323. package/dist/services/nodeExecutionService.d.ts +1 -1
  324. package/dist/services/nodeExecutionService.js +44 -45
  325. package/dist/services/playgroundService.d.ts +1 -1
  326. package/dist/services/playgroundService.js +29 -29
  327. package/dist/services/portConfigApi.d.ts +2 -2
  328. package/dist/services/portConfigApi.js +8 -8
  329. package/dist/services/settingsService.d.ts +2 -2
  330. package/dist/services/settingsService.js +19 -25
  331. package/dist/services/toastService.d.ts +4 -4
  332. package/dist/services/toastService.js +33 -33
  333. package/dist/services/variableService.d.ts +1 -1
  334. package/dist/services/variableService.js +36 -36
  335. package/dist/services/workflowStorage.d.ts +2 -2
  336. package/dist/services/workflowStorage.js +13 -13
  337. package/dist/settings/index.d.ts +7 -7
  338. package/dist/settings/index.js +6 -6
  339. package/dist/skins/default.d.ts +1 -1
  340. package/dist/skins/default.js +1 -1
  341. package/dist/skins/index.d.ts +3 -3
  342. package/dist/skins/index.js +7 -7
  343. package/dist/skins/slate.d.ts +1 -1
  344. package/dist/skins/slate.js +69 -69
  345. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  346. package/dist/stores/categoriesStore.svelte.js +5 -5
  347. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  348. package/dist/stores/editorStateMachine.svelte.js +34 -34
  349. package/dist/stores/historyStore.svelte.d.ts +4 -4
  350. package/dist/stores/historyStore.svelte.js +4 -4
  351. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  352. package/dist/stores/interruptStore.svelte.js +27 -22
  353. package/dist/stores/playgroundStore.svelte.d.ts +3 -3
  354. package/dist/stores/playgroundStore.svelte.js +29 -23
  355. package/dist/stores/portCoordinateStore.svelte.d.ts +6 -2
  356. package/dist/stores/portCoordinateStore.svelte.js +30 -39
  357. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  358. package/dist/stores/settingsStore.svelte.js +57 -62
  359. package/dist/stores/workflowStore.svelte.d.ts +34 -5
  360. package/dist/stores/workflowStore.svelte.js +127 -108
  361. package/dist/stories/CanvasDecorator.svelte +7 -10
  362. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  363. package/dist/stories/EdgeDecorator.svelte +28 -31
  364. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  365. package/dist/stories/NodeDecorator.svelte +14 -20
  366. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  367. package/dist/stories/utils.d.ts +2 -2
  368. package/dist/stories/utils.js +89 -93
  369. package/dist/styles/base.css +16 -50
  370. package/dist/styles/tokens.css +10 -28
  371. package/dist/svelte-app.d.ts +10 -10
  372. package/dist/svelte-app.js +39 -39
  373. package/dist/themes/default.d.ts +1 -1
  374. package/dist/themes/default.js +4 -4
  375. package/dist/themes/index.d.ts +3 -3
  376. package/dist/themes/index.js +11 -11
  377. package/dist/themes/minimal.d.ts +1 -1
  378. package/dist/themes/minimal.js +5 -5
  379. package/dist/types/agentspec.d.ts +18 -18
  380. package/dist/types/agentspec.js +2 -2
  381. package/dist/types/auth.d.ts +1 -1
  382. package/dist/types/auth.js +6 -6
  383. package/dist/types/chat.d.ts +63 -0
  384. package/dist/types/chat.js +9 -0
  385. package/dist/types/config.d.ts +6 -6
  386. package/dist/types/events.d.ts +28 -2
  387. package/dist/types/events.js +2 -1
  388. package/dist/types/index.d.ts +40 -32
  389. package/dist/types/index.js +6 -6
  390. package/dist/types/interrupt.d.ts +6 -6
  391. package/dist/types/interrupt.js +21 -21
  392. package/dist/types/interruptState.d.ts +12 -12
  393. package/dist/types/interruptState.js +66 -66
  394. package/dist/types/playground.d.ts +7 -7
  395. package/dist/types/playground.js +14 -14
  396. package/dist/types/settings.d.ts +12 -4
  397. package/dist/types/settings.js +21 -23
  398. package/dist/types/skin.d.ts +1 -1
  399. package/dist/types/theme.d.ts +2 -2
  400. package/dist/types/uischema.d.ts +4 -4
  401. package/dist/types/uischema.js +3 -3
  402. package/dist/utils/colors.d.ts +1 -1
  403. package/dist/utils/colors.js +95 -97
  404. package/dist/utils/config.d.ts +2 -2
  405. package/dist/utils/config.js +48 -48
  406. package/dist/utils/connections.d.ts +2 -2
  407. package/dist/utils/connections.js +15 -15
  408. package/dist/utils/edgeStyling.d.ts +42 -0
  409. package/dist/utils/edgeStyling.js +173 -0
  410. package/dist/utils/errors.js +3 -3
  411. package/dist/utils/fetchWithAuth.d.ts +1 -1
  412. package/dist/utils/fetchWithAuth.js +2 -2
  413. package/dist/utils/handleIds.d.ts +2 -2
  414. package/dist/utils/handleIds.js +8 -8
  415. package/dist/utils/handlePositioning.d.ts +1 -1
  416. package/dist/utils/handlePositioning.js +2 -2
  417. package/dist/utils/icons.d.ts +1 -1
  418. package/dist/utils/icons.js +74 -74
  419. package/dist/utils/logger.d.ts +1 -1
  420. package/dist/utils/logger.js +7 -7
  421. package/dist/utils/nodeIds.d.ts +31 -0
  422. package/dist/utils/nodeIds.js +42 -0
  423. package/dist/utils/nodeStatus.d.ts +1 -1
  424. package/dist/utils/nodeStatus.js +48 -48
  425. package/dist/utils/nodeSwap.d.ts +221 -0
  426. package/dist/utils/nodeSwap.js +680 -0
  427. package/dist/utils/nodeTypes.d.ts +1 -1
  428. package/dist/utils/nodeTypes.js +20 -21
  429. package/dist/utils/nodeWrapper.d.ts +7 -7
  430. package/dist/utils/nodeWrapper.js +19 -21
  431. package/dist/utils/performanceUtils.d.ts +1 -1
  432. package/dist/utils/performanceUtils.js +1 -2
  433. package/dist/utils/portUtils.d.ts +2 -2
  434. package/dist/utils/portUtils.js +1 -1
  435. package/dist/utils/sanitize.js +1 -1
  436. package/dist/utils/uischema.d.ts +2 -2
  437. package/dist/utils/uischema.js +8 -8
  438. package/dist/utils/validation.js +8 -8
  439. package/package.json +12 -11
  440. package/dist/helpers/nodeLayoutHelper.d.ts +0 -14
  441. package/dist/helpers/nodeLayoutHelper.js +0 -19
@@ -5,36 +5,36 @@
5
5
  * When a node is dragged near another node, this helper finds the best
6
6
  * compatible port pair and creates a preview/permanent edge.
7
7
  */
8
- import { dynamicPortToNodePort } from "../types/index.js";
9
- import { getPortCompatibilityChecker } from "../utils/connections.js";
10
- import { v4 as uuidv4 } from "uuid";
8
+ import { dynamicPortToNodePort } from '../types/index.js';
9
+ import { getPortCompatibilityChecker } from '../utils/connections.js';
10
+ import { v4 as uuidv4 } from 'uuid';
11
11
  /** CSS class applied to proximity preview edges */
12
- const PROXIMITY_EDGE_CLASS = "flowdrop--edge--proximity-preview";
12
+ const PROXIMITY_EDGE_CLASS = 'flowdrop--edge--proximity-preview';
13
13
  export class ProximityConnectHelper {
14
14
  /**
15
15
  * Get ALL ports (static + dynamic + gateway branches) for a node.
16
16
  */
17
17
  static getAllPorts(node, direction) {
18
18
  // Static ports from metadata
19
- const staticPorts = direction === "output"
19
+ const staticPorts = direction === 'output'
20
20
  ? (node.data?.metadata?.outputs ?? [])
21
21
  : (node.data?.metadata?.inputs ?? []);
22
22
  // Dynamic ports from config
23
- const dynamicKey = direction === "output" ? "dynamicOutputs" : "dynamicInputs";
23
+ const dynamicKey = direction === 'output' ? 'dynamicOutputs' : 'dynamicInputs';
24
24
  const rawDynamic = node.data?.config?.[dynamicKey] ?? [];
25
25
  const dynamicPorts = rawDynamic.map((p) => dynamicPortToNodePort(p, direction));
26
26
  // Gateway branches (output only, dataType = 'trigger')
27
- if (direction === "output") {
27
+ if (direction === 'output') {
28
28
  const branches = node.data?.config?.branches;
29
29
  const nodeType = node.data?.metadata?.type || node.type;
30
- if (nodeType === "gateway" && branches?.length) {
30
+ if (nodeType === 'gateway' && branches?.length) {
31
31
  const branchPorts = branches
32
32
  .filter((b) => !staticPorts.some((sp) => sp.id === b.name))
33
33
  .map((b) => ({
34
34
  id: b.name,
35
35
  name: b.name,
36
- type: "output",
37
- dataType: "trigger",
36
+ type: 'output',
37
+ dataType: 'trigger'
38
38
  }));
39
39
  return [...staticPorts, ...dynamicPorts, ...branchPorts];
40
40
  }
@@ -88,10 +88,10 @@ export class ProximityConnectHelper {
88
88
  }
89
89
  if (!closestNode)
90
90
  return [];
91
- const draggedOutputs = this.getAllPorts(draggedNode, "output");
92
- const draggedInputs = this.getAllPorts(draggedNode, "input");
93
- const nearbyInputs = this.getAllPorts(closestNode, "input");
94
- const nearbyOutputs = this.getAllPorts(closestNode, "output");
91
+ const draggedOutputs = this.getAllPorts(draggedNode, 'output');
92
+ const draggedInputs = this.getAllPorts(draggedNode, 'input');
93
+ const nearbyInputs = this.getAllPorts(closestNode, 'input');
94
+ const nearbyOutputs = this.getAllPorts(closestNode, 'output');
95
95
  // Collect all compatible pairs, then pick the best one
96
96
  let exactMatch = null;
97
97
  let compatibleMatch = null;
@@ -100,8 +100,8 @@ export class ProximityConnectHelper {
100
100
  for (const inPort of nearbyInputs) {
101
101
  if (!checker.areDataTypesCompatible(outPort.dataType, inPort.dataType))
102
102
  continue;
103
- const sourceHandle = this.buildHandleId(draggedNode.id, "output", outPort.id);
104
- const targetHandle = this.buildHandleId(closestNode.id, "input", inPort.id);
103
+ const sourceHandle = this.buildHandleId(draggedNode.id, 'output', outPort.id);
104
+ const targetHandle = this.buildHandleId(closestNode.id, 'input', inPort.id);
105
105
  const edgeKey = `${draggedNode.id}:${sourceHandle}->${closestNode.id}:${targetHandle}`;
106
106
  if (existingEdgeSet.has(edgeKey))
107
107
  continue;
@@ -112,7 +112,7 @@ export class ProximityConnectHelper {
112
112
  sourceHandle,
113
113
  targetHandle,
114
114
  sourcePortDataType: outPort.dataType,
115
- targetPortDataType: inPort.dataType,
115
+ targetPortDataType: inPort.dataType
116
116
  };
117
117
  if (outPort.dataType === inPort.dataType) {
118
118
  if (!exactMatch)
@@ -135,8 +135,8 @@ export class ProximityConnectHelper {
135
135
  for (const inPort of draggedInputs) {
136
136
  if (!checker.areDataTypesCompatible(outPort.dataType, inPort.dataType))
137
137
  continue;
138
- const sourceHandle = this.buildHandleId(closestNode.id, "output", outPort.id);
139
- const targetHandle = this.buildHandleId(draggedNode.id, "input", inPort.id);
138
+ const sourceHandle = this.buildHandleId(closestNode.id, 'output', outPort.id);
139
+ const targetHandle = this.buildHandleId(draggedNode.id, 'input', inPort.id);
140
140
  const edgeKey = `${closestNode.id}:${sourceHandle}->${draggedNode.id}:${targetHandle}`;
141
141
  if (existingEdgeSet.has(edgeKey))
142
142
  continue;
@@ -147,7 +147,7 @@ export class ProximityConnectHelper {
147
147
  sourceHandle,
148
148
  targetHandle,
149
149
  sourcePortDataType: outPort.dataType,
150
- targetPortDataType: inPort.dataType,
150
+ targetPortDataType: inPort.dataType
151
151
  };
152
152
  if (outPort.dataType === inPort.dataType) {
153
153
  if (!exactMatch)
@@ -193,13 +193,13 @@ export class ProximityConnectHelper {
193
193
  const otherOutputsByType = new Map();
194
194
  for (const coord of portCoordinates.values()) {
195
195
  if (coord.nodeId === draggedNodeId) {
196
- if (coord.direction === "output")
196
+ if (coord.direction === 'output')
197
197
  draggedOutputs.push(coord);
198
198
  else
199
199
  draggedInputs.push(coord);
200
200
  }
201
201
  else {
202
- const groupMap = coord.direction === "input" ? otherInputsByType : otherOutputsByType;
202
+ const groupMap = coord.direction === 'input' ? otherInputsByType : otherOutputsByType;
203
203
  let group = groupMap.get(coord.dataType);
204
204
  if (!group) {
205
205
  group = [];
@@ -224,8 +224,7 @@ export class ProximityConnectHelper {
224
224
  return;
225
225
  const isExact = sourceCoord.dataType === targetCoord.dataType;
226
226
  // Prefer exact match, then closest distance
227
- if ((isExact && !bestIsExact) ||
228
- (isExact === bestIsExact && dist < bestDistance)) {
227
+ if ((isExact && !bestIsExact) || (isExact === bestIsExact && dist < bestDistance)) {
229
228
  bestCandidate = {
230
229
  id: `proximity-${uuidv4()}`,
231
230
  source: sourceCoord.nodeId,
@@ -233,15 +232,22 @@ export class ProximityConnectHelper {
233
232
  sourceHandle: sourceCoord.handleId,
234
233
  targetHandle: targetCoord.handleId,
235
234
  sourcePortDataType: sourceCoord.dataType,
236
- targetPortDataType: targetCoord.dataType,
235
+ targetPortDataType: targetCoord.dataType
237
236
  };
238
237
  bestDistance = dist;
239
238
  bestIsExact = isExact;
240
239
  }
241
240
  };
241
+ // Cache compatible types per dataType to avoid redundant lookups
242
+ const compatCache = new Map();
243
+ for (const srcPort of draggedOutputs) {
244
+ if (!compatCache.has(srcPort.dataType)) {
245
+ compatCache.set(srcPort.dataType, checker.getCompatibleTypes(srcPort.dataType));
246
+ }
247
+ }
242
248
  // Direction A: dragged outputs → other inputs (only compatible types)
243
249
  for (const srcPort of draggedOutputs) {
244
- const compatibleTypes = checker.getCompatibleTypes(srcPort.dataType);
250
+ const compatibleTypes = compatCache.get(srcPort.dataType);
245
251
  for (const targetType of compatibleTypes) {
246
252
  const targets = otherInputsByType.get(targetType);
247
253
  if (!targets)
@@ -274,17 +280,17 @@ export class ProximityConnectHelper {
274
280
  sourceHandle: c.sourceHandle,
275
281
  targetHandle: c.targetHandle,
276
282
  class: PROXIMITY_EDGE_CLASS,
277
- style: "stroke-dasharray: 5 5; opacity: 0.6;",
283
+ style: 'stroke-dasharray: 5 5; opacity: 0.6;',
278
284
  animated: true,
279
285
  selectable: false,
280
286
  deletable: false,
281
287
  data: {
282
288
  metadata: {
283
- edgeType: "data",
289
+ edgeType: 'data',
284
290
  sourcePortDataType: c.sourcePortDataType,
285
- isProximityPreview: true,
286
- },
287
- },
291
+ isProximityPreview: true
292
+ }
293
+ }
288
294
  }));
289
295
  }
290
296
  /**
@@ -296,16 +302,15 @@ export class ProximityConnectHelper {
296
302
  source: c.source,
297
303
  target: c.target,
298
304
  sourceHandle: c.sourceHandle,
299
- targetHandle: c.targetHandle,
305
+ targetHandle: c.targetHandle
300
306
  }));
301
307
  }
302
308
  /**
303
309
  * Check if an edge is a temporary proximity preview edge.
304
310
  */
305
311
  static isProximityPreviewEdge(edge) {
306
- return (edge.id.startsWith("proximity-") ||
307
- edge.data?.metadata?.isProximityPreview ===
308
- true);
312
+ return (edge.id.startsWith('proximity-') ||
313
+ edge.data?.metadata?.isProximityPreview === true);
309
314
  }
310
315
  /**
311
316
  * Remove all proximity preview edges from an edge array.
@@ -2,14 +2,9 @@
2
2
  * Workflow Editor Helper
3
3
  * Contains business logic for workflow operations
4
4
  */
5
- import type { WorkflowNode as WorkflowNodeType, NodeMetadata, Workflow, WorkflowEdge, NodeExecutionInfo } from "../types/index.js";
6
- import type { EndpointConfig } from "../config/endpoints.js";
7
- /**
8
- * Generate a unique node ID based on node type and existing nodes
9
- * Format: <node_type>.<number>
10
- * Example: boolean_gateway.1, calculator.2
11
- */
12
- export declare function generateNodeId(nodeTypeId: string, existingNodes: WorkflowNodeType[]): string;
5
+ import type { WorkflowNode as WorkflowNodeType, NodeMetadata, Workflow, WorkflowEdge, NodeExecutionInfo } from '../types/index.js';
6
+ import type { EndpointConfig } from '../config/endpoints.js';
7
+ export { generateNodeId, extractConfigDefaults } from '../utils/nodeIds.js';
13
8
  /**
14
9
  * Edge category type for styling purposes
15
10
  * - trigger: For control flow connections (dataType: "trigger")
@@ -17,63 +12,18 @@ export declare function generateNodeId(nodeTypeId: string, existingNodes: Workfl
17
12
  * - loopback: Dashed gray line for loop iteration connections (targets loop_back port)
18
13
  * - data: Normal gray line for all other data connections
19
14
  */
20
- export type EdgeCategory = "trigger" | "tool" | "loopback" | "data";
15
+ export type EdgeCategory = 'trigger' | 'tool' | 'loopback' | 'data';
21
16
  /**
22
- * Edge styling configuration based on source port data type
17
+ * Edge styling configuration based on source port data type.
18
+ * Delegates to standalone functions in utils/edgeStyling.ts.
23
19
  */
24
20
  export declare class EdgeStylingHelper {
25
- /**
26
- * Extract the port ID from a handle ID
27
- * @param handleId - The handle ID string (e.g., "sample-node.1-output-trigger" or "trigger")
28
- * @returns The port ID (e.g., "trigger") or the handleId itself for short format
29
- */
30
21
  static extractPortIdFromHandle(handleId: string | undefined): string | null;
31
- /**
32
- * Check if a port ID matches a dynamic branch in a Gateway node
33
- * Gateway nodes store branches in config.branches array
34
- * @param node - The workflow node to check
35
- * @param portId - The port ID to look up
36
- * @returns true if the portId matches a gateway branch
37
- */
38
22
  static isGatewayBranch(node: WorkflowNodeType, portId: string): boolean;
39
- /**
40
- * Get the data type of a port from a node's metadata
41
- * Also handles dynamic ports like Gateway branches
42
- * @param node - The workflow node containing the port
43
- * @param portId - The port ID to look up
44
- * @param portType - Whether to look in "inputs" or "outputs"
45
- * @returns The port's dataType or null if not found
46
- */
47
- static getPortDataType(node: WorkflowNodeType, portId: string, portType: "input" | "output"): string | null;
48
- /**
49
- * Determine the edge category based on source port data type
50
- * Note: This method does not check for loopback edges.
51
- * Use getEdgeCategoryWithLoopback() for full edge categorization.
52
- *
53
- * @param sourcePortDataType - The data type of the source output port
54
- * @returns The edge category for styling
55
- */
23
+ static getPortDataType(node: WorkflowNodeType, portId: string, portType: 'input' | 'output'): string | null;
56
24
  static getEdgeCategory(sourcePortDataType: string | null): EdgeCategory;
57
- /**
58
- * Determine the full edge category including loopback detection
59
- * Loopback edges take precedence over source port data type
60
- *
61
- * @param edge - The edge to categorize
62
- * @param sourcePortDataType - The data type of the source output port
63
- * @returns The edge category for styling
64
- */
65
25
  static getEdgeCategoryWithLoopback(edge: WorkflowEdge, sourcePortDataType: string | null): EdgeCategory;
66
- /**
67
- * Apply custom styling to connection edges based on edge type:
68
- * - Loopback: Dashed gray line for loop iteration (targets loop_back port)
69
- * - Trigger ports: Solid black line with arrow
70
- * - Tool ports: Dashed amber line with arrow
71
- * - Data ports: Normal gray line with arrow
72
- */
73
26
  static applyConnectionStyling(edge: WorkflowEdge, sourceNode: WorkflowNodeType, targetNode: WorkflowNodeType): void;
74
- /**
75
- * Update existing edges with custom styling rules
76
- */
77
27
  static updateEdgeStyles(edges: WorkflowEdge[], nodes: WorkflowNodeType[]): WorkflowEdge[];
78
28
  }
79
29
  /**
@@ -103,7 +53,7 @@ export declare class WorkflowOperationsHelper {
103
53
  /**
104
54
  * Generate workflow metadata for updates
105
55
  */
106
- static generateMetadata(existingMetadata?: Workflow["metadata"]): Workflow["metadata"];
56
+ static generateMetadata(existingMetadata?: Workflow['metadata']): Workflow['metadata'];
107
57
  /**
108
58
  * Update workflow with new nodes/edges and generate new metadata
109
59
  */