@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,146 @@
1
+ /**
2
+ * FlowDrop Endpoint Configuration
3
+ * Provides configurable endpoints for all API actions
4
+ */
5
+ /**
6
+ * Default endpoint configuration
7
+ */
8
+ export const defaultEndpointConfig = {
9
+ baseUrl: '/api/flowdrop',
10
+ endpoints: {
11
+ nodes: {
12
+ list: '/nodes',
13
+ get: '/nodes/{id}',
14
+ byCategory: '/nodes?category={category}',
15
+ metadata: '/nodes/{id}/metadata'
16
+ },
17
+ portConfig: '/port-config',
18
+ categories: '/categories',
19
+ workflows: {
20
+ list: '/workflows',
21
+ get: '/workflows/{id}',
22
+ create: '/workflows',
23
+ update: '/workflows/{id}',
24
+ delete: '/workflows/{id}',
25
+ validate: '/workflows/validate',
26
+ export: '/workflows/{id}/export',
27
+ import: '/workflows/import'
28
+ },
29
+ executions: {
30
+ execute: '/workflows/{id}/execute',
31
+ status: '/executions/{id}',
32
+ cancel: '/executions/{id}/cancel',
33
+ logs: '/executions/{id}/logs',
34
+ history: '/executions'
35
+ },
36
+ pipelines: {
37
+ list: '/workflow/{workflow_id}/pipelines',
38
+ get: '/pipeline/{id}',
39
+ create: '/pipeline',
40
+ update: '/pipeline/{id}',
41
+ delete: '/pipeline/{id}',
42
+ status: '/pipeline/{id}/status',
43
+ logs: '/pipeline/{id}/logs',
44
+ execute: '/pipeline/{id}/execute',
45
+ stop: '/pipeline/{id}/stop'
46
+ },
47
+ playground: {
48
+ listSessions: '/workflows/{id}/playground/sessions',
49
+ createSession: '/workflows/{id}/playground/sessions',
50
+ getSession: '/playground/sessions/{sessionId}',
51
+ deleteSession: '/playground/sessions/{sessionId}',
52
+ getMessages: '/playground/sessions/{sessionId}/messages',
53
+ sendMessage: '/playground/sessions/{sessionId}/messages',
54
+ stopExecution: '/playground/sessions/{sessionId}/stop'
55
+ },
56
+ interrupts: {
57
+ get: '/interrupts/{interruptId}',
58
+ resolve: '/interrupts/{interruptId}',
59
+ cancel: '/interrupts/{interruptId}/cancel',
60
+ listBySession: '/playground/sessions/{sessionId}/interrupts',
61
+ listByPipeline: '/pipelines/{pipelineId}/interrupts'
62
+ },
63
+ templates: {
64
+ list: '/templates',
65
+ get: '/templates/{id}',
66
+ create: '/templates',
67
+ update: '/templates/{id}',
68
+ delete: '/templates/{id}'
69
+ },
70
+ users: {
71
+ profile: '/users/profile',
72
+ preferences: '/users/preferences'
73
+ },
74
+ system: {
75
+ /** Health check at root level (industry standard for K8s, Docker, load balancers) */
76
+ health: '/health',
77
+ config: '/system/config',
78
+ version: '/system/version'
79
+ }
80
+ },
81
+ timeout: 30000,
82
+ retry: {
83
+ enabled: true,
84
+ maxAttempts: 3,
85
+ delay: 1000,
86
+ backoff: 'exponential'
87
+ }
88
+ };
89
+ /**
90
+ * Create endpoint configuration with custom base URL
91
+ */
92
+ export function createEndpointConfig(baseUrl, overrides) {
93
+ const config = {
94
+ ...defaultEndpointConfig,
95
+ baseUrl: baseUrl.replace(/\/$/, ''),
96
+ ...overrides
97
+ };
98
+ return config;
99
+ }
100
+ /**
101
+ * Build full URL for an endpoint
102
+ */
103
+ export function buildEndpointUrl(config, endpointPath, params) {
104
+ let url = endpointPath;
105
+ // Replace path parameters
106
+ if (params) {
107
+ Object.entries(params).forEach(([key, value]) => {
108
+ url = url.replace(`{${key}}`, encodeURIComponent(value));
109
+ });
110
+ }
111
+ // Ensure URL starts with base URL
112
+ if (!url.startsWith('http') && !url.startsWith('//')) {
113
+ url = `${config.baseUrl}${url.startsWith('/') ? url : `/${url}`}`;
114
+ }
115
+ return url;
116
+ }
117
+ /**
118
+ * Get HTTP method for an endpoint
119
+ */
120
+ export function getEndpointMethod(config, endpointKey) {
121
+ return config.methods?.[endpointKey] || 'GET';
122
+ }
123
+ /**
124
+ * Get custom headers for an endpoint
125
+ */
126
+ export function getEndpointHeaders(config, endpointKey) {
127
+ const baseHeaders = {
128
+ 'Content-Type': 'application/json'
129
+ };
130
+ // Add authentication headers
131
+ if (config.auth?.type === 'bearer' && config.auth.token) {
132
+ baseHeaders['Authorization'] = `Bearer ${config.auth.token}`;
133
+ }
134
+ else if (config.auth?.type === 'api_key' && config.auth.apiKey) {
135
+ baseHeaders['X-API-Key'] = config.auth.apiKey;
136
+ }
137
+ else if (config.auth?.type === 'custom' && config.auth.headers) {
138
+ Object.assign(baseHeaders, config.auth.headers);
139
+ }
140
+ // Add endpoint-specific headers
141
+ const endpointHeaders = config.headers?.[endpointKey];
142
+ if (endpointHeaders) {
143
+ Object.assign(baseHeaders, endpointHeaders);
144
+ }
145
+ return baseHeaders;
146
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Runtime Configuration Service
3
+ *
4
+ * Provides runtime configuration fetched from the server.
5
+ * This allows the application to use environment variables set at deployment
6
+ * time rather than build time.
7
+ */
8
+ export interface RuntimeConfig {
9
+ /** Base URL for the FlowDrop API */
10
+ apiBaseUrl: string;
11
+ /** Theme preference */
12
+ theme: 'light' | 'dark' | 'auto';
13
+ /** Request timeout in milliseconds */
14
+ timeout: number;
15
+ /** Authentication type */
16
+ authType: 'none' | 'bearer' | 'api_key' | 'custom';
17
+ /** Authentication token */
18
+ authToken?: string;
19
+ /** Application version */
20
+ version: string;
21
+ /** Environment name */
22
+ environment: string;
23
+ }
24
+ /**
25
+ * Fetch runtime configuration from the server
26
+ *
27
+ * @param force - Force fetch even if cached
28
+ * @returns Promise resolving to runtime configuration
29
+ */
30
+ export declare function fetchRuntimeConfig(force?: boolean): Promise<RuntimeConfig>;
31
+ /**
32
+ * Get runtime configuration synchronously from cache
33
+ *
34
+ * @returns Cached runtime configuration or null if not loaded
35
+ */
36
+ export declare function getRuntimeConfig(): RuntimeConfig | null;
37
+ /**
38
+ * Clear the runtime configuration cache
39
+ */
40
+ export declare function clearRuntimeConfigCache(): void;
41
+ /**
42
+ * Initialize runtime configuration
43
+ * Should be called once when the application starts
44
+ *
45
+ * @returns Promise resolving to runtime configuration
46
+ */
47
+ export declare function initRuntimeConfig(): Promise<RuntimeConfig>;
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Runtime Configuration Service
3
+ *
4
+ * Provides runtime configuration fetched from the server.
5
+ * This allows the application to use environment variables set at deployment
6
+ * time rather than build time.
7
+ */
8
+ import { logger } from '../utils/logger.js';
9
+ /** Cached runtime configuration */
10
+ let cachedConfig = null;
11
+ /** Cache timestamp */
12
+ let cacheTimestamp = 0;
13
+ /** Cache duration in milliseconds (5 minutes) */
14
+ const CACHE_DURATION = 5 * 60 * 1000;
15
+ /**
16
+ * Fetch runtime configuration from the server
17
+ *
18
+ * @param force - Force fetch even if cached
19
+ * @returns Promise resolving to runtime configuration
20
+ */
21
+ export async function fetchRuntimeConfig(force = false) {
22
+ const now = Date.now();
23
+ // Return cached config if available and not expired
24
+ if (!force && cachedConfig && now - cacheTimestamp < CACHE_DURATION) {
25
+ return cachedConfig;
26
+ }
27
+ try {
28
+ const response = await fetch('/api/config');
29
+ if (!response.ok) {
30
+ throw new Error(`Failed to fetch runtime config: ${response.statusText}`);
31
+ }
32
+ const config = (await response.json());
33
+ // Update cache
34
+ cachedConfig = config;
35
+ cacheTimestamp = now;
36
+ return config;
37
+ }
38
+ catch (error) {
39
+ logger.error('Failed to fetch runtime configuration:', error);
40
+ // Return default configuration if fetch fails
41
+ const defaultConfig = {
42
+ apiBaseUrl: '/api/flowdrop',
43
+ theme: 'auto',
44
+ timeout: 30000,
45
+ authType: 'none',
46
+ version: '1.0.0',
47
+ environment: 'production'
48
+ };
49
+ // Cache the default config to avoid repeated failed requests
50
+ if (!cachedConfig) {
51
+ cachedConfig = defaultConfig;
52
+ cacheTimestamp = now;
53
+ }
54
+ return cachedConfig || defaultConfig;
55
+ }
56
+ }
57
+ /**
58
+ * Get runtime configuration synchronously from cache
59
+ *
60
+ * @returns Cached runtime configuration or null if not loaded
61
+ */
62
+ export function getRuntimeConfig() {
63
+ return cachedConfig;
64
+ }
65
+ /**
66
+ * Clear the runtime configuration cache
67
+ */
68
+ export function clearRuntimeConfigCache() {
69
+ cachedConfig = null;
70
+ cacheTimestamp = 0;
71
+ }
72
+ /**
73
+ * Initialize runtime configuration
74
+ * Should be called once when the application starts
75
+ *
76
+ * @returns Promise resolving to runtime configuration
77
+ */
78
+ export async function initRuntimeConfig() {
79
+ return fetchRuntimeConfig(true);
80
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * FlowDrop Core Module
3
+ *
4
+ * This module exports types, utilities, and lightweight functionality
5
+ * with zero heavy dependencies. Safe to import without bundling
6
+ * @xyflow/svelte, codemirror, or marked.
7
+ *
8
+ * @module core
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Import types and utilities without heavy dependencies
13
+ * import type { Workflow, WorkflowNode, NodeMetadata } from "@flowdrop/flowdrop/core";
14
+ * import { getStatusColor, createDefaultExecutionInfo } from "@flowdrop/flowdrop/core";
15
+ * ```
16
+ */
17
+ export type { WorkflowFormat, BuiltinWorkflowFormat } from '../types/index.js';
18
+ export { DEFAULT_WORKFLOW_FORMAT } from '../types/index.js';
19
+ export type { NodeCategory, BuiltinNodeCategory, CategoryDefinition, NodeDataType, NodePort, DynamicPort, Branch, NodeMetadata, NodeExtensions, NodeUIExtensions, ConfigValues, WorkflowNode, WorkflowEdge, Workflow, ApiResponse, NodesResponse, WorkflowResponse, WorkflowsResponse, ExecutionStatus, ExecutionResult, FlowDropConfig, WorkflowEvents, BuiltinNodeType, PortConfig, PortCompatibilityRule, ConfigSchema, ConfigProperty, HttpMethod, DynamicSchemaEndpoint, ExternalEditLink, ConfigEditOptions, EdgeCategory, UISchemaElementType, UISchemaElementBase, UISchemaControl, UISchemaVerticalLayout, UISchemaGroup, UISchemaElement } from '../types/index.js';
20
+ export { isUISchemaControl, isUISchemaVerticalLayout, isUISchemaGroup } from '../types/index.js';
21
+ export type { WorkflowEditorConfig, EditorFeatures, UIConfig, APIConfig, ExecutionConfig, StorageConfig } from '../types/config.js';
22
+ export type { AuthProvider, StaticAuthConfig, CallbackAuthConfig } from '../types/auth.js';
23
+ export type { WorkflowChangeType, FlowDropEventHandlers, FlowDropFeatures } from '../types/events.js';
24
+ export type { FieldSchema, FieldType, FieldFormat, FieldOption, SchemaFormProps, BaseFieldProps, TextFieldProps, TextareaFieldProps, NumberFieldProps, ToggleFieldProps, RangeFieldProps, SelectFieldProps, CheckboxGroupFieldProps, ArrayFieldProps, CodeEditorFieldProps, MarkdownEditorFieldProps, TemplateEditorFieldProps, FormFieldFactoryProps, FormFieldWrapperProps } from '../components/form/types.js';
25
+ export { BaseRegistry } from '../registry/BaseRegistry.js';
26
+ export type { NodeComponentProps, NodeTypeInfo, NodeComponentRegistration, NodeComponentCategory, StatusPosition, StatusSize, NodeRegistrationFilter, FlowDropPluginConfig, PluginNodeDefinition, PluginRegistrationResult } from '../registry/index.js';
27
+ export type { FieldMatcherRegistration } from '../form/fieldRegistry.js';
28
+ export { workflowFormatRegistry } from '../registry/workflowFormatRegistry.js';
29
+ export type { WorkflowFormatAdapter, FormatValidationResult } from '../registry/workflowFormatRegistry.js';
30
+ export { registerBuiltinFormats, areBuiltinFormatsRegistered, resetBuiltinFormatRegistration } from '../registry/builtinFormats.js';
31
+ export type { ToastType, ToastOptions } from '../services/toastService.js';
32
+ export type { DynamicSchemaResult } from '../services/dynamicSchemaService.js';
33
+ export type { PlaygroundSession, PlaygroundMessage, PlaygroundInputField, PlaygroundMessageRequest, PlaygroundMessagesResult, PlaygroundConfig, PlaygroundMode, PlaygroundSessionStatus, PlaygroundMessageRole, PlaygroundMessageLevel, PlaygroundMessageMetadata, PlaygroundApiResponse, PlaygroundSessionsResponse, PlaygroundSessionResponse, PlaygroundMessageResponse, PlaygroundMessagesApiResponse } from '../types/playground.js';
34
+ export { isChatInputNode, CHAT_INPUT_PATTERNS } from '../types/playground.js';
35
+ export type { EndpointConfig } from '../config/endpoints.js';
36
+ export type { FlowDropMountOptions, MountedFlowDropApp, NavbarAction } from '../svelte-app.js';
37
+ export { StaticAuthProvider, CallbackAuthProvider, NoAuthProvider } from '../types/auth.js';
38
+ export { DEFAULT_FEATURES, mergeFeatures } from '../types/events.js';
39
+ export { getStatusColor, getStatusIcon, getStatusLabel, getStatusBackgroundColor, getStatusTextColor, createDefaultExecutionInfo, updateExecutionStart, updateExecutionComplete, updateExecutionFailed, resetExecutionInfo, formatExecutionDuration, formatLastExecuted } from '../utils/nodeStatus.js';
40
+ export { createNodeWrapperConfig, shouldShowNodeStatus, getOptimalStatusPosition, getOptimalStatusSize, DEFAULT_NODE_STATUS_CONFIG } from '../utils/nodeWrapper.js';
41
+ export type { NodeStatusConfig } from '../utils/nodeWrapper.js';
42
+ export { CATEGORY_COLOR_TOKENS, DEFAULT_COLORS, getCategoryColorToken, getDataTypeColorToken, getDataTypeConfig, getAvailableDataTypes, getCategoryColors, getCategoryBackground, getCategoryAccent, getCategoryText, getCategoryBorder, getNodeColors, getNodeBackground, getNodeAccent, getNodeText, getNodeBorder, getDataTypeColor, parseDataTypeDisplay, getDataTypeDisplayText, isArrayDataType, getArrayElementType, hexToRgb, getRelativeLuminance, isLightColor, getContrastTextColor, resolveColorToken, getContrastTextColorForDataType, getContrastTextColorForCategory, getPortBackgroundColor, getPortBorderColor, rgbToHex, getLightTint, getDarkTint, getBorderTint, getDarkBorderTint, getColorVariants, getThemeAwareColorVariants } from '../utils/colors.js';
43
+ export type { ColorVariants } from '../utils/colors.js';
44
+ export { DEFAULT_ICONS, CATEGORY_ICONS, getNodeIcon, getCategoryIcon, getDefaultIcon, isValidIcon, getValidIcon } from '../utils/icons.js';
45
+ export { createDefaultFeatures, createDefaultUIConfig, createDefaultAPIConfig, createDefaultExecutionConfig, createDefaultStorageConfig, createDefaultConfig, mergeConfig, validateConfig } from '../utils/config.js';
46
+ export { getComponentNameForNodeType, getAvailableNodeTypes, getPrimaryNodeType, resolveNodeType, resolveComponentName, isNodeTypeSupported, getNodeTypeOneOfOptions, createNodeTypeConfigProperty, isValidNodeType, getAllNodeTypes } from '../utils/nodeTypes.js';
47
+ export { isLoopbackEdge, isValidLoopbackCycle, hasCycles, hasInvalidCycles } from '../utils/connections.js';
48
+ export { isFieldOptionArray, normalizeOptions } from '../components/form/types.js';
49
+ export { resolveScopeToKey, keyToScope, generateDefaultUISchema, collectReferencedKeys } from '../utils/uischema.js';
50
+ export { DEFAULT_PORT_CONFIG } from '../config/defaultPortConfig.js';
51
+ export { defaultEndpointConfig, createEndpointConfig } from '../config/endpoints.js';
52
+ export { WorkflowAdapter } from '../adapters/WorkflowAdapter.js';
53
+ export type { StandardNode, StandardEdge, StandardWorkflow, WorkflowExecutionResult, WorkflowValidationResult } from '../adapters/WorkflowAdapter.js';
54
+ export type { AgentSpecNodeComponentType, AgentSpecToolComponentType, AgentSpecComponentType, AgentSpecProperty, AgentSpecNodeBase, AgentSpecStartNode, AgentSpecEndNode, AgentSpecLLMNode, AgentSpecAPINode, AgentSpecAgentNode, AgentSpecFlowNode, AgentSpecMapNode, AgentSpecBranchingNode, AgentSpecToolNode, AgentSpecNode, AgentSpecBranch, AgentSpecControlFlowEdge, AgentSpecDataFlowEdge, AgentSpecFlow, AgentSpecToolBase, AgentSpecServerTool, AgentSpecClientTool, AgentSpecRemoteTool, AgentSpecTool, AgentSpecLLMConfig, AgentSpecAgent, AgentSpecDocument } from '../types/agentspec.js';
55
+ export { COMPONENT_REF_PREFIX, isComponentRef, extractComponentRefId, createComponentRef } from '../types/agentspec.js';
56
+ export { getAgentSpecNodeMetadata, getDefaultAgentSpecNodeTypes, createAgentSpecNodeMetadata } from '../adapters/agentspec/defaultNodeTypes.js';
57
+ export { getComponentTypeDefaults, extractComponentType, isAgentSpecNodeId, AGENTSPEC_NAMESPACE } from '../adapters/agentspec/componentTypeDefaults.js';
58
+ export type { ComponentTypeDefaults } from '../adapters/agentspec/componentTypeDefaults.js';
59
+ export { AgentSpecAdapter } from '../adapters/agentspec/AgentSpecAdapter.js';
60
+ export { AgentSpecAgentAdapter } from '../adapters/agentspec/agentAdapter.js';
61
+ export type { AgentConfig, AgentSpecImportResult } from '../adapters/agentspec/agentAdapter.js';
62
+ export { validateForAgentSpecExport, validateAgentSpecFlow } from '../adapters/agentspec/validator.js';
63
+ export type { AgentSpecValidationResult } from '../adapters/agentspec/validator.js';
64
+ export { computeAutoLayout } from '../adapters/agentspec/autoLayout.js';
65
+ export type { AutoLayoutConfig } from '../adapters/agentspec/autoLayout.js';
66
+ export type { AgentSpecEndpointConfig } from '../config/agentSpecEndpoints.js';
67
+ export { defaultAgentSpecEndpoints, createAgentSpecEndpointConfig, buildAgentSpecUrl, getAgentSpecAuthHeaders } from '../config/agentSpecEndpoints.js';
68
+ export { AgentSpecExecutionService, agentSpecExecutionService } from '../services/agentSpecExecutionService.js';
69
+ export type { AgentSpecExecutionHandle } from '../services/agentSpecExecutionService.js';
70
+ export { workflowSchema, WORKFLOW_SCHEMA_VERSION } from '../schema/index.js';
71
+ export type { ThemePreference, ResolvedTheme } from '../stores/settingsStore.svelte.js';
72
+ export { getTheme as theme, getResolvedTheme as resolvedTheme, setTheme, toggleTheme, cycleTheme, initializeTheme, isThemeInitialized } from '../stores/settingsStore.svelte.js';
73
+ export { sanitizeHtml } from '../utils/sanitize.js';
74
+ export { logger, setLogLevel, getLogLevel } from '../utils/logger.js';
75
+ export type { LogLevel } from '../utils/logger.js';
@@ -0,0 +1,92 @@
1
+ /**
2
+ * FlowDrop Core Module
3
+ *
4
+ * This module exports types, utilities, and lightweight functionality
5
+ * with zero heavy dependencies. Safe to import without bundling
6
+ * @xyflow/svelte, codemirror, or marked.
7
+ *
8
+ * @module core
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Import types and utilities without heavy dependencies
13
+ * import type { Workflow, WorkflowNode, NodeMetadata } from "@flowdrop/flowdrop/core";
14
+ * import { getStatusColor, createDefaultExecutionInfo } from "@flowdrop/flowdrop/core";
15
+ * ```
16
+ */
17
+ export { DEFAULT_WORKFLOW_FORMAT } from '../types/index.js';
18
+ export { isUISchemaControl, isUISchemaVerticalLayout, isUISchemaGroup } from '../types/index.js';
19
+ // Base registry
20
+ export { BaseRegistry } from '../registry/BaseRegistry.js';
21
+ // Workflow format registry
22
+ export { workflowFormatRegistry } from '../registry/workflowFormatRegistry.js';
23
+ // Built-in format registration helpers
24
+ export { registerBuiltinFormats, areBuiltinFormatsRegistered, resetBuiltinFormatRegistration } from '../registry/builtinFormats.js';
25
+ export { isChatInputNode, CHAT_INPUT_PATTERNS } from '../types/playground.js';
26
+ // ============================================================================
27
+ // Authentication Providers (no dependencies)
28
+ // ============================================================================
29
+ export { StaticAuthProvider, CallbackAuthProvider, NoAuthProvider } from '../types/auth.js';
30
+ // ============================================================================
31
+ // Event Utilities
32
+ // ============================================================================
33
+ export { DEFAULT_FEATURES, mergeFeatures } from '../types/events.js';
34
+ // ============================================================================
35
+ // Utility Functions (no heavy dependencies)
36
+ // ============================================================================
37
+ // Node status utilities
38
+ export { getStatusColor, getStatusIcon, getStatusLabel, getStatusBackgroundColor, getStatusTextColor, createDefaultExecutionInfo, updateExecutionStart, updateExecutionComplete, updateExecutionFailed, resetExecutionInfo, formatExecutionDuration, formatLastExecuted } from '../utils/nodeStatus.js';
39
+ // Node wrapper utilities
40
+ export { createNodeWrapperConfig, shouldShowNodeStatus, getOptimalStatusPosition, getOptimalStatusSize, DEFAULT_NODE_STATUS_CONFIG } from '../utils/nodeWrapper.js';
41
+ // Color utilities
42
+ export { CATEGORY_COLOR_TOKENS, DEFAULT_COLORS, getCategoryColorToken, getDataTypeColorToken, getDataTypeConfig, getAvailableDataTypes, getCategoryColors, getCategoryBackground, getCategoryAccent, getCategoryText, getCategoryBorder, getNodeColors, getNodeBackground, getNodeAccent, getNodeText, getNodeBorder, getDataTypeColor, parseDataTypeDisplay, getDataTypeDisplayText, isArrayDataType, getArrayElementType, hexToRgb, getRelativeLuminance, isLightColor, getContrastTextColor, resolveColorToken, getContrastTextColorForDataType, getContrastTextColorForCategory, getPortBackgroundColor, getPortBorderColor, rgbToHex, getLightTint, getDarkTint, getBorderTint, getDarkBorderTint, getColorVariants, getThemeAwareColorVariants } from '../utils/colors.js';
43
+ // Icon utilities
44
+ export { DEFAULT_ICONS, CATEGORY_ICONS, getNodeIcon, getCategoryIcon, getDefaultIcon, isValidIcon, getValidIcon } from '../utils/icons.js';
45
+ // Config utilities
46
+ export { createDefaultFeatures, createDefaultUIConfig, createDefaultAPIConfig, createDefaultExecutionConfig, createDefaultStorageConfig, createDefaultConfig, mergeConfig, validateConfig } from '../utils/config.js';
47
+ // Node type utilities
48
+ export { getComponentNameForNodeType, getAvailableNodeTypes, getPrimaryNodeType, resolveNodeType, resolveComponentName, isNodeTypeSupported, getNodeTypeOneOfOptions, createNodeTypeConfigProperty, isValidNodeType, getAllNodeTypes } from '../utils/nodeTypes.js';
49
+ // Connection utilities (including loopback edge detection)
50
+ export { isLoopbackEdge, isValidLoopbackCycle, hasCycles, hasInvalidCycles } from '../utils/connections.js';
51
+ // Form type utilities
52
+ export { isFieldOptionArray, normalizeOptions } from '../components/form/types.js';
53
+ // UISchema utilities
54
+ export { resolveScopeToKey, keyToScope, generateDefaultUISchema, collectReferencedKeys } from '../utils/uischema.js';
55
+ // ============================================================================
56
+ // Configuration
57
+ // ============================================================================
58
+ export { DEFAULT_PORT_CONFIG } from '../config/defaultPortConfig.js';
59
+ export { defaultEndpointConfig, createEndpointConfig } from '../config/endpoints.js';
60
+ // ============================================================================
61
+ // Adapters
62
+ // ============================================================================
63
+ export { WorkflowAdapter } from '../adapters/WorkflowAdapter.js';
64
+ export { COMPONENT_REF_PREFIX, isComponentRef, extractComponentRefId, createComponentRef } from '../types/agentspec.js';
65
+ // Agent Spec default node types (optional starter templates — users can provide their own)
66
+ export { getAgentSpecNodeMetadata, getDefaultAgentSpecNodeTypes, createAgentSpecNodeMetadata } from '../adapters/agentspec/defaultNodeTypes.js';
67
+ // Agent Spec component type defaults (adapter infrastructure)
68
+ export { getComponentTypeDefaults, extractComponentType, isAgentSpecNodeId, AGENTSPEC_NAMESPACE } from '../adapters/agentspec/componentTypeDefaults.js';
69
+ // Agent Spec adapter (bidirectional conversion)
70
+ export { AgentSpecAdapter } from '../adapters/agentspec/AgentSpecAdapter.js';
71
+ // Agent Spec agent-level adapter
72
+ export { AgentSpecAgentAdapter } from '../adapters/agentspec/agentAdapter.js';
73
+ // Agent Spec validation
74
+ export { validateForAgentSpecExport, validateAgentSpecFlow } from '../adapters/agentspec/validator.js';
75
+ // Agent Spec auto-layout
76
+ export { computeAutoLayout } from '../adapters/agentspec/autoLayout.js';
77
+ export { defaultAgentSpecEndpoints, createAgentSpecEndpointConfig, buildAgentSpecUrl, getAgentSpecAuthHeaders } from '../config/agentSpecEndpoints.js';
78
+ // Agent Spec execution service
79
+ export { AgentSpecExecutionService, agentSpecExecutionService } from '../services/agentSpecExecutionService.js';
80
+ // ============================================================================
81
+ // Workflow JSON Schema
82
+ // ============================================================================
83
+ export { workflowSchema, WORKFLOW_SCHEMA_VERSION } from '../schema/index.js';
84
+ export { getTheme as theme, getResolvedTheme as resolvedTheme, setTheme, toggleTheme, cycleTheme, initializeTheme, isThemeInitialized } from '../stores/settingsStore.svelte.js';
85
+ // ============================================================================
86
+ // HTML Sanitization
87
+ // ============================================================================
88
+ export { sanitizeHtml } from '../utils/sanitize.js';
89
+ // ============================================================================
90
+ // Logger
91
+ // ============================================================================
92
+ export { logger, setLogLevel, getLogLevel } from '../utils/logger.js';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * FlowDrop Display Module
3
+ *
4
+ * Provides display components for rendering content.
5
+ * This module includes the marked library for markdown rendering.
6
+ *
7
+ * @module display
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { MarkdownDisplay } from "@flowdrop/flowdrop/display";
12
+ * ```
13
+ *
14
+ * @example In Svelte:
15
+ * ```svelte
16
+ * <script>
17
+ * import { MarkdownDisplay } from "@flowdrop/flowdrop/display";
18
+ *
19
+ * const markdown = `
20
+ * # Hello World
21
+ * This is **markdown** content.
22
+ * `;
23
+ * </script>
24
+ *
25
+ * <MarkdownDisplay content={markdown} />
26
+ * ```
27
+ */
28
+ export { default as MarkdownDisplay } from '../components/MarkdownDisplay.svelte';
29
+ export { marked } from 'marked';
@@ -0,0 +1,36 @@
1
+ /**
2
+ * FlowDrop Display Module
3
+ *
4
+ * Provides display components for rendering content.
5
+ * This module includes the marked library for markdown rendering.
6
+ *
7
+ * @module display
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { MarkdownDisplay } from "@flowdrop/flowdrop/display";
12
+ * ```
13
+ *
14
+ * @example In Svelte:
15
+ * ```svelte
16
+ * <script>
17
+ * import { MarkdownDisplay } from "@flowdrop/flowdrop/display";
18
+ *
19
+ * const markdown = `
20
+ * # Hello World
21
+ * This is **markdown** content.
22
+ * `;
23
+ * </script>
24
+ *
25
+ * <MarkdownDisplay content={markdown} />
26
+ * ```
27
+ */
28
+ // ============================================================================
29
+ // Display Components
30
+ // ============================================================================
31
+ export { default as MarkdownDisplay } from '../components/MarkdownDisplay.svelte';
32
+ // ============================================================================
33
+ // Re-export marked for advanced usage
34
+ // ============================================================================
35
+ // Users can use marked directly if they need more control
36
+ export { marked } from 'marked';
@@ -0,0 +1,95 @@
1
+ /**
2
+ * FlowDrop Editor Module
3
+ *
4
+ * Provides the WorkflowEditor component and related functionality for
5
+ * building visual workflow editors. This module includes @xyflow/svelte
6
+ * and all node components.
7
+ *
8
+ * **Important: Single-instance only.** FlowDrop uses module-level singleton
9
+ * stores for state management. Only one FlowDrop editor instance per page
10
+ * is supported. This is a known architectural limitation.
11
+ *
12
+ * @module editor
13
+ *
14
+ * @example Mounting a standalone workflow editor:
15
+ * ```typescript
16
+ * import { mountFlowDropApp, WorkflowEditor } from "@flowdrop/flowdrop/editor";
17
+ * import "@flowdrop/flowdrop/styles";
18
+ *
19
+ * const app = await mountFlowDropApp(document.getElementById("editor"), {
20
+ * workflow: myWorkflow,
21
+ * nodes: availableNodes
22
+ * });
23
+ * ```
24
+ *
25
+ * @example Using WorkflowEditor in Svelte:
26
+ * ```svelte
27
+ * <script>
28
+ * import { WorkflowEditor } from "@flowdrop/flowdrop/editor";
29
+ * </script>
30
+ *
31
+ * <WorkflowEditor nodes={availableNodes} />
32
+ * ```
33
+ */
34
+ import '../registry/builtinNodes.js';
35
+ export { default as WorkflowEditor } from '../components/WorkflowEditor.svelte';
36
+ export { default as App } from '../components/App.svelte';
37
+ export { default as WorkflowNodeComponent } from '../components/nodes/WorkflowNode.svelte';
38
+ export { default as SimpleNode } from '../components/nodes/SimpleNode.svelte';
39
+ export { default as ToolNode } from '../components/nodes/ToolNode.svelte';
40
+ export { default as NotesNode } from '../components/nodes/NotesNode.svelte';
41
+ export { default as GatewayNode } from '../components/nodes/GatewayNode.svelte';
42
+ export { default as SquareNode } from '../components/nodes/SquareNode.svelte';
43
+ export { default as TerminalNode } from '../components/nodes/TerminalNode.svelte';
44
+ export { default as UniversalNode } from '../components/UniversalNode.svelte';
45
+ export { default as NodeSidebar } from '../components/NodeSidebar.svelte';
46
+ export { default as CanvasBanner } from '../components/CanvasBanner.svelte';
47
+ export { default as LoadingSpinner } from '../components/LoadingSpinner.svelte';
48
+ export { default as StatusIcon } from '../components/StatusIcon.svelte';
49
+ export { default as StatusLabel } from '../components/StatusLabel.svelte';
50
+ export { default as NodeStatusOverlay } from '../components/NodeStatusOverlay.svelte';
51
+ export { default as ConfigForm } from '../components/ConfigForm.svelte';
52
+ export { default as ConfigModal } from '../components/ConfigModal.svelte';
53
+ export { default as ConfigPanel } from '../components/ConfigPanel.svelte';
54
+ export { default as ReadOnlyDetails } from '../components/ReadOnlyDetails.svelte';
55
+ export { default as ConnectionLine } from '../components/ConnectionLine.svelte';
56
+ export { default as LogsSidebar } from '../components/LogsSidebar.svelte';
57
+ export { default as PipelineStatus } from '../components/PipelineStatus.svelte';
58
+ export { default as Navbar } from '../components/Navbar.svelte';
59
+ export { default as Logo } from '../components/Logo.svelte';
60
+ export { default as Playground } from '../components/playground/Playground.svelte';
61
+ export { default as PlaygroundModal } from '../components/playground/PlaygroundModal.svelte';
62
+ export { default as ChatPanel } from '../components/playground/ChatPanel.svelte';
63
+ export { default as SessionManager } from '../components/playground/SessionManager.svelte';
64
+ export { default as InputCollector } from '../components/playground/InputCollector.svelte';
65
+ export { default as ExecutionLogs } from '../components/playground/ExecutionLogs.svelte';
66
+ export { default as MessageBubble } from '../components/playground/MessageBubble.svelte';
67
+ export { mountWorkflowEditor, mountFlowDropApp, unmountFlowDropApp } from '../svelte-app.js';
68
+ export { nodeComponentRegistry, createNamespacedType, parseNamespacedType, BUILTIN_NODE_COMPONENTS, BUILTIN_NODE_TYPES, FLOWDROP_SOURCE, registerBuiltinNodes, areBuiltinsRegistered, isBuiltinType, getBuiltinTypes, resolveBuiltinAlias, registerFlowDropPlugin, unregisterFlowDropPlugin, registerCustomNode, createPlugin, isValidNamespace, getRegisteredPlugins, getPluginNodeCount } from '../registry/index.js';
69
+ export { EdgeStylingHelper, NodeOperationsHelper, WorkflowOperationsHelper, ConfigurationHelper } from '../helpers/workflowEditorHelper.js';
70
+ export { getWorkflowStore, workflowActions, getWorkflowId, getWorkflowName, getWorkflowNodes, getWorkflowEdges, getWorkflowMetadata, getWorkflowFormat, getWorkflowChanged, getWorkflowValidation, getWorkflowMetadataChanged, getConnectedHandles, getIsDirty, isDirty, markAsSaved, getWorkflow as getWorkflowFromStore, setOnDirtyStateChange, setOnWorkflowChange, setHistoryEnabled, isHistoryEnabled, setRestoringFromHistory } from '../stores/workflowStore.svelte.js';
71
+ export { rebuildAllPortCoordinates, updateNodePortCoordinates, removeNodePortCoordinates, getPortCoordinate, getNodePortCoordinates, getPortCoordinateSnapshot, getPortCoordinates } from '../stores/portCoordinateStore.svelte.js';
72
+ export { getHistoryState, getCanUndo, getCanRedo, historyActions, setOnRestoreCallback, cleanupHistorySubscription, historyService, HistoryService } from '../stores/historyStore.svelte.js';
73
+ export type { HistoryEntry, HistoryState, PushOptions } from '../stores/historyStore.svelte.js';
74
+ export { setEndpointConfig, getEndpointConfig, nodeApi, workflowApi, api } from '../services/api.js';
75
+ export { showSuccess, showError, showWarning, showInfo, showLoading, dismissToast, dismissAllToasts, showPromise, showConfirmation, apiToasts, workflowToasts, pipelineToasts } from '../services/toastService.js';
76
+ export { NodeExecutionService, nodeExecutionService } from '../services/nodeExecutionService.js';
77
+ export { PlaygroundService, playgroundService } from '../services/playgroundService.js';
78
+ export { getCurrentSession, getSessions, getMessages, getIsExecuting, getIsLoading, getError as getPlaygroundError, getCurrentWorkflow, getLastPollTimestamp, getSessionStatus, getMessageCount, getChatMessages, getLogMessages, getLatestMessage, getInputFields, getHasChatInput, getSessionCount, playgroundActions, createPollingCallback, subscribeToSessionStatus, getCurrentSessionId, isSessionSelected, getMessagesSnapshot, getLatestMessageTimestamp } from '../stores/playgroundStore.svelte.js';
79
+ export { saveWorkflow, updateWorkflow, getWorkflow, getWorkflows, deleteWorkflow, getWorkflowCount, initializeSampleWorkflows } from '../services/workflowStorage.js';
80
+ export { globalSaveWorkflow, globalExportWorkflow } from '../services/globalSave.js';
81
+ export { fetchPortConfig, validatePortConfig } from '../services/portConfigApi.js';
82
+ export { fetchCategories, validateCategories } from '../services/categoriesApi.js';
83
+ export { fetchDynamicSchema, resolveExternalEditUrl, getEffectiveConfigEditOptions, clearSchemaCache, invalidateSchemaCache, hasConfigEditOptions, shouldShowExternalEdit, shouldUseDynamicSchema } from '../services/dynamicSchemaService.js';
84
+ export { getDraftStorageKey, saveDraft, loadDraft, deleteDraft, hasDraft, getDraftMetadata, DraftAutoSaveManager } from '../services/draftStorage.js';
85
+ export { EnhancedFlowDropApiClient, ApiError } from '../api/enhanced-client.js';
86
+ export { isLoopbackEdge, isValidLoopbackCycle, PortCompatibilityChecker, initializePortCompatibility, getPortCompatibilityChecker, getPossibleConnections, validateConnection, getConnectionSuggestions, hasCycles, hasInvalidCycles, getExecutionOrder } from '../utils/connections.js';
87
+ export { fetchRuntimeConfig, getRuntimeConfig, clearRuntimeConfigCache, initRuntimeConfig } from '../config/runtimeConfig.js';
88
+ export type { RuntimeConfig } from '../config/runtimeConfig.js';
89
+ export type { Workflow, WorkflowNode, WorkflowEdge, NodeMetadata, NodePort, DynamicPort, Branch, ExecutionStatus, ExecutionResult, FlowDropConfig, PortConfig, ConfigSchema, ConfigProperty, ConfigEditOptions } from '../types/index.js';
90
+ export type { WorkflowEditorConfig, EditorFeatures, UIConfig, APIConfig } from '../types/config.js';
91
+ export type { AuthProvider, StaticAuthConfig, CallbackAuthConfig } from '../types/auth.js';
92
+ export type { FlowDropEventHandlers, FlowDropFeatures, WorkflowChangeType } from '../types/events.js';
93
+ export type { EndpointConfig } from '../config/endpoints.js';
94
+ export type { FlowDropMountOptions, MountedFlowDropApp, NavbarAction } from '../svelte-app.js';
95
+ export type { NodeComponentProps, NodeComponentRegistration, FlowDropPluginConfig, PluginNodeDefinition } from '../registry/index.js';