@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
@@ -0,0 +1,14 @@
1
+ /**
2
+ * FlowDrop Command DSL
3
+ *
4
+ * A deterministic command language for programmatic workflow manipulation.
5
+ * Excludes storeIntegration.svelte.ts (Svelte-coupled, import separately).
6
+ *
7
+ * @module commands
8
+ */
9
+ export type { AddNodeCommand, DeleteNodeCommand, RenameNodeCommand, SetConfigCommand, GetConfigCommand, ConnectCommand, DisconnectPortsCommand, DisconnectNodeCommand, ListNodesCommand, ListEdgesCommand, ListTypesCommand, InfoCommand, UndoCommand, RedoCommand, ConfigOpenCommand, SelectNodeCommand, HelpCommand, ClearCommand, SwapNodeCommand, MoveNodeCommand, AutoLayoutCommand, BeautifyLayoutCommand, CanvasFitViewCommand, CanvasZoomInCommand, CanvasZoomOutCommand, CanvasZoomToCommand, CanvasPanToCommand, CanvasResetViewCommand, Command, ParseResult, CommandErrorCode, AddNodeResultData, ListNodesResultData, ListEdgesResultData, ListTypesResultData, InfoResultData, GetConfigResultData, SetConfigResultData, HelpResultData, SwapNodeResultData, CommandResultData, CommandResultOk, CommandResultError, CommandResult, BatchResult, UIAction, CommandDispatch, CommandContext } from './types.js';
10
+ export { buildTypeMap } from './types.js';
11
+ export { parseCommand } from './parser.js';
12
+ export { executeCommand, toShortId, toShortTypeId, resolveNode, COMMAND_HELP } from './executor.js';
13
+ export { executeBatch } from './batch.js';
14
+ export { computeAutoPosition } from './positioner.js';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * FlowDrop Command DSL
3
+ *
4
+ * A deterministic command language for programmatic workflow manipulation.
5
+ * Excludes storeIntegration.svelte.ts (Svelte-coupled, import separately).
6
+ *
7
+ * @module commands
8
+ */
9
+ export { buildTypeMap } from './types.js';
10
+ // Parser
11
+ export { parseCommand } from './parser.js';
12
+ // Executor
13
+ export { executeCommand, toShortId, toShortTypeId, resolveNode, COMMAND_HELP } from './executor.js';
14
+ // Batch executor
15
+ export { executeBatch } from './batch.js';
16
+ // Positioner
17
+ export { computeAutoPosition } from './positioner.js';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Command Parser
3
+ *
4
+ * Parses DSL command strings into typed Command objects using
5
+ * regex-based pattern matching with ordered rules (first match wins).
6
+ *
7
+ * @module commands/parser
8
+ */
9
+ import type { ParseResult } from './types.js';
10
+ /**
11
+ * Parse a command string into a typed Command object.
12
+ *
13
+ * Command verbs are case-insensitive; identifiers are case-sensitive.
14
+ * Returns ParseResult with ok: true on success, ok: false on failure.
15
+ */
16
+ export declare function parseCommand(input: string): ParseResult;
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Command Parser
3
+ *
4
+ * Parses DSL command strings into typed Command objects using
5
+ * regex-based pattern matching with ordered rules (first match wins).
6
+ *
7
+ * @module commands/parser
8
+ */
9
+ /**
10
+ * Parse a coordinate pair like "200,300" or "-50, 100"
11
+ */
12
+ function parseCoords(x, y) {
13
+ return { x: Number(x), y: Number(y) };
14
+ }
15
+ const rules = [
16
+ // add <type> at <x>,<y>
17
+ {
18
+ pattern: /^add\s+(\S+)\s+at\s+(-?\d+(?:\.\d+)?)\s*,\s*(-?\d+(?:\.\d+)?)$/i,
19
+ parse: (m) => ({
20
+ type: 'add_node',
21
+ nodeTypeId: m[1],
22
+ position: parseCoords(m[2], m[3])
23
+ })
24
+ },
25
+ // add <type>
26
+ {
27
+ pattern: /^add\s+(\S+)$/i,
28
+ parse: (m) => ({
29
+ type: 'add_node',
30
+ nodeTypeId: m[1]
31
+ })
32
+ },
33
+ // delete <nodeId>
34
+ {
35
+ pattern: /^delete\s+(\S+)$/i,
36
+ parse: (m) => ({
37
+ type: 'delete_node',
38
+ nodeId: m[1]
39
+ })
40
+ },
41
+ // rename <nodeId> <label...>
42
+ {
43
+ pattern: /^rename\s+(\S+)\s+(.+)$/i,
44
+ parse: (m) => ({
45
+ type: 'rename_node',
46
+ nodeId: m[1],
47
+ label: m[2].trim()
48
+ })
49
+ },
50
+ // set <nodeId>:<key> """<multiline value>"""
51
+ {
52
+ pattern: /^set\s+(\S+?):(\S+)\s+"""([\s\S]*)"""$/,
53
+ parse: (m) => ({
54
+ type: 'set_config',
55
+ nodeId: m[1],
56
+ key: m[2],
57
+ // trim one leading/trailing newline added by the textarea wrapper,
58
+ // then unescape \""" → """ (escape sequence for literal triple-quotes in content)
59
+ value: m[3].replace(/^\n|\n$/g, '').replace(/\\"""/g, '"""')
60
+ })
61
+ },
62
+ // set <nodeId>:<key> <value...>
63
+ {
64
+ pattern: /^set\s+(\S+?):(\S+)\s+(.+)$/i,
65
+ parse: (m) => ({
66
+ type: 'set_config',
67
+ nodeId: m[1],
68
+ key: m[2],
69
+ value: m[3]
70
+ })
71
+ },
72
+ // get <nodeId>:<key>
73
+ {
74
+ pattern: /^get\s+(\S+?):(\S+)$/i,
75
+ parse: (m) => ({
76
+ type: 'get_config',
77
+ nodeId: m[1],
78
+ key: m[2]
79
+ })
80
+ },
81
+ // info <nodeId>
82
+ {
83
+ pattern: /^info\s+(\S+)$/i,
84
+ parse: (m) => ({
85
+ type: 'info',
86
+ nodeId: m[1]
87
+ })
88
+ },
89
+ // config <nodeId>
90
+ {
91
+ pattern: /^config\s+(\S+)$/i,
92
+ parse: (m) => ({
93
+ type: 'config_open',
94
+ nodeId: m[1]
95
+ })
96
+ },
97
+ // select <nodeId>
98
+ {
99
+ pattern: /^select\s+(\S+)$/i,
100
+ parse: (m) => ({
101
+ type: 'select_node',
102
+ nodeId: m[1]
103
+ })
104
+ },
105
+ // connect <nid>:<port> to <nid>:<port>
106
+ {
107
+ pattern: /^connect\s+(\S+?):(\S+)\s+to\s+(\S+?):(\S+)$/i,
108
+ parse: (m) => ({
109
+ type: 'connect',
110
+ sourceNodeId: m[1],
111
+ sourcePort: m[2],
112
+ targetNodeId: m[3],
113
+ targetPort: m[4]
114
+ })
115
+ },
116
+ // disconnect <nid>:<port> from <nid>:<port>
117
+ {
118
+ pattern: /^disconnect\s+(\S+?):(\S+)\s+from\s+(\S+?):(\S+)$/i,
119
+ parse: (m) => ({
120
+ type: 'disconnect_ports',
121
+ sourceNodeId: m[1],
122
+ sourcePort: m[2],
123
+ targetNodeId: m[3],
124
+ targetPort: m[4]
125
+ })
126
+ },
127
+ // disconnect <nodeId> (disconnect all)
128
+ {
129
+ pattern: /^disconnect\s+(\S+)$/i,
130
+ parse: (m) => ({
131
+ type: 'disconnect_node',
132
+ nodeId: m[1]
133
+ })
134
+ },
135
+ // list nodes
136
+ {
137
+ pattern: /^list\s+nodes$/i,
138
+ parse: () => ({ type: 'list_nodes' })
139
+ },
140
+ // list edges
141
+ {
142
+ pattern: /^list\s+edges$/i,
143
+ parse: () => ({ type: 'list_edges' })
144
+ },
145
+ // list types
146
+ {
147
+ pattern: /^list\s+types$/i,
148
+ parse: () => ({ type: 'list_types' })
149
+ },
150
+ // undo
151
+ {
152
+ pattern: /^undo$/i,
153
+ parse: () => ({ type: 'undo' })
154
+ },
155
+ // redo
156
+ {
157
+ pattern: /^redo$/i,
158
+ parse: () => ({ type: 'redo' })
159
+ },
160
+ // help <command>
161
+ {
162
+ pattern: /^help\s+(\S+)$/i,
163
+ parse: (m) => ({
164
+ type: 'help',
165
+ command: m[1]
166
+ })
167
+ },
168
+ // help
169
+ {
170
+ pattern: /^help$/i,
171
+ parse: () => ({ type: 'help' })
172
+ },
173
+ // clear
174
+ {
175
+ pattern: /^clear$/i,
176
+ parse: () => ({ type: 'clear' })
177
+ },
178
+ // swap <nodeId> with <type> (Phase 2)
179
+ {
180
+ pattern: /^swap\s+(\S+)\s+with\s+(\S+)$/i,
181
+ parse: (m) => ({
182
+ type: 'swap_node',
183
+ nodeId: m[1],
184
+ newTypeId: m[2]
185
+ })
186
+ },
187
+ // move <nodeId> to <x>,<y> (Phase 2)
188
+ {
189
+ pattern: /^move\s+(\S+)\s+to\s+(-?\d+(?:\.\d+)?)\s*,\s*(-?\d+(?:\.\d+)?)$/i,
190
+ parse: (m) => ({
191
+ type: 'move_node',
192
+ nodeId: m[1],
193
+ position: parseCoords(m[2], m[3])
194
+ })
195
+ },
196
+ // layout auto [--direction horizontal|vertical] (Phase 2)
197
+ {
198
+ pattern: /^layout\s+auto\s+--direction\s+(horizontal|vertical)$/i,
199
+ parse: (m) => ({
200
+ type: 'auto_layout',
201
+ direction: m[1].toLowerCase()
202
+ })
203
+ },
204
+ // layout auto (Phase 2)
205
+ {
206
+ pattern: /^layout\s+auto$/i,
207
+ parse: () => ({ type: 'auto_layout' })
208
+ },
209
+ // layout beautify — preserve relative positions, normalize spacing
210
+ {
211
+ pattern: /^layout\s+beautify$/i,
212
+ parse: () => ({ type: 'beautify_layout' })
213
+ },
214
+ // canvas fitview | canvas fit
215
+ {
216
+ pattern: /^canvas\s+fit(?:\s*view)?$/i,
217
+ parse: () => ({ type: 'canvas_fit_view' })
218
+ },
219
+ // canvas zoom in
220
+ {
221
+ pattern: /^canvas\s+zoom\s+in$/i,
222
+ parse: () => ({ type: 'canvas_zoom_in' })
223
+ },
224
+ // canvas zoom out
225
+ {
226
+ pattern: /^canvas\s+zoom\s+out$/i,
227
+ parse: () => ({ type: 'canvas_zoom_out' })
228
+ },
229
+ // canvas zoom <level>
230
+ {
231
+ pattern: /^canvas\s+zoom\s+(\d+(?:\.\d+)?)$/i,
232
+ parse: (m) => ({ type: 'canvas_zoom_to', level: Number(m[1]) })
233
+ },
234
+ // canvas pan <x>,<y>
235
+ {
236
+ pattern: /^canvas\s+pan\s+(-?\d+(?:\.\d+)?)\s*,\s*(-?\d+(?:\.\d+)?)$/i,
237
+ parse: (m) => ({
238
+ type: 'canvas_pan_to',
239
+ position: parseCoords(m[1], m[2])
240
+ })
241
+ },
242
+ // canvas reset
243
+ {
244
+ pattern: /^canvas\s+reset$/i,
245
+ parse: () => ({ type: 'canvas_reset_view' })
246
+ }
247
+ ];
248
+ // ============================================================================
249
+ // Public API
250
+ // ============================================================================
251
+ /**
252
+ * Parse a command string into a typed Command object.
253
+ *
254
+ * Command verbs are case-insensitive; identifiers are case-sensitive.
255
+ * Returns ParseResult with ok: true on success, ok: false on failure.
256
+ */
257
+ export function parseCommand(input) {
258
+ const trimmed = input.trim();
259
+ if (!trimmed) {
260
+ return { ok: false, error: 'Empty command', input };
261
+ }
262
+ for (const rule of rules) {
263
+ const match = trimmed.match(rule.pattern);
264
+ if (match) {
265
+ return { ok: true, command: rule.parse(match) };
266
+ }
267
+ }
268
+ // Extract verb for better error message
269
+ const verb = trimmed.split(/\s+/)[0].toLowerCase();
270
+ const knownVerbs = [
271
+ 'add',
272
+ 'delete',
273
+ 'rename',
274
+ 'set',
275
+ 'get',
276
+ 'info',
277
+ 'config',
278
+ 'select',
279
+ 'connect',
280
+ 'disconnect',
281
+ 'list',
282
+ 'undo',
283
+ 'redo',
284
+ 'help',
285
+ 'clear',
286
+ 'swap',
287
+ 'move',
288
+ 'layout',
289
+ 'canvas'
290
+ ];
291
+ if (knownVerbs.includes(verb)) {
292
+ return { ok: false, error: `Invalid syntax for '${verb}' command`, input };
293
+ }
294
+ return { ok: false, error: `Unknown command: ${verb}`, input };
295
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Auto-positioner for command-created nodes.
3
+ *
4
+ * Computes a reasonable canvas position when no explicit coordinates are given.
5
+ *
6
+ * @module commands/positioner
7
+ */
8
+ import type { WorkflowNode } from '../types/index.js';
9
+ /**
10
+ * Computes an auto-position for a new node based on existing nodes.
11
+ *
12
+ * - Empty canvas: returns `{ x: 100, y: 100 }`.
13
+ * - Non-empty canvas: places new node 250px to the right of the rightmost node,
14
+ * at the same y as the rightmost node.
15
+ */
16
+ export declare function computeAutoPosition(existingNodes: Pick<WorkflowNode, 'position'>[]): {
17
+ x: number;
18
+ y: number;
19
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Auto-positioner for command-created nodes.
3
+ *
4
+ * Computes a reasonable canvas position when no explicit coordinates are given.
5
+ *
6
+ * @module commands/positioner
7
+ */
8
+ /** Default starting position for the first node on an empty canvas. */
9
+ const DEFAULT_START = { x: 100, y: 100 };
10
+ /** Horizontal gap between the rightmost existing node and a new node. */
11
+ const HORIZONTAL_GAP = 250;
12
+ /**
13
+ * Computes an auto-position for a new node based on existing nodes.
14
+ *
15
+ * - Empty canvas: returns `{ x: 100, y: 100 }`.
16
+ * - Non-empty canvas: places new node 250px to the right of the rightmost node,
17
+ * at the same y as the rightmost node.
18
+ */
19
+ export function computeAutoPosition(existingNodes) {
20
+ if (existingNodes.length === 0) {
21
+ return { ...DEFAULT_START };
22
+ }
23
+ let rightmost = existingNodes[0];
24
+ for (const node of existingNodes) {
25
+ if (node.position.x > rightmost.position.x) {
26
+ rightmost = node;
27
+ }
28
+ }
29
+ return {
30
+ x: rightmost.position.x + HORIZONTAL_GAP,
31
+ y: rightmost.position.y
32
+ };
33
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Store Integration Bridge
3
+ *
4
+ * Bridges the command system to the live Svelte stores.
5
+ * This is the only Svelte-coupled file in commands/.
6
+ */
7
+ import { type CommandContext, type UIAction } from './types.js';
8
+ import type { NodeMetadata } from '../types/index.js';
9
+ /**
10
+ * Creates a CommandContext that bridges the command system to the live Svelte stores.
11
+ *
12
+ * @param nodeTypes - Available node type definitions
13
+ * @param onUIAction - Optional callback for UI-side actions (open config panel, select node)
14
+ * @returns CommandContext connected to live stores, or null if no workflow is loaded
15
+ */
16
+ export declare function createStoreCommandContext(nodeTypes: NodeMetadata[], onUIAction?: (action: UIAction) => void): CommandContext | null;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Store Integration Bridge
3
+ *
4
+ * Bridges the command system to the live Svelte stores.
5
+ * This is the only Svelte-coupled file in commands/.
6
+ */
7
+ import { getWorkflowStore, workflowActions } from '../stores/workflowStore.svelte.js';
8
+ import { historyService } from '../services/historyService.js';
9
+ import { buildTypeMap } from './types.js';
10
+ /**
11
+ * Creates a CommandContext that bridges the command system to the live Svelte stores.
12
+ *
13
+ * @param nodeTypes - Available node type definitions
14
+ * @param onUIAction - Optional callback for UI-side actions (open config panel, select node)
15
+ * @returns CommandContext connected to live stores, or null if no workflow is loaded
16
+ */
17
+ export function createStoreCommandContext(nodeTypes, onUIAction) {
18
+ const workflow = getWorkflowStore();
19
+ if (!workflow) {
20
+ return null;
21
+ }
22
+ const dispatch = {
23
+ addNode: (node) => workflowActions.addNode(node),
24
+ removeNode: (nodeId) => workflowActions.removeNode(nodeId),
25
+ updateNode: (nodeId, updates) => workflowActions.updateNode(nodeId, updates),
26
+ addEdge: (edge) => workflowActions.addEdge(edge),
27
+ removeEdge: (edgeId) => workflowActions.removeEdge(edgeId),
28
+ batchUpdate: (updates) => workflowActions.batchUpdate(updates),
29
+ undo: () => {
30
+ const previousState = historyService.undo();
31
+ if (previousState) {
32
+ workflowActions.restoreFromHistory(previousState);
33
+ return true;
34
+ }
35
+ return false;
36
+ },
37
+ redo: () => {
38
+ const nextState = historyService.redo();
39
+ if (nextState) {
40
+ workflowActions.restoreFromHistory(nextState);
41
+ return true;
42
+ }
43
+ return false;
44
+ },
45
+ startTransaction: (description) => {
46
+ const currentWorkflow = getWorkflowStore();
47
+ if (currentWorkflow) {
48
+ historyService.startTransaction(currentWorkflow, description);
49
+ }
50
+ },
51
+ commitTransaction: () => historyService.commitTransaction(),
52
+ cancelTransaction: () => {
53
+ const snapshot = historyService.cancelTransaction();
54
+ if (snapshot) {
55
+ workflowActions.restoreFromHistory(snapshot);
56
+ }
57
+ },
58
+ emitUIAction: onUIAction,
59
+ swapNode: (updates) => workflowActions.swapNode(updates)
60
+ };
61
+ return {
62
+ getWorkflow: () => getWorkflowStore(),
63
+ nodeTypes,
64
+ typeMap: buildTypeMap(nodeTypes),
65
+ dispatch
66
+ };
67
+ }