@flowdrop/flowdrop 1.0.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 (403) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +252 -0
  3. package/dist/adapters/WorkflowAdapter.d.ts +167 -0
  4. package/dist/adapters/WorkflowAdapter.js +368 -0
  5. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +96 -0
  6. package/dist/adapters/agentspec/AgentSpecAdapter.js +626 -0
  7. package/dist/adapters/agentspec/agentAdapter.d.ts +59 -0
  8. package/dist/adapters/agentspec/agentAdapter.js +91 -0
  9. package/dist/adapters/agentspec/autoLayout.d.ts +34 -0
  10. package/dist/adapters/agentspec/autoLayout.js +127 -0
  11. package/dist/adapters/agentspec/componentTypeDefaults.d.ts +73 -0
  12. package/dist/adapters/agentspec/componentTypeDefaults.js +238 -0
  13. package/dist/adapters/agentspec/defaultNodeTypes.d.ts +53 -0
  14. package/dist/adapters/agentspec/defaultNodeTypes.js +561 -0
  15. package/dist/adapters/agentspec/index.d.ts +37 -0
  16. package/dist/adapters/agentspec/index.js +39 -0
  17. package/dist/adapters/agentspec/validator.d.ts +34 -0
  18. package/dist/adapters/agentspec/validator.js +169 -0
  19. package/dist/api/enhanced-client.d.ts +183 -0
  20. package/dist/api/enhanced-client.js +430 -0
  21. package/dist/components/App.svelte +981 -0
  22. package/dist/components/App.svelte.d.ts +54 -0
  23. package/dist/components/CanvasBanner.stories.svelte +29 -0
  24. package/dist/components/CanvasBanner.stories.svelte.d.ts +27 -0
  25. package/dist/components/CanvasBanner.svelte +57 -0
  26. package/dist/components/CanvasBanner.svelte.d.ts +8 -0
  27. package/dist/components/ConfigForm.svelte +1138 -0
  28. package/dist/components/ConfigForm.svelte.d.ts +44 -0
  29. package/dist/components/ConfigModal.svelte +188 -0
  30. package/dist/components/ConfigModal.svelte.d.ts +13 -0
  31. package/dist/components/ConfigPanel.stories.svelte +47 -0
  32. package/dist/components/ConfigPanel.stories.svelte.d.ts +27 -0
  33. package/dist/components/ConfigPanel.svelte +182 -0
  34. package/dist/components/ConfigPanel.svelte.d.ts +32 -0
  35. package/dist/components/ConnectionLine.svelte +32 -0
  36. package/dist/components/ConnectionLine.svelte.d.ts +3 -0
  37. package/dist/components/EdgeRefresher.svelte +41 -0
  38. package/dist/components/EdgeRefresher.svelte.d.ts +9 -0
  39. package/dist/components/FlowDropZone.svelte +83 -0
  40. package/dist/components/FlowDropZone.svelte.d.ts +13 -0
  41. package/dist/components/LoadingSpinner.stories.svelte +30 -0
  42. package/dist/components/LoadingSpinner.stories.svelte.d.ts +27 -0
  43. package/dist/components/LoadingSpinner.svelte +36 -0
  44. package/dist/components/LoadingSpinner.svelte.d.ts +8 -0
  45. package/dist/components/Logo.stories.svelte +22 -0
  46. package/dist/components/Logo.stories.svelte.d.ts +27 -0
  47. package/dist/components/Logo.svelte +102 -0
  48. package/dist/components/Logo.svelte.d.ts +26 -0
  49. package/dist/components/LogsSidebar.svelte +563 -0
  50. package/dist/components/LogsSidebar.svelte.d.ts +17 -0
  51. package/dist/components/MarkdownDisplay.stories.svelte +36 -0
  52. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +27 -0
  53. package/dist/components/MarkdownDisplay.svelte +29 -0
  54. package/dist/components/MarkdownDisplay.svelte.d.ts +7 -0
  55. package/dist/components/Navbar.stories.svelte +53 -0
  56. package/dist/components/Navbar.stories.svelte.d.ts +27 -0
  57. package/dist/components/Navbar.svelte +726 -0
  58. package/dist/components/Navbar.svelte.d.ts +29 -0
  59. package/dist/components/NodeSidebar.svelte +762 -0
  60. package/dist/components/NodeSidebar.svelte.d.ts +9 -0
  61. package/dist/components/NodeStatusOverlay.stories.svelte +85 -0
  62. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +27 -0
  63. package/dist/components/NodeStatusOverlay.svelte +327 -0
  64. package/dist/components/NodeStatusOverlay.svelte.d.ts +11 -0
  65. package/dist/components/PipelineStatus.svelte +314 -0
  66. package/dist/components/PipelineStatus.svelte.d.ts +20 -0
  67. package/dist/components/PortCoordinateTracker.svelte +58 -0
  68. package/dist/components/PortCoordinateTracker.svelte.d.ts +12 -0
  69. package/dist/components/ReadOnlyDetails.svelte +170 -0
  70. package/dist/components/ReadOnlyDetails.svelte.d.ts +25 -0
  71. package/dist/components/SchemaForm.stories.svelte +116 -0
  72. package/dist/components/SchemaForm.stories.svelte.d.ts +27 -0
  73. package/dist/components/SchemaForm.svelte +536 -0
  74. package/dist/components/SchemaForm.svelte.d.ts +83 -0
  75. package/dist/components/SettingsModal.svelte +279 -0
  76. package/dist/components/SettingsModal.svelte.d.ts +23 -0
  77. package/dist/components/SettingsPanel.svelte +638 -0
  78. package/dist/components/SettingsPanel.svelte.d.ts +21 -0
  79. package/dist/components/StatusIcon.stories.svelte +60 -0
  80. package/dist/components/StatusIcon.stories.svelte.d.ts +27 -0
  81. package/dist/components/StatusIcon.svelte +119 -0
  82. package/dist/components/StatusIcon.svelte.d.ts +10 -0
  83. package/dist/components/StatusLabel.stories.svelte +17 -0
  84. package/dist/components/StatusLabel.stories.svelte.d.ts +27 -0
  85. package/dist/components/StatusLabel.svelte +33 -0
  86. package/dist/components/StatusLabel.svelte.d.ts +7 -0
  87. package/dist/components/ThemeToggle.stories.svelte +25 -0
  88. package/dist/components/ThemeToggle.stories.svelte.d.ts +27 -0
  89. package/dist/components/ThemeToggle.svelte +185 -0
  90. package/dist/components/ThemeToggle.svelte.d.ts +14 -0
  91. package/dist/components/UniversalNode.svelte +155 -0
  92. package/dist/components/UniversalNode.svelte.d.ts +15 -0
  93. package/dist/components/WorkflowEditor.svelte +1035 -0
  94. package/dist/components/WorkflowEditor.svelte.d.ts +23 -0
  95. package/dist/components/form/FormArray.svelte +1049 -0
  96. package/dist/components/form/FormArray.svelte.d.ts +22 -0
  97. package/dist/components/form/FormAutocomplete.svelte +1009 -0
  98. package/dist/components/form/FormAutocomplete.svelte.d.ts +25 -0
  99. package/dist/components/form/FormCheckboxGroup.stories.svelte +28 -0
  100. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +27 -0
  101. package/dist/components/form/FormCheckboxGroup.svelte +155 -0
  102. package/dist/components/form/FormCheckboxGroup.svelte.d.ts +17 -0
  103. package/dist/components/form/FormCodeEditor.svelte +458 -0
  104. package/dist/components/form/FormCodeEditor.svelte.d.ts +25 -0
  105. package/dist/components/form/FormField.svelte +417 -0
  106. package/dist/components/form/FormField.svelte.d.ts +29 -0
  107. package/dist/components/form/FormFieldLight.svelte +425 -0
  108. package/dist/components/form/FormFieldLight.svelte.d.ts +18 -0
  109. package/dist/components/form/FormFieldWrapper.stories.svelte +53 -0
  110. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +27 -0
  111. package/dist/components/form/FormFieldWrapper.svelte +125 -0
  112. package/dist/components/form/FormFieldWrapper.svelte.d.ts +18 -0
  113. package/dist/components/form/FormFieldset.svelte +142 -0
  114. package/dist/components/form/FormFieldset.svelte.d.ts +11 -0
  115. package/dist/components/form/FormMarkdownEditor.svelte +752 -0
  116. package/dist/components/form/FormMarkdownEditor.svelte.d.ts +33 -0
  117. package/dist/components/form/FormNumberField.stories.svelte +36 -0
  118. package/dist/components/form/FormNumberField.stories.svelte.d.ts +27 -0
  119. package/dist/components/form/FormNumberField.svelte +112 -0
  120. package/dist/components/form/FormNumberField.svelte.d.ts +25 -0
  121. package/dist/components/form/FormRangeField.stories.svelte +31 -0
  122. package/dist/components/form/FormRangeField.stories.svelte.d.ts +27 -0
  123. package/dist/components/form/FormRangeField.svelte +246 -0
  124. package/dist/components/form/FormRangeField.svelte.d.ts +23 -0
  125. package/dist/components/form/FormSelect.stories.svelte +50 -0
  126. package/dist/components/form/FormSelect.stories.svelte.d.ts +27 -0
  127. package/dist/components/form/FormSelect.svelte +129 -0
  128. package/dist/components/form/FormSelect.svelte.d.ts +20 -0
  129. package/dist/components/form/FormTemplateEditor.svelte +825 -0
  130. package/dist/components/form/FormTemplateEditor.svelte.d.ts +41 -0
  131. package/dist/components/form/FormTextField.stories.svelte +30 -0
  132. package/dist/components/form/FormTextField.stories.svelte.d.ts +27 -0
  133. package/dist/components/form/FormTextField.svelte +91 -0
  134. package/dist/components/form/FormTextField.svelte.d.ts +19 -0
  135. package/dist/components/form/FormTextarea.stories.svelte +34 -0
  136. package/dist/components/form/FormTextarea.stories.svelte.d.ts +27 -0
  137. package/dist/components/form/FormTextarea.svelte +97 -0
  138. package/dist/components/form/FormTextarea.svelte.d.ts +21 -0
  139. package/dist/components/form/FormToggle.stories.svelte +30 -0
  140. package/dist/components/form/FormToggle.stories.svelte.d.ts +27 -0
  141. package/dist/components/form/FormToggle.svelte +126 -0
  142. package/dist/components/form/FormToggle.svelte.d.ts +19 -0
  143. package/dist/components/form/FormUISchemaRenderer.svelte +136 -0
  144. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +32 -0
  145. package/dist/components/form/index.d.ts +50 -0
  146. package/dist/components/form/index.js +54 -0
  147. package/dist/components/form/templateAutocomplete.d.ts +29 -0
  148. package/dist/components/form/templateAutocomplete.js +254 -0
  149. package/dist/components/form/types.d.ts +485 -0
  150. package/dist/components/form/types.js +73 -0
  151. package/dist/components/interrupt/ChoicePrompt.stories.svelte +52 -0
  152. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +27 -0
  153. package/dist/components/interrupt/ChoicePrompt.svelte +401 -0
  154. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +23 -0
  155. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +71 -0
  156. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +27 -0
  157. package/dist/components/interrupt/ConfirmationPrompt.svelte +292 -0
  158. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +25 -0
  159. package/dist/components/interrupt/FormPrompt.svelte +236 -0
  160. package/dist/components/interrupt/FormPrompt.svelte.d.ts +23 -0
  161. package/dist/components/interrupt/InterruptBubble.svelte +601 -0
  162. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +16 -0
  163. package/dist/components/interrupt/ReviewPrompt.stories.svelte +67 -0
  164. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +27 -0
  165. package/dist/components/interrupt/ReviewPrompt.svelte +861 -0
  166. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +23 -0
  167. package/dist/components/interrupt/TextInputPrompt.stories.svelte +47 -0
  168. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +27 -0
  169. package/dist/components/interrupt/TextInputPrompt.svelte +346 -0
  170. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +23 -0
  171. package/dist/components/interrupt/index.d.ts +13 -0
  172. package/dist/components/interrupt/index.js +15 -0
  173. package/dist/components/layouts/MainLayout.svelte +718 -0
  174. package/dist/components/layouts/MainLayout.svelte.d.ts +62 -0
  175. package/dist/components/nodes/GatewayNode.stories.svelte +108 -0
  176. package/dist/components/nodes/GatewayNode.stories.svelte.d.ts +26 -0
  177. package/dist/components/nodes/GatewayNode.svelte +591 -0
  178. package/dist/components/nodes/GatewayNode.svelte.d.ts +15 -0
  179. package/dist/components/nodes/IdeaNode.stories.svelte +52 -0
  180. package/dist/components/nodes/IdeaNode.stories.svelte.d.ts +26 -0
  181. package/dist/components/nodes/IdeaNode.svelte +455 -0
  182. package/dist/components/nodes/IdeaNode.svelte.d.ts +24 -0
  183. package/dist/components/nodes/NotesNode.stories.svelte +76 -0
  184. package/dist/components/nodes/NotesNode.stories.svelte.d.ts +26 -0
  185. package/dist/components/nodes/NotesNode.svelte +378 -0
  186. package/dist/components/nodes/NotesNode.svelte.d.ts +24 -0
  187. package/dist/components/nodes/SimpleNode.stories.svelte +159 -0
  188. package/dist/components/nodes/SimpleNode.stories.svelte.d.ts +26 -0
  189. package/dist/components/nodes/SimpleNode.svelte +451 -0
  190. package/dist/components/nodes/SimpleNode.svelte.d.ts +25 -0
  191. package/dist/components/nodes/SquareNode.stories.svelte +82 -0
  192. package/dist/components/nodes/SquareNode.stories.svelte.d.ts +26 -0
  193. package/dist/components/nodes/SquareNode.svelte +407 -0
  194. package/dist/components/nodes/SquareNode.svelte.d.ts +25 -0
  195. package/dist/components/nodes/TerminalNode.stories.svelte +25 -0
  196. package/dist/components/nodes/TerminalNode.stories.svelte.d.ts +26 -0
  197. package/dist/components/nodes/TerminalNode.svelte +690 -0
  198. package/dist/components/nodes/TerminalNode.svelte.d.ts +25 -0
  199. package/dist/components/nodes/ToolNode.stories.svelte +189 -0
  200. package/dist/components/nodes/ToolNode.stories.svelte.d.ts +26 -0
  201. package/dist/components/nodes/ToolNode.svelte +471 -0
  202. package/dist/components/nodes/ToolNode.svelte.d.ts +36 -0
  203. package/dist/components/nodes/WorkflowNode.stories.svelte +55 -0
  204. package/dist/components/nodes/WorkflowNode.stories.svelte.d.ts +26 -0
  205. package/dist/components/nodes/WorkflowNode.svelte +571 -0
  206. package/dist/components/nodes/WorkflowNode.svelte.d.ts +15 -0
  207. package/dist/components/playground/ChatPanel.svelte +905 -0
  208. package/dist/components/playground/ChatPanel.svelte.d.ts +46 -0
  209. package/dist/components/playground/ExecutionLogs.svelte +488 -0
  210. package/dist/components/playground/ExecutionLogs.svelte.d.ts +14 -0
  211. package/dist/components/playground/InputCollector.svelte +444 -0
  212. package/dist/components/playground/InputCollector.svelte.d.ts +16 -0
  213. package/dist/components/playground/MessageBubble.stories.svelte +62 -0
  214. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +27 -0
  215. package/dist/components/playground/MessageBubble.svelte +633 -0
  216. package/dist/components/playground/MessageBubble.svelte.d.ts +24 -0
  217. package/dist/components/playground/Playground.svelte +1075 -0
  218. package/dist/components/playground/Playground.svelte.d.ts +25 -0
  219. package/dist/components/playground/PlaygroundModal.svelte +220 -0
  220. package/dist/components/playground/PlaygroundModal.svelte.d.ts +25 -0
  221. package/dist/components/playground/SessionManager.svelte +538 -0
  222. package/dist/components/playground/SessionManager.svelte.d.ts +20 -0
  223. package/dist/config/agentSpecEndpoints.d.ts +70 -0
  224. package/dist/config/agentSpecEndpoints.js +65 -0
  225. package/dist/config/constants.d.ts +43 -0
  226. package/dist/config/constants.js +31 -0
  227. package/dist/config/defaultCategories.d.ts +7 -0
  228. package/dist/config/defaultCategories.js +126 -0
  229. package/dist/config/defaultPortConfig.d.ts +6 -0
  230. package/dist/config/defaultPortConfig.js +201 -0
  231. package/dist/config/endpoints.d.ts +160 -0
  232. package/dist/config/endpoints.js +146 -0
  233. package/dist/config/runtimeConfig.d.ts +47 -0
  234. package/dist/config/runtimeConfig.js +80 -0
  235. package/dist/core/index.d.ts +75 -0
  236. package/dist/core/index.js +92 -0
  237. package/dist/display/index.d.ts +29 -0
  238. package/dist/display/index.js +36 -0
  239. package/dist/editor/index.d.ts +95 -0
  240. package/dist/editor/index.js +138 -0
  241. package/dist/form/code.d.ts +101 -0
  242. package/dist/form/code.js +168 -0
  243. package/dist/form/fieldRegistry.d.ts +169 -0
  244. package/dist/form/fieldRegistry.js +152 -0
  245. package/dist/form/full.d.ts +56 -0
  246. package/dist/form/full.js +80 -0
  247. package/dist/form/index.d.ts +77 -0
  248. package/dist/form/index.js +91 -0
  249. package/dist/form/markdown.d.ts +69 -0
  250. package/dist/form/markdown.js +103 -0
  251. package/dist/helpers/nodeLayoutHelper.d.ts +14 -0
  252. package/dist/helpers/nodeLayoutHelper.js +19 -0
  253. package/dist/helpers/proximityConnect.d.ts +94 -0
  254. package/dist/helpers/proximityConnect.js +314 -0
  255. package/dist/helpers/workflowEditorHelper.d.ts +183 -0
  256. package/dist/helpers/workflowEditorHelper.js +595 -0
  257. package/dist/index.d.ts +37 -0
  258. package/dist/index.js +64 -0
  259. package/dist/mocks/app-environment.d.ts +8 -0
  260. package/dist/mocks/app-environment.js +16 -0
  261. package/dist/mocks/app-forms.d.ts +2 -0
  262. package/dist/mocks/app-forms.js +22 -0
  263. package/dist/mocks/app-navigation.d.ts +5 -0
  264. package/dist/mocks/app-navigation.js +36 -0
  265. package/dist/mocks/app-stores.d.ts +14 -0
  266. package/dist/mocks/app-stores.js +26 -0
  267. package/dist/playground/index.d.ts +131 -0
  268. package/dist/playground/index.js +172 -0
  269. package/dist/playground/mount.d.ts +203 -0
  270. package/dist/playground/mount.js +235 -0
  271. package/dist/registry/BaseRegistry.d.ts +92 -0
  272. package/dist/registry/BaseRegistry.js +124 -0
  273. package/dist/registry/builtinFormats.d.ts +23 -0
  274. package/dist/registry/builtinFormats.js +70 -0
  275. package/dist/registry/builtinNodes.d.ts +77 -0
  276. package/dist/registry/builtinNodes.js +211 -0
  277. package/dist/registry/index.d.ts +8 -0
  278. package/dist/registry/index.js +12 -0
  279. package/dist/registry/nodeComponentRegistry.d.ts +276 -0
  280. package/dist/registry/nodeComponentRegistry.js +262 -0
  281. package/dist/registry/plugin.d.ts +215 -0
  282. package/dist/registry/plugin.js +249 -0
  283. package/dist/registry/workflowFormatRegistry.d.ts +122 -0
  284. package/dist/registry/workflowFormatRegistry.js +96 -0
  285. package/dist/schema/index.d.ts +23 -0
  286. package/dist/schema/index.js +23 -0
  287. package/dist/schemas/v1/workflow.schema.json +1078 -0
  288. package/dist/services/agentSpecExecutionService.d.ts +106 -0
  289. package/dist/services/agentSpecExecutionService.js +334 -0
  290. package/dist/services/api.d.ts +115 -0
  291. package/dist/services/api.js +214 -0
  292. package/dist/services/apiVariableService.d.ts +114 -0
  293. package/dist/services/apiVariableService.js +338 -0
  294. package/dist/services/autoSaveService.d.ts +112 -0
  295. package/dist/services/autoSaveService.js +227 -0
  296. package/dist/services/categoriesApi.d.ts +14 -0
  297. package/dist/services/categoriesApi.js +49 -0
  298. package/dist/services/draftStorage.d.ts +171 -0
  299. package/dist/services/draftStorage.js +299 -0
  300. package/dist/services/dynamicSchemaService.d.ts +108 -0
  301. package/dist/services/dynamicSchemaService.js +444 -0
  302. package/dist/services/globalSave.d.ts +69 -0
  303. package/dist/services/globalSave.js +248 -0
  304. package/dist/services/historyService.d.ts +208 -0
  305. package/dist/services/historyService.js +321 -0
  306. package/dist/services/interruptService.d.ts +133 -0
  307. package/dist/services/interruptService.js +280 -0
  308. package/dist/services/nodeExecutionService.d.ts +63 -0
  309. package/dist/services/nodeExecutionService.js +266 -0
  310. package/dist/services/playgroundService.d.ts +130 -0
  311. package/dist/services/playgroundService.js +321 -0
  312. package/dist/services/portConfigApi.d.ts +14 -0
  313. package/dist/services/portConfigApi.js +54 -0
  314. package/dist/services/settingsService.d.ts +92 -0
  315. package/dist/services/settingsService.js +196 -0
  316. package/dist/services/toastService.d.ts +156 -0
  317. package/dist/services/toastService.js +265 -0
  318. package/dist/services/variableService.d.ts +141 -0
  319. package/dist/services/variableService.js +463 -0
  320. package/dist/services/workflowStorage.d.ts +37 -0
  321. package/dist/services/workflowStorage.js +116 -0
  322. package/dist/settings/index.d.ts +25 -0
  323. package/dist/settings/index.js +33 -0
  324. package/dist/stores/categoriesStore.svelte.d.ts +32 -0
  325. package/dist/stores/categoriesStore.svelte.js +77 -0
  326. package/dist/stores/editorStateMachine.svelte.d.ts +42 -0
  327. package/dist/stores/editorStateMachine.svelte.js +132 -0
  328. package/dist/stores/historyStore.svelte.d.ts +136 -0
  329. package/dist/stores/historyStore.svelte.js +207 -0
  330. package/dist/stores/interruptStore.svelte.d.ts +179 -0
  331. package/dist/stores/interruptStore.svelte.js +346 -0
  332. package/dist/stores/playgroundStore.svelte.d.ts +230 -0
  333. package/dist/stores/playgroundStore.svelte.js +515 -0
  334. package/dist/stores/portCoordinateStore.svelte.d.ts +66 -0
  335. package/dist/stores/portCoordinateStore.svelte.js +186 -0
  336. package/dist/stores/settingsStore.svelte.d.ts +158 -0
  337. package/dist/stores/settingsStore.svelte.js +544 -0
  338. package/dist/stores/workflowStore.svelte.d.ts +260 -0
  339. package/dist/stores/workflowStore.svelte.js +649 -0
  340. package/dist/stories/CanvasDecorator.svelte +49 -0
  341. package/dist/stories/CanvasDecorator.svelte.d.ts +8 -0
  342. package/dist/stories/NodeDecorator.svelte +73 -0
  343. package/dist/stories/NodeDecorator.svelte.d.ts +8 -0
  344. package/dist/stories/utils.d.ts +93 -0
  345. package/dist/stories/utils.js +122 -0
  346. package/dist/styles/base.css +1300 -0
  347. package/dist/styles/toast.css +35 -0
  348. package/dist/styles/tokens.css +475 -0
  349. package/dist/svelte-app.d.ts +150 -0
  350. package/dist/svelte-app.js +295 -0
  351. package/dist/types/agentspec.d.ts +318 -0
  352. package/dist/types/agentspec.js +48 -0
  353. package/dist/types/auth.d.ts +263 -0
  354. package/dist/types/auth.js +229 -0
  355. package/dist/types/config.d.ts +151 -0
  356. package/dist/types/config.js +7 -0
  357. package/dist/types/events.d.ts +190 -0
  358. package/dist/types/events.js +30 -0
  359. package/dist/types/index.d.ts +1234 -0
  360. package/dist/types/index.js +27 -0
  361. package/dist/types/interrupt.d.ts +390 -0
  362. package/dist/types/interrupt.js +145 -0
  363. package/dist/types/interruptState.d.ts +211 -0
  364. package/dist/types/interruptState.js +308 -0
  365. package/dist/types/playground.d.ts +351 -0
  366. package/dist/types/playground.js +95 -0
  367. package/dist/types/settings.d.ts +189 -0
  368. package/dist/types/settings.js +97 -0
  369. package/dist/types/uischema.d.ts +144 -0
  370. package/dist/types/uischema.js +51 -0
  371. package/dist/utils/colors.d.ts +288 -0
  372. package/dist/utils/colors.js +548 -0
  373. package/dist/utils/config.d.ts +37 -0
  374. package/dist/utils/config.js +226 -0
  375. package/dist/utils/connections.d.ts +125 -0
  376. package/dist/utils/connections.js +414 -0
  377. package/dist/utils/errors.d.ts +28 -0
  378. package/dist/utils/errors.js +44 -0
  379. package/dist/utils/fetchWithAuth.d.ts +25 -0
  380. package/dist/utils/fetchWithAuth.js +34 -0
  381. package/dist/utils/handleIds.d.ts +35 -0
  382. package/dist/utils/handleIds.js +58 -0
  383. package/dist/utils/handlePositioning.d.ts +31 -0
  384. package/dist/utils/handlePositioning.js +35 -0
  385. package/dist/utils/icons.d.ts +106 -0
  386. package/dist/utils/icons.js +157 -0
  387. package/dist/utils/logger.d.ts +47 -0
  388. package/dist/utils/logger.js +72 -0
  389. package/dist/utils/nodeStatus.d.ts +53 -0
  390. package/dist/utils/nodeStatus.js +183 -0
  391. package/dist/utils/nodeTypes.d.ts +117 -0
  392. package/dist/utils/nodeTypes.js +244 -0
  393. package/dist/utils/nodeWrapper.d.ts +39 -0
  394. package/dist/utils/nodeWrapper.js +62 -0
  395. package/dist/utils/performanceUtils.d.ts +30 -0
  396. package/dist/utils/performanceUtils.js +108 -0
  397. package/dist/utils/sanitize.d.ts +19 -0
  398. package/dist/utils/sanitize.js +31 -0
  399. package/dist/utils/uischema.d.ts +52 -0
  400. package/dist/utils/uischema.js +88 -0
  401. package/dist/utils/validation.d.ts +29 -0
  402. package/dist/utils/validation.js +39 -0
  403. package/package.json +292 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Shibin Das (d34dman)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,252 @@
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/flowdrop-io/flowdrop/main/libs/flowdrop/static/logo.svg" alt="FlowDrop" width="120" />
3
+ </p>
4
+
5
+ <h1 align="center">FlowDrop</h1>
6
+
7
+ <p align="center">
8
+ <img src="https://img.shields.io/github/actions/workflow/status/flowdrop-io/flowdrop/docker-publish.yml?style=flat-square&label=Build" alt="GitHub pages build status" />
9
+ <a href="https://www.npmjs.com/package/@flowdrop/flowdrop"><img src="https://img.shields.io/npm/v/@flowdrop/flowdrop?style=flat-square" alt="npm" /></a>
10
+ <img src="https://img.shields.io/npm/unpacked-size/%40flowdrop%2Fflowdrop?style=flat-square" alt="NPM Unpacked Size" />
11
+ <img src="https://img.shields.io/npm/types/@flowdrop/flowdrop?style=flat-square" alt="npm type definitions" />
12
+ <a href="http://npmjs.com/package/@flowdrop/flowdrop"><img src="https://img.shields.io/npm/dt/@flowdrop/flowdrop.svg?maxAge=2592000&style=flat-square" alt="npm downloads" /></a>
13
+ </p>
14
+
15
+ <p align="center">
16
+ <strong>Build beautiful workflow editors in minutes, not months.</strong>
17
+ </p>
18
+
19
+ <p align="center">
20
+ An awesome workflow editor built with Svelte 5 and @xyflow/svelte.<br/>
21
+ You own the backend. You own the data. You own the orchestration.
22
+ </p>
23
+
24
+ <p align="center">
25
+ <a href="#quickstart">Quickstart</a> •
26
+ <a href="#features">Features</a> •
27
+ <a href="#integration">Integration</a> •
28
+ <a href="#documentation">Docs</a>
29
+ </p>
30
+
31
+ <p align="center">
32
+ <img src="https://raw.githubusercontent.com/flowdrop-io/flowdrop/main/libs/flowdrop/static/FlowDrop-Screenshot.jpg" alt="FlowDrop Screenshot" width="800" />
33
+ </p>
34
+ <p align="center">
35
+ <em>Build AI-powered workflows with drag-and-drop simplicity. Connect nodes, configure inputs/outputs, and visualize your entire pipeline.</em>
36
+ </p>
37
+
38
+ ## Why FlowDrop?
39
+
40
+ Most workflow tools are SaaS platforms that lock you in. Your data lives on their servers. Your execution logic runs in their cloud. You pay per workflow, per user, per run.
41
+
42
+ **FlowDrop is different.**
43
+
44
+ FlowDrop is a pure visual editor. You implement the backend. You control the orchestration. Your workflows run on your infrastructure, with your security policies, at your scale.
45
+
46
+ No vendor lock-in. No data leaving your walls. No surprise bills.
47
+
48
+ ```bash
49
+ npm install @flowdrop/flowdrop
50
+ ```
51
+
52
+ > **Note:** FlowDrop supports **one editor instance per page** (module-level singleton stores). See [Architecture Notes](#architecture-notes) for details.
53
+
54
+ You get a production-ready workflow UI. You keep full control of everything else.
55
+
56
+ ## Quickstart
57
+
58
+ ```svelte
59
+ <script lang="ts">
60
+ import { WorkflowEditor } from '@flowdrop/flowdrop';
61
+ import '@flowdrop/flowdrop/styles/base.css';
62
+ </script>
63
+
64
+ <WorkflowEditor />
65
+ ```
66
+
67
+ **5 lines. One fully-functional workflow editor.**
68
+
69
+ ## Features
70
+
71
+ | | |
72
+ | ---------------------------- | ------------------------------------------------------------------------- |
73
+ | 🎨 **Visual Editor Only** | Pure UI component. No hidden backend, no external dependencies |
74
+ | 🔐 **You Own Everything** | Your data, your servers, your orchestration logic, your security policies |
75
+ | 🔌 **Backend Agnostic** | Connect to any API: Drupal, Laravel, Express, FastAPI, or your own |
76
+ | 🧩 **7 Built-in Node Types** | From simple icons to complex gateway logic |
77
+ | 🎭 **Framework Flexible** | Use as Svelte component or mount into React, Vue, Angular, or vanilla JS |
78
+ | 🐳 **Deploy Anywhere** | Runtime config means build once, deploy everywhere |
79
+
80
+ ## Architecture Notes
81
+
82
+ - **Single instance per page.** FlowDrop uses module-level singleton stores for state management. Only one FlowDrop editor instance can exist on a page at a time.
83
+ - **Svelte 5 required.** FlowDrop uses Svelte 5 runes (`$state`, `$derived`, `$effect`) throughout. Svelte 4 is not supported.
84
+ - **Modern browsers only.** The library targets ES2020+ and does not include polyfills for older browsers.
85
+
86
+ ## Node Types
87
+
88
+ FlowDrop ships with 7 beautifully designed node types:
89
+
90
+ | Type | Purpose |
91
+ | ---------- | --------------------------------------- |
92
+ | `default` | Full-featured nodes with inputs/outputs |
93
+ | `simple` | Compact, space-efficient layout |
94
+ | `square` | Icon-only minimal design |
95
+ | `tool` | AI agent tool nodes |
96
+ | `gateway` | Conditional branching logic |
97
+ | `terminal` | Start/end workflow points |
98
+ | `note` | Markdown documentation blocks |
99
+
100
+ <p align="center">
101
+ <img src="https://raw.githubusercontent.com/flowdrop-io/flowdrop/main/libs/flowdrop/static/Node-Types.jpg" alt="FlowDrop Node Types" width="800" />
102
+ </p>
103
+ <p align="center">
104
+ <em>From simple triggers to complex branching logic, each node type is designed for specific workflow patterns.</em>
105
+ </p>
106
+
107
+ ## Integration
108
+
109
+ ### Svelte (Native)
110
+
111
+ ```svelte
112
+ <script>
113
+ import { WorkflowEditor, NodeSidebar } from '@flowdrop/flowdrop';
114
+ </script>
115
+
116
+ <div class="flex h-screen">
117
+ <NodeSidebar {nodes} />
118
+ <WorkflowEditor {nodes} />
119
+ </div>
120
+ ```
121
+
122
+ ### Vanilla JS / React / Vue / Angular
123
+
124
+ ```javascript
125
+ import { mountFlowDropApp, createEndpointConfig } from '@flowdrop/flowdrop';
126
+
127
+ const app = await mountFlowDropApp(document.getElementById('editor'), {
128
+ workflow: myWorkflow,
129
+ endpointConfig: createEndpointConfig('/api/flowdrop'),
130
+ eventHandlers: {
131
+ onDirtyStateChange: (isDirty) => console.log('Unsaved changes:', isDirty),
132
+ onAfterSave: (workflow) => console.log('Saved!', workflow)
133
+ }
134
+ });
135
+
136
+ // Full control over the editor
137
+ app.save();
138
+ app.getWorkflow();
139
+ app.destroy();
140
+ ```
141
+
142
+ ### Enterprise Integration
143
+
144
+ ```javascript
145
+ import { mountFlowDropApp, CallbackAuthProvider } from '@flowdrop/flowdrop';
146
+
147
+ const app = await mountFlowDropApp(container, {
148
+ // Dynamic token refresh
149
+ authProvider: new CallbackAuthProvider({
150
+ getToken: () => authService.getAccessToken(),
151
+ onUnauthorized: () => authService.refreshToken()
152
+ }),
153
+
154
+ // Lifecycle hooks
155
+ eventHandlers: {
156
+ onBeforeUnmount: (workflow, isDirty) => {
157
+ if (isDirty) saveDraft(workflow);
158
+ }
159
+ },
160
+
161
+ // Auto-save, toasts, and more
162
+ features: {
163
+ autoSaveDraft: true,
164
+ autoSaveDraftInterval: 30000
165
+ }
166
+ });
167
+ ```
168
+
169
+ ## API Configuration
170
+
171
+ Connect to any backend in seconds:
172
+
173
+ ```typescript
174
+ import { createEndpointConfig } from '@flowdrop/flowdrop';
175
+
176
+ const config = createEndpointConfig({
177
+ baseUrl: 'https://api.example.com',
178
+ endpoints: {
179
+ nodes: { list: '/nodes', get: '/nodes/{id}' },
180
+ workflows: {
181
+ list: '/workflows',
182
+ get: '/workflows/{id}',
183
+ create: '/workflows',
184
+ update: '/workflows/{id}',
185
+ execute: '/workflows/{id}/execute'
186
+ }
187
+ },
188
+ auth: { type: 'bearer', token: 'your-token' }
189
+ });
190
+ ```
191
+
192
+ ## Customization
193
+
194
+ Make it yours with CSS custom properties:
195
+
196
+ ```css
197
+ :root {
198
+ --flowdrop-background-color: #0a0a0a;
199
+ --flowdrop-primary-color: #6366f1;
200
+ --flowdrop-border-color: #27272a;
201
+ --flowdrop-text-color: #fafafa;
202
+ }
203
+ ```
204
+
205
+ ## Deploy
206
+
207
+ ### Docker (Recommended)
208
+
209
+ ```bash
210
+ cd ../../apps/example-client-docker
211
+ cp env.example .env
212
+ docker-compose up -d
213
+ ```
214
+
215
+ ### Node.js
216
+
217
+ ```bash
218
+ npm run build
219
+ FLOWDROP_API_BASE_URL=http://your-backend/api node build
220
+ ```
221
+
222
+ Runtime configuration means you build once and deploy to staging, production, or anywhere else with just environment variables.
223
+
224
+ ## Documentation
225
+
226
+ | Resource | Description |
227
+ | ------------------------------------------------------------ | ------------------------ |
228
+ | [API Documentation](https://flowdrop-io.github.io/flowdrop/) | REST API specification |
229
+ | [Docker Guide](../../apps/example-client-docker/README.md) | Docker deployment guide |
230
+ | [QUICK_START.md](./QUICK_START.md) | Get running in 5 minutes |
231
+ | [CHANGELOG.md](./CHANGELOG.md) | Version history |
232
+
233
+ ## Development
234
+
235
+ ```bash
236
+ pnpm install # Install dependencies
237
+ pnpm dev # Start dev server
238
+ pnpm build # Build library
239
+ pnpm test # Run all tests
240
+ ```
241
+
242
+ ## Contributing
243
+
244
+ FlowDrop is stabilizing. Contributions will open soon. Star the repo to stay updated.
245
+
246
+ <p align="center">
247
+ <strong>FlowDrop</strong> - The visual workflow editor you own completely
248
+ </p>
249
+
250
+ <p align="center">
251
+ Built with ❤️ Svelte 5 and @xyflow/svelte
252
+ </p>
@@ -0,0 +1,167 @@
1
+ /**
2
+ * WorkflowAdapter - Abstracts SvelteFlow internals for external systems
3
+ *
4
+ * This adapter provides a clean interface for working with workflows without
5
+ * needing to understand SvelteFlow's internal structure. It handles:
6
+ * - Converting between standard workflow format and SvelteFlow format
7
+ * - CRUD operations on workflows, nodes, and edges
8
+ * - Validation and error checking
9
+ * - Import/export functionality
10
+ *
11
+ * The adapter is designed to be used by:
12
+ * - Backend systems that need to process workflows
13
+ * - External applications that want to integrate with FlowDrop
14
+ * - Systems that need to generate or modify workflows programmatically
15
+ */
16
+ import type { Workflow, NodeMetadata, WorkflowFormat } from '../types/index.js';
17
+ /**
18
+ * Standard workflow node interface (SvelteFlow-agnostic)
19
+ */
20
+ export interface StandardNode {
21
+ id: string;
22
+ type: string;
23
+ position: {
24
+ x: number;
25
+ y: number;
26
+ };
27
+ data: {
28
+ label: string;
29
+ config: Record<string, unknown>;
30
+ metadata: NodeMetadata;
31
+ };
32
+ }
33
+ /**
34
+ * Standard workflow edge interface (SvelteFlow-agnostic)
35
+ */
36
+ export interface StandardEdge {
37
+ id: string;
38
+ source: string;
39
+ target: string;
40
+ sourceHandle?: string;
41
+ targetHandle?: string;
42
+ }
43
+ /**
44
+ * Standard workflow interface (SvelteFlow-agnostic)
45
+ */
46
+ export interface StandardWorkflow {
47
+ id: string;
48
+ name: string;
49
+ description?: string;
50
+ nodes: StandardNode[];
51
+ edges: StandardEdge[];
52
+ metadata?: {
53
+ version: string;
54
+ createdAt: string;
55
+ updatedAt: string;
56
+ author?: string;
57
+ tags?: string[];
58
+ format?: WorkflowFormat;
59
+ };
60
+ }
61
+ /**
62
+ * Workflow execution result
63
+ */
64
+ export interface WorkflowExecutionResult {
65
+ success: boolean;
66
+ data?: unknown;
67
+ error?: string;
68
+ executionTime?: number;
69
+ nodeResults?: Record<string, unknown>;
70
+ }
71
+ /**
72
+ * Workflow validation result
73
+ */
74
+ export interface WorkflowValidationResult {
75
+ valid: boolean;
76
+ errors: string[];
77
+ warnings: string[];
78
+ }
79
+ /**
80
+ * Workflow Adapter Class
81
+ * Provides a clean API for workflow operations without exposing SvelteFlow internals
82
+ */
83
+ export declare class WorkflowAdapter {
84
+ private nodeTypes;
85
+ constructor(nodeTypes?: NodeMetadata[]);
86
+ /**
87
+ * Create a new workflow
88
+ */
89
+ createWorkflow(name: string, description?: string): StandardWorkflow;
90
+ /**
91
+ * Add a node to a workflow
92
+ */
93
+ addNode(workflow: StandardWorkflow, nodeType: string, position: {
94
+ x: number;
95
+ y: number;
96
+ }, config?: Record<string, unknown>): StandardNode;
97
+ /**
98
+ * Remove a node from a workflow
99
+ */
100
+ removeNode(workflow: StandardWorkflow, nodeId: string): boolean;
101
+ /**
102
+ * Update node position
103
+ */
104
+ updateNodePosition(workflow: StandardWorkflow, nodeId: string, position: {
105
+ x: number;
106
+ y: number;
107
+ }): boolean;
108
+ /**
109
+ * Update node configuration
110
+ */
111
+ updateNodeConfig(workflow: StandardWorkflow, nodeId: string, config: Record<string, unknown>): boolean;
112
+ /**
113
+ * Add an edge between nodes
114
+ */
115
+ addEdge(workflow: StandardWorkflow, sourceNodeId: string, targetNodeId: string, sourceHandle?: string, targetHandle?: string): StandardEdge;
116
+ /**
117
+ * Remove an edge from a workflow
118
+ */
119
+ removeEdge(workflow: StandardWorkflow, edgeId: string): boolean;
120
+ /**
121
+ * Get all nodes of a specific type
122
+ */
123
+ getNodesByType(workflow: StandardWorkflow, nodeType: string): StandardNode[];
124
+ /**
125
+ * Get all edges connected to a node
126
+ */
127
+ getNodeEdges(workflow: StandardWorkflow, nodeId: string): StandardEdge[];
128
+ /**
129
+ * Get connected nodes (both incoming and outgoing)
130
+ */
131
+ getConnectedNodes(workflow: StandardWorkflow, nodeId: string): StandardNode[];
132
+ /**
133
+ * Validate workflow structure
134
+ */
135
+ validateWorkflow(workflow: StandardWorkflow): WorkflowValidationResult;
136
+ /**
137
+ * Export workflow to JSON
138
+ */
139
+ exportWorkflow(workflow: StandardWorkflow): string;
140
+ /**
141
+ * Import workflow from JSON
142
+ */
143
+ importWorkflow(json: string): StandardWorkflow;
144
+ /**
145
+ * Convert SvelteFlow workflow to standard format
146
+ */
147
+ fromSvelteFlow(svelteFlowWorkflow: Workflow): StandardWorkflow;
148
+ /**
149
+ * Convert standard workflow to SvelteFlow format
150
+ */
151
+ toSvelteFlow(workflow: StandardWorkflow): Workflow;
152
+ /**
153
+ * Get workflow statistics
154
+ */
155
+ getWorkflowStats(workflow: StandardWorkflow): {
156
+ totalNodes: number;
157
+ totalEdges: number;
158
+ nodeTypeCounts: {
159
+ [k: string]: number;
160
+ };
161
+ lastModified: string | undefined;
162
+ };
163
+ /**
164
+ * Clone a workflow
165
+ */
166
+ cloneWorkflow(workflow: StandardWorkflow, newName?: string): StandardWorkflow;
167
+ }