@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
@@ -7,10 +7,10 @@
7
7
  *
8
8
  * @module services/interruptService
9
9
  */
10
- import { defaultInterruptPollingConfig } from "../types/interrupt.js";
11
- import { buildEndpointUrl, getEndpointHeaders } from "../config/endpoints.js";
12
- import { getEndpointConfig } from "./api.js";
13
- import { logger } from "../utils/logger.js";
10
+ import { defaultInterruptPollingConfig } from '../types/interrupt.js';
11
+ import { buildEndpointUrl, getEndpointHeaders } from '../config/endpoints.js';
12
+ import { getEndpointConfig } from './api.js';
13
+ import { logger } from '../utils/logger.js';
14
14
  /**
15
15
  * Interrupt Service class
16
16
  *
@@ -29,8 +29,7 @@ export class InterruptService {
29
29
  */
30
30
  constructor() {
31
31
  this.pollingConfig = { ...defaultInterruptPollingConfig };
32
- this.currentBackoff =
33
- this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
32
+ this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
34
33
  }
35
34
  /**
36
35
  * Get the singleton instance of InterruptService
@@ -50,8 +49,7 @@ export class InterruptService {
50
49
  */
51
50
  setPollingConfig(config) {
52
51
  this.pollingConfig = { ...this.pollingConfig, ...config };
53
- this.currentBackoff =
54
- this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
52
+ this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
55
53
  }
56
54
  /**
57
55
  * Get the current polling configuration
@@ -79,10 +77,10 @@ export class InterruptService {
79
77
  getConfig() {
80
78
  const config = getEndpointConfig();
81
79
  if (!config) {
82
- throw new Error("Endpoint configuration not set. Call setEndpointConfig() first.");
80
+ throw new Error('Endpoint configuration not set. Call setEndpointConfig() first.');
83
81
  }
84
82
  if (!config.endpoints.interrupts) {
85
- throw new Error("Interrupt endpoints not configured.");
83
+ throw new Error('Interrupt endpoints not configured.');
86
84
  }
87
85
  return config;
88
86
  }
@@ -95,13 +93,13 @@ export class InterruptService {
95
93
  */
96
94
  async request(url, options = {}) {
97
95
  const config = this.getConfig();
98
- const headers = getEndpointHeaders(config, "interrupts");
96
+ const headers = getEndpointHeaders(config, 'interrupts');
99
97
  const response = await fetch(url, {
100
98
  ...options,
101
99
  headers: {
102
100
  ...headers,
103
- ...options.headers,
104
- },
101
+ ...options.headers
102
+ }
105
103
  });
106
104
  if (!response.ok) {
107
105
  const errorData = await response.json().catch(() => ({}));
@@ -124,11 +122,11 @@ export class InterruptService {
124
122
  async getInterrupt(interruptId) {
125
123
  const config = this.getConfig();
126
124
  const url = buildEndpointUrl(config, config.endpoints.interrupts.get, {
127
- interruptId,
125
+ interruptId
128
126
  });
129
127
  const response = await this.request(url);
130
128
  if (!response.data) {
131
- throw new Error("Interrupt not found");
129
+ throw new Error('Interrupt not found');
132
130
  }
133
131
  return response.data;
134
132
  }
@@ -142,15 +140,15 @@ export class InterruptService {
142
140
  async resolveInterrupt(interruptId, value) {
143
141
  const config = this.getConfig();
144
142
  const url = buildEndpointUrl(config, config.endpoints.interrupts.resolve, {
145
- interruptId,
143
+ interruptId
146
144
  });
147
145
  const resolution = { value };
148
146
  const response = await this.request(url, {
149
- method: "POST",
150
- body: JSON.stringify(resolution),
147
+ method: 'POST',
148
+ body: JSON.stringify(resolution)
151
149
  });
152
150
  if (!response.data) {
153
- throw new Error("Failed to resolve interrupt: No data returned");
151
+ throw new Error('Failed to resolve interrupt: No data returned');
154
152
  }
155
153
  return response.data;
156
154
  }
@@ -163,13 +161,13 @@ export class InterruptService {
163
161
  async cancelInterrupt(interruptId) {
164
162
  const config = this.getConfig();
165
163
  const url = buildEndpointUrl(config, config.endpoints.interrupts.cancel, {
166
- interruptId,
164
+ interruptId
167
165
  });
168
166
  const response = await this.request(url, {
169
- method: "POST",
167
+ method: 'POST'
170
168
  });
171
169
  if (!response.data) {
172
- throw new Error("Failed to cancel interrupt: No data returned");
170
+ throw new Error('Failed to cancel interrupt: No data returned');
173
171
  }
174
172
  return response.data;
175
173
  }
@@ -182,7 +180,7 @@ export class InterruptService {
182
180
  async listSessionInterrupts(sessionId) {
183
181
  const config = this.getConfig();
184
182
  const url = buildEndpointUrl(config, config.endpoints.interrupts.listBySession, {
185
- sessionId,
183
+ sessionId
186
184
  });
187
185
  const response = await this.request(url);
188
186
  return response.data ?? [];
@@ -196,7 +194,7 @@ export class InterruptService {
196
194
  async listPipelineInterrupts(pipelineId) {
197
195
  const config = this.getConfig();
198
196
  const url = buildEndpointUrl(config, config.endpoints.interrupts.listByPipeline, {
199
- pipelineId,
197
+ pipelineId
200
198
  });
201
199
  const response = await this.request(url);
202
200
  return response.data ?? [];
@@ -215,32 +213,29 @@ export class InterruptService {
215
213
  */
216
214
  startPolling(sessionId, callback) {
217
215
  if (!this.pollingConfig.enabled) {
218
- logger.warn("[InterruptService] Polling is disabled. Enable via setPollingConfig().");
216
+ logger.warn('[InterruptService] Polling is disabled. Enable via setPollingConfig().');
219
217
  return;
220
218
  }
221
219
  // Stop any existing polling
222
220
  this.stopPolling();
223
221
  this.pollingSessionId = sessionId;
224
- this.currentBackoff =
225
- this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
222
+ this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
226
223
  const poll = async () => {
227
224
  if (this.pollingSessionId !== sessionId) {
228
225
  return;
229
226
  }
230
227
  try {
231
228
  const interrupts = await this.listSessionInterrupts(sessionId);
232
- const pendingInterrupts = interrupts.filter((i) => i.status === "pending");
229
+ const pendingInterrupts = interrupts.filter((i) => i.status === 'pending');
233
230
  // Reset backoff on successful request
234
- this.currentBackoff =
235
- this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
231
+ this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
236
232
  // Call the callback with pending interrupts
237
233
  callback(pendingInterrupts);
238
234
  }
239
235
  catch (error) {
240
- logger.error("[InterruptService] Polling error:", error);
236
+ logger.error('[InterruptService] Polling error:', error);
241
237
  // Exponential backoff on error
242
- const maxBackoff = this.pollingConfig.maxBackoff ??
243
- defaultInterruptPollingConfig.maxBackoff;
238
+ const maxBackoff = this.pollingConfig.maxBackoff ?? defaultInterruptPollingConfig.maxBackoff;
244
239
  this.currentBackoff = Math.min(this.currentBackoff * 2, maxBackoff);
245
240
  }
246
241
  // Schedule next poll
@@ -260,8 +255,7 @@ export class InterruptService {
260
255
  this.pollingInterval = null;
261
256
  }
262
257
  this.pollingSessionId = null;
263
- this.currentBackoff =
264
- this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
258
+ this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
265
259
  }
266
260
  /**
267
261
  * Check if polling is active
@@ -2,7 +2,7 @@
2
2
  * Node Execution Service
3
3
  * Handles fetching and managing node execution information from the backend
4
4
  */
5
- import type { NodeExecutionInfo } from "../types/index.js";
5
+ import type { NodeExecutionInfo } from '../types/index.js';
6
6
  /**
7
7
  * Service for managing node execution information
8
8
  */
@@ -2,10 +2,10 @@
2
2
  * Node Execution Service
3
3
  * Handles fetching and managing node execution information from the backend
4
4
  */
5
- import { getEndpointConfig } from "./api.js";
6
- import { buildEndpointUrl } from "../config/endpoints.js";
7
- import { NODE_EXECUTION_CACHE_TIMEOUT_MS, PIPELINE_API_UNAVAILABLE_DURATION_MS, } from "../config/constants.js";
8
- import { logger } from "../utils/logger.js";
5
+ import { getEndpointConfig } from './api.js';
6
+ import { buildEndpointUrl } from '../config/endpoints.js';
7
+ import { NODE_EXECUTION_CACHE_TIMEOUT_MS, PIPELINE_API_UNAVAILABLE_DURATION_MS } from '../config/constants.js';
8
+ import { logger } from '../utils/logger.js';
9
9
  /**
10
10
  * Service for managing node execution information
11
11
  */
@@ -33,9 +33,9 @@ export class NodeExecutionService {
33
33
  try {
34
34
  const endpointConfig = getEndpointConfig();
35
35
  if (!endpointConfig)
36
- throw new Error("Endpoint config not available");
36
+ throw new Error('Endpoint config not available');
37
37
  const url = buildEndpointUrl(endpointConfig, endpointConfig.endpoints.pipelines.get, {
38
- id: pipelineId,
38
+ id: pipelineId
39
39
  });
40
40
  const response = await fetch(url);
41
41
  if (!response.ok) {
@@ -49,24 +49,24 @@ export class NodeExecutionService {
49
49
  const nodeStatus = nodeStatuses[nodeId];
50
50
  if (!nodeJob && !nodeStatus) {
51
51
  return {
52
- status: "idle",
52
+ status: 'idle',
53
53
  executionCount: 0,
54
- isExecuting: false,
54
+ isExecuting: false
55
55
  };
56
56
  }
57
57
  const executionInfo = {
58
- status: this.mapJobStatusToExecutionStatus(nodeStatus?.status || nodeJob?.status || "idle"),
58
+ status: this.mapJobStatusToExecutionStatus(nodeStatus?.status || nodeJob?.status || 'idle'),
59
59
  executionCount: nodeJob?.execution_count || 0,
60
- isExecuting: nodeStatus?.status === "running" || nodeJob?.status === "running",
60
+ isExecuting: nodeStatus?.status === 'running' || nodeJob?.status === 'running',
61
61
  lastExecuted: nodeJob?.last_executed || nodeStatus?.last_executed,
62
62
  lastExecutionDuration: nodeJob?.execution_time || nodeStatus?.execution_time,
63
- lastError: nodeJob?.error || nodeStatus?.error,
63
+ lastError: nodeJob?.error || nodeStatus?.error
64
64
  };
65
65
  this.cache.set(nodeId, executionInfo);
66
66
  return executionInfo;
67
67
  }
68
68
  catch (error) {
69
- logger.error("Failed to fetch node execution info:", error);
69
+ logger.error('Failed to fetch node execution info:', error);
70
70
  return null;
71
71
  }
72
72
  }
@@ -82,9 +82,9 @@ export class NodeExecutionService {
82
82
  const defaultExecutionInfo = {};
83
83
  nodeIds.forEach((nodeId) => {
84
84
  defaultExecutionInfo[nodeId] = {
85
- status: "idle",
85
+ status: 'idle',
86
86
  executionCount: 0,
87
- isExecuting: false,
87
+ isExecuting: false
88
88
  };
89
89
  });
90
90
  return defaultExecutionInfo;
@@ -92,9 +92,9 @@ export class NodeExecutionService {
92
92
  try {
93
93
  const endpointConfig = getEndpointConfig();
94
94
  if (!endpointConfig)
95
- throw new Error("Endpoint config not available");
95
+ throw new Error('Endpoint config not available');
96
96
  const url = buildEndpointUrl(endpointConfig, endpointConfig.endpoints.pipelines.get, {
97
- id: pipelineId,
97
+ id: pipelineId
98
98
  });
99
99
  const response = await fetch(url);
100
100
  if (!response.ok) {
@@ -103,14 +103,13 @@ export class NodeExecutionService {
103
103
  if (response.status === 404) {
104
104
  logger.warn(`Pipeline API endpoint not available for pipeline ${pipelineId}`);
105
105
  this.apiUnavailable = true;
106
- this.apiUnavailableUntil =
107
- Date.now() + PIPELINE_API_UNAVAILABLE_DURATION_MS;
106
+ this.apiUnavailableUntil = Date.now() + PIPELINE_API_UNAVAILABLE_DURATION_MS;
108
107
  const defaultExecutionInfo = {};
109
108
  nodeIds.forEach((nodeId) => {
110
109
  defaultExecutionInfo[nodeId] = {
111
- status: "idle",
110
+ status: 'idle',
112
111
  executionCount: 0,
113
- isExecuting: false,
112
+ isExecuting: false
114
113
  };
115
114
  });
116
115
  return defaultExecutionInfo;
@@ -123,9 +122,9 @@ export class NodeExecutionService {
123
122
  // Initialize all nodes with default values
124
123
  nodeIds.forEach((nodeId) => {
125
124
  executionInfoMap[nodeId] = {
126
- status: "idle",
125
+ status: 'idle',
127
126
  executionCount: 0,
128
- isExecuting: false,
127
+ isExecuting: false
129
128
  };
130
129
  });
131
130
  // Update with actual job data
@@ -135,10 +134,10 @@ export class NodeExecutionService {
135
134
  executionInfoMap[nodeId] = {
136
135
  status: this.mapJobStatusToExecutionStatus(job.status),
137
136
  executionCount: job.execution_count || 0,
138
- isExecuting: job.status === "running",
137
+ isExecuting: job.status === 'running',
139
138
  lastExecuted: job.completed || job.started,
140
139
  lastExecutionDuration: job.execution_time,
141
- lastError: job.error_message,
140
+ lastError: job.error_message
142
141
  };
143
142
  // Update cache
144
143
  this.cache.set(nodeId, executionInfoMap[nodeId]);
@@ -147,14 +146,14 @@ export class NodeExecutionService {
147
146
  return executionInfoMap;
148
147
  }
149
148
  catch (error) {
150
- logger.error("Failed to fetch multiple node execution info:", error);
149
+ logger.error('Failed to fetch multiple node execution info:', error);
151
150
  // Return default values instead of empty object to prevent repeated calls
152
151
  const defaultExecutionInfo = {};
153
152
  nodeIds.forEach((nodeId) => {
154
153
  defaultExecutionInfo[nodeId] = {
155
- status: "idle",
154
+ status: 'idle',
156
155
  executionCount: 0,
157
- isExecuting: false,
156
+ isExecuting: false
158
157
  };
159
158
  });
160
159
  return defaultExecutionInfo;
@@ -167,8 +166,8 @@ export class NodeExecutionService {
167
166
  try {
168
167
  const endpointConfig = getEndpointConfig();
169
168
  if (!endpointConfig)
170
- throw new Error("Endpoint config not available");
171
- const url = buildEndpointUrl(endpointConfig, "/node-execution-counts");
169
+ throw new Error('Endpoint config not available');
170
+ const url = buildEndpointUrl(endpointConfig, '/node-execution-counts');
172
171
  const response = await fetch(url);
173
172
  if (!response.ok) {
174
173
  throw new Error(`HTTP error! status: ${response.status}`);
@@ -180,7 +179,7 @@ export class NodeExecutionService {
180
179
  return {};
181
180
  }
182
181
  catch (error) {
183
- logger.error("Failed to fetch all node execution counts:", error);
182
+ logger.error('Failed to fetch all node execution counts:', error);
184
183
  return {};
185
184
  }
186
185
  }
@@ -219,10 +218,10 @@ export class NodeExecutionService {
219
218
  }
220
219
  else {
221
220
  this.cache.set(nodeId, {
222
- status: "idle",
221
+ status: 'idle',
223
222
  executionCount: 0,
224
223
  isExecuting: false,
225
- ...executionInfo,
224
+ ...executionInfo
226
225
  });
227
226
  }
228
227
  }
@@ -231,20 +230,20 @@ export class NodeExecutionService {
231
230
  */
232
231
  mapJobStatusToExecutionStatus(jobStatus) {
233
232
  switch (jobStatus) {
234
- case "pending":
235
- return "pending";
236
- case "running":
237
- return "running";
238
- case "completed":
239
- return "completed";
240
- case "failed":
241
- return "failed";
242
- case "cancelled":
243
- return "cancelled";
244
- case "skipped":
245
- return "skipped";
233
+ case 'pending':
234
+ return 'pending';
235
+ case 'running':
236
+ return 'running';
237
+ case 'completed':
238
+ return 'completed';
239
+ case 'failed':
240
+ return 'failed';
241
+ case 'cancelled':
242
+ return 'cancelled';
243
+ case 'skipped':
244
+ return 'skipped';
246
245
  default:
247
- return "idle";
246
+ return 'idle';
248
247
  }
249
248
  }
250
249
  /**
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module services/playgroundService
8
8
  */
9
- import type { PlaygroundSession, PlaygroundMessage, PlaygroundMessagesApiResponse, PlaygroundSessionStatus } from "../types/playground.js";
9
+ import type { PlaygroundSession, PlaygroundMessage, PlaygroundMessagesApiResponse, PlaygroundSessionStatus } from '../types/playground.js';
10
10
  /**
11
11
  * Playground Service class
12
12
  *
@@ -6,10 +6,10 @@
6
6
  *
7
7
  * @module services/playgroundService
8
8
  */
9
- import { defaultShouldStopPolling } from "../types/playground.js";
10
- import { buildEndpointUrl, getEndpointHeaders } from "../config/endpoints.js";
11
- import { getEndpointConfig } from "./api.js";
12
- import { logger } from "../utils/logger.js";
9
+ import { defaultShouldStopPolling } from '../types/playground.js';
10
+ import { buildEndpointUrl, getEndpointHeaders } from '../config/endpoints.js';
11
+ import { getEndpointConfig } from './api.js';
12
+ import { logger } from '../utils/logger.js';
13
13
  /**
14
14
  * Default polling interval in milliseconds
15
15
  */
@@ -51,7 +51,7 @@ export class PlaygroundService {
51
51
  getConfig() {
52
52
  const config = getEndpointConfig();
53
53
  if (!config) {
54
- throw new Error("Endpoint configuration not set. Call setEndpointConfig() first.");
54
+ throw new Error('Endpoint configuration not set. Call setEndpointConfig() first.');
55
55
  }
56
56
  return config;
57
57
  }
@@ -64,13 +64,13 @@ export class PlaygroundService {
64
64
  */
65
65
  async request(url, options = {}) {
66
66
  const config = this.getConfig();
67
- const headers = getEndpointHeaders(config, "playground");
67
+ const headers = getEndpointHeaders(config, 'playground');
68
68
  const response = await fetch(url, {
69
69
  ...options,
70
70
  headers: {
71
71
  ...headers,
72
- ...options.headers,
73
- },
72
+ ...options.headers
73
+ }
74
74
  });
75
75
  if (!response.ok) {
76
76
  const errorData = await response.json().catch(() => ({}));
@@ -94,15 +94,15 @@ export class PlaygroundService {
94
94
  async listSessions(workflowId, options) {
95
95
  const config = this.getConfig();
96
96
  let url = buildEndpointUrl(config, config.endpoints.playground.listSessions, {
97
- id: workflowId,
97
+ id: workflowId
98
98
  });
99
99
  // Add query parameters
100
100
  const params = new URLSearchParams();
101
101
  if (options?.limit !== undefined) {
102
- params.append("limit", options.limit.toString());
102
+ params.append('limit', options.limit.toString());
103
103
  }
104
104
  if (options?.offset !== undefined) {
105
- params.append("offset", options.offset.toString());
105
+ params.append('offset', options.offset.toString());
106
106
  }
107
107
  const queryString = params.toString();
108
108
  if (queryString) {
@@ -122,14 +122,14 @@ export class PlaygroundService {
122
122
  async createSession(workflowId, name, metadata) {
123
123
  const config = this.getConfig();
124
124
  const url = buildEndpointUrl(config, config.endpoints.playground.createSession, {
125
- id: workflowId,
125
+ id: workflowId
126
126
  });
127
127
  const response = await this.request(url, {
128
- method: "POST",
129
- body: JSON.stringify({ name, metadata }),
128
+ method: 'POST',
129
+ body: JSON.stringify({ name, metadata })
130
130
  });
131
131
  if (!response.data) {
132
- throw new Error("Failed to create session: No data returned");
132
+ throw new Error('Failed to create session: No data returned');
133
133
  }
134
134
  return response.data;
135
135
  }
@@ -142,11 +142,11 @@ export class PlaygroundService {
142
142
  async getSession(sessionId) {
143
143
  const config = this.getConfig();
144
144
  const url = buildEndpointUrl(config, config.endpoints.playground.getSession, {
145
- sessionId,
145
+ sessionId
146
146
  });
147
147
  const response = await this.request(url);
148
148
  if (!response.data) {
149
- throw new Error("Session not found");
149
+ throw new Error('Session not found');
150
150
  }
151
151
  return response.data;
152
152
  }
@@ -158,10 +158,10 @@ export class PlaygroundService {
158
158
  async deleteSession(sessionId) {
159
159
  const config = this.getConfig();
160
160
  const url = buildEndpointUrl(config, config.endpoints.playground.deleteSession, {
161
- sessionId,
161
+ sessionId
162
162
  });
163
163
  await this.request(url, {
164
- method: "DELETE",
164
+ method: 'DELETE'
165
165
  });
166
166
  }
167
167
  // =========================================================================
@@ -178,15 +178,15 @@ export class PlaygroundService {
178
178
  async getMessages(sessionId, since, limit) {
179
179
  const config = this.getConfig();
180
180
  let url = buildEndpointUrl(config, config.endpoints.playground.getMessages, {
181
- sessionId,
181
+ sessionId
182
182
  });
183
183
  // Add query parameters
184
184
  const params = new URLSearchParams();
185
185
  if (since) {
186
- params.append("since", since);
186
+ params.append('since', since);
187
187
  }
188
188
  if (limit !== undefined) {
189
- params.append("limit", limit.toString());
189
+ params.append('limit', limit.toString());
190
190
  }
191
191
  const queryString = params.toString();
192
192
  if (queryString) {
@@ -205,18 +205,18 @@ export class PlaygroundService {
205
205
  async sendMessage(sessionId, content, inputs) {
206
206
  const config = this.getConfig();
207
207
  const url = buildEndpointUrl(config, config.endpoints.playground.sendMessage, {
208
- sessionId,
208
+ sessionId
209
209
  });
210
210
  const requestBody = { content };
211
211
  if (inputs) {
212
212
  requestBody.inputs = inputs;
213
213
  }
214
214
  const response = await this.request(url, {
215
- method: "POST",
216
- body: JSON.stringify(requestBody),
215
+ method: 'POST',
216
+ body: JSON.stringify(requestBody)
217
217
  });
218
218
  if (!response.data) {
219
- throw new Error("Failed to send message: No data returned");
219
+ throw new Error('Failed to send message: No data returned');
220
220
  }
221
221
  return response.data;
222
222
  }
@@ -228,10 +228,10 @@ export class PlaygroundService {
228
228
  async stopExecution(sessionId) {
229
229
  const config = this.getConfig();
230
230
  const url = buildEndpointUrl(config, config.endpoints.playground.stopExecution, {
231
- sessionId,
231
+ sessionId
232
232
  });
233
233
  await this.request(url, {
234
- method: "POST",
234
+ method: 'POST'
235
235
  });
236
236
  }
237
237
  // =========================================================================
@@ -274,7 +274,7 @@ export class PlaygroundService {
274
274
  }
275
275
  }
276
276
  catch (error) {
277
- logger.error("Polling error:", error);
277
+ logger.error('Polling error:', error);
278
278
  // Exponential backoff on error
279
279
  this.currentBackoff = Math.min(this.currentBackoff * 2, MAX_POLLING_BACKOFF);
280
280
  }
@@ -2,8 +2,8 @@
2
2
  * Port Configuration API Service
3
3
  * Handles fetching port configuration from the backend
4
4
  */
5
- import type { PortConfig } from "../types/index.js";
6
- import type { EndpointConfig } from "../config/endpoints.js";
5
+ import type { PortConfig } from '../types/index.js';
6
+ import type { EndpointConfig } from '../config/endpoints.js';
7
7
  /**
8
8
  * Fetch port configuration from API
9
9
  */
@@ -2,9 +2,9 @@
2
2
  * Port Configuration API Service
3
3
  * Handles fetching port configuration from the backend
4
4
  */
5
- import { buildEndpointUrl } from "../config/endpoints.js";
6
- import { DEFAULT_PORT_CONFIG } from "../config/defaultPortConfig.js";
7
- import { logger } from "../utils/logger.js";
5
+ import { buildEndpointUrl } from '../config/endpoints.js';
6
+ import { DEFAULT_PORT_CONFIG } from '../config/defaultPortConfig.js';
7
+ import { logger } from '../utils/logger.js';
8
8
  /**
9
9
  * Fetch port configuration from API
10
10
  */
@@ -12,7 +12,7 @@ export async function fetchPortConfig(endpointConfig) {
12
12
  try {
13
13
  const url = buildEndpointUrl(endpointConfig, endpointConfig.endpoints.portConfig);
14
14
  const response = await fetch(url, {
15
- headers: { "Content-Type": "application/json" },
15
+ headers: { 'Content-Type': 'application/json' }
16
16
  });
17
17
  if (!response.ok) {
18
18
  throw new Error(`HTTP ${response.status}: ${response.statusText}`);
@@ -21,13 +21,13 @@ export async function fetchPortConfig(endpointConfig) {
21
21
  const portConfig = data.data ?? data;
22
22
  // Validate the configuration has required fields
23
23
  if (!portConfig.dataTypes || !Array.isArray(portConfig.dataTypes)) {
24
- logger.warn("Invalid port config received from API, using default");
24
+ logger.warn('Invalid port config received from API, using default');
25
25
  return DEFAULT_PORT_CONFIG;
26
26
  }
27
27
  return portConfig;
28
28
  }
29
29
  catch (error) {
30
- logger.error("Error fetching port configuration:", error);
30
+ logger.error('Error fetching port configuration:', error);
31
31
  return DEFAULT_PORT_CONFIG;
32
32
  }
33
33
  }
@@ -35,13 +35,13 @@ export async function fetchPortConfig(endpointConfig) {
35
35
  * Validate port configuration structure
36
36
  */
37
37
  export function validatePortConfig(config) {
38
- if (!config || typeof config !== "object") {
38
+ if (!config || typeof config !== 'object') {
39
39
  return false;
40
40
  }
41
41
  if (!config.dataTypes || !Array.isArray(config.dataTypes)) {
42
42
  return false;
43
43
  }
44
- if (!config.defaultDataType || typeof config.defaultDataType !== "string") {
44
+ if (!config.defaultDataType || typeof config.defaultDataType !== 'string') {
45
45
  return false;
46
46
  }
47
47
  // Check that all data types have required fields
@@ -7,8 +7,8 @@
7
7
  *
8
8
  * @module services/settingsService
9
9
  */
10
- import type { FlowDropSettings, PartialSettings } from "../types/settings.js";
11
- import type { EndpointConfig } from "../config/endpoints.js";
10
+ import type { FlowDropSettings, PartialSettings } from '../types/settings.js';
11
+ import type { EndpointConfig } from '../config/endpoints.js';
12
12
  /**
13
13
  * Set the endpoint configuration for settings API calls
14
14
  *