@flowdrop/flowdrop 1.5.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 (434) hide show
  1. package/README.md +46 -47
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +26 -26
  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 +1 -1
  9. package/dist/adapters/agentspec/autoLayout.js +7 -9
  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.js +6 -6
  21. package/dist/chat/index.d.ts +5 -5
  22. package/dist/chat/index.js +4 -4
  23. package/dist/chat/responseParser.d.ts +6 -6
  24. package/dist/chat/responseParser.js +28 -24
  25. package/dist/commands/batch.d.ts +1 -1
  26. package/dist/commands/batch.js +5 -7
  27. package/dist/commands/executor.d.ts +2 -2
  28. package/dist/commands/executor.js +320 -231
  29. package/dist/commands/index.d.ts +6 -6
  30. package/dist/commands/index.js +5 -5
  31. package/dist/commands/parser.d.ts +1 -1
  32. package/dist/commands/parser.js +91 -74
  33. package/dist/commands/positioner.d.ts +2 -2
  34. package/dist/commands/positioner.js +1 -1
  35. package/dist/commands/storeIntegration.svelte.d.ts +2 -2
  36. package/dist/commands/storeIntegration.svelte.js +5 -5
  37. package/dist/commands/types.d.ts +42 -42
  38. package/dist/commands/types.js +2 -2
  39. package/dist/components/App.svelte +240 -294
  40. package/dist/components/App.svelte.d.ts +9 -9
  41. package/dist/components/CanvasBanner.stories.svelte +10 -16
  42. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  43. package/dist/components/CanvasBanner.svelte +2 -2
  44. package/dist/components/CanvasBanner.svelte.d.ts +1 -1
  45. package/dist/components/CanvasController.svelte +3 -4
  46. package/dist/components/ConfigForm.svelte +118 -256
  47. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  48. package/dist/components/ConfigMappingRow.svelte +7 -9
  49. package/dist/components/ConfigMappingRow.svelte.d.ts +1 -1
  50. package/dist/components/ConfigModal.svelte +3 -3
  51. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  52. package/dist/components/ConfigPanel.stories.svelte +19 -19
  53. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  54. package/dist/components/ConfigPanel.svelte +9 -20
  55. package/dist/components/ConfigPanel.svelte.d.ts +1 -1
  56. package/dist/components/ConnectionLine.svelte +4 -4
  57. package/dist/components/EdgeRefresher.svelte +1 -1
  58. package/dist/components/FlowDropEdge.stories.svelte +110 -110
  59. package/dist/components/FlowDropEdge.svelte +9 -9
  60. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  61. package/dist/components/FlowDropZone.svelte +6 -9
  62. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  63. package/dist/components/LoadingSpinner.stories.svelte +13 -13
  64. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  65. package/dist/components/LoadingSpinner.svelte +3 -3
  66. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  67. package/dist/components/Logo.stories.svelte +4 -4
  68. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  69. package/dist/components/Logo.svelte +3 -9
  70. package/dist/components/LogsSidebar.svelte +41 -48
  71. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  72. package/dist/components/MarkdownDisplay.stories.svelte +10 -14
  73. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  74. package/dist/components/MarkdownDisplay.svelte +4 -6
  75. package/dist/components/Navbar.stories.svelte +19 -19
  76. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  77. package/dist/components/Navbar.svelte +28 -49
  78. package/dist/components/Navbar.svelte.d.ts +2 -2
  79. package/dist/components/NodeSidebar.svelte +42 -88
  80. package/dist/components/NodeSidebar.svelte.d.ts +1 -1
  81. package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
  82. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  83. package/dist/components/NodeStatusOverlay.svelte +40 -55
  84. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  85. package/dist/components/NodeSwapPicker.svelte +20 -64
  86. package/dist/components/NodeSwapPicker.svelte.d.ts +1 -1
  87. package/dist/components/PipelineStatus.svelte +63 -89
  88. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  89. package/dist/components/PortCoordinateTracker.svelte +5 -7
  90. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  91. package/dist/components/PortMappingRow.svelte +20 -24
  92. package/dist/components/PortMappingRow.svelte.d.ts +2 -2
  93. package/dist/components/ReadOnlyDetails.svelte +1 -1
  94. package/dist/components/SchemaForm.stories.svelte +53 -53
  95. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  96. package/dist/components/SchemaForm.svelte +24 -51
  97. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  98. package/dist/components/SettingsModal.svelte +6 -9
  99. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  100. package/dist/components/SettingsPanel.svelte +138 -158
  101. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  102. package/dist/components/StatusIcon.stories.svelte +16 -29
  103. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  104. package/dist/components/StatusIcon.svelte +19 -19
  105. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  106. package/dist/components/StatusLabel.stories.svelte +8 -8
  107. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  108. package/dist/components/SwapMappingEditor.svelte +35 -56
  109. package/dist/components/SwapMappingEditor.svelte.d.ts +2 -2
  110. package/dist/components/ThemeToggle.stories.svelte +10 -10
  111. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  112. package/dist/components/ThemeToggle.svelte +22 -33
  113. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  114. package/dist/components/UniversalNode.svelte +29 -41
  115. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  116. package/dist/components/WorkflowEditor.svelte +113 -168
  117. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  118. package/dist/components/chat/AIChatPanel.svelte +272 -133
  119. package/dist/components/chat/AIChatPanel.svelte.d.ts +3 -3
  120. package/dist/components/chat/CommandPreview.svelte +74 -24
  121. package/dist/components/chat/CommandPreview.svelte.d.ts +1 -1
  122. package/dist/components/console/CommandConsole.stories.svelte +71 -53
  123. package/dist/components/console/CommandConsole.stories.svelte.d.ts +1 -1
  124. package/dist/components/console/CommandConsole.svelte +39 -35
  125. package/dist/components/console/CommandConsole.svelte.d.ts +2 -2
  126. package/dist/components/console/ConsoleAutocomplete.svelte +6 -3
  127. package/dist/components/console/ConsoleInput.svelte +148 -89
  128. package/dist/components/console/ConsoleInput.svelte.d.ts +1 -1
  129. package/dist/components/console/ConsoleOutput.svelte +5 -10
  130. package/dist/components/console/ConsoleOutput.svelte.d.ts +1 -1
  131. package/dist/components/console/formatters.d.ts +1 -1
  132. package/dist/components/console/formatters.js +27 -29
  133. package/dist/components/form/FormArray.svelte +75 -132
  134. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  135. package/dist/components/form/FormAutocomplete.svelte +65 -108
  136. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  137. package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
  138. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  139. package/dist/components/form/FormCheckboxGroup.svelte +2 -2
  140. package/dist/components/form/FormCodeEditor.svelte +42 -56
  141. package/dist/components/form/FormField.svelte +79 -90
  142. package/dist/components/form/FormField.svelte.d.ts +2 -2
  143. package/dist/components/form/FormFieldLight.svelte +72 -88
  144. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  145. package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
  146. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  147. package/dist/components/form/FormFieldWrapper.svelte +2 -9
  148. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  149. package/dist/components/form/FormFieldset.svelte +3 -3
  150. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  151. package/dist/components/form/FormMarkdownEditor.svelte +123 -156
  152. package/dist/components/form/FormNumberField.stories.svelte +18 -18
  153. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  154. package/dist/components/form/FormNumberField.svelte +6 -6
  155. package/dist/components/form/FormRangeField.stories.svelte +13 -13
  156. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  157. package/dist/components/form/FormRangeField.svelte +4 -12
  158. package/dist/components/form/FormSelect.stories.svelte +21 -21
  159. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  160. package/dist/components/form/FormSelect.svelte +5 -5
  161. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  162. package/dist/components/form/FormTemplateEditor.svelte +126 -175
  163. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  164. package/dist/components/form/FormTextField.stories.svelte +17 -23
  165. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  166. package/dist/components/form/FormTextField.svelte +4 -4
  167. package/dist/components/form/FormTextarea.stories.svelte +18 -21
  168. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  169. package/dist/components/form/FormTextarea.svelte +4 -4
  170. package/dist/components/form/FormToggle.stories.svelte +13 -16
  171. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  172. package/dist/components/form/FormToggle.svelte +3 -3
  173. package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
  174. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  175. package/dist/components/form/index.d.ts +19 -19
  176. package/dist/components/form/index.js +18 -18
  177. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  178. package/dist/components/form/templateAutocomplete.js +55 -64
  179. package/dist/components/form/types.d.ts +6 -6
  180. package/dist/components/form/types.js +4 -9
  181. package/dist/components/icons/AlertCircleIcon.svelte +1 -6
  182. package/dist/components/icons/CogIcon.svelte +1 -6
  183. package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
  184. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  185. package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
  186. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  187. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
  188. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  189. package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
  190. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  191. package/dist/components/interrupt/FormPrompt.svelte +10 -15
  192. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  193. package/dist/components/interrupt/InterruptBubble.svelte +87 -121
  194. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  195. package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
  196. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  197. package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
  198. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  199. package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
  200. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  201. package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
  202. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  203. package/dist/components/interrupt/index.d.ts +6 -6
  204. package/dist/components/interrupt/index.js +6 -6
  205. package/dist/components/layouts/MainLayout.svelte +46 -84
  206. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  207. package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
  208. package/dist/components/nodes/GatewayNode.svelte +37 -70
  209. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  210. package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
  211. package/dist/components/nodes/IdeaNode.svelte +22 -36
  212. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  213. package/dist/components/nodes/NotesNode.stories.svelte +37 -38
  214. package/dist/components/nodes/NotesNode.svelte +28 -39
  215. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  216. package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
  217. package/dist/components/nodes/SimpleNode.svelte +44 -74
  218. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  219. package/dist/components/nodes/SquareNode.stories.svelte +75 -75
  220. package/dist/components/nodes/SquareNode.svelte +42 -68
  221. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  222. package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
  223. package/dist/components/nodes/TerminalNode.svelte +74 -112
  224. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  225. package/dist/components/nodes/ToolNode.stories.svelte +115 -116
  226. package/dist/components/nodes/ToolNode.svelte +31 -64
  227. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  228. package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
  229. package/dist/components/nodes/WorkflowNode.svelte +50 -103
  230. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  231. package/dist/components/playground/ChatPanel.svelte +47 -103
  232. package/dist/components/playground/ExecutionLogs.svelte +45 -68
  233. package/dist/components/playground/InputCollector.svelte +32 -51
  234. package/dist/components/playground/MessageBubble.stories.svelte +25 -25
  235. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  236. package/dist/components/playground/MessageBubble.svelte +54 -70
  237. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  238. package/dist/components/playground/Playground.svelte +60 -91
  239. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  240. package/dist/components/playground/PlaygroundModal.svelte +8 -12
  241. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  242. package/dist/components/playground/SessionManager.svelte +34 -40
  243. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  244. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  245. package/dist/config/agentSpecEndpoints.js +20 -20
  246. package/dist/config/constants.js +2 -2
  247. package/dist/config/defaultCategories.d.ts +1 -1
  248. package/dist/config/defaultCategories.js +86 -86
  249. package/dist/config/defaultPortConfig.d.ts +1 -1
  250. package/dist/config/defaultPortConfig.js +144 -144
  251. package/dist/config/endpoints.d.ts +4 -4
  252. package/dist/config/endpoints.js +68 -68
  253. package/dist/config/runtimeConfig.d.ts +2 -2
  254. package/dist/config/runtimeConfig.js +8 -8
  255. package/dist/core/index.d.ts +68 -68
  256. package/dist/core/index.js +38 -38
  257. package/dist/display/index.d.ts +2 -2
  258. package/dist/display/index.js +2 -2
  259. package/dist/editor/index.d.ts +64 -64
  260. package/dist/editor/index.js +54 -54
  261. package/dist/form/code.d.ts +5 -5
  262. package/dist/form/code.js +14 -14
  263. package/dist/form/fieldRegistry.d.ts +3 -3
  264. package/dist/form/fieldRegistry.js +9 -11
  265. package/dist/form/full.d.ts +8 -8
  266. package/dist/form/full.js +9 -9
  267. package/dist/form/index.d.ts +18 -18
  268. package/dist/form/index.js +16 -16
  269. package/dist/form/markdown.d.ts +4 -4
  270. package/dist/form/markdown.js +8 -8
  271. package/dist/helpers/proximityConnect.d.ts +3 -3
  272. package/dist/helpers/proximityConnect.js +32 -34
  273. package/dist/helpers/workflowEditorHelper.d.ts +6 -6
  274. package/dist/helpers/workflowEditorHelper.js +64 -68
  275. package/dist/index.d.ts +6 -6
  276. package/dist/index.js +6 -6
  277. package/dist/mocks/app-environment.js +2 -2
  278. package/dist/mocks/app-forms.js +1 -1
  279. package/dist/mocks/app-navigation.js +2 -2
  280. package/dist/mocks/app-stores.js +3 -3
  281. package/dist/playground/index.d.ts +19 -19
  282. package/dist/playground/index.js +16 -16
  283. package/dist/playground/mount.d.ts +3 -3
  284. package/dist/playground/mount.js +24 -24
  285. package/dist/registry/builtinFormats.js +13 -13
  286. package/dist/registry/builtinNodes.d.ts +2 -2
  287. package/dist/registry/builtinNodes.js +77 -77
  288. package/dist/registry/index.d.ts +4 -4
  289. package/dist/registry/index.js +4 -4
  290. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  291. package/dist/registry/nodeComponentRegistry.js +9 -11
  292. package/dist/registry/plugin.d.ts +2 -2
  293. package/dist/registry/plugin.js +11 -11
  294. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  295. package/dist/registry/workflowFormatRegistry.js +2 -2
  296. package/dist/schema/index.d.ts +1 -1
  297. package/dist/schema/index.js +2 -2
  298. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  299. package/dist/services/agentSpecExecutionService.js +55 -56
  300. package/dist/services/api.d.ts +2 -2
  301. package/dist/services/api.js +37 -37
  302. package/dist/services/apiVariableService.d.ts +1 -1
  303. package/dist/services/apiVariableService.js +34 -41
  304. package/dist/services/autoSaveService.js +8 -8
  305. package/dist/services/categoriesApi.d.ts +2 -2
  306. package/dist/services/categoriesApi.js +8 -8
  307. package/dist/services/chatService.d.ts +1 -1
  308. package/dist/services/chatService.js +18 -18
  309. package/dist/services/draftStorage.d.ts +1 -1
  310. package/dist/services/draftStorage.js +11 -11
  311. package/dist/services/dynamicSchemaService.d.ts +1 -1
  312. package/dist/services/dynamicSchemaService.js +39 -41
  313. package/dist/services/globalSave.d.ts +2 -2
  314. package/dist/services/globalSave.js +38 -41
  315. package/dist/services/historyService.d.ts +1 -1
  316. package/dist/services/historyService.js +10 -10
  317. package/dist/services/interruptService.d.ts +1 -1
  318. package/dist/services/interruptService.js +29 -35
  319. package/dist/services/nodeExecutionService.d.ts +1 -1
  320. package/dist/services/nodeExecutionService.js +44 -45
  321. package/dist/services/playgroundService.d.ts +1 -1
  322. package/dist/services/playgroundService.js +29 -29
  323. package/dist/services/portConfigApi.d.ts +2 -2
  324. package/dist/services/portConfigApi.js +8 -8
  325. package/dist/services/settingsService.d.ts +2 -2
  326. package/dist/services/settingsService.js +19 -25
  327. package/dist/services/toastService.d.ts +4 -4
  328. package/dist/services/toastService.js +33 -33
  329. package/dist/services/variableService.d.ts +1 -1
  330. package/dist/services/variableService.js +36 -36
  331. package/dist/services/workflowStorage.d.ts +2 -2
  332. package/dist/services/workflowStorage.js +13 -13
  333. package/dist/settings/index.d.ts +7 -7
  334. package/dist/settings/index.js +6 -6
  335. package/dist/skins/default.d.ts +1 -1
  336. package/dist/skins/default.js +1 -1
  337. package/dist/skins/index.d.ts +3 -3
  338. package/dist/skins/index.js +7 -7
  339. package/dist/skins/slate.d.ts +1 -1
  340. package/dist/skins/slate.js +69 -69
  341. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  342. package/dist/stores/categoriesStore.svelte.js +5 -5
  343. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  344. package/dist/stores/editorStateMachine.svelte.js +34 -34
  345. package/dist/stores/historyStore.svelte.d.ts +4 -4
  346. package/dist/stores/historyStore.svelte.js +4 -4
  347. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  348. package/dist/stores/interruptStore.svelte.js +21 -21
  349. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  350. package/dist/stores/playgroundStore.svelte.js +18 -21
  351. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  352. package/dist/stores/portCoordinateStore.svelte.js +10 -13
  353. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  354. package/dist/stores/settingsStore.svelte.js +57 -62
  355. package/dist/stores/workflowStore.svelte.d.ts +3 -3
  356. package/dist/stores/workflowStore.svelte.js +46 -47
  357. package/dist/stories/CanvasDecorator.svelte +7 -10
  358. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  359. package/dist/stories/EdgeDecorator.svelte +28 -31
  360. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  361. package/dist/stories/NodeDecorator.svelte +14 -20
  362. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  363. package/dist/stories/utils.d.ts +2 -2
  364. package/dist/stories/utils.js +89 -93
  365. package/dist/styles/base.css +16 -50
  366. package/dist/styles/tokens.css +10 -28
  367. package/dist/svelte-app.d.ts +10 -10
  368. package/dist/svelte-app.js +39 -39
  369. package/dist/themes/default.d.ts +1 -1
  370. package/dist/themes/default.js +4 -4
  371. package/dist/themes/index.d.ts +3 -3
  372. package/dist/themes/index.js +11 -11
  373. package/dist/themes/minimal.d.ts +1 -1
  374. package/dist/themes/minimal.js +5 -5
  375. package/dist/types/agentspec.d.ts +18 -18
  376. package/dist/types/agentspec.js +2 -2
  377. package/dist/types/auth.d.ts +1 -1
  378. package/dist/types/auth.js +6 -6
  379. package/dist/types/chat.d.ts +2 -2
  380. package/dist/types/config.d.ts +6 -6
  381. package/dist/types/events.d.ts +3 -3
  382. package/dist/types/events.js +2 -2
  383. package/dist/types/index.d.ts +32 -32
  384. package/dist/types/index.js +6 -6
  385. package/dist/types/interrupt.d.ts +6 -6
  386. package/dist/types/interrupt.js +21 -21
  387. package/dist/types/interruptState.d.ts +12 -12
  388. package/dist/types/interruptState.js +66 -66
  389. package/dist/types/playground.d.ts +7 -7
  390. package/dist/types/playground.js +14 -14
  391. package/dist/types/settings.d.ts +7 -5
  392. package/dist/types/settings.js +19 -24
  393. package/dist/types/skin.d.ts +1 -1
  394. package/dist/types/theme.d.ts +2 -2
  395. package/dist/types/uischema.d.ts +4 -4
  396. package/dist/types/uischema.js +3 -3
  397. package/dist/utils/colors.d.ts +1 -1
  398. package/dist/utils/colors.js +95 -97
  399. package/dist/utils/config.d.ts +2 -2
  400. package/dist/utils/config.js +48 -48
  401. package/dist/utils/connections.d.ts +2 -2
  402. package/dist/utils/connections.js +15 -15
  403. package/dist/utils/edgeStyling.d.ts +2 -2
  404. package/dist/utils/edgeStyling.js +36 -39
  405. package/dist/utils/errors.js +3 -3
  406. package/dist/utils/fetchWithAuth.d.ts +1 -1
  407. package/dist/utils/fetchWithAuth.js +2 -2
  408. package/dist/utils/handleIds.d.ts +2 -2
  409. package/dist/utils/handleIds.js +8 -8
  410. package/dist/utils/handlePositioning.d.ts +1 -1
  411. package/dist/utils/handlePositioning.js +2 -2
  412. package/dist/utils/icons.d.ts +1 -1
  413. package/dist/utils/icons.js +74 -74
  414. package/dist/utils/logger.d.ts +1 -1
  415. package/dist/utils/logger.js +7 -7
  416. package/dist/utils/nodeIds.d.ts +1 -1
  417. package/dist/utils/nodeIds.js +1 -1
  418. package/dist/utils/nodeStatus.d.ts +1 -1
  419. package/dist/utils/nodeStatus.js +48 -48
  420. package/dist/utils/nodeSwap.d.ts +9 -9
  421. package/dist/utils/nodeSwap.js +52 -58
  422. package/dist/utils/nodeTypes.d.ts +1 -1
  423. package/dist/utils/nodeTypes.js +20 -21
  424. package/dist/utils/nodeWrapper.d.ts +7 -7
  425. package/dist/utils/nodeWrapper.js +19 -21
  426. package/dist/utils/performanceUtils.d.ts +1 -1
  427. package/dist/utils/performanceUtils.js +1 -2
  428. package/dist/utils/portUtils.d.ts +2 -2
  429. package/dist/utils/portUtils.js +1 -1
  430. package/dist/utils/sanitize.js +1 -1
  431. package/dist/utils/uischema.d.ts +2 -2
  432. package/dist/utils/uischema.js +8 -8
  433. package/dist/utils/validation.js +8 -8
  434. package/package.json +7 -11
@@ -5,7 +5,7 @@
5
5
  * Loopback port name constant
6
6
  * This is the standard input port name used for loop iteration triggers
7
7
  */
8
- const LOOPBACK_PORT_NAME = "loop_back";
8
+ const LOOPBACK_PORT_NAME = 'loop_back';
9
9
  /**
10
10
  * Determines if an edge is a loopback edge.
11
11
  * Loopback edges target the special `loop_back` input port on ForEach nodes.
@@ -21,7 +21,7 @@ const LOOPBACK_PORT_NAME = "loop_back";
21
21
  * ```
22
22
  */
23
23
  export function isLoopbackEdge(edge) {
24
- const targetHandle = edge.targetHandle ?? "";
24
+ const targetHandle = edge.targetHandle ?? '';
25
25
  return targetHandle.includes(`-input-${LOOPBACK_PORT_NAME}`);
26
26
  }
27
27
  /**
@@ -119,7 +119,7 @@ export function initializePortCompatibility(portConfig) {
119
119
  */
120
120
  export function getPortCompatibilityChecker() {
121
121
  if (!globalCompatibilityChecker) {
122
- throw new Error("Port compatibility checker not initialized. Call initializePortCompatibility() first.");
122
+ throw new Error('Port compatibility checker not initialized. Call initializePortCompatibility() first.');
123
123
  }
124
124
  return globalCompatibilityChecker;
125
125
  }
@@ -155,7 +155,7 @@ export function getPossibleConnections(sourceNode, targetNodes, nodeTypes) {
155
155
  targetNodeId: targetNode.id,
156
156
  targetPortId: targetPort.id,
157
157
  targetPort,
158
- compatible,
158
+ compatible
159
159
  });
160
160
  }
161
161
  }
@@ -170,36 +170,36 @@ export function validateConnection(sourceNodeId, sourcePortId, targetNodeId, tar
170
170
  const sourceNode = nodes.find((n) => n.id === sourceNodeId);
171
171
  const targetNode = nodes.find((n) => n.id === targetNodeId);
172
172
  if (!sourceNode) {
173
- return { valid: false, error: "Source node not found" };
173
+ return { valid: false, error: 'Source node not found' };
174
174
  }
175
175
  if (!targetNode) {
176
- return { valid: false, error: "Target node not found" };
176
+ return { valid: false, error: 'Target node not found' };
177
177
  }
178
178
  // Check for self-connection
179
179
  if (sourceNodeId === targetNodeId) {
180
- return { valid: false, error: "Cannot connect node to itself" };
180
+ return { valid: false, error: 'Cannot connect node to itself' };
181
181
  }
182
182
  // Get node metadata
183
183
  const sourceMetadata = nodeTypes.find((nt) => nt.id === sourceNode.data.metadata.id);
184
184
  const targetMetadata = nodeTypes.find((nt) => nt.id === targetNode.data.metadata.id);
185
185
  if (!sourceMetadata || !targetMetadata) {
186
- return { valid: false, error: "Node metadata not found" };
186
+ return { valid: false, error: 'Node metadata not found' };
187
187
  }
188
188
  // Find ports
189
189
  const sourcePort = sourceMetadata.outputs.find((p) => p.id === sourcePortId);
190
190
  const targetPort = targetMetadata.inputs.find((p) => p.id === targetPortId);
191
191
  if (!sourcePort) {
192
- return { valid: false, error: "Source port not found" };
192
+ return { valid: false, error: 'Source port not found' };
193
193
  }
194
194
  if (!targetPort) {
195
- return { valid: false, error: "Target port not found" };
195
+ return { valid: false, error: 'Target port not found' };
196
196
  }
197
197
  // Check data type compatibility using the global checker
198
198
  const checker = getPortCompatibilityChecker();
199
199
  if (!checker.areDataTypesCompatible(sourcePort.dataType, targetPort.dataType)) {
200
200
  return {
201
201
  valid: false,
202
- error: `Incompatible data types: ${sourcePort.dataType} cannot connect to ${targetPort.dataType}`,
202
+ error: `Incompatible data types: ${sourcePort.dataType} cannot connect to ${targetPort.dataType}`
203
203
  };
204
204
  }
205
205
  return { valid: true };
@@ -232,9 +232,9 @@ export function getConnectionSuggestions(nodeId, nodes, nodeTypes) {
232
232
  nodeName: otherNode.data.label,
233
233
  portId: output.id,
234
234
  portName: output.name,
235
- portType: "output",
235
+ portType: 'output',
236
236
  dataType: output.dataType,
237
- compatible,
237
+ compatible
238
238
  });
239
239
  }
240
240
  }
@@ -247,9 +247,9 @@ export function getConnectionSuggestions(nodeId, nodes, nodeTypes) {
247
247
  nodeName: otherNode.data.label,
248
248
  portId: input.id,
249
249
  portName: input.name,
250
- portType: "input",
250
+ portType: 'input',
251
251
  dataType: input.dataType,
252
- compatible,
252
+ compatible
253
253
  });
254
254
  }
255
255
  }
@@ -5,7 +5,7 @@
5
5
  * visual styling to workflow edges based on source port data types.
6
6
  * Used by both the visual editor and the command DSL system.
7
7
  */
8
- import type { WorkflowNode as WorkflowNodeType, WorkflowEdge, EdgeCategory } from "../types/index.js";
8
+ import type { WorkflowNode as WorkflowNodeType, WorkflowEdge, EdgeCategory } from '../types/index.js';
9
9
  /**
10
10
  * Check if a port ID matches a dynamic branch in a Gateway node.
11
11
  * Gateway nodes store branches in config.branches array.
@@ -15,7 +15,7 @@ export declare function isGatewayBranch(node: WorkflowNodeType, portId: string):
15
15
  * Get the data type of a port from a node's metadata.
16
16
  * Also handles dynamic ports like Gateway branches.
17
17
  */
18
- export declare function getPortDataType(node: WorkflowNodeType, portId: string, portType: "input" | "output"): string | null;
18
+ export declare function getPortDataType(node: WorkflowNodeType, portId: string, portType: 'input' | 'output'): string | null;
19
19
  /**
20
20
  * Determine the edge category based on source port data type.
21
21
  * Note: This does not check for loopback edges — use getEdgeCategoryWithLoopback() for that.
@@ -5,17 +5,17 @@
5
5
  * visual styling to workflow edges based on source port data types.
6
6
  * Used by both the visual editor and the command DSL system.
7
7
  */
8
- import { MarkerType } from "@xyflow/svelte";
9
- import { extractPortId } from "../utils/handleIds.js";
10
- import { isLoopbackEdge } from "../utils/connections.js";
11
- import { EDGE_MARKER_SIZES } from "../config/constants.js";
8
+ import { MarkerType } from '@xyflow/svelte';
9
+ import { extractPortId } from '../utils/handleIds.js';
10
+ import { isLoopbackEdge } from '../utils/connections.js';
11
+ import { EDGE_MARKER_SIZES } from '../config/constants.js';
12
12
  /**
13
13
  * Check if a port ID matches a dynamic branch in a Gateway node.
14
14
  * Gateway nodes store branches in config.branches array.
15
15
  */
16
16
  export function isGatewayBranch(node, portId) {
17
17
  const nodeType = node.data?.metadata?.type || node.type;
18
- if (nodeType !== "gateway") {
18
+ if (nodeType !== 'gateway') {
19
19
  return false;
20
20
  }
21
21
  const branches = node.data?.config?.branches;
@@ -30,9 +30,7 @@ export function isGatewayBranch(node, portId) {
30
30
  */
31
31
  export function getPortDataType(node, portId, portType) {
32
32
  // First, check static ports in metadata
33
- const ports = portType === "output"
34
- ? node.data?.metadata?.outputs
35
- : node.data?.metadata?.inputs;
33
+ const ports = portType === 'output' ? node.data?.metadata?.outputs : node.data?.metadata?.inputs;
36
34
  if (ports && Array.isArray(ports)) {
37
35
  const port = ports.find((p) => p.id === portId);
38
36
  if (port?.dataType) {
@@ -40,7 +38,7 @@ export function getPortDataType(node, portId, portType) {
40
38
  }
41
39
  }
42
40
  // Check dynamic ports from config (dynamicInputs/dynamicOutputs)
43
- const dynamicKey = portType === "output" ? "dynamicOutputs" : "dynamicInputs";
41
+ const dynamicKey = portType === 'output' ? 'dynamicOutputs' : 'dynamicInputs';
44
42
  const dynamicPorts = node.data?.config?.[dynamicKey];
45
43
  if (dynamicPorts && Array.isArray(dynamicPorts)) {
46
44
  const dynamicPort = dynamicPorts.find((p) => p.name === portId);
@@ -50,8 +48,8 @@ export function getPortDataType(node, portId, portType) {
50
48
  }
51
49
  // For output ports, also check dynamic Gateway branches
52
50
  // Gateway branches are always trigger type (control flow)
53
- if (portType === "output" && isGatewayBranch(node, portId)) {
54
- return "trigger";
51
+ if (portType === 'output' && isGatewayBranch(node, portId)) {
52
+ return 'trigger';
55
53
  }
56
54
  return null;
57
55
  }
@@ -60,13 +58,13 @@ export function getPortDataType(node, portId, portType) {
60
58
  * Note: This does not check for loopback edges — use getEdgeCategoryWithLoopback() for that.
61
59
  */
62
60
  export function getEdgeCategory(sourcePortDataType) {
63
- if (sourcePortDataType === "trigger") {
64
- return "trigger";
61
+ if (sourcePortDataType === 'trigger') {
62
+ return 'trigger';
65
63
  }
66
- if (sourcePortDataType === "tool") {
67
- return "tool";
64
+ if (sourcePortDataType === 'tool') {
65
+ return 'tool';
68
66
  }
69
- return "data";
67
+ return 'data';
70
68
  }
71
69
  /**
72
70
  * Determine the full edge category including loopback detection.
@@ -74,7 +72,7 @@ export function getEdgeCategory(sourcePortDataType) {
74
72
  */
75
73
  export function getEdgeCategoryWithLoopback(edge, sourcePortDataType) {
76
74
  if (isLoopbackEdge(edge)) {
77
- return "loopback";
75
+ return 'loopback';
78
76
  }
79
77
  return getEdgeCategory(sourcePortDataType);
80
78
  }
@@ -91,50 +89,49 @@ export function applyConnectionStyling(edge, sourceNode, targetNode) {
91
89
  const sourcePortId = extractPortId(edge.sourceHandle);
92
90
  // Get the source port's data type
93
91
  const sourcePortDataType = sourcePortId
94
- ? getPortDataType(sourceNode, sourcePortId, "output")
92
+ ? getPortDataType(sourceNode, sourcePortId, 'output')
95
93
  : null;
96
94
  // Determine edge category (loopback takes precedence)
97
95
  const edgeCategory = getEdgeCategoryWithLoopback(edge, sourcePortDataType);
98
96
  // Apply styling based on edge category
99
97
  // Marker colors use CSS custom properties so they respond to theme changes automatically
100
98
  switch (edgeCategory) {
101
- case "loopback":
99
+ case 'loopback':
102
100
  edge.style =
103
- "stroke: var(--fd-edge-loopback); stroke-dasharray: var(--fd-edge-loopback-dasharray); stroke-width: var(--fd-edge-loopback-width); opacity: var(--fd-edge-loopback-opacity);";
104
- edge.class = "flowdrop--edge--loopback";
101
+ 'stroke: var(--fd-edge-loopback); stroke-dasharray: var(--fd-edge-loopback-dasharray); stroke-width: var(--fd-edge-loopback-width); opacity: var(--fd-edge-loopback-opacity);';
102
+ edge.class = 'flowdrop--edge--loopback';
105
103
  edge.markerEnd = {
106
104
  type: MarkerType.ArrowClosed,
107
105
  ...EDGE_MARKER_SIZES.loopback,
108
- color: "var(--fd-edge-loopback)",
106
+ color: 'var(--fd-edge-loopback)'
109
107
  };
110
108
  break;
111
- case "trigger":
112
- edge.style =
113
- "stroke: var(--fd-edge-trigger); stroke-width: var(--fd-edge-trigger-width);";
114
- edge.class = "flowdrop--edge--trigger";
109
+ case 'trigger':
110
+ edge.style = 'stroke: var(--fd-edge-trigger); stroke-width: var(--fd-edge-trigger-width);';
111
+ edge.class = 'flowdrop--edge--trigger';
115
112
  edge.markerEnd = {
116
113
  type: MarkerType.ArrowClosed,
117
114
  ...EDGE_MARKER_SIZES.trigger,
118
- color: "var(--fd-edge-trigger)",
115
+ color: 'var(--fd-edge-trigger)'
119
116
  };
120
117
  break;
121
- case "tool":
122
- edge.style = "stroke: var(--fd-edge-tool); stroke-dasharray: 5 3;";
123
- edge.class = "flowdrop--edge--tool";
118
+ case 'tool':
119
+ edge.style = 'stroke: var(--fd-edge-tool); stroke-dasharray: 5 3;';
120
+ edge.class = 'flowdrop--edge--tool';
124
121
  edge.markerEnd = {
125
122
  type: MarkerType.ArrowClosed,
126
123
  ...EDGE_MARKER_SIZES.tool,
127
- color: "var(--fd-edge-tool)",
124
+ color: 'var(--fd-edge-tool)'
128
125
  };
129
126
  break;
130
- case "data":
127
+ case 'data':
131
128
  default:
132
- edge.style = "stroke: var(--fd-edge-data);";
133
- edge.class = "flowdrop--edge--data";
129
+ edge.style = 'stroke: var(--fd-edge-data);';
130
+ edge.class = 'flowdrop--edge--data';
134
131
  edge.markerEnd = {
135
132
  type: MarkerType.ArrowClosed,
136
133
  ...EDGE_MARKER_SIZES.data,
137
- color: "var(--fd-edge-data)",
134
+ color: 'var(--fd-edge-data)'
138
135
  };
139
136
  break;
140
137
  }
@@ -144,10 +141,10 @@ export function applyConnectionStyling(edge, sourceNode, targetNode) {
144
141
  metadata: {
145
142
  ...(edge.data?.metadata || {}),
146
143
  edgeType: edgeCategory,
147
- sourcePortDataType: sourcePortDataType ?? undefined,
144
+ sourcePortDataType: sourcePortDataType ?? undefined
148
145
  },
149
146
  targetNodeType: targetNode.type,
150
- targetCategory: targetNode.data.metadata.category,
147
+ targetCategory: targetNode.data.metadata.category
151
148
  };
152
149
  }
153
150
  /**
@@ -165,8 +162,8 @@ export function updateEdgeStyles(edges, nodes) {
165
162
  ...updatedEdge.data,
166
163
  metadata: {
167
164
  ...(updatedEdge.data?.metadata || {}),
168
- edgeType: "data",
169
- },
165
+ edgeType: 'data'
166
+ }
170
167
  };
171
168
  return updatedEdge;
172
169
  }
@@ -21,7 +21,7 @@ export function normalizeError(error) {
21
21
  if (error instanceof Error) {
22
22
  return error;
23
23
  }
24
- if (typeof error === "string") {
24
+ if (typeof error === 'string') {
25
25
  return new Error(error);
26
26
  }
27
27
  return new Error(String(error));
@@ -33,11 +33,11 @@ export function normalizeError(error) {
33
33
  * @param fallback - Fallback message if error has no useful info
34
34
  * @returns A string message
35
35
  */
36
- export function getErrorMessage(error, fallback = "Unknown error") {
36
+ export function getErrorMessage(error, fallback = 'Unknown error') {
37
37
  if (error instanceof Error) {
38
38
  return error.message;
39
39
  }
40
- if (typeof error === "string") {
40
+ if (typeof error === 'string') {
41
41
  return error;
42
42
  }
43
43
  return fallback;
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module utils/fetchWithAuth
8
8
  */
9
- import type { AuthProvider } from "../types/auth.js";
9
+ import type { AuthProvider } from '../types/auth.js';
10
10
  /**
11
11
  * Build fetch headers with optional authentication
12
12
  *
@@ -23,8 +23,8 @@
23
23
  */
24
24
  export async function buildFetchHeaders(authProvider) {
25
25
  const headers = {
26
- Accept: "application/json",
27
- "Content-Type": "application/json",
26
+ Accept: 'application/json',
27
+ 'Content-Type': 'application/json'
28
28
  };
29
29
  if (authProvider) {
30
30
  const authHeaders = await authProvider.getAuthHeaders();
@@ -14,7 +14,7 @@
14
14
  * @param portId - The port identifier
15
15
  * @returns A composite handle ID string
16
16
  */
17
- export declare function buildHandleId(nodeId: string, direction: "input" | "output", portId: string): string;
17
+ export declare function buildHandleId(nodeId: string, direction: 'input' | 'output', portId: string): string;
18
18
  /**
19
19
  * Extract the port ID from a composite handle ID.
20
20
  *
@@ -32,4 +32,4 @@ export declare function extractPortId(handleId: string | undefined): string | nu
32
32
  * @param handleId - The handle ID string
33
33
  * @returns 'input', 'output', or null if not found
34
34
  */
35
- export declare function extractDirection(handleId: string | undefined): "input" | "output" | null;
35
+ export declare function extractDirection(handleId: string | undefined): 'input' | 'output' | null;
@@ -30,13 +30,13 @@ export function buildHandleId(nodeId, direction, portId) {
30
30
  export function extractPortId(handleId) {
31
31
  if (!handleId)
32
32
  return null;
33
- const outputMatch = handleId.lastIndexOf("-output-");
33
+ const outputMatch = handleId.lastIndexOf('-output-');
34
34
  if (outputMatch !== -1) {
35
- return handleId.substring(outputMatch + "-output-".length);
35
+ return handleId.substring(outputMatch + '-output-'.length);
36
36
  }
37
- const inputMatch = handleId.lastIndexOf("-input-");
37
+ const inputMatch = handleId.lastIndexOf('-input-');
38
38
  if (inputMatch !== -1) {
39
- return handleId.substring(inputMatch + "-input-".length);
39
+ return handleId.substring(inputMatch + '-input-'.length);
40
40
  }
41
41
  // Short format: the handleId IS the port ID
42
42
  return handleId;
@@ -50,9 +50,9 @@ export function extractPortId(handleId) {
50
50
  export function extractDirection(handleId) {
51
51
  if (!handleId)
52
52
  return null;
53
- if (handleId.includes("-output-"))
54
- return "output";
55
- if (handleId.includes("-input-"))
56
- return "input";
53
+ if (handleId.includes('-output-'))
54
+ return 'output';
55
+ if (handleId.includes('-input-'))
56
+ return 'input';
57
57
  return null;
58
58
  }
@@ -28,4 +28,4 @@ export interface HandlePosition {
28
28
  * getCircleHandlePosition(0, 2, 'left') // { left: ~4.8, top: ~18 }
29
29
  * getCircleHandlePosition(1, 2, 'left') // { left: ~4.8, top: ~54 }
30
30
  */
31
- export declare function getCircleHandlePosition(index: number, count: number, side: "left" | "right", radius?: number, arcSpan?: number): HandlePosition;
31
+ export declare function getCircleHandlePosition(index: number, count: number, side: 'left' | 'right', radius?: number, arcSpan?: number): HandlePosition;
@@ -25,11 +25,11 @@
25
25
  * getCircleHandlePosition(1, 2, 'left') // { left: ~4.8, top: ~54 }
26
26
  */
27
27
  export function getCircleHandlePosition(index, count, side, radius = 40, arcSpan = (Math.PI * 5) / 6) {
28
- const centerAngle = side === "left" ? Math.PI : 0; // 180° for left, 0° for right
28
+ const centerAngle = side === 'left' ? Math.PI : 0; // 180° for left, 0° for right
29
29
  const angle = centerAngle - arcSpan / 2 + (arcSpan * (index + 1)) / (count + 1);
30
30
  const centerOffset = radius; // center of the circle (assuming square bounding box)
31
31
  return {
32
32
  left: centerOffset + radius * Math.cos(angle),
33
- top: centerOffset + radius * Math.sin(angle),
33
+ top: centerOffset + radius * Math.sin(angle)
34
34
  };
35
35
  }
@@ -2,7 +2,7 @@
2
2
  * Centralized icon management for FlowDrop
3
3
  * Ensures consistent icon usage across all components
4
4
  */
5
- import type { NodeCategory } from "../types/index.js";
5
+ import type { NodeCategory } from '../types/index.js';
6
6
  /**
7
7
  * Default icons for different contexts
8
8
  */
@@ -2,80 +2,80 @@
2
2
  * Centralized icon management for FlowDrop
3
3
  * Ensures consistent icon usage across all components
4
4
  */
5
- import { getCategoryIcon as getCategoryIconFromStore } from "../stores/categoriesStore.svelte.js";
5
+ import { getCategoryIcon as getCategoryIconFromStore } from '../stores/categoriesStore.svelte.js';
6
6
  /**
7
7
  * Default icons for different contexts
8
8
  */
9
9
  export const DEFAULT_ICONS = {
10
10
  // Node fallback icons
11
- NODE: "mdi:cube",
12
- CATEGORY: "mdi:folder",
11
+ NODE: 'mdi:cube',
12
+ CATEGORY: 'mdi:folder',
13
13
  // UI action icons
14
- ADD: "mdi:plus",
15
- REMOVE: "mdi:minus",
16
- EDIT: "mdi:pencil",
17
- SAVE: "mdi:content-save",
18
- LOAD: "mdi:folder-open",
19
- EXPORT: "mdi:download",
20
- IMPORT: "mdi:upload",
21
- SEARCH: "mdi:magnify",
22
- CLOSE: "mdi:close",
23
- SETTINGS: "mdi:cog",
24
- HELP: "mdi:help-circle",
14
+ ADD: 'mdi:plus',
15
+ REMOVE: 'mdi:minus',
16
+ EDIT: 'mdi:pencil',
17
+ SAVE: 'mdi:content-save',
18
+ LOAD: 'mdi:folder-open',
19
+ EXPORT: 'mdi:download',
20
+ IMPORT: 'mdi:upload',
21
+ SEARCH: 'mdi:magnify',
22
+ CLOSE: 'mdi:close',
23
+ SETTINGS: 'mdi:cog',
24
+ HELP: 'mdi:help-circle',
25
25
  // Status icons
26
- SUCCESS: "mdi:check-circle",
27
- ERROR: "mdi:alert-circle",
28
- WARNING: "mdi:alert",
29
- INFO: "mdi:information",
30
- LOADING: "mdi:loading",
26
+ SUCCESS: 'mdi:check-circle',
27
+ ERROR: 'mdi:alert-circle',
28
+ WARNING: 'mdi:alert',
29
+ INFO: 'mdi:information',
30
+ LOADING: 'mdi:loading',
31
31
  // Navigation icons
32
- HOME: "mdi:home",
33
- BACK: "mdi:arrow-left",
34
- FORWARD: "mdi:arrow-right",
35
- UP: "mdi:arrow-up",
36
- DOWN: "mdi:arrow-down",
32
+ HOME: 'mdi:home',
33
+ BACK: 'mdi:arrow-left',
34
+ FORWARD: 'mdi:arrow-right',
35
+ UP: 'mdi:arrow-up',
36
+ DOWN: 'mdi:arrow-down',
37
37
  // Workflow icons
38
- WORKFLOW: "mdi:graph",
39
- NODE_ADD: "mdi:plus-circle",
40
- NODE_DELETE: "mdi:minus-circle",
41
- CONNECTION: "mdi:connection",
38
+ WORKFLOW: 'mdi:graph',
39
+ NODE_ADD: 'mdi:plus-circle',
40
+ NODE_DELETE: 'mdi:minus-circle',
41
+ CONNECTION: 'mdi:connection',
42
42
  // Data icons
43
- DATA: "mdi:database",
44
- FILE: "mdi:file",
45
- TEXT: "mdi:text",
46
- JSON: "mdi:code-json",
43
+ DATA: 'mdi:database',
44
+ FILE: 'mdi:file',
45
+ TEXT: 'mdi:text',
46
+ JSON: 'mdi:code-json',
47
47
  // Model and processing icons
48
- MODEL: "mdi:chip",
49
- BRAIN: "mdi:brain",
50
- VECTOR: "mdi:vector-point",
51
- ROBOT: "mdi:robot",
48
+ MODEL: 'mdi:chip',
49
+ BRAIN: 'mdi:brain',
50
+ VECTOR: 'mdi:vector-point',
51
+ ROBOT: 'mdi:robot',
52
52
  // Tool icons
53
- TOOL: "mdi:wrench",
54
- CALCULATOR: "mdi:calculator",
55
- CLOCK: "mdi:clock",
53
+ TOOL: 'mdi:wrench',
54
+ CALCULATOR: 'mdi:calculator',
55
+ CLOCK: 'mdi:clock',
56
56
  // Communication icons
57
- CHAT: "mdi:chat",
58
- MESSAGE: "mdi:message",
59
- EMAIL: "mdi:email",
60
- WEBHOOK: "mdi:webhook",
57
+ CHAT: 'mdi:chat',
58
+ MESSAGE: 'mdi:message',
59
+ EMAIL: 'mdi:email',
60
+ WEBHOOK: 'mdi:webhook',
61
61
  // Storage icons
62
- STORAGE: "mdi:database",
63
- MEMORY: "mdi:memory",
64
- CACHE: "mdi:cached",
62
+ STORAGE: 'mdi:database',
63
+ MEMORY: 'mdi:memory',
64
+ CACHE: 'mdi:cached',
65
65
  // Processing icons
66
- PROCESS: "mdi:cog",
67
- FILTER: "mdi:filter",
68
- SORT: "mdi:sort",
69
- TRANSFORM: "mdi:transform",
66
+ PROCESS: 'mdi:cog',
67
+ FILTER: 'mdi:filter',
68
+ SORT: 'mdi:sort',
69
+ TRANSFORM: 'mdi:transform',
70
70
  // Logic icons
71
- LOGIC: "mdi:git-branch",
72
- CONDITION: "mdi:source-fork",
73
- LOOP: "mdi:loop",
71
+ LOGIC: 'mdi:git-branch',
72
+ CONDITION: 'mdi:source-fork',
73
+ LOOP: 'mdi:loop',
74
74
  // Integration icons
75
- API: "mdi:api",
76
- LINK: "mdi:link",
77
- PLUGIN: "mdi:puzzle",
78
- BUNDLE: "mdi:package-variant",
75
+ API: 'mdi:api',
76
+ LINK: 'mdi:link',
77
+ PLUGIN: 'mdi:puzzle',
78
+ BUNDLE: 'mdi:package-variant'
79
79
  };
80
80
  /**
81
81
  * Category-specific icons for built-in categories.
@@ -83,23 +83,23 @@ export const DEFAULT_ICONS = {
83
83
  * These serve as static defaults; the categories store provides dynamic overrides.
84
84
  */
85
85
  export const CATEGORY_ICONS = {
86
- triggers: "mdi:lightning-bolt",
87
- inputs: "mdi:arrow-down-circle",
88
- outputs: "mdi:arrow-up-circle",
89
- prompts: "mdi:message-text",
90
- models: "mdi:robot",
91
- processing: "mdi:cog",
92
- logic: "mdi:source-branch",
93
- data: "mdi:database",
94
- helpers: "mdi:help-circle",
95
- tools: "mdi:wrench",
96
- "vector stores": "mdi:vector-square",
97
- embeddings: "mdi:vector-polygon",
98
- memories: "mdi:brain",
99
- agents: "mdi:account-cog",
100
- ai: "mdi:shimmer",
101
- interrupts: "mdi:hand-back-left",
102
- bundles: "mdi:package-variant",
86
+ triggers: 'mdi:lightning-bolt',
87
+ inputs: 'mdi:arrow-down-circle',
88
+ outputs: 'mdi:arrow-up-circle',
89
+ prompts: 'mdi:message-text',
90
+ models: 'mdi:robot',
91
+ processing: 'mdi:cog',
92
+ logic: 'mdi:source-branch',
93
+ data: 'mdi:database',
94
+ helpers: 'mdi:help-circle',
95
+ tools: 'mdi:wrench',
96
+ 'vector stores': 'mdi:vector-square',
97
+ embeddings: 'mdi:vector-polygon',
98
+ memories: 'mdi:brain',
99
+ agents: 'mdi:account-cog',
100
+ ai: 'mdi:shimmer',
101
+ interrupts: 'mdi:hand-back-left',
102
+ bundles: 'mdi:package-variant'
103
103
  };
104
104
  /**
105
105
  * Get the appropriate icon for a node
@@ -21,7 +21,7 @@
21
21
  * ```
22
22
  */
23
23
  /** Log severity levels. `'none'` disables all output. */
24
- export type LogLevel = "debug" | "info" | "warn" | "error" | "none";
24
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
25
25
  /**
26
26
  * Set the minimum log level for FlowDrop library output.
27
27
  * Messages below this level are silently discarded.
@@ -25,9 +25,9 @@ const LOG_PRIORITY = {
25
25
  info: 1,
26
26
  warn: 2,
27
27
  error: 3,
28
- none: 4,
28
+ none: 4
29
29
  };
30
- let currentLevel = "none";
30
+ let currentLevel = 'none';
31
31
  /**
32
32
  * Set the minimum log level for FlowDrop library output.
33
33
  * Messages below this level are silently discarded.
@@ -54,19 +54,19 @@ function shouldLog(level) {
54
54
  */
55
55
  export const logger = {
56
56
  debug(message, ...args) {
57
- if (shouldLog("debug"))
57
+ if (shouldLog('debug'))
58
58
  console.debug(`[FlowDrop] ${message}`, ...args);
59
59
  },
60
60
  info(message, ...args) {
61
- if (shouldLog("info"))
61
+ if (shouldLog('info'))
62
62
  console.info(`[FlowDrop] ${message}`, ...args);
63
63
  },
64
64
  warn(message, ...args) {
65
- if (shouldLog("warn"))
65
+ if (shouldLog('warn'))
66
66
  console.warn(`[FlowDrop] ${message}`, ...args);
67
67
  },
68
68
  error(message, ...args) {
69
- if (shouldLog("error"))
69
+ if (shouldLog('error'))
70
70
  console.error(`[FlowDrop] ${message}`, ...args);
71
- },
71
+ }
72
72
  };