@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
@@ -25,13 +25,13 @@
25
25
  * if (!result.valid) console.error(result.errors);
26
26
  * ```
27
27
  */
28
- export { AgentSpecAdapter } from './AgentSpecAdapter.js';
29
- export { AgentSpecAgentAdapter } from './agentAdapter.js';
30
- export type { AgentConfig, AgentSpecImportResult } from './agentAdapter.js';
31
- export { getAgentSpecNodeMetadata, getDefaultAgentSpecNodeTypes, createAgentSpecNodeMetadata } from './defaultNodeTypes.js';
32
- export { getComponentTypeDefaults, extractComponentType, isAgentSpecNodeId, AGENTSPEC_NAMESPACE } from './componentTypeDefaults.js';
33
- export type { ComponentTypeDefaults } from './componentTypeDefaults.js';
34
- export { validateForAgentSpecExport, validateAgentSpecFlow } from './validator.js';
35
- export type { AgentSpecValidationResult } from './validator.js';
36
- export { computeAutoLayout } from './autoLayout.js';
37
- export type { AutoLayoutConfig } from './autoLayout.js';
28
+ export { AgentSpecAdapter } from "./AgentSpecAdapter.js";
29
+ export { AgentSpecAgentAdapter } from "./agentAdapter.js";
30
+ export type { AgentConfig, AgentSpecImportResult } from "./agentAdapter.js";
31
+ export { getAgentSpecNodeMetadata, getDefaultAgentSpecNodeTypes, createAgentSpecNodeMetadata, } from "./defaultNodeTypes.js";
32
+ export { getComponentTypeDefaults, extractComponentType, isAgentSpecNodeId, AGENTSPEC_NAMESPACE, } from "./componentTypeDefaults.js";
33
+ export type { ComponentTypeDefaults } from "./componentTypeDefaults.js";
34
+ export { validateForAgentSpecExport, validateAgentSpecFlow, } from "./validator.js";
35
+ export type { AgentSpecValidationResult } from "./validator.js";
36
+ export { computeAutoLayout } from "./autoLayout.js";
37
+ export type { AutoLayoutConfig } from "./autoLayout.js";
@@ -26,14 +26,14 @@
26
26
  * ```
27
27
  */
28
28
  // Core adapter
29
- export { AgentSpecAdapter } from './AgentSpecAdapter.js';
29
+ export { AgentSpecAdapter } from "./AgentSpecAdapter.js";
30
30
  // Agent-level adapter (wraps flow with agent/tools/LLM config)
31
- export { AgentSpecAgentAdapter } from './agentAdapter.js';
31
+ export { AgentSpecAgentAdapter } from "./agentAdapter.js";
32
32
  // Default node types (optional starter templates — users can provide their own)
33
- export { getAgentSpecNodeMetadata, getDefaultAgentSpecNodeTypes, createAgentSpecNodeMetadata } from './defaultNodeTypes.js';
33
+ export { getAgentSpecNodeMetadata, getDefaultAgentSpecNodeTypes, createAgentSpecNodeMetadata, } from "./defaultNodeTypes.js";
34
34
  // Component type defaults (adapter infrastructure)
35
- export { getComponentTypeDefaults, extractComponentType, isAgentSpecNodeId, AGENTSPEC_NAMESPACE } from './componentTypeDefaults.js';
35
+ export { getComponentTypeDefaults, extractComponentType, isAgentSpecNodeId, AGENTSPEC_NAMESPACE, } from "./componentTypeDefaults.js";
36
36
  // Validation
37
- export { validateForAgentSpecExport, validateAgentSpecFlow } from './validator.js';
37
+ export { validateForAgentSpecExport, validateAgentSpecFlow, } from "./validator.js";
38
38
  // Auto-layout
39
- export { computeAutoLayout } from './autoLayout.js';
39
+ export { computeAutoLayout } from "./autoLayout.js";
@@ -4,8 +4,8 @@
4
4
  * Validates workflows against Agent Spec constraints for export,
5
5
  * and validates imported Agent Spec documents for correctness.
6
6
  */
7
- import type { AgentSpecFlow } from '../../types/agentspec.js';
8
- import type { StandardWorkflow } from '../WorkflowAdapter.js';
7
+ import type { AgentSpecFlow } from "../../types/agentspec.js";
8
+ import type { StandardWorkflow } from "../WorkflowAdapter.js";
9
9
  /** Validation result */
10
10
  export interface AgentSpecValidationResult {
11
11
  valid: boolean;
@@ -16,36 +16,38 @@ export function validateForAgentSpecExport(workflow) {
16
16
  const errors = [];
17
17
  const warnings = [];
18
18
  if (workflow.nodes.length === 0) {
19
- errors.push('Workflow has no nodes');
19
+ errors.push("Workflow has no nodes");
20
20
  return { valid: false, errors, warnings };
21
21
  }
22
22
  // Check for start nodes
23
23
  const startNodes = workflow.nodes.filter((n) => {
24
- const ext = n.data.metadata.extensions?.['agentspec:component_type'];
25
- if (ext === 'start_node')
24
+ const ext = n.data.metadata.extensions?.["agentspec:component_type"];
25
+ if (ext === "start_node")
26
26
  return true;
27
- return n.data.metadata.type === 'terminal' && n.data.metadata.category === 'triggers';
27
+ return (n.data.metadata.type === "terminal" &&
28
+ n.data.metadata.category === "triggers");
28
29
  });
29
30
  if (startNodes.length === 0) {
30
- errors.push('Agent Spec requires exactly one StartNode. No start node found (terminal node with triggers category).');
31
+ errors.push("Agent Spec requires exactly one StartNode. No start node found (terminal node with triggers category).");
31
32
  }
32
33
  else if (startNodes.length > 1) {
33
- errors.push(`Agent Spec requires exactly one StartNode. Found ${startNodes.length}: ${startNodes.map((n) => n.id).join(', ')}`);
34
+ errors.push(`Agent Spec requires exactly one StartNode. Found ${startNodes.length}: ${startNodes.map((n) => n.id).join(", ")}`);
34
35
  }
35
36
  // Check for end nodes
36
37
  const endNodes = workflow.nodes.filter((n) => {
37
- const ext = n.data.metadata.extensions?.['agentspec:component_type'];
38
- if (ext === 'end_node')
38
+ const ext = n.data.metadata.extensions?.["agentspec:component_type"];
39
+ if (ext === "end_node")
39
40
  return true;
40
- return n.data.metadata.type === 'terminal' && n.data.metadata.category === 'outputs';
41
+ return (n.data.metadata.type === "terminal" &&
42
+ n.data.metadata.category === "outputs");
41
43
  });
42
44
  if (endNodes.length === 0) {
43
- errors.push('Agent Spec requires at least one EndNode. No end node found (terminal node with outputs category).');
45
+ errors.push("Agent Spec requires at least one EndNode. No end node found (terminal node with outputs category).");
44
46
  }
45
47
  // Check gateway nodes have branches
46
48
  const gatewayNodes = workflow.nodes.filter((n) => {
47
- const ext = n.data.metadata.extensions?.['agentspec:component_type'];
48
- return ext === 'branching_node' || n.data.metadata.type === 'gateway';
49
+ const ext = n.data.metadata.extensions?.["agentspec:component_type"];
50
+ return ext === "branching_node" || n.data.metadata.type === "gateway";
49
51
  });
50
52
  for (const gw of gatewayNodes) {
51
53
  const branches = gw.data.config?.branches;
@@ -61,7 +63,7 @@ export function validateForAgentSpecExport(workflow) {
61
63
  }
62
64
  const disconnected = workflow.nodes.filter((n) => !connectedNodes.has(n.id));
63
65
  if (disconnected.length > 0) {
64
- warnings.push(`${disconnected.length} node(s) are not connected to any edges: ${disconnected.map((n) => n.data.label || n.id).join(', ')}`);
66
+ warnings.push(`${disconnected.length} node(s) are not connected to any edges: ${disconnected.map((n) => n.data.label || n.id).join(", ")}`);
65
67
  }
66
68
  return { valid: errors.length === 0, errors, warnings };
67
69
  }
@@ -79,27 +81,27 @@ export function validateAgentSpecFlow(flow) {
79
81
  const errors = [];
80
82
  const warnings = [];
81
83
  if (!flow.nodes || flow.nodes.length === 0) {
82
- errors.push('Flow has no nodes');
84
+ errors.push("Flow has no nodes");
83
85
  return { valid: false, errors, warnings };
84
86
  }
85
87
  // Build node name set
86
88
  const nodeNames = new Set(flow.nodes.map((n) => n.name));
87
89
  // Check start_node exists
88
90
  if (!flow.start_node) {
89
- errors.push('Flow is missing start_node reference');
91
+ errors.push("Flow is missing start_node reference");
90
92
  }
91
93
  else if (!nodeNames.has(flow.start_node)) {
92
94
  errors.push(`start_node "${flow.start_node}" does not match any node name`);
93
95
  }
94
96
  // Check start_node is actually a start_node type
95
97
  const startNode = flow.nodes.find((n) => n.name === flow.start_node);
96
- if (startNode && startNode.component_type !== 'start_node') {
98
+ if (startNode && startNode.component_type !== "start_node") {
97
99
  warnings.push(`start_node "${flow.start_node}" has component_type "${startNode.component_type}" instead of "start_node"`);
98
100
  }
99
101
  // Check for end nodes
100
- const endNodes = flow.nodes.filter((n) => n.component_type === 'end_node');
102
+ const endNodes = flow.nodes.filter((n) => n.component_type === "end_node");
101
103
  if (endNodes.length === 0) {
102
- warnings.push('Flow has no EndNode. Consider adding one for clarity.');
104
+ warnings.push("Flow has no EndNode. Consider adding one for clarity.");
103
105
  }
104
106
  // Check for duplicate node names
105
107
  const nameCount = new Map();
@@ -122,7 +124,7 @@ export function validateAgentSpecFlow(flow) {
122
124
  // Validate from_branch references
123
125
  if (edge.from_branch) {
124
126
  const fromNode = flow.nodes.find((n) => n.name === edge.from_node);
125
- if (fromNode && fromNode.component_type === 'branching_node') {
127
+ if (fromNode && fromNode.component_type === "branching_node") {
126
128
  const branchingNode = fromNode;
127
129
  if (!branchingNode.branches?.some((b) => b.name === edge.from_branch)) {
128
130
  errors.push(`Control flow edge "${edge.name}" references branch "${edge.from_branch}" which doesn't exist on node "${edge.from_node}"`);
@@ -158,7 +160,7 @@ export function validateAgentSpecFlow(flow) {
158
160
  }
159
161
  // Validate branching nodes have branches
160
162
  for (const node of flow.nodes) {
161
- if (node.component_type === 'branching_node') {
163
+ if (node.component_type === "branching_node") {
162
164
  const bn = node;
163
165
  if (!bn.branches || bn.branches.length === 0) {
164
166
  warnings.push(`BranchingNode "${node.name}" has no branches defined`);
@@ -5,9 +5,9 @@
5
5
  *
6
6
  * @module api/enhanced-client
7
7
  */
8
- import type { NodeMetadata, Workflow, ExecutionResult } from '../types/index.js';
9
- import type { EndpointConfig } from '../config/endpoints.js';
10
- import type { AuthProvider } from '../types/auth.js';
8
+ import type { NodeMetadata, Workflow, ExecutionResult } from "../types/index.js";
9
+ import type { EndpointConfig } from "../config/endpoints.js";
10
+ import type { AuthProvider } from "../types/auth.js";
11
11
  /**
12
12
  * API error with additional context
13
13
  */
@@ -5,11 +5,11 @@
5
5
  *
6
6
  * @module api/enhanced-client
7
7
  */
8
- import { buildEndpointUrl, getEndpointMethod, getEndpointHeaders } from '../config/endpoints.js';
9
- import { NoAuthProvider } from '../types/auth.js';
10
- import { getApiSettings } from '../stores/settingsStore.svelte.js';
11
- import { logger } from '../utils/logger.js';
12
- import { DEFAULT_API_TIMEOUT_MS } from '../config/constants.js';
8
+ import { buildEndpointUrl, getEndpointMethod, getEndpointHeaders, } from "../config/endpoints.js";
9
+ import { NoAuthProvider } from "../types/auth.js";
10
+ import { getApiSettings } from "../stores/settingsStore.svelte.js";
11
+ import { logger } from "../utils/logger.js";
12
+ import { DEFAULT_API_TIMEOUT_MS } from "../config/constants.js";
13
13
  /**
14
14
  * API error with additional context
15
15
  */
@@ -22,7 +22,7 @@ export class ApiError extends Error {
22
22
  operation;
23
23
  constructor(message, status, operation, errorData = {}) {
24
24
  super(message);
25
- this.name = 'ApiError';
25
+ this.name = "ApiError";
26
26
  this.status = status;
27
27
  this.operation = operation;
28
28
  this.errorData = errorData;
@@ -67,7 +67,7 @@ export class EnhancedFlowDropApiClient {
67
67
  * @param options - Additional fetch options
68
68
  * @param operation - Description of the operation (for error messages)
69
69
  */
70
- async request(endpointKey, endpointPath, params, options = {}, operation = 'API request') {
70
+ async request(endpointKey, endpointPath, params, options = {}, operation = "API request") {
71
71
  const url = buildEndpointUrl(this.config, endpointPath, params);
72
72
  const method = options.method ?? getEndpointMethod(this.config, endpointKey);
73
73
  const configHeaders = getEndpointHeaders(this.config, endpointKey);
@@ -79,7 +79,7 @@ export class EnhancedFlowDropApiClient {
79
79
  const headers = {
80
80
  ...configHeaders,
81
81
  ...authHeaders,
82
- ...options.headers
82
+ ...options.headers,
83
83
  };
84
84
  // Create AbortController for timeout
85
85
  const controller = new AbortController();
@@ -89,7 +89,7 @@ export class EnhancedFlowDropApiClient {
89
89
  method,
90
90
  headers,
91
91
  signal: controller.signal,
92
- ...options
92
+ ...options,
93
93
  };
94
94
  let lastError = null;
95
95
  // Determine retry settings: user settings override config
@@ -112,24 +112,25 @@ export class EnhancedFlowDropApiClient {
112
112
  fetchConfig.headers = {
113
113
  ...configHeaders,
114
114
  ...newAuthHeaders,
115
- ...options.headers
115
+ ...options.headers,
116
116
  };
117
117
  continue; // Retry with new headers
118
118
  }
119
119
  }
120
- throw new ApiError('Unauthorized', 401, operation, {});
120
+ throw new ApiError("Unauthorized", 401, operation, {});
121
121
  }
122
122
  // Handle 403 Forbidden
123
123
  if (response.status === 403) {
124
124
  if (this.authProvider.onForbidden) {
125
125
  await this.authProvider.onForbidden();
126
126
  }
127
- throw new ApiError('Forbidden', 403, operation, {});
127
+ throw new ApiError("Forbidden", 403, operation, {});
128
128
  }
129
129
  // Handle other errors
130
130
  if (!response.ok) {
131
131
  const errorData = await response.json().catch(() => ({}));
132
- throw new ApiError(errorData.error ?? `HTTP ${response.status}: ${response.statusText}`, response.status, operation, errorData);
132
+ throw new ApiError(errorData.error ??
133
+ `HTTP ${response.status}: ${response.statusText}`, response.status, operation, errorData);
133
134
  }
134
135
  const data = await response.json();
135
136
  return data;
@@ -138,9 +139,9 @@ export class EnhancedFlowDropApiClient {
138
139
  // Clear timeout on error
139
140
  clearTimeout(timeoutId);
140
141
  // Handle abort (timeout)
141
- if (error instanceof Error && error.name === 'AbortError') {
142
+ if (error instanceof Error && error.name === "AbortError") {
142
143
  lastError = new ApiError(`Request timeout after ${timeoutMs}ms`, 0, operation, {
143
- timeout: true
144
+ timeout: true,
144
145
  });
145
146
  // Don't retry on timeout - it's a client-side timeout
146
147
  logger.error(`API request timed out after ${timeoutMs}ms:`, lastError);
@@ -162,7 +163,7 @@ export class EnhancedFlowDropApiClient {
162
163
  }
163
164
  // Wait before retry with exponential backoff
164
165
  const baseDelay = this.config.retry?.delay ?? 1000;
165
- const backoffDelay = this.config.retry?.backoff === 'exponential'
166
+ const backoffDelay = this.config.retry?.backoff === "exponential"
166
167
  ? baseDelay * Math.pow(2, attempt - 1)
167
168
  : baseDelay;
168
169
  await new Promise((resolve) => setTimeout(resolve, backoffDelay));
@@ -197,9 +198,9 @@ export class EnhancedFlowDropApiClient {
197
198
  * Fetch all available node types
198
199
  */
199
200
  async getAvailableNodes() {
200
- const response = await this.request('nodes.list', this.config.endpoints.nodes.list, undefined, {}, 'fetch available nodes');
201
+ const response = await this.request("nodes.list", this.config.endpoints.nodes.list, undefined, {}, "fetch available nodes");
201
202
  if (!response.success || !response.data) {
202
- throw new Error(response.error ?? 'Failed to fetch available nodes');
203
+ throw new Error(response.error ?? "Failed to fetch available nodes");
203
204
  }
204
205
  return response.data;
205
206
  }
@@ -207,9 +208,9 @@ export class EnhancedFlowDropApiClient {
207
208
  * Fetch nodes filtered by category
208
209
  */
209
210
  async getNodesByCategory(category) {
210
- const response = await this.request('nodes.byCategory', this.config.endpoints.nodes.byCategory, { category }, {}, 'fetch nodes by category');
211
+ const response = await this.request("nodes.byCategory", this.config.endpoints.nodes.byCategory, { category }, {}, "fetch nodes by category");
211
212
  if (!response.success || !response.data) {
212
- throw new Error(response.error ?? 'Failed to fetch nodes by category');
213
+ throw new Error(response.error ?? "Failed to fetch nodes by category");
213
214
  }
214
215
  return response.data;
215
216
  }
@@ -217,9 +218,9 @@ export class EnhancedFlowDropApiClient {
217
218
  * Fetch metadata for a specific node type
218
219
  */
219
220
  async getNodeMetadata(nodeId) {
220
- const response = await this.request('nodes.metadata', this.config.endpoints.nodes.metadata, { id: nodeId }, {}, 'fetch node metadata');
221
+ const response = await this.request("nodes.metadata", this.config.endpoints.nodes.metadata, { id: nodeId }, {}, "fetch node metadata");
221
222
  if (!response.success || !response.data) {
222
- throw new Error(response.error ?? 'Failed to fetch node metadata');
223
+ throw new Error(response.error ?? "Failed to fetch node metadata");
223
224
  }
224
225
  return response.data;
225
226
  }
@@ -230,12 +231,12 @@ export class EnhancedFlowDropApiClient {
230
231
  * Save a new workflow
231
232
  */
232
233
  async saveWorkflow(workflow) {
233
- const response = await this.request('workflows.create', this.config.endpoints.workflows.create, undefined, {
234
- method: 'POST',
235
- body: JSON.stringify(workflow)
236
- }, 'save workflow');
234
+ const response = await this.request("workflows.create", this.config.endpoints.workflows.create, undefined, {
235
+ method: "POST",
236
+ body: JSON.stringify(workflow),
237
+ }, "save workflow");
237
238
  if (!response.success || !response.data) {
238
- throw new Error(response.error ?? 'Failed to save workflow');
239
+ throw new Error(response.error ?? "Failed to save workflow");
239
240
  }
240
241
  return response.data;
241
242
  }
@@ -243,12 +244,12 @@ export class EnhancedFlowDropApiClient {
243
244
  * Update an existing workflow
244
245
  */
245
246
  async updateWorkflow(workflowId, workflow) {
246
- const response = await this.request('workflows.update', this.config.endpoints.workflows.update, { id: workflowId }, {
247
- method: 'PUT',
248
- body: JSON.stringify(workflow)
249
- }, 'update workflow');
247
+ const response = await this.request("workflows.update", this.config.endpoints.workflows.update, { id: workflowId }, {
248
+ method: "PUT",
249
+ body: JSON.stringify(workflow),
250
+ }, "update workflow");
250
251
  if (!response.success || !response.data) {
251
- throw new Error(response.error ?? 'Failed to update workflow');
252
+ throw new Error(response.error ?? "Failed to update workflow");
252
253
  }
253
254
  return response.data;
254
255
  }
@@ -256,9 +257,9 @@ export class EnhancedFlowDropApiClient {
256
257
  * Load a workflow by ID
257
258
  */
258
259
  async loadWorkflow(workflowId) {
259
- const response = await this.request('workflows.get', this.config.endpoints.workflows.get, { id: workflowId }, {}, 'load workflow');
260
+ const response = await this.request("workflows.get", this.config.endpoints.workflows.get, { id: workflowId }, {}, "load workflow");
260
261
  if (!response.success || !response.data) {
261
- throw new Error(response.error ?? 'Failed to load workflow');
262
+ throw new Error(response.error ?? "Failed to load workflow");
262
263
  }
263
264
  return response.data;
264
265
  }
@@ -266,9 +267,9 @@ export class EnhancedFlowDropApiClient {
266
267
  * List all workflows
267
268
  */
268
269
  async listWorkflows() {
269
- const response = await this.request('workflows.list', this.config.endpoints.workflows.list, undefined, {}, 'list workflows');
270
+ const response = await this.request("workflows.list", this.config.endpoints.workflows.list, undefined, {}, "list workflows");
270
271
  if (!response.success || !response.data) {
271
- throw new Error(response.error ?? 'Failed to list workflows');
272
+ throw new Error(response.error ?? "Failed to list workflows");
272
273
  }
273
274
  return response.data;
274
275
  }
@@ -276,21 +277,21 @@ export class EnhancedFlowDropApiClient {
276
277
  * Delete a workflow
277
278
  */
278
279
  async deleteWorkflow(workflowId) {
279
- const response = await this.request('workflows.delete', this.config.endpoints.workflows.delete, { id: workflowId }, { method: 'DELETE' }, 'delete workflow');
280
+ const response = await this.request("workflows.delete", this.config.endpoints.workflows.delete, { id: workflowId }, { method: "DELETE" }, "delete workflow");
280
281
  if (!response.success) {
281
- throw new Error(response.error ?? 'Failed to delete workflow');
282
+ throw new Error(response.error ?? "Failed to delete workflow");
282
283
  }
283
284
  }
284
285
  /**
285
286
  * Validate a workflow
286
287
  */
287
288
  async validateWorkflow(workflow) {
288
- const response = await this.request('workflows.validate', this.config.endpoints.workflows.validate, undefined, {
289
- method: 'POST',
290
- body: JSON.stringify(workflow)
291
- }, 'validate workflow');
289
+ const response = await this.request("workflows.validate", this.config.endpoints.workflows.validate, undefined, {
290
+ method: "POST",
291
+ body: JSON.stringify(workflow),
292
+ }, "validate workflow");
292
293
  if (!response.success || !response.data) {
293
- throw new Error(response.error ?? 'Failed to validate workflow');
294
+ throw new Error(response.error ?? "Failed to validate workflow");
294
295
  }
295
296
  return response.data;
296
297
  }
@@ -298,9 +299,9 @@ export class EnhancedFlowDropApiClient {
298
299
  * Export a workflow as JSON string
299
300
  */
300
301
  async exportWorkflow(workflowId) {
301
- const response = await this.request('workflows.export', this.config.endpoints.workflows.export, { id: workflowId }, {}, 'export workflow');
302
+ const response = await this.request("workflows.export", this.config.endpoints.workflows.export, { id: workflowId }, {}, "export workflow");
302
303
  if (!response.success || !response.data) {
303
- throw new Error(response.error ?? 'Failed to export workflow');
304
+ throw new Error(response.error ?? "Failed to export workflow");
304
305
  }
305
306
  return response.data;
306
307
  }
@@ -308,12 +309,12 @@ export class EnhancedFlowDropApiClient {
308
309
  * Import a workflow from JSON
309
310
  */
310
311
  async importWorkflow(workflowJson) {
311
- const response = await this.request('workflows.import', this.config.endpoints.workflows.import, undefined, {
312
- method: 'POST',
313
- body: JSON.stringify({ workflow: workflowJson })
314
- }, 'import workflow');
312
+ const response = await this.request("workflows.import", this.config.endpoints.workflows.import, undefined, {
313
+ method: "POST",
314
+ body: JSON.stringify({ workflow: workflowJson }),
315
+ }, "import workflow");
315
316
  if (!response.success || !response.data) {
316
- throw new Error(response.error ?? 'Failed to import workflow');
317
+ throw new Error(response.error ?? "Failed to import workflow");
317
318
  }
318
319
  return response.data;
319
320
  }
@@ -324,12 +325,12 @@ export class EnhancedFlowDropApiClient {
324
325
  * Execute a workflow
325
326
  */
326
327
  async executeWorkflow(workflowId, inputs) {
327
- const response = await this.request('executions.execute', this.config.endpoints.executions.execute, { id: workflowId }, {
328
- method: 'POST',
329
- body: JSON.stringify({ inputs })
330
- }, 'execute workflow');
328
+ const response = await this.request("executions.execute", this.config.endpoints.executions.execute, { id: workflowId }, {
329
+ method: "POST",
330
+ body: JSON.stringify({ inputs }),
331
+ }, "execute workflow");
331
332
  if (!response.success || !response.data) {
332
- throw new Error(response.error ?? 'Failed to execute workflow');
333
+ throw new Error(response.error ?? "Failed to execute workflow");
333
334
  }
334
335
  return response.data;
335
336
  }
@@ -337,9 +338,9 @@ export class EnhancedFlowDropApiClient {
337
338
  * Get execution status
338
339
  */
339
340
  async getExecutionStatus(executionId) {
340
- const response = await this.request('executions.status', this.config.endpoints.executions.status, { id: executionId }, {}, 'get execution status');
341
+ const response = await this.request("executions.status", this.config.endpoints.executions.status, { id: executionId }, {}, "get execution status");
341
342
  if (!response.success || !response.data) {
342
- throw new Error(response.error ?? 'Failed to get execution status');
343
+ throw new Error(response.error ?? "Failed to get execution status");
343
344
  }
344
345
  return response.data;
345
346
  }
@@ -347,18 +348,18 @@ export class EnhancedFlowDropApiClient {
347
348
  * Cancel a running execution
348
349
  */
349
350
  async cancelExecution(executionId) {
350
- const response = await this.request('executions.cancel', this.config.endpoints.executions.cancel, { id: executionId }, { method: 'POST' }, 'cancel execution');
351
+ const response = await this.request("executions.cancel", this.config.endpoints.executions.cancel, { id: executionId }, { method: "POST" }, "cancel execution");
351
352
  if (!response.success) {
352
- throw new Error(response.error ?? 'Failed to cancel execution');
353
+ throw new Error(response.error ?? "Failed to cancel execution");
353
354
  }
354
355
  }
355
356
  /**
356
357
  * Get execution logs
357
358
  */
358
359
  async getExecutionLogs(executionId) {
359
- const response = await this.request('executions.logs', this.config.endpoints.executions.logs, { id: executionId }, {}, 'get execution logs');
360
+ const response = await this.request("executions.logs", this.config.endpoints.executions.logs, { id: executionId }, {}, "get execution logs");
360
361
  if (!response.success || !response.data) {
361
- throw new Error(response.error ?? 'Failed to get execution logs');
362
+ throw new Error(response.error ?? "Failed to get execution logs");
362
363
  }
363
364
  return response.data;
364
365
  }
@@ -369,9 +370,9 @@ export class EnhancedFlowDropApiClient {
369
370
  * List available templates
370
371
  */
371
372
  async listTemplates() {
372
- const response = await this.request('templates.list', this.config.endpoints.templates.list, undefined, {}, 'list templates');
373
+ const response = await this.request("templates.list", this.config.endpoints.templates.list, undefined, {}, "list templates");
373
374
  if (!response.success || !response.data) {
374
- throw new Error(response.error ?? 'Failed to list templates');
375
+ throw new Error(response.error ?? "Failed to list templates");
375
376
  }
376
377
  return response.data;
377
378
  }
@@ -379,9 +380,9 @@ export class EnhancedFlowDropApiClient {
379
380
  * Get a template by ID
380
381
  */
381
382
  async getTemplate(templateId) {
382
- const response = await this.request('templates.get', this.config.endpoints.templates.get, { id: templateId }, {}, 'get template');
383
+ const response = await this.request("templates.get", this.config.endpoints.templates.get, { id: templateId }, {}, "get template");
383
384
  if (!response.success || !response.data) {
384
- throw new Error(response.error ?? 'Failed to get template');
385
+ throw new Error(response.error ?? "Failed to get template");
385
386
  }
386
387
  return response.data;
387
388
  }
@@ -392,9 +393,9 @@ export class EnhancedFlowDropApiClient {
392
393
  * Get system health status
393
394
  */
394
395
  async getSystemHealth() {
395
- const response = await this.request('system.health', this.config.endpoints.system.health, undefined, {}, 'get system health');
396
+ const response = await this.request("system.health", this.config.endpoints.system.health, undefined, {}, "get system health");
396
397
  if (!response.success || !response.data) {
397
- throw new Error(response.error ?? 'Failed to get system health');
398
+ throw new Error(response.error ?? "Failed to get system health");
398
399
  }
399
400
  return response.data;
400
401
  }
@@ -402,9 +403,9 @@ export class EnhancedFlowDropApiClient {
402
403
  * Get system configuration
403
404
  */
404
405
  async getSystemConfig() {
405
- const response = await this.request('system.config', this.config.endpoints.system.config, undefined, {}, 'get system config');
406
+ const response = await this.request("system.config", this.config.endpoints.system.config, undefined, {}, "get system config");
406
407
  if (!response.success || !response.data) {
407
- throw new Error(response.error ?? 'Failed to get system config');
408
+ throw new Error(response.error ?? "Failed to get system config");
408
409
  }
409
410
  return response.data;
410
411
  }
@@ -412,9 +413,9 @@ export class EnhancedFlowDropApiClient {
412
413
  * Get system version information
413
414
  */
414
415
  async getSystemVersion() {
415
- const response = await this.request('system.version', this.config.endpoints.system.version, undefined, {}, 'get system version');
416
+ const response = await this.request("system.version", this.config.endpoints.system.version, undefined, {}, "get system version");
416
417
  if (!response.success || !response.data) {
417
- throw new Error(response.error ?? 'Failed to get system version');
418
+ throw new Error(response.error ?? "Failed to get system version");
418
419
  }
419
420
  return response.data;
420
421
  }
@@ -425,6 +426,6 @@ export class EnhancedFlowDropApiClient {
425
426
  * Fetch pipeline data including job information and status
426
427
  */
427
428
  async getPipelineData(pipelineId) {
428
- return this.request('pipelines.get', this.config.endpoints.pipelines.get, { id: pipelineId }, {}, 'get pipeline data');
429
+ return this.request("pipelines.get", this.config.endpoints.pipelines.get, { id: pipelineId }, {}, "get pipeline data");
429
430
  }
430
431
  }