@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
@@ -8,7 +8,7 @@
8
8
  * - External libraries to contribute node types via plugins
9
9
  * - Runtime switching between different node visualizations
10
10
  */
11
- import { BaseRegistry } from './BaseRegistry.js';
11
+ import { BaseRegistry } from "./BaseRegistry.js";
12
12
  /**
13
13
  * Central registry for node component types.
14
14
  * Allows built-in and third-party components to be registered and resolved.
@@ -32,9 +32,9 @@ import { BaseRegistry } from './BaseRegistry.js';
32
32
  */
33
33
  class NodeComponentRegistry extends BaseRegistry {
34
34
  /** Default type to use when requested type is not found */
35
- defaultType = 'workflowNode';
35
+ defaultType = "workflowNode";
36
36
  /** Initial default type, restored on clear() */
37
- static INITIAL_DEFAULT_TYPE = 'workflowNode';
37
+ static INITIAL_DEFAULT_TYPE = "workflowNode";
38
38
  /**
39
39
  * Register a node component type.
40
40
  *
@@ -191,10 +191,12 @@ class NodeComponentRegistry extends BaseRegistry {
191
191
  * ```
192
192
  */
193
193
  getOneOfOptions(filterFn) {
194
- const registrations = filterFn ? this.getAll().filter(filterFn) : this.getAll();
194
+ const registrations = filterFn
195
+ ? this.getAll().filter(filterFn)
196
+ : this.getAll();
195
197
  return registrations.map((r) => ({
196
198
  const: r.type,
197
- title: r.displayName
199
+ title: r.displayName,
198
200
  }));
199
201
  }
200
202
  /**
@@ -204,7 +206,7 @@ class NodeComponentRegistry extends BaseRegistry {
204
206
  * @returns The status position, or default "top-right"
205
207
  */
206
208
  getStatusPosition(type) {
207
- return this.items.get(type)?.statusPosition ?? 'top-right';
209
+ return this.items.get(type)?.statusPosition ?? "top-right";
208
210
  }
209
211
  /**
210
212
  * Get the status size for a node type.
@@ -213,7 +215,7 @@ class NodeComponentRegistry extends BaseRegistry {
213
215
  * @returns The status size, or default "md"
214
216
  */
215
217
  getStatusSize(type) {
216
- return this.items.get(type)?.statusSize ?? 'md';
218
+ return this.items.get(type)?.statusSize ?? "md";
217
219
  }
218
220
  }
219
221
  /** Singleton instance of the node component registry */
@@ -251,12 +253,12 @@ export function createNamespacedType(namespace, type) {
251
253
  * ```
252
254
  */
253
255
  export function parseNamespacedType(namespacedType) {
254
- const colonIndex = namespacedType.indexOf(':');
256
+ const colonIndex = namespacedType.indexOf(":");
255
257
  if (colonIndex === -1) {
256
258
  return null;
257
259
  }
258
260
  return {
259
261
  namespace: namespacedType.slice(0, colonIndex),
260
- type: namespacedType.slice(colonIndex + 1)
262
+ type: namespacedType.slice(colonIndex + 1),
261
263
  };
262
264
  }
@@ -7,8 +7,8 @@
7
7
  * - Custom nodes are namespaced to avoid conflicts
8
8
  * - Registration is simplified with a clean API
9
9
  */
10
- import { type NodeComponentProps, type NodeComponentCategory, type StatusPosition, type StatusSize } from './nodeComponentRegistry.js';
11
- import type { Component } from 'svelte';
10
+ import { type NodeComponentProps, type NodeComponentCategory, type StatusPosition, type StatusSize } from "./nodeComponentRegistry.js";
11
+ import type { Component } from "svelte";
12
12
  /**
13
13
  * Plugin configuration for external libraries.
14
14
  * Use this to register multiple node types from a library.
@@ -7,7 +7,7 @@
7
7
  * - Custom nodes are namespaced to avoid conflicts
8
8
  * - Registration is simplified with a clean API
9
9
  */
10
- import { nodeComponentRegistry, createNamespacedType } from './nodeComponentRegistry.js';
10
+ import { nodeComponentRegistry, createNamespacedType, } from "./nodeComponentRegistry.js";
11
11
  /**
12
12
  * Register a FlowDrop plugin with custom node components.
13
13
  * All node types are automatically namespaced with the plugin namespace.
@@ -55,7 +55,7 @@ export function registerFlowDropPlugin(config) {
55
55
  success: true,
56
56
  namespace: config.namespace,
57
57
  registeredTypes: [],
58
- errors: []
58
+ errors: [],
59
59
  };
60
60
  // Validate namespace
61
61
  if (!isValidNamespace(config.namespace)) {
@@ -74,10 +74,10 @@ export function registerFlowDropPlugin(config) {
74
74
  description: nodeDef.description,
75
75
  component: nodeDef.component,
76
76
  icon: nodeDef.icon,
77
- category: nodeDef.category ?? 'custom',
77
+ category: nodeDef.category ?? "custom",
78
78
  source: config.namespace,
79
79
  statusPosition: nodeDef.statusPosition,
80
- statusSize: nodeDef.statusSize
80
+ statusSize: nodeDef.statusSize,
81
81
  };
82
82
  nodeComponentRegistry.register(registration);
83
83
  result.registeredTypes.push(namespacedType);
@@ -133,7 +133,7 @@ export function getRegisteredPlugins() {
133
133
  const sources = new Set();
134
134
  const registrations = nodeComponentRegistry.getAll();
135
135
  for (const reg of registrations) {
136
- if (reg.source && reg.source !== 'flowdrop') {
136
+ if (reg.source && reg.source !== "flowdrop") {
137
137
  sources.add(reg.source);
138
138
  }
139
139
  }
@@ -175,10 +175,10 @@ export function registerCustomNode(type, displayName, component, options = {}) {
175
175
  component,
176
176
  description: options.description,
177
177
  icon: options.icon,
178
- category: options.category ?? 'custom',
179
- source: options.source ?? 'custom',
178
+ category: options.category ?? "custom",
179
+ source: options.source ?? "custom",
180
180
  statusPosition: options.statusPosition,
181
- statusSize: options.statusSize
181
+ statusSize: options.statusSize,
182
182
  });
183
183
  }
184
184
  /**
@@ -203,7 +203,7 @@ export function createPlugin(namespace, name) {
203
203
  const config = {
204
204
  namespace,
205
205
  name,
206
- nodes: []
206
+ nodes: [],
207
207
  };
208
208
  const builder = {
209
209
  /**
@@ -228,7 +228,7 @@ export function createPlugin(namespace, name) {
228
228
  type,
229
229
  displayName,
230
230
  component,
231
- ...options
231
+ ...options,
232
232
  });
233
233
  return builder;
234
234
  },
@@ -243,7 +243,7 @@ export function createPlugin(namespace, name) {
243
243
  */
244
244
  getConfig() {
245
245
  return { ...config };
246
- }
246
+ },
247
247
  };
248
248
  return builder;
249
249
  }
@@ -11,9 +11,9 @@
11
11
  *
12
12
  * Extends BaseRegistry for shared mechanics (subscribe, onClear, etc.).
13
13
  */
14
- import type { StandardWorkflow } from '../adapters/WorkflowAdapter.js';
15
- import type { NodeMetadata, WorkflowFormat } from '../types/index.js';
16
- import { BaseRegistry } from './BaseRegistry.js';
14
+ import type { StandardWorkflow } from "../adapters/WorkflowAdapter.js";
15
+ import type { NodeMetadata, WorkflowFormat } from "../types/index.js";
16
+ import { BaseRegistry } from "./BaseRegistry.js";
17
17
  /**
18
18
  * Validation result returned by format adapters.
19
19
  */
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * Extends BaseRegistry for shared mechanics (subscribe, onClear, etc.).
13
13
  */
14
- import { BaseRegistry } from './BaseRegistry.js';
14
+ import { BaseRegistry } from "./BaseRegistry.js";
15
15
  /**
16
16
  * Central registry for workflow format adapters.
17
17
  * Singleton — extends BaseRegistry for shared mechanics.
@@ -88,7 +88,7 @@ class WorkflowFormatRegistry extends BaseRegistry {
88
88
  getOneOfOptions() {
89
89
  return this.getAll().map((adapter) => ({
90
90
  const: adapter.id,
91
- title: adapter.name
91
+ title: adapter.name,
92
92
  }));
93
93
  }
94
94
  }
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * @module schema
19
19
  */
20
- import workflowSchema from '../schemas/v1/workflow.schema.json';
20
+ import workflowSchema from "../schemas/v1/workflow.schema.json";
21
21
  /** Current workflow schema format version */
22
22
  export declare const WORKFLOW_SCHEMA_VERSION = "1.0.0";
23
23
  export { workflowSchema };
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * @module schema
19
19
  */
20
- import workflowSchema from '../schemas/v1/workflow.schema.json';
20
+ import workflowSchema from "../schemas/v1/workflow.schema.json";
21
21
  /** Current workflow schema format version */
22
- export const WORKFLOW_SCHEMA_VERSION = '1.0.0';
22
+ export const WORKFLOW_SCHEMA_VERSION = "1.0.0";
23
23
  export { workflowSchema };
@@ -6,9 +6,9 @@
6
6
  *
7
7
  * Follows the same singleton pattern as NodeExecutionService.
8
8
  */
9
- import type { NodeExecutionInfo } from '../types/index.js';
10
- import type { StandardWorkflow } from '../adapters/WorkflowAdapter.js';
11
- import type { AgentSpecEndpointConfig } from '../config/agentSpecEndpoints.js';
9
+ import type { NodeExecutionInfo } from "../types/index.js";
10
+ import type { StandardWorkflow } from "../adapters/WorkflowAdapter.js";
11
+ import type { AgentSpecEndpointConfig } from "../config/agentSpecEndpoints.js";
12
12
  /** Result returned when starting an execution */
13
13
  export interface AgentSpecExecutionHandle {
14
14
  /** Unique execution ID from the runtime */
@@ -6,9 +6,9 @@
6
6
  *
7
7
  * Follows the same singleton pattern as NodeExecutionService.
8
8
  */
9
- import { buildAgentSpecUrl, getAgentSpecAuthHeaders } from '../config/agentSpecEndpoints.js';
10
- import { AgentSpecAdapter } from '../adapters/agentspec/AgentSpecAdapter.js';
11
- import { logger } from '../utils/logger.js';
9
+ import { buildAgentSpecUrl, getAgentSpecAuthHeaders, } from "../config/agentSpecEndpoints.js";
10
+ import { AgentSpecAdapter } from "../adapters/agentspec/AgentSpecAdapter.js";
11
+ import { logger } from "../utils/logger.js";
12
12
  /**
13
13
  * Service for executing FlowDrop workflows on Agent Spec runtimes.
14
14
  *
@@ -67,7 +67,7 @@ export class AgentSpecExecutionService {
67
67
  const url = buildAgentSpecUrl(this.config, this.config.endpoints.health);
68
68
  const response = await fetch(url, {
69
69
  headers: getAgentSpecAuthHeaders(this.config),
70
- signal: AbortSignal.timeout(5000)
70
+ signal: AbortSignal.timeout(5000),
71
71
  });
72
72
  return response.ok;
73
73
  }
@@ -90,29 +90,29 @@ export class AgentSpecExecutionService {
90
90
  // POST to runtime
91
91
  const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.execute);
92
92
  const response = await fetch(url, {
93
- method: 'POST',
93
+ method: "POST",
94
94
  headers: getAgentSpecAuthHeaders(this.getConfig()),
95
95
  body: JSON.stringify({
96
96
  flow: agentSpecFlow,
97
- inputs: inputs || {}
97
+ inputs: inputs || {},
98
98
  }),
99
- signal: AbortSignal.timeout(this.getConfig().timeout || 60000)
99
+ signal: AbortSignal.timeout(this.getConfig().timeout || 60000),
100
100
  });
101
101
  if (!response.ok) {
102
- const errorText = await response.text().catch(() => 'Unknown error');
102
+ const errorText = await response.text().catch(() => "Unknown error");
103
103
  throw new Error(`Agent Spec runtime error (${response.status}): ${errorText}`);
104
104
  }
105
105
  const result = await response.json();
106
106
  const executionId = result.execution_id || result.id;
107
107
  if (!executionId) {
108
- throw new Error('Runtime did not return an execution ID');
108
+ throw new Error("Runtime did not return an execution ID");
109
109
  }
110
110
  // Track execution
111
111
  const state = {
112
112
  id: executionId,
113
- status: 'running',
113
+ status: "running",
114
114
  startedAt: new Date().toISOString(),
115
- nodeStatuses: {}
115
+ nodeStatuses: {},
116
116
  };
117
117
  this.activeExecutions.set(executionId, state);
118
118
  // Build node name → FlowDrop node ID mapping for status updates
@@ -135,10 +135,10 @@ export class AgentSpecExecutionService {
135
135
  this.ensureConfigured();
136
136
  try {
137
137
  const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.status, {
138
- id: executionId
138
+ id: executionId,
139
139
  });
140
140
  const response = await fetch(url, {
141
- headers: getAgentSpecAuthHeaders(this.getConfig())
141
+ headers: getAgentSpecAuthHeaders(this.getConfig()),
142
142
  });
143
143
  if (!response.ok)
144
144
  return null;
@@ -156,15 +156,15 @@ export class AgentSpecExecutionService {
156
156
  this.ensureConfigured();
157
157
  this.stopPolling(executionId);
158
158
  const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.cancel, {
159
- id: executionId
159
+ id: executionId,
160
160
  });
161
161
  await fetch(url, {
162
- method: 'POST',
163
- headers: getAgentSpecAuthHeaders(this.getConfig())
162
+ method: "POST",
163
+ headers: getAgentSpecAuthHeaders(this.getConfig()),
164
164
  });
165
165
  const state = this.activeExecutions.get(executionId);
166
166
  if (state) {
167
- state.status = 'cancelled';
167
+ state.status = "cancelled";
168
168
  }
169
169
  }
170
170
  /**
@@ -174,10 +174,10 @@ export class AgentSpecExecutionService {
174
174
  this.ensureConfigured();
175
175
  try {
176
176
  const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.results, {
177
- id: executionId
177
+ id: executionId,
178
178
  });
179
179
  const response = await fetch(url, {
180
- headers: getAgentSpecAuthHeaders(this.getConfig())
180
+ headers: getAgentSpecAuthHeaders(this.getConfig()),
181
181
  });
182
182
  if (!response.ok)
183
183
  return null;
@@ -195,12 +195,15 @@ export class AgentSpecExecutionService {
195
195
  const agentSpecFlow = this.adapter.toAgentSpec(workflow);
196
196
  const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.validate);
197
197
  const response = await fetch(url, {
198
- method: 'POST',
198
+ method: "POST",
199
199
  headers: getAgentSpecAuthHeaders(this.getConfig()),
200
- body: JSON.stringify(agentSpecFlow)
200
+ body: JSON.stringify(agentSpecFlow),
201
201
  });
202
202
  if (!response.ok) {
203
- return { valid: false, errors: [`Runtime validation failed: ${response.status}`] };
203
+ return {
204
+ valid: false,
205
+ errors: [`Runtime validation failed: ${response.status}`],
206
+ };
204
207
  }
205
208
  return await response.json();
206
209
  }
@@ -218,7 +221,7 @@ export class AgentSpecExecutionService {
218
221
  // ========================================================================
219
222
  ensureConfigured() {
220
223
  if (!this.config) {
221
- throw new Error('AgentSpecExecutionService not configured. Call configure() with runtime endpoint config first.');
224
+ throw new Error("AgentSpecExecutionService not configured. Call configure() with runtime endpoint config first.");
222
225
  }
223
226
  }
224
227
  /** Get the config, throwing if not configured */
@@ -234,10 +237,10 @@ export class AgentSpecExecutionService {
234
237
  const poll = async () => {
235
238
  try {
236
239
  const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.status, {
237
- id: executionId
240
+ id: executionId,
238
241
  });
239
242
  const response = await fetch(url, {
240
- headers: getAgentSpecAuthHeaders(this.getConfig())
243
+ headers: getAgentSpecAuthHeaders(this.getConfig()),
241
244
  });
242
245
  if (!response.ok) {
243
246
  throw new Error(`Status check failed: ${response.status}`);
@@ -253,26 +256,27 @@ export class AgentSpecExecutionService {
253
256
  onNodeUpdate?.(nodeId, info);
254
257
  }
255
258
  // Check if execution is done
256
- if (executionStatus === 'completed' || executionStatus === 'success') {
257
- state.status = 'completed';
259
+ if (executionStatus === "completed" || executionStatus === "success") {
260
+ state.status = "completed";
258
261
  this.stopPolling(executionId);
259
262
  const results = await this.getResults(executionId);
260
263
  onComplete?.(results || {});
261
264
  }
262
- else if (executionStatus === 'failed' || executionStatus === 'error') {
263
- state.status = 'failed';
265
+ else if (executionStatus === "failed" ||
266
+ executionStatus === "error") {
267
+ state.status = "failed";
264
268
  this.stopPolling(executionId);
265
- const errorMsg = data.error || data.message || 'Execution failed';
269
+ const errorMsg = data.error || data.message || "Execution failed";
266
270
  onError?.(new Error(errorMsg));
267
271
  }
268
- else if (executionStatus === 'cancelled') {
269
- state.status = 'cancelled';
272
+ else if (executionStatus === "cancelled") {
273
+ state.status = "cancelled";
270
274
  this.stopPolling(executionId);
271
275
  }
272
276
  }
273
277
  catch (error) {
274
278
  // Don't stop polling on transient errors — let it retry
275
- logger.error('[AgentSpecExecution] Polling error:', error);
279
+ logger.error("[AgentSpecExecution] Polling error:", error);
276
280
  }
277
281
  };
278
282
  // Initial poll immediately, then at interval
@@ -295,38 +299,38 @@ export class AgentSpecExecutionService {
295
299
  return result;
296
300
  }
297
301
  mapSingleNodeStatus(status) {
298
- const runtimeStatus = (status.status || status.state || 'idle');
302
+ const runtimeStatus = (status.status || status.state || "idle");
299
303
  return {
300
304
  status: this.mapToFlowDropStatus(runtimeStatus),
301
305
  executionCount: status.execution_count || 0,
302
- isExecuting: runtimeStatus === 'running' || runtimeStatus === 'executing',
306
+ isExecuting: runtimeStatus === "running" || runtimeStatus === "executing",
303
307
  lastExecuted: status.started_at,
304
308
  lastExecutionDuration: status.duration_ms,
305
- lastError: status.error
309
+ lastError: status.error,
306
310
  };
307
311
  }
308
312
  mapToFlowDropStatus(runtimeStatus) {
309
313
  switch (runtimeStatus) {
310
- case 'running':
311
- case 'executing':
312
- return 'running';
313
- case 'completed':
314
- case 'success':
315
- case 'done':
316
- return 'completed';
317
- case 'failed':
318
- case 'error':
319
- return 'failed';
320
- case 'cancelled':
321
- case 'canceled':
322
- return 'cancelled';
323
- case 'pending':
324
- case 'queued':
325
- return 'pending';
326
- case 'skipped':
327
- return 'skipped';
314
+ case "running":
315
+ case "executing":
316
+ return "running";
317
+ case "completed":
318
+ case "success":
319
+ case "done":
320
+ return "completed";
321
+ case "failed":
322
+ case "error":
323
+ return "failed";
324
+ case "cancelled":
325
+ case "canceled":
326
+ return "cancelled";
327
+ case "pending":
328
+ case "queued":
329
+ return "pending";
330
+ case "skipped":
331
+ return "skipped";
328
332
  default:
329
- return 'idle';
333
+ return "idle";
330
334
  }
331
335
  }
332
336
  }
@@ -2,8 +2,8 @@
2
2
  * Client-side API service for FlowDrop
3
3
  * Provides methods to interact with the backend APIs using configurable endpoints
4
4
  */
5
- import type { NodeMetadata, Workflow } from '../types/index.js';
6
- import type { EndpointConfig } from '../config/endpoints.js';
5
+ import type { NodeMetadata, Workflow } from "../types/index.js";
6
+ import type { EndpointConfig } from "../config/endpoints.js";
7
7
  /**
8
8
  * Set the endpoint configuration at runtime
9
9
  */