@flowdrop/flowdrop 1.0.1 → 1.2.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 (385) hide show
  1. package/README.md +50 -50
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +25 -25
  4. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
  5. package/dist/adapters/agentspec/AgentSpecAdapter.js +133 -122
  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 +2 -2
  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 +22 -20
  18. package/dist/api/enhanced-client.d.ts +3 -3
  19. package/dist/api/enhanced-client.js +73 -72
  20. package/dist/components/App.svelte +1090 -961
  21. package/dist/components/App.svelte.d.ts +9 -6
  22. package/dist/components/CanvasBanner.stories.svelte +23 -20
  23. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  24. package/dist/components/CanvasBanner.svelte +52 -46
  25. package/dist/components/ConfigForm.svelte +1164 -1065
  26. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  27. package/dist/components/ConfigModal.svelte +180 -180
  28. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  29. package/dist/components/ConfigPanel.stories.svelte +35 -35
  30. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  31. package/dist/components/ConfigPanel.svelte +178 -167
  32. package/dist/components/ConfigPanel.svelte.d.ts +1 -1
  33. package/dist/components/ConnectionLine.svelte +25 -25
  34. package/dist/components/EdgeRefresher.svelte +26 -26
  35. package/dist/components/FlowDropEdge.stories.svelte +179 -143
  36. package/dist/components/FlowDropEdge.svelte +147 -147
  37. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  38. package/dist/components/FlowDropZone.svelte +63 -60
  39. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  40. package/dist/components/LoadingSpinner.stories.svelte +19 -19
  41. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  42. package/dist/components/LoadingSpinner.svelte +21 -21
  43. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  44. package/dist/components/Logo.stories.svelte +13 -13
  45. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  46. package/dist/components/Logo.svelte +101 -95
  47. package/dist/components/LogsSidebar.svelte +553 -546
  48. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  49. package/dist/components/MarkdownDisplay.stories.svelte +29 -23
  50. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  51. package/dist/components/MarkdownDisplay.svelte +16 -14
  52. package/dist/components/Navbar.stories.svelte +43 -38
  53. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  54. package/dist/components/Navbar.svelte +760 -706
  55. package/dist/components/Navbar.svelte.d.ts +1 -1
  56. package/dist/components/NodeSidebar.svelte +905 -746
  57. package/dist/components/NodeSidebar.svelte.d.ts +5 -1
  58. package/dist/components/NodeStatusOverlay.stories.svelte +82 -70
  59. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  60. package/dist/components/NodeStatusOverlay.svelte +295 -280
  61. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  62. package/dist/components/PipelineStatus.svelte +326 -300
  63. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  64. package/dist/components/PortCoordinateTracker.svelte +49 -47
  65. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  66. package/dist/components/ReadOnlyDetails.svelte +156 -156
  67. package/dist/components/SchemaForm.stories.svelte +106 -98
  68. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  69. package/dist/components/SchemaForm.svelte +490 -463
  70. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  71. package/dist/components/SettingsModal.svelte +226 -223
  72. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  73. package/dist/components/SettingsPanel.svelte +637 -601
  74. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  75. package/dist/components/StatusIcon.stories.svelte +62 -49
  76. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  77. package/dist/components/StatusIcon.svelte +87 -87
  78. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  79. package/dist/components/StatusLabel.stories.svelte +12 -12
  80. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  81. package/dist/components/StatusLabel.svelte +19 -19
  82. package/dist/components/ThemeToggle.stories.svelte +16 -16
  83. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  84. package/dist/components/ThemeToggle.svelte +180 -169
  85. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  86. package/dist/components/UniversalNode.svelte +150 -138
  87. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  88. package/dist/components/WorkflowEditor.svelte +1069 -1014
  89. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  90. package/dist/components/form/FormArray.svelte +1034 -973
  91. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  92. package/dist/components/form/FormAutocomplete.svelte +1021 -978
  93. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  94. package/dist/components/form/FormCheckboxGroup.stories.svelte +23 -20
  95. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  96. package/dist/components/form/FormCheckboxGroup.svelte +136 -136
  97. package/dist/components/form/FormCodeEditor.svelte +452 -434
  98. package/dist/components/form/FormField.svelte +366 -355
  99. package/dist/components/form/FormField.svelte.d.ts +2 -2
  100. package/dist/components/form/FormFieldLight.svelte +400 -384
  101. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  102. package/dist/components/form/FormFieldWrapper.stories.svelte +42 -42
  103. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  104. package/dist/components/form/FormFieldWrapper.svelte +100 -93
  105. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  106. package/dist/components/form/FormFieldset.svelte +108 -108
  107. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  108. package/dist/components/form/FormMarkdownEditor.svelte +758 -725
  109. package/dist/components/form/FormNumberField.stories.svelte +25 -25
  110. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  111. package/dist/components/form/FormNumberField.svelte +88 -88
  112. package/dist/components/form/FormRangeField.stories.svelte +20 -20
  113. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  114. package/dist/components/form/FormRangeField.svelte +234 -226
  115. package/dist/components/form/FormSelect.stories.svelte +38 -38
  116. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  117. package/dist/components/form/FormSelect.svelte +101 -101
  118. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  119. package/dist/components/form/FormTemplateEditor.svelte +847 -798
  120. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  121. package/dist/components/form/FormTextField.stories.svelte +29 -23
  122. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  123. package/dist/components/form/FormTextField.svelte +68 -68
  124. package/dist/components/form/FormTextarea.stories.svelte +28 -25
  125. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  126. package/dist/components/form/FormTextarea.svelte +74 -74
  127. package/dist/components/form/FormToggle.stories.svelte +23 -20
  128. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  129. package/dist/components/form/FormToggle.svelte +98 -98
  130. package/dist/components/form/FormUISchemaRenderer.svelte +120 -113
  131. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  132. package/dist/components/form/index.d.ts +19 -19
  133. package/dist/components/form/index.js +18 -18
  134. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  135. package/dist/components/form/templateAutocomplete.js +64 -55
  136. package/dist/components/form/types.d.ts +6 -6
  137. package/dist/components/form/types.js +9 -4
  138. package/dist/components/icons/AlertCircleIcon.svelte +11 -0
  139. package/dist/components/icons/AlertCircleIcon.svelte.d.ts +26 -0
  140. package/dist/components/icons/CogIcon.svelte +11 -0
  141. package/dist/components/icons/CogIcon.svelte.d.ts +26 -0
  142. package/dist/components/interrupt/ChoicePrompt.stories.svelte +54 -38
  143. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  144. package/dist/components/interrupt/ChoicePrompt.svelte +407 -383
  145. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  146. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +48 -48
  147. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  148. package/dist/components/interrupt/ConfirmationPrompt.svelte +280 -274
  149. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  150. package/dist/components/interrupt/FormPrompt.svelte +223 -218
  151. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  152. package/dist/components/interrupt/InterruptBubble.svelte +617 -583
  153. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  154. package/dist/components/interrupt/ReviewPrompt.stories.svelte +66 -56
  155. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  156. package/dist/components/interrupt/ReviewPrompt.svelte +861 -841
  157. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  158. package/dist/components/interrupt/TextInputPrompt.stories.svelte +38 -33
  159. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  160. package/dist/components/interrupt/TextInputPrompt.svelte +333 -328
  161. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  162. package/dist/components/interrupt/index.d.ts +5 -5
  163. package/dist/components/interrupt/index.js +5 -5
  164. package/dist/components/layouts/MainLayout.svelte +724 -691
  165. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  166. package/dist/components/nodes/GatewayNode.stories.svelte +100 -99
  167. package/dist/components/nodes/GatewayNode.svelte +605 -571
  168. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  169. package/dist/components/nodes/IdeaNode.stories.svelte +44 -43
  170. package/dist/components/nodes/IdeaNode.svelte +451 -437
  171. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  172. package/dist/components/nodes/NotesNode.stories.svelte +65 -64
  173. package/dist/components/nodes/NotesNode.svelte +380 -369
  174. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  175. package/dist/components/nodes/SimpleNode.stories.svelte +145 -144
  176. package/dist/components/nodes/SimpleNode.svelte +486 -424
  177. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  178. package/dist/components/nodes/SquareNode.stories.svelte +73 -73
  179. package/dist/components/nodes/SquareNode.svelte +439 -380
  180. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  181. package/dist/components/nodes/TerminalNode.stories.svelte +13 -13
  182. package/dist/components/nodes/TerminalNode.svelte +709 -670
  183. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  184. package/dist/components/nodes/ToolNode.stories.svelte +181 -180
  185. package/dist/components/nodes/ToolNode.svelte +505 -447
  186. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  187. package/dist/components/nodes/WorkflowNode.stories.svelte +70 -46
  188. package/dist/components/nodes/WorkflowNode.svelte +621 -551
  189. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  190. package/dist/components/playground/ChatPanel.svelte +945 -889
  191. package/dist/components/playground/ExecutionLogs.svelte +495 -472
  192. package/dist/components/playground/InputCollector.svelte +449 -428
  193. package/dist/components/playground/MessageBubble.stories.svelte +47 -47
  194. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  195. package/dist/components/playground/MessageBubble.svelte +626 -610
  196. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  197. package/dist/components/playground/Playground.svelte +1088 -1057
  198. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  199. package/dist/components/playground/PlaygroundModal.svelte +208 -204
  200. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  201. package/dist/components/playground/SessionManager.svelte +527 -521
  202. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  203. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  204. package/dist/config/agentSpecEndpoints.js +20 -20
  205. package/dist/config/constants.js +2 -2
  206. package/dist/config/defaultCategories.d.ts +1 -1
  207. package/dist/config/defaultCategories.js +86 -86
  208. package/dist/config/defaultPortConfig.d.ts +1 -1
  209. package/dist/config/defaultPortConfig.js +144 -144
  210. package/dist/config/endpoints.d.ts +4 -4
  211. package/dist/config/endpoints.js +65 -65
  212. package/dist/config/runtimeConfig.d.ts +2 -2
  213. package/dist/config/runtimeConfig.js +8 -8
  214. package/dist/core/index.d.ts +63 -59
  215. package/dist/core/index.js +35 -33
  216. package/dist/display/index.d.ts +2 -2
  217. package/dist/display/index.js +2 -2
  218. package/dist/editor/index.d.ts +62 -62
  219. package/dist/editor/index.js +53 -53
  220. package/dist/form/code.d.ts +5 -5
  221. package/dist/form/code.js +14 -14
  222. package/dist/form/fieldRegistry.d.ts +3 -3
  223. package/dist/form/fieldRegistry.js +11 -9
  224. package/dist/form/full.d.ts +8 -8
  225. package/dist/form/full.js +9 -9
  226. package/dist/form/index.d.ts +18 -18
  227. package/dist/form/index.js +16 -16
  228. package/dist/form/markdown.d.ts +4 -4
  229. package/dist/form/markdown.js +8 -8
  230. package/dist/helpers/proximityConnect.d.ts +3 -3
  231. package/dist/helpers/proximityConnect.js +34 -32
  232. package/dist/helpers/workflowEditorHelper.d.ts +5 -5
  233. package/dist/helpers/workflowEditorHelper.js +108 -96
  234. package/dist/index.d.ts +6 -6
  235. package/dist/index.js +6 -6
  236. package/dist/mocks/app-environment.js +2 -2
  237. package/dist/mocks/app-forms.js +9 -9
  238. package/dist/mocks/app-navigation.js +11 -11
  239. package/dist/mocks/app-stores.js +8 -8
  240. package/dist/playground/index.d.ts +19 -19
  241. package/dist/playground/index.js +16 -16
  242. package/dist/playground/mount.d.ts +3 -3
  243. package/dist/playground/mount.js +24 -24
  244. package/dist/registry/builtinFormats.js +13 -13
  245. package/dist/registry/builtinNodes.d.ts +2 -2
  246. package/dist/registry/builtinNodes.js +77 -77
  247. package/dist/registry/index.d.ts +4 -4
  248. package/dist/registry/index.js +4 -4
  249. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  250. package/dist/registry/nodeComponentRegistry.js +11 -9
  251. package/dist/registry/plugin.d.ts +2 -2
  252. package/dist/registry/plugin.js +11 -11
  253. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  254. package/dist/registry/workflowFormatRegistry.js +2 -2
  255. package/dist/schema/index.d.ts +1 -1
  256. package/dist/schema/index.js +2 -2
  257. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  258. package/dist/services/agentSpecExecutionService.js +59 -55
  259. package/dist/services/api.d.ts +2 -2
  260. package/dist/services/api.js +37 -37
  261. package/dist/services/apiVariableService.d.ts +1 -1
  262. package/dist/services/apiVariableService.js +41 -34
  263. package/dist/services/autoSaveService.js +8 -8
  264. package/dist/services/categoriesApi.d.ts +2 -2
  265. package/dist/services/categoriesApi.js +8 -8
  266. package/dist/services/draftStorage.d.ts +1 -1
  267. package/dist/services/draftStorage.js +11 -11
  268. package/dist/services/dynamicSchemaService.d.ts +1 -1
  269. package/dist/services/dynamicSchemaService.js +41 -39
  270. package/dist/services/globalSave.d.ts +2 -2
  271. package/dist/services/globalSave.js +41 -38
  272. package/dist/services/historyService.d.ts +1 -1
  273. package/dist/services/historyService.js +8 -8
  274. package/dist/services/interruptService.d.ts +1 -1
  275. package/dist/services/interruptService.js +35 -29
  276. package/dist/services/nodeExecutionService.d.ts +1 -1
  277. package/dist/services/nodeExecutionService.js +45 -44
  278. package/dist/services/playgroundService.d.ts +1 -1
  279. package/dist/services/playgroundService.js +29 -29
  280. package/dist/services/portConfigApi.d.ts +2 -2
  281. package/dist/services/portConfigApi.js +8 -8
  282. package/dist/services/settingsService.d.ts +2 -2
  283. package/dist/services/settingsService.js +25 -19
  284. package/dist/services/toastService.d.ts +4 -4
  285. package/dist/services/toastService.js +33 -33
  286. package/dist/services/variableService.d.ts +1 -1
  287. package/dist/services/variableService.js +36 -36
  288. package/dist/services/workflowStorage.d.ts +2 -2
  289. package/dist/services/workflowStorage.js +13 -13
  290. package/dist/settings/index.d.ts +7 -7
  291. package/dist/settings/index.js +6 -6
  292. package/dist/skins/default.d.ts +2 -0
  293. package/dist/skins/default.js +1 -0
  294. package/dist/skins/index.d.ts +13 -0
  295. package/dist/skins/index.js +30 -0
  296. package/dist/skins/slate.d.ts +2 -0
  297. package/dist/skins/slate.js +78 -0
  298. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  299. package/dist/stores/categoriesStore.svelte.js +5 -5
  300. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  301. package/dist/stores/editorStateMachine.svelte.js +65 -33
  302. package/dist/stores/historyStore.svelte.d.ts +4 -4
  303. package/dist/stores/historyStore.svelte.js +4 -4
  304. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  305. package/dist/stores/interruptStore.svelte.js +21 -21
  306. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  307. package/dist/stores/playgroundStore.svelte.js +25 -18
  308. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  309. package/dist/stores/portCoordinateStore.svelte.js +15 -8
  310. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  311. package/dist/stores/settingsStore.svelte.js +62 -57
  312. package/dist/stores/workflowStore.svelte.d.ts +3 -3
  313. package/dist/stores/workflowStore.svelte.js +50 -47
  314. package/dist/stories/CanvasDecorator.svelte +35 -32
  315. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  316. package/dist/stories/EdgeDecorator.svelte +102 -99
  317. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  318. package/dist/stories/NodeDecorator.svelte +59 -53
  319. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  320. package/dist/stories/utils.d.ts +2 -2
  321. package/dist/stories/utils.js +105 -67
  322. package/dist/styles/base.css +599 -595
  323. package/dist/styles/toast.css +14 -14
  324. package/dist/styles/tokens.css +409 -378
  325. package/dist/svelte-app.d.ts +12 -9
  326. package/dist/svelte-app.js +40 -39
  327. package/dist/themes/default.d.ts +2 -0
  328. package/dist/themes/default.js +9 -0
  329. package/dist/themes/index.d.ts +13 -0
  330. package/dist/themes/index.js +44 -0
  331. package/dist/themes/minimal.d.ts +2 -0
  332. package/dist/themes/minimal.js +11 -0
  333. package/dist/types/agentspec.d.ts +18 -18
  334. package/dist/types/agentspec.js +2 -2
  335. package/dist/types/auth.d.ts +1 -1
  336. package/dist/types/auth.js +6 -6
  337. package/dist/types/config.d.ts +6 -6
  338. package/dist/types/events.d.ts +2 -2
  339. package/dist/types/events.js +2 -2
  340. package/dist/types/index.d.ts +32 -32
  341. package/dist/types/index.js +6 -6
  342. package/dist/types/interrupt.d.ts +6 -6
  343. package/dist/types/interrupt.js +21 -21
  344. package/dist/types/interruptState.d.ts +12 -12
  345. package/dist/types/interruptState.js +66 -66
  346. package/dist/types/playground.d.ts +7 -7
  347. package/dist/types/playground.js +14 -14
  348. package/dist/types/settings.d.ts +5 -3
  349. package/dist/types/settings.js +25 -18
  350. package/dist/types/skin.d.ts +31 -0
  351. package/dist/types/skin.js +1 -0
  352. package/dist/types/theme.d.ts +35 -0
  353. package/dist/types/theme.js +1 -0
  354. package/dist/types/uischema.d.ts +4 -4
  355. package/dist/types/uischema.js +3 -3
  356. package/dist/utils/colors.d.ts +1 -1
  357. package/dist/utils/colors.js +97 -95
  358. package/dist/utils/config.d.ts +2 -2
  359. package/dist/utils/config.js +48 -48
  360. package/dist/utils/connections.d.ts +2 -2
  361. package/dist/utils/connections.js +15 -15
  362. package/dist/utils/errors.js +3 -3
  363. package/dist/utils/fetchWithAuth.d.ts +1 -1
  364. package/dist/utils/fetchWithAuth.js +2 -2
  365. package/dist/utils/handleIds.d.ts +2 -2
  366. package/dist/utils/handleIds.js +8 -8
  367. package/dist/utils/handlePositioning.d.ts +1 -1
  368. package/dist/utils/handlePositioning.js +2 -2
  369. package/dist/utils/icons.d.ts +1 -1
  370. package/dist/utils/icons.js +74 -74
  371. package/dist/utils/logger.d.ts +1 -1
  372. package/dist/utils/logger.js +7 -7
  373. package/dist/utils/nodeStatus.d.ts +1 -1
  374. package/dist/utils/nodeStatus.js +48 -48
  375. package/dist/utils/nodeTypes.d.ts +1 -1
  376. package/dist/utils/nodeTypes.js +21 -20
  377. package/dist/utils/nodeWrapper.d.ts +7 -7
  378. package/dist/utils/nodeWrapper.js +21 -19
  379. package/dist/utils/performanceUtils.d.ts +1 -1
  380. package/dist/utils/performanceUtils.js +2 -1
  381. package/dist/utils/sanitize.js +1 -1
  382. package/dist/utils/uischema.d.ts +2 -2
  383. package/dist/utils/uischema.js +8 -8
  384. package/dist/utils/validation.js +20 -8
  385. package/package.json +1 -1
@@ -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,7 +29,8 @@ export class InterruptService {
29
29
  */
30
30
  constructor() {
31
31
  this.pollingConfig = { ...defaultInterruptPollingConfig };
32
- this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
32
+ this.currentBackoff =
33
+ this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
33
34
  }
34
35
  /**
35
36
  * Get the singleton instance of InterruptService
@@ -49,7 +50,8 @@ export class InterruptService {
49
50
  */
50
51
  setPollingConfig(config) {
51
52
  this.pollingConfig = { ...this.pollingConfig, ...config };
52
- this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
53
+ this.currentBackoff =
54
+ this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
53
55
  }
54
56
  /**
55
57
  * Get the current polling configuration
@@ -77,10 +79,10 @@ export class InterruptService {
77
79
  getConfig() {
78
80
  const config = getEndpointConfig();
79
81
  if (!config) {
80
- throw new Error('Endpoint configuration not set. Call setEndpointConfig() first.');
82
+ throw new Error("Endpoint configuration not set. Call setEndpointConfig() first.");
81
83
  }
82
84
  if (!config.endpoints.interrupts) {
83
- throw new Error('Interrupt endpoints not configured.');
85
+ throw new Error("Interrupt endpoints not configured.");
84
86
  }
85
87
  return config;
86
88
  }
@@ -93,13 +95,13 @@ export class InterruptService {
93
95
  */
94
96
  async request(url, options = {}) {
95
97
  const config = this.getConfig();
96
- const headers = getEndpointHeaders(config, 'interrupts');
98
+ const headers = getEndpointHeaders(config, "interrupts");
97
99
  const response = await fetch(url, {
98
100
  ...options,
99
101
  headers: {
100
102
  ...headers,
101
- ...options.headers
102
- }
103
+ ...options.headers,
104
+ },
103
105
  });
104
106
  if (!response.ok) {
105
107
  const errorData = await response.json().catch(() => ({}));
@@ -122,11 +124,11 @@ export class InterruptService {
122
124
  async getInterrupt(interruptId) {
123
125
  const config = this.getConfig();
124
126
  const url = buildEndpointUrl(config, config.endpoints.interrupts.get, {
125
- interruptId
127
+ interruptId,
126
128
  });
127
129
  const response = await this.request(url);
128
130
  if (!response.data) {
129
- throw new Error('Interrupt not found');
131
+ throw new Error("Interrupt not found");
130
132
  }
131
133
  return response.data;
132
134
  }
@@ -140,15 +142,15 @@ export class InterruptService {
140
142
  async resolveInterrupt(interruptId, value) {
141
143
  const config = this.getConfig();
142
144
  const url = buildEndpointUrl(config, config.endpoints.interrupts.resolve, {
143
- interruptId
145
+ interruptId,
144
146
  });
145
147
  const resolution = { value };
146
148
  const response = await this.request(url, {
147
- method: 'POST',
148
- body: JSON.stringify(resolution)
149
+ method: "POST",
150
+ body: JSON.stringify(resolution),
149
151
  });
150
152
  if (!response.data) {
151
- throw new Error('Failed to resolve interrupt: No data returned');
153
+ throw new Error("Failed to resolve interrupt: No data returned");
152
154
  }
153
155
  return response.data;
154
156
  }
@@ -161,13 +163,13 @@ export class InterruptService {
161
163
  async cancelInterrupt(interruptId) {
162
164
  const config = this.getConfig();
163
165
  const url = buildEndpointUrl(config, config.endpoints.interrupts.cancel, {
164
- interruptId
166
+ interruptId,
165
167
  });
166
168
  const response = await this.request(url, {
167
- method: 'POST'
169
+ method: "POST",
168
170
  });
169
171
  if (!response.data) {
170
- throw new Error('Failed to cancel interrupt: No data returned');
172
+ throw new Error("Failed to cancel interrupt: No data returned");
171
173
  }
172
174
  return response.data;
173
175
  }
@@ -180,7 +182,7 @@ export class InterruptService {
180
182
  async listSessionInterrupts(sessionId) {
181
183
  const config = this.getConfig();
182
184
  const url = buildEndpointUrl(config, config.endpoints.interrupts.listBySession, {
183
- sessionId
185
+ sessionId,
184
186
  });
185
187
  const response = await this.request(url);
186
188
  return response.data ?? [];
@@ -194,7 +196,7 @@ export class InterruptService {
194
196
  async listPipelineInterrupts(pipelineId) {
195
197
  const config = this.getConfig();
196
198
  const url = buildEndpointUrl(config, config.endpoints.interrupts.listByPipeline, {
197
- pipelineId
199
+ pipelineId,
198
200
  });
199
201
  const response = await this.request(url);
200
202
  return response.data ?? [];
@@ -213,29 +215,32 @@ export class InterruptService {
213
215
  */
214
216
  startPolling(sessionId, callback) {
215
217
  if (!this.pollingConfig.enabled) {
216
- logger.warn('[InterruptService] Polling is disabled. Enable via setPollingConfig().');
218
+ logger.warn("[InterruptService] Polling is disabled. Enable via setPollingConfig().");
217
219
  return;
218
220
  }
219
221
  // Stop any existing polling
220
222
  this.stopPolling();
221
223
  this.pollingSessionId = sessionId;
222
- this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
224
+ this.currentBackoff =
225
+ this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
223
226
  const poll = async () => {
224
227
  if (this.pollingSessionId !== sessionId) {
225
228
  return;
226
229
  }
227
230
  try {
228
231
  const interrupts = await this.listSessionInterrupts(sessionId);
229
- const pendingInterrupts = interrupts.filter((i) => i.status === 'pending');
232
+ const pendingInterrupts = interrupts.filter((i) => i.status === "pending");
230
233
  // Reset backoff on successful request
231
- this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
234
+ this.currentBackoff =
235
+ this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
232
236
  // Call the callback with pending interrupts
233
237
  callback(pendingInterrupts);
234
238
  }
235
239
  catch (error) {
236
- logger.error('[InterruptService] Polling error:', error);
240
+ logger.error("[InterruptService] Polling error:", error);
237
241
  // Exponential backoff on error
238
- const maxBackoff = this.pollingConfig.maxBackoff ?? defaultInterruptPollingConfig.maxBackoff;
242
+ const maxBackoff = this.pollingConfig.maxBackoff ??
243
+ defaultInterruptPollingConfig.maxBackoff;
239
244
  this.currentBackoff = Math.min(this.currentBackoff * 2, maxBackoff);
240
245
  }
241
246
  // Schedule next poll
@@ -255,7 +260,8 @@ export class InterruptService {
255
260
  this.pollingInterval = null;
256
261
  }
257
262
  this.pollingSessionId = null;
258
- this.currentBackoff = this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
263
+ this.currentBackoff =
264
+ this.pollingConfig.interval ?? defaultInterruptPollingConfig.interval;
259
265
  }
260
266
  /**
261
267
  * 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,13 +103,14 @@ 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 = Date.now() + PIPELINE_API_UNAVAILABLE_DURATION_MS;
106
+ this.apiUnavailableUntil =
107
+ Date.now() + PIPELINE_API_UNAVAILABLE_DURATION_MS;
107
108
  const defaultExecutionInfo = {};
108
109
  nodeIds.forEach((nodeId) => {
109
110
  defaultExecutionInfo[nodeId] = {
110
- status: 'idle',
111
+ status: "idle",
111
112
  executionCount: 0,
112
- isExecuting: false
113
+ isExecuting: false,
113
114
  };
114
115
  });
115
116
  return defaultExecutionInfo;
@@ -122,9 +123,9 @@ export class NodeExecutionService {
122
123
  // Initialize all nodes with default values
123
124
  nodeIds.forEach((nodeId) => {
124
125
  executionInfoMap[nodeId] = {
125
- status: 'idle',
126
+ status: "idle",
126
127
  executionCount: 0,
127
- isExecuting: false
128
+ isExecuting: false,
128
129
  };
129
130
  });
130
131
  // Update with actual job data
@@ -134,10 +135,10 @@ export class NodeExecutionService {
134
135
  executionInfoMap[nodeId] = {
135
136
  status: this.mapJobStatusToExecutionStatus(job.status),
136
137
  executionCount: job.execution_count || 0,
137
- isExecuting: job.status === 'running',
138
+ isExecuting: job.status === "running",
138
139
  lastExecuted: job.completed || job.started,
139
140
  lastExecutionDuration: job.execution_time,
140
- lastError: job.error_message
141
+ lastError: job.error_message,
141
142
  };
142
143
  // Update cache
143
144
  this.cache.set(nodeId, executionInfoMap[nodeId]);
@@ -146,14 +147,14 @@ export class NodeExecutionService {
146
147
  return executionInfoMap;
147
148
  }
148
149
  catch (error) {
149
- logger.error('Failed to fetch multiple node execution info:', error);
150
+ logger.error("Failed to fetch multiple node execution info:", error);
150
151
  // Return default values instead of empty object to prevent repeated calls
151
152
  const defaultExecutionInfo = {};
152
153
  nodeIds.forEach((nodeId) => {
153
154
  defaultExecutionInfo[nodeId] = {
154
- status: 'idle',
155
+ status: "idle",
155
156
  executionCount: 0,
156
- isExecuting: false
157
+ isExecuting: false,
157
158
  };
158
159
  });
159
160
  return defaultExecutionInfo;
@@ -166,8 +167,8 @@ export class NodeExecutionService {
166
167
  try {
167
168
  const endpointConfig = getEndpointConfig();
168
169
  if (!endpointConfig)
169
- throw new Error('Endpoint config not available');
170
- const url = buildEndpointUrl(endpointConfig, '/node-execution-counts');
170
+ throw new Error("Endpoint config not available");
171
+ const url = buildEndpointUrl(endpointConfig, "/node-execution-counts");
171
172
  const response = await fetch(url);
172
173
  if (!response.ok) {
173
174
  throw new Error(`HTTP error! status: ${response.status}`);
@@ -179,7 +180,7 @@ export class NodeExecutionService {
179
180
  return {};
180
181
  }
181
182
  catch (error) {
182
- logger.error('Failed to fetch all node execution counts:', error);
183
+ logger.error("Failed to fetch all node execution counts:", error);
183
184
  return {};
184
185
  }
185
186
  }
@@ -218,10 +219,10 @@ export class NodeExecutionService {
218
219
  }
219
220
  else {
220
221
  this.cache.set(nodeId, {
221
- status: 'idle',
222
+ status: "idle",
222
223
  executionCount: 0,
223
224
  isExecuting: false,
224
- ...executionInfo
225
+ ...executionInfo,
225
226
  });
226
227
  }
227
228
  }
@@ -230,20 +231,20 @@ export class NodeExecutionService {
230
231
  */
231
232
  mapJobStatusToExecutionStatus(jobStatus) {
232
233
  switch (jobStatus) {
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';
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";
245
246
  default:
246
- return 'idle';
247
+ return "idle";
247
248
  }
248
249
  }
249
250
  /**
@@ -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
  *