@flowdrop/flowdrop 1.0.0 → 1.1.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 (388) 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 +1081 -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 +46 -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 +197 -0
  36. package/dist/components/FlowDropEdge.stories.svelte.d.ts +26 -0
  37. package/dist/components/FlowDropEdge.svelte +168 -0
  38. package/dist/components/FlowDropEdge.svelte.d.ts +4 -0
  39. package/dist/components/FlowDropZone.svelte +63 -60
  40. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  41. package/dist/components/LoadingSpinner.stories.svelte +19 -19
  42. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  43. package/dist/components/LoadingSpinner.svelte +21 -21
  44. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  45. package/dist/components/Logo.stories.svelte +13 -13
  46. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  47. package/dist/components/Logo.svelte +101 -95
  48. package/dist/components/LogsSidebar.svelte +553 -546
  49. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  50. package/dist/components/MarkdownDisplay.stories.svelte +29 -23
  51. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  52. package/dist/components/MarkdownDisplay.svelte +16 -14
  53. package/dist/components/Navbar.stories.svelte +43 -38
  54. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  55. package/dist/components/Navbar.svelte +760 -706
  56. package/dist/components/Navbar.svelte.d.ts +1 -1
  57. package/dist/components/NodeSidebar.svelte +900 -746
  58. package/dist/components/NodeSidebar.svelte.d.ts +3 -1
  59. package/dist/components/NodeStatusOverlay.stories.svelte +82 -70
  60. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  61. package/dist/components/NodeStatusOverlay.svelte +295 -280
  62. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  63. package/dist/components/PipelineStatus.svelte +326 -300
  64. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  65. package/dist/components/PortCoordinateTracker.svelte +49 -47
  66. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  67. package/dist/components/ReadOnlyDetails.svelte +156 -156
  68. package/dist/components/SchemaForm.stories.svelte +106 -98
  69. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  70. package/dist/components/SchemaForm.svelte +490 -463
  71. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  72. package/dist/components/SettingsModal.svelte +226 -223
  73. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  74. package/dist/components/SettingsPanel.svelte +637 -601
  75. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  76. package/dist/components/StatusIcon.stories.svelte +62 -49
  77. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  78. package/dist/components/StatusIcon.svelte +87 -87
  79. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  80. package/dist/components/StatusLabel.stories.svelte +12 -12
  81. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  82. package/dist/components/StatusLabel.svelte +19 -19
  83. package/dist/components/ThemeToggle.stories.svelte +16 -16
  84. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  85. package/dist/components/ThemeToggle.svelte +180 -169
  86. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  87. package/dist/components/UniversalNode.svelte +150 -138
  88. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  89. package/dist/components/WorkflowEditor.svelte +1069 -1007
  90. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  91. package/dist/components/form/FormArray.svelte +1034 -973
  92. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  93. package/dist/components/form/FormAutocomplete.svelte +1021 -978
  94. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  95. package/dist/components/form/FormCheckboxGroup.stories.svelte +23 -20
  96. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  97. package/dist/components/form/FormCheckboxGroup.svelte +136 -136
  98. package/dist/components/form/FormCodeEditor.svelte +452 -434
  99. package/dist/components/form/FormField.svelte +366 -355
  100. package/dist/components/form/FormField.svelte.d.ts +2 -2
  101. package/dist/components/form/FormFieldLight.svelte +400 -384
  102. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  103. package/dist/components/form/FormFieldWrapper.stories.svelte +42 -42
  104. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  105. package/dist/components/form/FormFieldWrapper.svelte +100 -93
  106. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  107. package/dist/components/form/FormFieldset.svelte +108 -108
  108. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  109. package/dist/components/form/FormMarkdownEditor.svelte +758 -725
  110. package/dist/components/form/FormNumberField.stories.svelte +25 -25
  111. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  112. package/dist/components/form/FormNumberField.svelte +88 -88
  113. package/dist/components/form/FormRangeField.stories.svelte +20 -20
  114. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  115. package/dist/components/form/FormRangeField.svelte +234 -226
  116. package/dist/components/form/FormSelect.stories.svelte +38 -38
  117. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  118. package/dist/components/form/FormSelect.svelte +101 -101
  119. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  120. package/dist/components/form/FormTemplateEditor.svelte +847 -798
  121. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  122. package/dist/components/form/FormTextField.stories.svelte +29 -23
  123. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  124. package/dist/components/form/FormTextField.svelte +68 -68
  125. package/dist/components/form/FormTextarea.stories.svelte +28 -25
  126. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  127. package/dist/components/form/FormTextarea.svelte +74 -74
  128. package/dist/components/form/FormToggle.stories.svelte +23 -20
  129. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  130. package/dist/components/form/FormToggle.svelte +98 -98
  131. package/dist/components/form/FormUISchemaRenderer.svelte +120 -113
  132. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  133. package/dist/components/form/index.d.ts +19 -19
  134. package/dist/components/form/index.js +18 -18
  135. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  136. package/dist/components/form/templateAutocomplete.js +64 -55
  137. package/dist/components/form/types.d.ts +6 -6
  138. package/dist/components/form/types.js +9 -4
  139. package/dist/components/icons/AlertCircleIcon.svelte +11 -0
  140. package/dist/components/icons/AlertCircleIcon.svelte.d.ts +26 -0
  141. package/dist/components/icons/CogIcon.svelte +11 -0
  142. package/dist/components/icons/CogIcon.svelte.d.ts +26 -0
  143. package/dist/components/interrupt/ChoicePrompt.stories.svelte +54 -38
  144. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  145. package/dist/components/interrupt/ChoicePrompt.svelte +407 -383
  146. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  147. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +48 -48
  148. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  149. package/dist/components/interrupt/ConfirmationPrompt.svelte +280 -274
  150. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  151. package/dist/components/interrupt/FormPrompt.svelte +223 -218
  152. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  153. package/dist/components/interrupt/InterruptBubble.svelte +617 -583
  154. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  155. package/dist/components/interrupt/ReviewPrompt.stories.svelte +66 -56
  156. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  157. package/dist/components/interrupt/ReviewPrompt.svelte +861 -841
  158. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  159. package/dist/components/interrupt/TextInputPrompt.stories.svelte +38 -33
  160. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  161. package/dist/components/interrupt/TextInputPrompt.svelte +333 -328
  162. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  163. package/dist/components/interrupt/index.d.ts +5 -5
  164. package/dist/components/interrupt/index.js +5 -5
  165. package/dist/components/layouts/MainLayout.svelte +724 -691
  166. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  167. package/dist/components/nodes/GatewayNode.stories.svelte +100 -99
  168. package/dist/components/nodes/GatewayNode.svelte +605 -571
  169. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  170. package/dist/components/nodes/IdeaNode.stories.svelte +44 -43
  171. package/dist/components/nodes/IdeaNode.svelte +451 -437
  172. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  173. package/dist/components/nodes/NotesNode.stories.svelte +65 -64
  174. package/dist/components/nodes/NotesNode.svelte +380 -369
  175. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  176. package/dist/components/nodes/SimpleNode.stories.svelte +145 -144
  177. package/dist/components/nodes/SimpleNode.svelte +486 -424
  178. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  179. package/dist/components/nodes/SquareNode.stories.svelte +73 -73
  180. package/dist/components/nodes/SquareNode.svelte +439 -380
  181. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  182. package/dist/components/nodes/TerminalNode.stories.svelte +13 -13
  183. package/dist/components/nodes/TerminalNode.svelte +709 -670
  184. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  185. package/dist/components/nodes/ToolNode.stories.svelte +181 -180
  186. package/dist/components/nodes/ToolNode.svelte +505 -447
  187. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  188. package/dist/components/nodes/WorkflowNode.stories.svelte +70 -46
  189. package/dist/components/nodes/WorkflowNode.svelte +621 -551
  190. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  191. package/dist/components/playground/ChatPanel.svelte +945 -889
  192. package/dist/components/playground/ExecutionLogs.svelte +495 -472
  193. package/dist/components/playground/InputCollector.svelte +449 -428
  194. package/dist/components/playground/MessageBubble.stories.svelte +47 -47
  195. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  196. package/dist/components/playground/MessageBubble.svelte +626 -610
  197. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  198. package/dist/components/playground/Playground.svelte +1088 -1057
  199. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  200. package/dist/components/playground/PlaygroundModal.svelte +208 -204
  201. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  202. package/dist/components/playground/SessionManager.svelte +527 -521
  203. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  204. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  205. package/dist/config/agentSpecEndpoints.js +20 -20
  206. package/dist/config/constants.d.ts +8 -0
  207. package/dist/config/constants.js +10 -2
  208. package/dist/config/defaultCategories.d.ts +1 -1
  209. package/dist/config/defaultCategories.js +86 -86
  210. package/dist/config/defaultPortConfig.d.ts +1 -1
  211. package/dist/config/defaultPortConfig.js +144 -144
  212. package/dist/config/endpoints.d.ts +4 -4
  213. package/dist/config/endpoints.js +65 -65
  214. package/dist/config/runtimeConfig.d.ts +2 -2
  215. package/dist/config/runtimeConfig.js +8 -8
  216. package/dist/core/index.d.ts +63 -59
  217. package/dist/core/index.js +35 -33
  218. package/dist/display/index.d.ts +2 -2
  219. package/dist/display/index.js +2 -2
  220. package/dist/editor/index.d.ts +62 -62
  221. package/dist/editor/index.js +53 -53
  222. package/dist/form/code.d.ts +5 -5
  223. package/dist/form/code.js +14 -14
  224. package/dist/form/fieldRegistry.d.ts +3 -3
  225. package/dist/form/fieldRegistry.js +11 -9
  226. package/dist/form/full.d.ts +8 -8
  227. package/dist/form/full.js +9 -9
  228. package/dist/form/index.d.ts +18 -18
  229. package/dist/form/index.js +16 -16
  230. package/dist/form/markdown.d.ts +4 -4
  231. package/dist/form/markdown.js +8 -8
  232. package/dist/helpers/proximityConnect.d.ts +3 -3
  233. package/dist/helpers/proximityConnect.js +34 -32
  234. package/dist/helpers/workflowEditorHelper.d.ts +5 -5
  235. package/dist/helpers/workflowEditorHelper.js +108 -96
  236. package/dist/index.d.ts +6 -6
  237. package/dist/index.js +6 -6
  238. package/dist/mocks/app-environment.js +2 -2
  239. package/dist/mocks/app-forms.js +9 -9
  240. package/dist/mocks/app-navigation.js +11 -11
  241. package/dist/mocks/app-stores.js +8 -8
  242. package/dist/playground/index.d.ts +19 -19
  243. package/dist/playground/index.js +16 -16
  244. package/dist/playground/mount.d.ts +3 -3
  245. package/dist/playground/mount.js +24 -24
  246. package/dist/registry/builtinFormats.js +13 -13
  247. package/dist/registry/builtinNodes.d.ts +2 -2
  248. package/dist/registry/builtinNodes.js +77 -77
  249. package/dist/registry/index.d.ts +4 -4
  250. package/dist/registry/index.js +4 -4
  251. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  252. package/dist/registry/nodeComponentRegistry.js +11 -9
  253. package/dist/registry/plugin.d.ts +2 -2
  254. package/dist/registry/plugin.js +11 -11
  255. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  256. package/dist/registry/workflowFormatRegistry.js +2 -2
  257. package/dist/schema/index.d.ts +1 -1
  258. package/dist/schema/index.js +2 -2
  259. package/dist/schemas/v1/workflow.schema.json +22 -107
  260. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  261. package/dist/services/agentSpecExecutionService.js +59 -55
  262. package/dist/services/api.d.ts +18 -4
  263. package/dist/services/api.js +46 -43
  264. package/dist/services/apiVariableService.d.ts +1 -1
  265. package/dist/services/apiVariableService.js +41 -34
  266. package/dist/services/autoSaveService.js +8 -8
  267. package/dist/services/categoriesApi.d.ts +2 -2
  268. package/dist/services/categoriesApi.js +8 -8
  269. package/dist/services/draftStorage.d.ts +1 -1
  270. package/dist/services/draftStorage.js +11 -11
  271. package/dist/services/dynamicSchemaService.d.ts +1 -1
  272. package/dist/services/dynamicSchemaService.js +41 -39
  273. package/dist/services/globalSave.d.ts +2 -2
  274. package/dist/services/globalSave.js +53 -42
  275. package/dist/services/historyService.d.ts +1 -1
  276. package/dist/services/historyService.js +8 -8
  277. package/dist/services/interruptService.d.ts +1 -1
  278. package/dist/services/interruptService.js +35 -29
  279. package/dist/services/nodeExecutionService.d.ts +1 -1
  280. package/dist/services/nodeExecutionService.js +45 -44
  281. package/dist/services/playgroundService.d.ts +1 -1
  282. package/dist/services/playgroundService.js +29 -29
  283. package/dist/services/portConfigApi.d.ts +2 -2
  284. package/dist/services/portConfigApi.js +8 -8
  285. package/dist/services/settingsService.d.ts +2 -2
  286. package/dist/services/settingsService.js +25 -19
  287. package/dist/services/toastService.d.ts +4 -4
  288. package/dist/services/toastService.js +33 -33
  289. package/dist/services/variableService.d.ts +1 -1
  290. package/dist/services/variableService.js +36 -36
  291. package/dist/services/workflowStorage.d.ts +2 -2
  292. package/dist/services/workflowStorage.js +13 -13
  293. package/dist/settings/index.d.ts +7 -7
  294. package/dist/settings/index.js +6 -6
  295. package/dist/skins/default.d.ts +2 -0
  296. package/dist/skins/default.js +1 -0
  297. package/dist/skins/index.d.ts +13 -0
  298. package/dist/skins/index.js +30 -0
  299. package/dist/skins/slate.d.ts +2 -0
  300. package/dist/skins/slate.js +78 -0
  301. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  302. package/dist/stores/categoriesStore.svelte.js +5 -5
  303. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  304. package/dist/stores/editorStateMachine.svelte.js +65 -33
  305. package/dist/stores/historyStore.svelte.d.ts +4 -4
  306. package/dist/stores/historyStore.svelte.js +4 -4
  307. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  308. package/dist/stores/interruptStore.svelte.js +21 -21
  309. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  310. package/dist/stores/playgroundStore.svelte.js +25 -18
  311. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  312. package/dist/stores/portCoordinateStore.svelte.js +15 -8
  313. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  314. package/dist/stores/settingsStore.svelte.js +62 -57
  315. package/dist/stores/workflowStore.svelte.d.ts +3 -3
  316. package/dist/stores/workflowStore.svelte.js +50 -47
  317. package/dist/stories/CanvasDecorator.svelte +35 -32
  318. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  319. package/dist/stories/EdgeDecorator.svelte +125 -0
  320. package/dist/stories/EdgeDecorator.svelte.d.ts +17 -0
  321. package/dist/stories/NodeDecorator.svelte +59 -53
  322. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  323. package/dist/stories/utils.d.ts +2 -2
  324. package/dist/stories/utils.js +105 -67
  325. package/dist/styles/base.css +599 -595
  326. package/dist/styles/toast.css +14 -14
  327. package/dist/styles/tokens.css +409 -378
  328. package/dist/svelte-app.d.ts +9 -9
  329. package/dist/svelte-app.js +39 -39
  330. package/dist/themes/default.d.ts +2 -0
  331. package/dist/themes/default.js +9 -0
  332. package/dist/themes/index.d.ts +13 -0
  333. package/dist/themes/index.js +44 -0
  334. package/dist/themes/minimal.d.ts +2 -0
  335. package/dist/themes/minimal.js +11 -0
  336. package/dist/types/agentspec.d.ts +18 -18
  337. package/dist/types/agentspec.js +2 -2
  338. package/dist/types/auth.d.ts +1 -1
  339. package/dist/types/auth.js +6 -6
  340. package/dist/types/config.d.ts +6 -6
  341. package/dist/types/events.d.ts +2 -2
  342. package/dist/types/events.js +2 -2
  343. package/dist/types/index.d.ts +32 -32
  344. package/dist/types/index.js +6 -6
  345. package/dist/types/interrupt.d.ts +6 -6
  346. package/dist/types/interrupt.js +21 -21
  347. package/dist/types/interruptState.d.ts +12 -12
  348. package/dist/types/interruptState.js +66 -66
  349. package/dist/types/playground.d.ts +7 -7
  350. package/dist/types/playground.js +14 -14
  351. package/dist/types/settings.d.ts +5 -3
  352. package/dist/types/settings.js +25 -18
  353. package/dist/types/skin.d.ts +31 -0
  354. package/dist/types/skin.js +1 -0
  355. package/dist/types/theme.d.ts +35 -0
  356. package/dist/types/theme.js +1 -0
  357. package/dist/types/uischema.d.ts +4 -4
  358. package/dist/types/uischema.js +3 -3
  359. package/dist/utils/colors.d.ts +1 -1
  360. package/dist/utils/colors.js +97 -95
  361. package/dist/utils/config.d.ts +2 -2
  362. package/dist/utils/config.js +48 -48
  363. package/dist/utils/connections.d.ts +2 -2
  364. package/dist/utils/connections.js +15 -15
  365. package/dist/utils/errors.js +3 -3
  366. package/dist/utils/fetchWithAuth.d.ts +1 -1
  367. package/dist/utils/fetchWithAuth.js +2 -2
  368. package/dist/utils/handleIds.d.ts +2 -2
  369. package/dist/utils/handleIds.js +8 -8
  370. package/dist/utils/handlePositioning.d.ts +1 -1
  371. package/dist/utils/handlePositioning.js +2 -2
  372. package/dist/utils/icons.d.ts +1 -1
  373. package/dist/utils/icons.js +74 -74
  374. package/dist/utils/logger.d.ts +1 -1
  375. package/dist/utils/logger.js +7 -7
  376. package/dist/utils/nodeStatus.d.ts +1 -1
  377. package/dist/utils/nodeStatus.js +48 -48
  378. package/dist/utils/nodeTypes.d.ts +1 -1
  379. package/dist/utils/nodeTypes.js +21 -20
  380. package/dist/utils/nodeWrapper.d.ts +7 -7
  381. package/dist/utils/nodeWrapper.js +21 -19
  382. package/dist/utils/performanceUtils.d.ts +1 -1
  383. package/dist/utils/performanceUtils.js +2 -1
  384. package/dist/utils/sanitize.js +1 -1
  385. package/dist/utils/uischema.d.ts +2 -2
  386. package/dist/utils/uischema.js +8 -8
  387. package/dist/utils/validation.js +20 -8
  388. package/package.json +296 -291
@@ -0,0 +1,26 @@
1
+ export default FlowDropEdge;
2
+ type FlowDropEdge = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string | undefined;
8
+ };
9
+ declare const FlowDropEdge: $$__sveltets_2_IsomorphicComponent<{
10
+ [x: string]: never;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {}, {}, string>;
14
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
+ new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
+ $$bindings?: Bindings;
17
+ } & Exports;
18
+ (internal: unknown, props: {
19
+ $$events?: Events;
20
+ $$slots?: Slots;
21
+ }): Exports & {
22
+ $set?: any;
23
+ $on?: any;
24
+ };
25
+ z_$$bindings?: Bindings;
26
+ }
@@ -0,0 +1,168 @@
1
+ <!--
2
+ FlowDropEdge Component
3
+ Custom bezier edge that draws its own arrowhead so the line stroke ends
4
+ at the arrow base instead of poking through to the tip.
5
+
6
+ Approach:
7
+ 1. Compute the full bezier path (xyflow's getBezierPath)
8
+ 2. Parse the SVG path to extract the cubic bezier control points
9
+ 3. Evaluate the curve near the end to get the true visual tangent
10
+ 4. Shorten the path along that tangent and draw the arrowhead at the target
11
+ -->
12
+
13
+ <script lang="ts">
14
+ import { getBezierPath } from "@xyflow/svelte";
15
+ import { BaseEdge } from "@xyflow/svelte";
16
+ import type { BezierEdgeProps } from "@xyflow/svelte";
17
+ import { ARROW_LENGTH_PX, ARROW_HALF_WIDTH_PX } from "../config/constants.js";
18
+
19
+ let {
20
+ id,
21
+ interactionWidth,
22
+ label,
23
+ labelStyle,
24
+ markerEnd: _markerEnd,
25
+ markerStart,
26
+ pathOptions,
27
+ sourcePosition,
28
+ sourceX,
29
+ sourceY,
30
+ style,
31
+ targetPosition,
32
+ targetX,
33
+ targetY,
34
+ }: BezierEdgeProps = $props();
35
+
36
+ /**
37
+ * Extract stroke color from the edge's inline style for the arrowhead fill.
38
+ */
39
+ let strokeColor = $derived.by(() => {
40
+ if (!style) return "var(--fd-edge-data, #64748b)";
41
+ const match = style.match(/stroke:\s*([^;]+)/);
42
+ return match ? match[1].trim() : "var(--fd-edge-data, #64748b)";
43
+ });
44
+
45
+ /**
46
+ * Evaluate a cubic bezier at parameter t.
47
+ * P(t) = (1-t)^3 * P0 + 3(1-t)^2 * t * P1 + 3(1-t) * t^2 * P2 + t^3 * P3
48
+ */
49
+ function bezierAt(
50
+ p0x: number,
51
+ p0y: number,
52
+ p1x: number,
53
+ p1y: number,
54
+ p2x: number,
55
+ p2y: number,
56
+ p3x: number,
57
+ p3y: number,
58
+ t: number,
59
+ ): { x: number; y: number } {
60
+ const u = 1 - t;
61
+ const uu = u * u;
62
+ const uuu = uu * u;
63
+ const tt = t * t;
64
+ const ttt = tt * t;
65
+ return {
66
+ x: uuu * p0x + 3 * uu * t * p1x + 3 * u * tt * p2x + ttt * p3x,
67
+ y: uuu * p0y + 3 * uu * t * p1y + 3 * u * tt * p2y + ttt * p3y,
68
+ };
69
+ }
70
+
71
+ /**
72
+ * Parse the SVG cubic bezier path "M x0,y0 C x1,y1 x2,y2 x3,y3"
73
+ * into the four control points.
74
+ */
75
+ function parseCubicBezier(d: string) {
76
+ const nums = d.match(/-?[\d.]+/g)?.map(Number);
77
+ if (!nums || nums.length < 8) return null;
78
+ return {
79
+ p0x: nums[0],
80
+ p0y: nums[1],
81
+ p1x: nums[2],
82
+ p1y: nums[3],
83
+ p2x: nums[4],
84
+ p2y: nums[5],
85
+ p3x: nums[6],
86
+ p3y: nums[7],
87
+ };
88
+ }
89
+
90
+ // Parameter near the end of the curve for tangent sampling
91
+ const T_SAMPLE = 0.9;
92
+
93
+ let computed = $derived.by(() => {
94
+ // 1. Get the full bezier path from xyflow
95
+ const [fullPath, lx, ly] = getBezierPath({
96
+ sourceX,
97
+ sourceY,
98
+ targetX,
99
+ targetY,
100
+ sourcePosition,
101
+ targetPosition,
102
+ curvature: pathOptions?.curvature,
103
+ });
104
+
105
+ // 2. Parse control points from SVG path
106
+ const cp = parseCubicBezier(fullPath);
107
+ if (!cp) {
108
+ return { path: fullPath, labelX: lx, labelY: ly, angleDeg: 0 };
109
+ }
110
+
111
+ // 3. Evaluate the curve at T_SAMPLE to get a reference point
112
+ const ref = bezierAt(
113
+ cp.p0x,
114
+ cp.p0y,
115
+ cp.p1x,
116
+ cp.p1y,
117
+ cp.p2x,
118
+ cp.p2y,
119
+ cp.p3x,
120
+ cp.p3y,
121
+ T_SAMPLE,
122
+ );
123
+
124
+ // 4. Tangent direction: from reference point to the target
125
+ const dx = targetX - ref.x;
126
+ const dy = targetY - ref.y;
127
+ const angleDeg = (Math.atan2(dy, dx) * 180) / Math.PI;
128
+ const angleRad = Math.atan2(dy, dx);
129
+
130
+ // 5. Shorten: move the endpoint back along the tangent
131
+ const adjX = targetX - Math.cos(angleRad) * ARROW_LENGTH_PX;
132
+ const adjY = targetY - Math.sin(angleRad) * ARROW_LENGTH_PX;
133
+
134
+ // 6. Recompute the bezier path with the shortened target
135
+ const [shortenedPath] = getBezierPath({
136
+ sourceX,
137
+ sourceY,
138
+ targetX: adjX,
139
+ targetY: adjY,
140
+ sourcePosition,
141
+ targetPosition,
142
+ curvature: pathOptions?.curvature,
143
+ });
144
+
145
+ return { path: shortenedPath, labelX: lx, labelY: ly, angleDeg };
146
+ });
147
+ </script>
148
+
149
+ <BaseEdge
150
+ {id}
151
+ path={computed.path}
152
+ labelX={computed.labelX}
153
+ labelY={computed.labelY}
154
+ {label}
155
+ {labelStyle}
156
+ {markerStart}
157
+ {interactionWidth}
158
+ {style}
159
+ />
160
+
161
+ <!-- Manual arrowhead: tip at origin pointing right, rotated to the bezier tangent -->
162
+ <polygon
163
+ points="0,0 {-ARROW_LENGTH_PX},{-ARROW_HALF_WIDTH_PX} {-ARROW_LENGTH_PX},{ARROW_HALF_WIDTH_PX}"
164
+ fill={strokeColor}
165
+ stroke="none"
166
+ transform="translate({targetX},{targetY}) rotate({computed.angleDeg})"
167
+ class="flowdrop-edge-arrow"
168
+ />
@@ -0,0 +1,4 @@
1
+ import type { BezierEdgeProps } from "@xyflow/svelte";
2
+ declare const FlowDropEdge: import("svelte").Component<BezierEdgeProps, {}, "">;
3
+ type FlowDropEdge = ReturnType<typeof FlowDropEdge>;
4
+ export default FlowDropEdge;
@@ -5,79 +5,82 @@
5
5
  -->
6
6
 
7
7
  <script lang="ts">
8
- import { useSvelteFlow } from '@xyflow/svelte';
9
- import type { Snippet } from 'svelte';
8
+ import { useSvelteFlow } from "@xyflow/svelte";
9
+ import type { Snippet } from "svelte";
10
10
 
11
- interface Props {
12
- ondrop: (nodeTypeData: string, position: { x: number; y: number }) => void;
13
- /** Optional callback invoked when a JSON file is dropped onto the canvas. */
14
- onfiledrop?: (file: File) => void;
15
- children: Snippet;
16
- }
11
+ interface Props {
12
+ ondrop: (nodeTypeData: string, position: { x: number; y: number }) => void;
13
+ /** Optional callback invoked when a JSON file is dropped onto the canvas. */
14
+ onfiledrop?: (file: File) => void;
15
+ children: Snippet;
16
+ }
17
17
 
18
- let props: Props = $props();
18
+ let props: Props = $props();
19
19
 
20
- // Access SvelteFlow instance for coordinate transformation
21
- const { screenToFlowPosition } = useSvelteFlow();
20
+ // Access SvelteFlow instance for coordinate transformation
21
+ const { screenToFlowPosition } = useSvelteFlow();
22
22
 
23
- /**
24
- * Handle drag over event
25
- */
26
- function handleDragOver(e: DragEvent): void {
27
- e.preventDefault();
28
- if (e.dataTransfer) {
29
- e.dataTransfer.dropEffect = 'copy';
30
- }
31
- }
23
+ /**
24
+ * Handle drag over event
25
+ */
26
+ function handleDragOver(e: DragEvent): void {
27
+ e.preventDefault();
28
+ if (e.dataTransfer) {
29
+ e.dataTransfer.dropEffect = "copy";
30
+ }
31
+ }
32
32
 
33
- /**
34
- * Handle drop event with proper coordinate transformation.
35
- *
36
- * If the drag event carries a JSON file (e.g. a workflow file dragged from the OS),
37
- * the `onfiledrop` callback is invoked with the file.
38
- * Otherwise the node-type drop path is used as before.
39
- */
40
- function handleDrop(e: DragEvent): void {
41
- e.preventDefault();
33
+ /**
34
+ * Handle drop event with proper coordinate transformation.
35
+ *
36
+ * If the drag event carries a JSON file (e.g. a workflow file dragged from the OS),
37
+ * the `onfiledrop` callback is invoked with the file.
38
+ * Otherwise the node-type drop path is used as before.
39
+ */
40
+ function handleDrop(e: DragEvent): void {
41
+ e.preventDefault();
42
42
 
43
- // Check if the drop contains files (e.g. a workflow JSON file from the OS)
44
- const files = e.dataTransfer?.files;
45
- if (files && files.length > 0) {
46
- const file = files[0];
47
- if (props.onfiledrop && (file.type === 'application/json' || file.name.endsWith('.json'))) {
48
- props.onfiledrop(file);
49
- }
50
- return;
51
- }
43
+ // Check if the drop contains files (e.g. a workflow JSON file from the OS)
44
+ const files = e.dataTransfer?.files;
45
+ if (files && files.length > 0) {
46
+ const file = files[0];
47
+ if (
48
+ props.onfiledrop &&
49
+ (file.type === "application/json" || file.name.endsWith(".json"))
50
+ ) {
51
+ props.onfiledrop(file);
52
+ }
53
+ return;
54
+ }
52
55
 
53
- // Get the data from the drag event (node type dropped from sidebar)
54
- const nodeTypeData = e.dataTransfer?.getData('application/json');
55
- if (nodeTypeData) {
56
- // Convert screen coordinates to flow coordinates (accounts for zoom and pan)
57
- const position = screenToFlowPosition({
58
- x: e.clientX,
59
- y: e.clientY
60
- });
56
+ // Get the data from the drag event (node type dropped from sidebar)
57
+ const nodeTypeData = e.dataTransfer?.getData("application/json");
58
+ if (nodeTypeData) {
59
+ // Convert screen coordinates to flow coordinates (accounts for zoom and pan)
60
+ const position = screenToFlowPosition({
61
+ x: e.clientX,
62
+ y: e.clientY,
63
+ });
61
64
 
62
- // Call the parent handler with the converted position
63
- props.ondrop(nodeTypeData, position);
64
- }
65
- }
65
+ // Call the parent handler with the converted position
66
+ props.ondrop(nodeTypeData, position);
67
+ }
68
+ }
66
69
  </script>
67
70
 
68
71
  <div
69
- class="flow-drop-zone"
70
- role="application"
71
- aria-label="Workflow canvas"
72
- ondragover={handleDragOver}
73
- ondrop={handleDrop}
72
+ class="flow-drop-zone"
73
+ role="application"
74
+ aria-label="Workflow canvas"
75
+ ondragover={handleDragOver}
76
+ ondrop={handleDrop}
74
77
  >
75
- {@render props.children()}
78
+ {@render props.children()}
76
79
  </div>
77
80
 
78
81
  <style>
79
- .flow-drop-zone {
80
- width: 100%;
81
- height: 100%;
82
- }
82
+ .flow-drop-zone {
83
+ width: 100%;
84
+ height: 100%;
85
+ }
83
86
  </style>
@@ -1,4 +1,4 @@
1
- import type { Snippet } from 'svelte';
1
+ import type { Snippet } from "svelte";
2
2
  interface Props {
3
3
  ondrop: (nodeTypeData: string, position: {
4
4
  x: number;
@@ -1,30 +1,30 @@
1
1
  <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import LoadingSpinner from './LoadingSpinner.svelte';
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import LoadingSpinner from "./LoadingSpinner.svelte";
4
4
 
5
- const { Story } = defineMeta({
6
- title: 'Display/LoadingSpinner',
7
- component: LoadingSpinner,
8
- tags: ['autodocs'],
9
- argTypes: {
10
- size: {
11
- control: { type: 'select' },
12
- options: ['xs', 'sm', 'md', 'lg']
13
- },
14
- text: { control: 'text' },
15
- showText: { control: 'boolean' }
16
- }
17
- });
5
+ const { Story } = defineMeta({
6
+ title: "Display/LoadingSpinner",
7
+ component: LoadingSpinner,
8
+ tags: ["autodocs"],
9
+ argTypes: {
10
+ size: {
11
+ control: { type: "select" },
12
+ options: ["xs", "sm", "md", "lg"],
13
+ },
14
+ text: { control: "text" },
15
+ showText: { control: "boolean" },
16
+ },
17
+ });
18
18
  </script>
19
19
 
20
20
  <Story name="Default" />
21
21
 
22
- <Story name="Extra Small" args={{ size: 'xs' }} />
22
+ <Story name="Extra Small" args={{ size: "xs" }} />
23
23
 
24
- <Story name="Small" args={{ size: 'sm' }} />
24
+ <Story name="Small" args={{ size: "sm" }} />
25
25
 
26
- <Story name="Large" args={{ size: 'lg' }} />
26
+ <Story name="Large" args={{ size: "lg" }} />
27
27
 
28
- <Story name="Custom Text" args={{ text: 'Processing...' }} />
28
+ <Story name="Custom Text" args={{ text: "Processing..." }} />
29
29
 
30
30
  <Story name="No Text" args={{ showText: false }} />
@@ -11,7 +11,7 @@ declare const LoadingSpinner: $$__sveltets_2_IsomorphicComponent<{
11
11
  }, {
12
12
  [evt: string]: CustomEvent<any>;
13
13
  }, {}, {}, string>;
14
- import LoadingSpinner from './LoadingSpinner.svelte';
14
+ import LoadingSpinner from "./LoadingSpinner.svelte";
15
15
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
16
16
  new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
17
17
  $$bindings?: Bindings;
@@ -4,33 +4,33 @@
4
4
  -->
5
5
 
6
6
  <script lang="ts">
7
- interface Props {
8
- size?: 'xs' | 'sm' | 'md' | 'lg';
9
- text?: string;
10
- showText?: boolean;
11
- }
7
+ interface Props {
8
+ size?: "xs" | "sm" | "md" | "lg";
9
+ text?: string;
10
+ showText?: boolean;
11
+ }
12
12
 
13
- let props: Props = $props();
13
+ let props: Props = $props();
14
14
 
15
- // Default values
16
- let size = $derived(props.size || 'md');
17
- let text = $derived(props.text || 'Loading...');
18
- let showText = $derived(props.showText !== false);
15
+ // Default values
16
+ let size = $derived(props.size || "md");
17
+ let text = $derived(props.text || "Loading...");
18
+ let showText = $derived(props.showText !== false);
19
19
  </script>
20
20
 
21
21
  <div class="flowdrop-loading">
22
- <div class="flowdrop-spinner flowdrop-spinner--{size}"></div>
23
- {#if showText}
24
- <p class="flowdrop-text--xs flowdrop-text--gray">{text}</p>
25
- {/if}
22
+ <div class="flowdrop-spinner flowdrop-spinner--{size}"></div>
23
+ {#if showText}
24
+ <p class="flowdrop-text--xs flowdrop-text--gray">{text}</p>
25
+ {/if}
26
26
  </div>
27
27
 
28
28
  <style>
29
- .flowdrop-loading {
30
- display: flex;
31
- flex-direction: column;
32
- align-items: center;
33
- justify-content: center;
34
- gap: 0.5rem;
35
- }
29
+ .flowdrop-loading {
30
+ display: flex;
31
+ flex-direction: column;
32
+ align-items: center;
33
+ justify-content: center;
34
+ gap: 0.5rem;
35
+ }
36
36
  </style>
@@ -1,5 +1,5 @@
1
1
  interface Props {
2
- size?: 'xs' | 'sm' | 'md' | 'lg';
2
+ size?: "xs" | "sm" | "md" | "lg";
3
3
  text?: string;
4
4
  showText?: boolean;
5
5
  }
@@ -1,22 +1,22 @@
1
1
  <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Logo from './Logo.svelte';
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import Logo from "./Logo.svelte";
4
4
 
5
- const { Story } = defineMeta({
6
- title: 'Display/Logo',
7
- component: Logo,
8
- tags: ['autodocs']
9
- });
5
+ const { Story } = defineMeta({
6
+ title: "Display/Logo",
7
+ component: Logo,
8
+ tags: ["autodocs"],
9
+ });
10
10
  </script>
11
11
 
12
12
  <Story name="Default">
13
- <div style="width: 64px; height: 64px;">
14
- <Logo />
15
- </div>
13
+ <div style="width: 64px; height: 64px;">
14
+ <Logo />
15
+ </div>
16
16
  </Story>
17
17
 
18
18
  <Story name="Large">
19
- <div style="width: 128px; height: 128px;">
20
- <Logo />
21
- </div>
19
+ <div style="width: 128px; height: 128px;">
20
+ <Logo />
21
+ </div>
22
22
  </Story>
@@ -11,7 +11,7 @@ declare const Logo: $$__sveltets_2_IsomorphicComponent<{
11
11
  }, {
12
12
  [evt: string]: CustomEvent<any>;
13
13
  }, {}, {}, string>;
14
- import Logo from './Logo.svelte';
14
+ import Logo from "./Logo.svelte";
15
15
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
16
16
  new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
17
17
  $$bindings?: Bindings;