@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
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Built-in Node Components Registration
3
+ * Registers all default FlowDrop node components with the registry.
4
+ *
5
+ * This module is automatically loaded when the library initializes,
6
+ * ensuring all built-in node types are available without user action.
7
+ */
8
+ import { nodeComponentRegistry } from './nodeComponentRegistry.js';
9
+ import WorkflowNode from '../components/nodes/WorkflowNode.svelte';
10
+ import SimpleNode from '../components/nodes/SimpleNode.svelte';
11
+ import SquareNode from '../components/nodes/SquareNode.svelte';
12
+ import ToolNode from '../components/nodes/ToolNode.svelte';
13
+ import GatewayNode from '../components/nodes/GatewayNode.svelte';
14
+ import NotesNode from '../components/nodes/NotesNode.svelte';
15
+ import TerminalNode from '../components/nodes/TerminalNode.svelte';
16
+ import IdeaNode from '../components/nodes/IdeaNode.svelte';
17
+ /**
18
+ * Source identifier for built-in FlowDrop components
19
+ */
20
+ export const FLOWDROP_SOURCE = 'flowdrop';
21
+ /**
22
+ * Built-in FlowDrop node component registrations.
23
+ * These are the default node types that ship with FlowDrop.
24
+ */
25
+ export const BUILTIN_NODE_COMPONENTS = [
26
+ {
27
+ type: 'workflowNode',
28
+ displayName: 'Default (Standard Workflow Node)',
29
+ description: 'Full-featured workflow node with inputs/outputs display',
30
+ component: WorkflowNode,
31
+ icon: 'mdi:vector-square',
32
+ category: 'visual',
33
+ source: FLOWDROP_SOURCE,
34
+ statusPosition: 'top-right',
35
+ statusSize: 'md'
36
+ },
37
+ {
38
+ type: 'simple',
39
+ displayName: 'Simple (Compact Layout)',
40
+ description: 'Compact node with header, icon, and description',
41
+ component: SimpleNode,
42
+ icon: 'mdi:card-outline',
43
+ category: 'visual',
44
+ source: FLOWDROP_SOURCE,
45
+ statusPosition: 'top-right',
46
+ statusSize: 'md'
47
+ },
48
+ {
49
+ type: 'square',
50
+ displayName: 'Square (Minimal Icon)',
51
+ description: 'Minimal square node showing only an icon',
52
+ component: SquareNode,
53
+ icon: 'mdi:square',
54
+ category: 'visual',
55
+ source: FLOWDROP_SOURCE,
56
+ statusPosition: 'top-right',
57
+ statusSize: 'sm'
58
+ },
59
+ {
60
+ type: 'tool',
61
+ displayName: 'Tool (Agent Tool)',
62
+ description: 'Specialized node for agent tools with tool metadata',
63
+ component: ToolNode,
64
+ icon: 'mdi:tools',
65
+ category: 'functional',
66
+ source: FLOWDROP_SOURCE,
67
+ statusPosition: 'top-left',
68
+ statusSize: 'sm'
69
+ },
70
+ {
71
+ type: 'gateway',
72
+ displayName: 'Gateway (Branching)',
73
+ description: 'Branching control flow node with multiple output branches',
74
+ component: GatewayNode,
75
+ icon: 'mdi:source-branch',
76
+ category: 'functional',
77
+ source: FLOWDROP_SOURCE,
78
+ statusPosition: 'top-right',
79
+ statusSize: 'md'
80
+ },
81
+ {
82
+ type: 'note',
83
+ displayName: 'Note (Sticky Note)',
84
+ description: 'Documentation note with markdown support',
85
+ component: NotesNode,
86
+ icon: 'mdi:note-text',
87
+ category: 'layout',
88
+ source: FLOWDROP_SOURCE,
89
+ statusPosition: 'bottom-right',
90
+ statusSize: 'sm'
91
+ },
92
+ {
93
+ type: 'terminal',
94
+ displayName: 'Terminal (Start/End/Exit)',
95
+ description: 'Circular terminal node for workflow start, end, or exit points',
96
+ component: TerminalNode,
97
+ icon: 'mdi:circle-double',
98
+ category: 'functional',
99
+ source: FLOWDROP_SOURCE,
100
+ statusPosition: 'top-right',
101
+ statusSize: 'sm'
102
+ },
103
+ {
104
+ type: 'idea',
105
+ displayName: 'Idea (Conceptual Flow)',
106
+ description: 'Conceptual idea node for BPMN-like flow diagrams',
107
+ component: IdeaNode,
108
+ icon: 'mdi:lightbulb-outline',
109
+ category: 'layout',
110
+ source: FLOWDROP_SOURCE,
111
+ statusPosition: 'top-right',
112
+ statusSize: 'sm'
113
+ }
114
+ ];
115
+ /**
116
+ * Alias mapping for type resolution.
117
+ * Maps alternative type names to their canonical registration.
118
+ */
119
+ export const BUILTIN_TYPE_ALIASES = {
120
+ default: 'workflowNode'
121
+ };
122
+ /**
123
+ * Track whether built-in nodes have been registered.
124
+ * Prevents duplicate registration on hot reload.
125
+ */
126
+ let builtinsRegistered = false;
127
+ /**
128
+ * Initialize the registry with built-in components.
129
+ * This is called automatically when the library loads.
130
+ *
131
+ * Safe to call multiple times - will only register once.
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * // Usually not needed - called automatically
136
+ * // But can be called manually if needed
137
+ * registerBuiltinNodes();
138
+ * ```
139
+ */
140
+ export function registerBuiltinNodes() {
141
+ if (builtinsRegistered) {
142
+ return;
143
+ }
144
+ // Register all built-in components
145
+ nodeComponentRegistry.registerAll(BUILTIN_NODE_COMPONENTS, true);
146
+ // Set the default type
147
+ nodeComponentRegistry.setDefaultType('workflowNode');
148
+ builtinsRegistered = true;
149
+ }
150
+ /**
151
+ * Check if built-in nodes have been registered.
152
+ *
153
+ * @returns true if registerBuiltinNodes() has been called
154
+ */
155
+ export function areBuiltinsRegistered() {
156
+ return builtinsRegistered;
157
+ }
158
+ /**
159
+ * Reset the registration state.
160
+ * Primarily useful for testing.
161
+ */
162
+ export function resetBuiltinRegistration() {
163
+ builtinsRegistered = false;
164
+ }
165
+ /**
166
+ * Get the canonical type for a given type string.
167
+ * Handles aliases like "default" -> "workflowNode".
168
+ *
169
+ * @param type - The type string to resolve
170
+ * @returns The canonical type string
171
+ */
172
+ export function resolveBuiltinAlias(type) {
173
+ return BUILTIN_TYPE_ALIASES[type] ?? type;
174
+ }
175
+ /**
176
+ * Check if a type is a built-in FlowDrop type.
177
+ *
178
+ * @param type - The type to check
179
+ * @returns true if this is a built-in type
180
+ */
181
+ export function isBuiltinType(type) {
182
+ const canonicalType = resolveBuiltinAlias(type);
183
+ return BUILTIN_NODE_COMPONENTS.some((reg) => reg.type === canonicalType);
184
+ }
185
+ /**
186
+ * Get all built-in type identifiers.
187
+ *
188
+ * @returns Array of built-in type strings
189
+ */
190
+ export function getBuiltinTypes() {
191
+ return BUILTIN_NODE_COMPONENTS.map((reg) => reg.type);
192
+ }
193
+ /**
194
+ * Array of built-in type strings for runtime validation.
195
+ */
196
+ export const BUILTIN_NODE_TYPES = [
197
+ 'workflowNode',
198
+ 'simple',
199
+ 'square',
200
+ 'tool',
201
+ 'gateway',
202
+ 'note',
203
+ 'terminal',
204
+ 'idea'
205
+ ];
206
+ // Sync registration flag with registry.clear() for test isolation
207
+ nodeComponentRegistry.onClear(() => {
208
+ builtinsRegistered = false;
209
+ });
210
+ // Auto-register built-ins when this module is imported
211
+ registerBuiltinNodes();
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Node Component Registry Module
3
+ * Exports all registry-related functionality.
4
+ */
5
+ export { BaseRegistry } from './BaseRegistry.js';
6
+ export { nodeComponentRegistry, createNamespacedType, parseNamespacedType, type NodeComponentProps, type NodeTypeInfo, type NodeComponentRegistration, type NodeComponentCategory, type StatusPosition, type StatusSize, type NodeRegistrationFilter } from './nodeComponentRegistry.js';
7
+ export { BUILTIN_NODE_COMPONENTS, BUILTIN_NODE_TYPES, FLOWDROP_SOURCE, registerBuiltinNodes, areBuiltinsRegistered, resetBuiltinRegistration, resolveBuiltinAlias, isBuiltinType, getBuiltinTypes, type BuiltinNodeType } from './builtinNodes.js';
8
+ export { registerFlowDropPlugin, unregisterFlowDropPlugin, registerCustomNode, createPlugin, isValidNamespace, getRegisteredPlugins, getPluginNodeCount, type FlowDropPluginConfig, type PluginNodeDefinition, type PluginRegistrationResult } from './plugin.js';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Node Component Registry Module
3
+ * Exports all registry-related functionality.
4
+ */
5
+ // Base registry
6
+ export { BaseRegistry } from './BaseRegistry.js';
7
+ // Core registry
8
+ export { nodeComponentRegistry, createNamespacedType, parseNamespacedType } from './nodeComponentRegistry.js';
9
+ // Built-in nodes
10
+ export { BUILTIN_NODE_COMPONENTS, BUILTIN_NODE_TYPES, FLOWDROP_SOURCE, registerBuiltinNodes, areBuiltinsRegistered, resetBuiltinRegistration, resolveBuiltinAlias, isBuiltinType, getBuiltinTypes } from './builtinNodes.js';
11
+ // Plugin system
12
+ export { registerFlowDropPlugin, unregisterFlowDropPlugin, registerCustomNode, createPlugin, isValidNamespace, getRegisteredPlugins, getPluginNodeCount } from './plugin.js';
@@ -0,0 +1,276 @@
1
+ /**
2
+ * Node Component Registry
3
+ * Central registry for node component types that allows built-in and third-party
4
+ * components to be registered and resolved at runtime.
5
+ *
6
+ * This enables:
7
+ * - Custom node components to be registered by users
8
+ * - External libraries to contribute node types via plugins
9
+ * - Runtime switching between different node visualizations
10
+ */
11
+ import type { Component } from 'svelte';
12
+ import type { WorkflowNode } from '../types/index.js';
13
+ import { BaseRegistry } from './BaseRegistry.js';
14
+ /**
15
+ * Props interface that all node components must accept.
16
+ * Any component registered in the registry must be compatible with these props.
17
+ */
18
+ export interface NodeComponentProps {
19
+ /** Node data containing label, config, metadata, executionInfo */
20
+ data: WorkflowNode['data'] & {
21
+ nodeId?: string;
22
+ onConfigOpen?: (node: {
23
+ id: string;
24
+ type: string;
25
+ data: WorkflowNode['data'];
26
+ }) => void;
27
+ };
28
+ /** Whether the node is currently selected */
29
+ selected?: boolean;
30
+ /** Whether the node is in processing state */
31
+ isProcessing?: boolean;
32
+ /** Whether the node has an error */
33
+ isError?: boolean;
34
+ }
35
+ /**
36
+ * Position options for the status overlay on nodes
37
+ */
38
+ export type StatusPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
39
+ /**
40
+ * Size options for the status overlay on nodes
41
+ */
42
+ export type StatusSize = 'sm' | 'md' | 'lg';
43
+ /**
44
+ * Category for organizing node types in the UI
45
+ */
46
+ export type NodeComponentCategory = 'visual' | 'functional' | 'layout' | 'custom';
47
+ /**
48
+ * Framework-agnostic metadata for a node type.
49
+ * Contains all display/organizational information without any Svelte dependency.
50
+ * Use this interface when you only need node metadata (e.g., in adapters, headless consumers).
51
+ */
52
+ export interface NodeTypeInfo {
53
+ /** Unique identifier for this node type (e.g., "simple", "mylib:custom") */
54
+ type: string;
55
+ /** Display name for UI purposes (e.g., "Simple Node") */
56
+ displayName: string;
57
+ /** Description of what this node type is for */
58
+ description?: string;
59
+ /** Icon to show in the node type selector (iconify format) */
60
+ icon?: string;
61
+ /** Category for grouping in UI */
62
+ category?: NodeComponentCategory;
63
+ /** Source of the registration (e.g., "flowdrop", "mylib") for debugging/filtering */
64
+ source?: string;
65
+ /** Default status overlay position for this node type */
66
+ statusPosition?: StatusPosition;
67
+ /** Default status overlay size for this node type */
68
+ statusSize?: StatusSize;
69
+ }
70
+ /**
71
+ * Full registration for a node component.
72
+ * Extends NodeTypeInfo with the Svelte component needed for rendering.
73
+ */
74
+ export interface NodeComponentRegistration extends NodeTypeInfo {
75
+ /** The Svelte component to render for this node type */
76
+ component: Component<NodeComponentProps>;
77
+ }
78
+ /**
79
+ * Options for filtering node registrations
80
+ */
81
+ export interface NodeRegistrationFilter {
82
+ /** Filter by category */
83
+ category?: NodeComponentCategory;
84
+ /** Filter by source */
85
+ source?: string;
86
+ /** Custom filter function */
87
+ predicate?: (registration: NodeComponentRegistration) => boolean;
88
+ }
89
+ /**
90
+ * Central registry for node component types.
91
+ * Allows built-in and third-party components to be registered and resolved.
92
+ *
93
+ * Extends BaseRegistry for shared mechanics (subscribe, onClear, etc.).
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * // Register a custom node
98
+ * nodeComponentRegistry.register({
99
+ * type: "myCustomNode",
100
+ * displayName: "My Custom Node",
101
+ * component: MyCustomNodeComponent,
102
+ * icon: "mdi:star",
103
+ * category: "custom"
104
+ * });
105
+ *
106
+ * // Get a component
107
+ * const component = nodeComponentRegistry.getComponent("myCustomNode");
108
+ * ```
109
+ */
110
+ declare class NodeComponentRegistry extends BaseRegistry<string, NodeComponentRegistration> {
111
+ /** Default type to use when requested type is not found */
112
+ private defaultType;
113
+ /** Initial default type, restored on clear() */
114
+ private static readonly INITIAL_DEFAULT_TYPE;
115
+ /**
116
+ * Register a node component type.
117
+ *
118
+ * @param registration - The component registration details
119
+ * @param overwrite - If true, allows overwriting existing registrations
120
+ * @throws Error if type already registered and overwrite is false
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * nodeComponentRegistry.register({
125
+ * type: "fancy",
126
+ * displayName: "Fancy Node",
127
+ * component: FancyNode,
128
+ * icon: "mdi:sparkles"
129
+ * });
130
+ * ```
131
+ */
132
+ /**
133
+ * Clear all registrations and reset default type.
134
+ */
135
+ clear(): void;
136
+ register(registration: NodeComponentRegistration, overwrite?: boolean): void;
137
+ /**
138
+ * Register multiple components at once.
139
+ * Useful for libraries registering multiple node types.
140
+ *
141
+ * @param registrations - Array of registrations to add
142
+ * @param overwrite - If true, allows overwriting existing registrations
143
+ */
144
+ registerAll(registrations: NodeComponentRegistration[], overwrite?: boolean): void;
145
+ /**
146
+ * Get the component for a type, with fallback to default.
147
+ *
148
+ * @param type - The type identifier to look up
149
+ * @returns The component if found, or the default component
150
+ */
151
+ getComponent(type: string): Component<NodeComponentProps> | undefined;
152
+ /**
153
+ * Get framework-agnostic metadata for a type, without the Svelte component.
154
+ *
155
+ * @param type - The type identifier to look up
156
+ * @returns The metadata if found, undefined otherwise
157
+ */
158
+ getMetadata(type: string): NodeTypeInfo | undefined;
159
+ /**
160
+ * Get all registered type identifiers.
161
+ *
162
+ * @returns Array of registered type strings
163
+ */
164
+ getTypes(): string[];
165
+ /**
166
+ * Get registrations filtered by criteria.
167
+ *
168
+ * @param filter - Filter options
169
+ * @returns Filtered array of registrations
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * // Get all visual nodes
174
+ * const visualNodes = nodeComponentRegistry.filter({ category: "visual" });
175
+ *
176
+ * // Get nodes from a specific library
177
+ * const libNodes = nodeComponentRegistry.filter({ source: "mylib" });
178
+ * ```
179
+ */
180
+ filter(filter: NodeRegistrationFilter): NodeComponentRegistration[];
181
+ /**
182
+ * Get registrations filtered by category.
183
+ *
184
+ * @param category - The category to filter by
185
+ * @returns Array of registrations in that category
186
+ */
187
+ getByCategory(category: NodeComponentCategory): NodeComponentRegistration[];
188
+ /**
189
+ * Get registrations filtered by source.
190
+ *
191
+ * @param source - The source identifier to filter by (e.g., "flowdrop", "mylib")
192
+ * @returns Array of registrations from that source
193
+ */
194
+ getBySource(source: string): NodeComponentRegistration[];
195
+ /**
196
+ * Set the default fallback type.
197
+ *
198
+ * @param type - The type to use as default when requested type is not found
199
+ * @throws Error if the type is not registered
200
+ */
201
+ setDefaultType(type: string): void;
202
+ /**
203
+ * Get the current default type.
204
+ *
205
+ * @returns The default type identifier
206
+ */
207
+ getDefaultType(): string;
208
+ /**
209
+ * Get oneOf options for config forms.
210
+ * Returns array suitable for JSON Schema oneOf with const/title.
211
+ *
212
+ * @param filterFn - Optional filter function to limit which types are included
213
+ * @returns Array of oneOf items with const (type value) and title (display name)
214
+ *
215
+ * @example
216
+ * ```typescript
217
+ * const oneOf = nodeComponentRegistry.getOneOfOptions();
218
+ * // Use in configSchema: { type: "string", oneOf }
219
+ * ```
220
+ */
221
+ getOneOfOptions(filterFn?: (reg: NodeComponentRegistration) => boolean): Array<{
222
+ const: string;
223
+ title: string;
224
+ }>;
225
+ /**
226
+ * Get the status position for a node type.
227
+ *
228
+ * @param type - The node type
229
+ * @returns The status position, or default "top-right"
230
+ */
231
+ getStatusPosition(type: string): StatusPosition;
232
+ /**
233
+ * Get the status size for a node type.
234
+ *
235
+ * @param type - The node type
236
+ * @returns The status size, or default "md"
237
+ */
238
+ getStatusSize(type: string): StatusSize;
239
+ }
240
+ /** Singleton instance of the node component registry */
241
+ export declare const nodeComponentRegistry: NodeComponentRegistry;
242
+ /**
243
+ * Helper function to create a namespaced type identifier.
244
+ * Use this to avoid conflicts when registering custom nodes.
245
+ *
246
+ * @param namespace - Your library/project namespace
247
+ * @param type - The node type name
248
+ * @returns Namespaced type string (e.g., "mylib:custom")
249
+ *
250
+ * @example
251
+ * ```typescript
252
+ * const type = createNamespacedType("mylib", "fancy");
253
+ * // Returns "mylib:fancy"
254
+ * ```
255
+ */
256
+ export declare function createNamespacedType(namespace: string, type: string): string;
257
+ /**
258
+ * Parse a namespaced type into its components.
259
+ *
260
+ * @param namespacedType - The full namespaced type (e.g., "mylib:custom")
261
+ * @returns Object with namespace and type, or null if not namespaced
262
+ *
263
+ * @example
264
+ * ```typescript
265
+ * parseNamespacedType("mylib:fancy");
266
+ * // Returns { namespace: "mylib", type: "fancy" }
267
+ *
268
+ * parseNamespacedType("simple");
269
+ * // Returns null (not namespaced)
270
+ * ```
271
+ */
272
+ export declare function parseNamespacedType(namespacedType: string): {
273
+ namespace: string;
274
+ type: string;
275
+ } | null;
276
+ export {};