@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,52 @@
1
+ /**
2
+ * UISchema Utilities
3
+ *
4
+ * Functions for resolving JSON Pointer scope strings to property keys,
5
+ * and for generating default UISchema from a ConfigSchema.
6
+ */
7
+ import type { ConfigSchema } from '../types/index.js';
8
+ import type { UISchemaElement, UISchemaVerticalLayout } from '../types/uischema.js';
9
+ /**
10
+ * Resolve a JSON Pointer scope string to a property key.
11
+ *
12
+ * Supports the JSON Forms scope format: #/properties/<fieldName>
13
+ *
14
+ * @param scope - JSON Pointer string (e.g., "#/properties/temperature")
15
+ * @returns The property key (e.g., "temperature"), or null if invalid
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * resolveScopeToKey("#/properties/temperature") // => "temperature"
20
+ * resolveScopeToKey("#/properties/nested/deep") // => null (only single-level supported)
21
+ * resolveScopeToKey("invalid") // => null
22
+ * ```
23
+ */
24
+ export declare function resolveScopeToKey(scope: string): string | null;
25
+ /**
26
+ * Build a scope string from a property key.
27
+ * Inverse of resolveScopeToKey.
28
+ *
29
+ * @param key - Property key (e.g., "temperature")
30
+ * @returns JSON Pointer scope string (e.g., "#/properties/temperature")
31
+ */
32
+ export declare function keyToScope(key: string): string;
33
+ /**
34
+ * Generate a default UISchema from a ConfigSchema.
35
+ * Creates a flat VerticalLayout with one Control per property,
36
+ * preserving the property iteration order.
37
+ *
38
+ * This is a convenience utility for programmatically building UISchema.
39
+ *
40
+ * @param schema - The ConfigSchema to generate a UISchema from
41
+ * @returns A VerticalLayout UISchema element
42
+ */
43
+ export declare function generateDefaultUISchema(schema: ConfigSchema): UISchemaVerticalLayout;
44
+ /**
45
+ * Collect all property keys referenced by Controls in a UISchema tree.
46
+ * Useful for detecting properties that are NOT in the UISchema
47
+ * (e.g., to warn about unreferenced fields during development).
48
+ *
49
+ * @param element - Root UISchema element
50
+ * @returns Set of property keys referenced by Controls
51
+ */
52
+ export declare function collectReferencedKeys(element: UISchemaElement): Set<string>;
@@ -0,0 +1,88 @@
1
+ /**
2
+ * UISchema Utilities
3
+ *
4
+ * Functions for resolving JSON Pointer scope strings to property keys,
5
+ * and for generating default UISchema from a ConfigSchema.
6
+ */
7
+ /**
8
+ * Resolve a JSON Pointer scope string to a property key.
9
+ *
10
+ * Supports the JSON Forms scope format: #/properties/<fieldName>
11
+ *
12
+ * @param scope - JSON Pointer string (e.g., "#/properties/temperature")
13
+ * @returns The property key (e.g., "temperature"), or null if invalid
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * resolveScopeToKey("#/properties/temperature") // => "temperature"
18
+ * resolveScopeToKey("#/properties/nested/deep") // => null (only single-level supported)
19
+ * resolveScopeToKey("invalid") // => null
20
+ * ```
21
+ */
22
+ export function resolveScopeToKey(scope) {
23
+ const prefix = '#/properties/';
24
+ if (!scope.startsWith(prefix)) {
25
+ return null;
26
+ }
27
+ const key = scope.slice(prefix.length);
28
+ // Only support single-level property references (no nested paths)
29
+ if (key.includes('/') || key.length === 0) {
30
+ return null;
31
+ }
32
+ return key;
33
+ }
34
+ /**
35
+ * Build a scope string from a property key.
36
+ * Inverse of resolveScopeToKey.
37
+ *
38
+ * @param key - Property key (e.g., "temperature")
39
+ * @returns JSON Pointer scope string (e.g., "#/properties/temperature")
40
+ */
41
+ export function keyToScope(key) {
42
+ return `#/properties/${key}`;
43
+ }
44
+ /**
45
+ * Generate a default UISchema from a ConfigSchema.
46
+ * Creates a flat VerticalLayout with one Control per property,
47
+ * preserving the property iteration order.
48
+ *
49
+ * This is a convenience utility for programmatically building UISchema.
50
+ *
51
+ * @param schema - The ConfigSchema to generate a UISchema from
52
+ * @returns A VerticalLayout UISchema element
53
+ */
54
+ export function generateDefaultUISchema(schema) {
55
+ const elements = Object.keys(schema.properties).map((key) => ({
56
+ type: 'Control',
57
+ scope: keyToScope(key)
58
+ }));
59
+ return {
60
+ type: 'VerticalLayout',
61
+ elements
62
+ };
63
+ }
64
+ /**
65
+ * Collect all property keys referenced by Controls in a UISchema tree.
66
+ * Useful for detecting properties that are NOT in the UISchema
67
+ * (e.g., to warn about unreferenced fields during development).
68
+ *
69
+ * @param element - Root UISchema element
70
+ * @returns Set of property keys referenced by Controls
71
+ */
72
+ export function collectReferencedKeys(element) {
73
+ const keys = new Set();
74
+ function walk(el) {
75
+ if (el.type === 'Control') {
76
+ const key = resolveScopeToKey(el.scope);
77
+ if (key)
78
+ keys.add(key);
79
+ }
80
+ else if (el.type === 'VerticalLayout' || el.type === 'Group') {
81
+ for (const child of el.elements) {
82
+ walk(child);
83
+ }
84
+ }
85
+ }
86
+ walk(element);
87
+ return keys;
88
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * FlowDrop Workflow Validation
3
+ *
4
+ * Lightweight validation utilities for workflow JSON data.
5
+ * Checks minimum required fields without relying on a full JSON Schema validator library.
6
+ *
7
+ * @module utils/validation
8
+ */
9
+ /**
10
+ * Result of a workflow validation check.
11
+ */
12
+ export interface WorkflowValidationResult {
13
+ valid: boolean;
14
+ /** Human-readable description of the first validation failure, or undefined if valid. */
15
+ error?: string;
16
+ }
17
+ /**
18
+ * Validate that the given value has the minimum required fields of a FlowDrop Workflow.
19
+ *
20
+ * Required fields (matching the Workflow type and workflow.schema.json):
21
+ * - `id` — string
22
+ * - `name` — string
23
+ * - `nodes` — array
24
+ * - `edges` — array
25
+ *
26
+ * @param data - The parsed JSON value to validate.
27
+ * @returns A `WorkflowValidationResult` indicating whether the data is valid.
28
+ */
29
+ export declare function validateWorkflowData(data: unknown): WorkflowValidationResult;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * FlowDrop Workflow Validation
3
+ *
4
+ * Lightweight validation utilities for workflow JSON data.
5
+ * Checks minimum required fields without relying on a full JSON Schema validator library.
6
+ *
7
+ * @module utils/validation
8
+ */
9
+ /**
10
+ * Validate that the given value has the minimum required fields of a FlowDrop Workflow.
11
+ *
12
+ * Required fields (matching the Workflow type and workflow.schema.json):
13
+ * - `id` — string
14
+ * - `name` — string
15
+ * - `nodes` — array
16
+ * - `edges` — array
17
+ *
18
+ * @param data - The parsed JSON value to validate.
19
+ * @returns A `WorkflowValidationResult` indicating whether the data is valid.
20
+ */
21
+ export function validateWorkflowData(data) {
22
+ if (data === null || typeof data !== 'object' || Array.isArray(data)) {
23
+ return { valid: false, error: 'Workflow must be a JSON object.' };
24
+ }
25
+ const obj = data;
26
+ if (typeof obj.id !== 'string' || obj.id.trim() === '') {
27
+ return { valid: false, error: 'Workflow JSON must contain a non-empty string "id" field.' };
28
+ }
29
+ if (typeof obj.name !== 'string' || obj.name.trim() === '') {
30
+ return { valid: false, error: 'Workflow JSON must contain a non-empty string "name" field.' };
31
+ }
32
+ if (!Array.isArray(obj.nodes)) {
33
+ return { valid: false, error: 'Workflow JSON must contain a "nodes" array.' };
34
+ }
35
+ if (!Array.isArray(obj.edges)) {
36
+ return { valid: false, error: 'Workflow JSON must contain an "edges" array.' };
37
+ }
38
+ return { valid: true };
39
+ }
package/package.json ADDED
@@ -0,0 +1,292 @@
1
+ {
2
+ "name": "@flowdrop/flowdrop",
3
+ "license": "MIT",
4
+ "private": false,
5
+ "version": "1.0.0",
6
+ "scripts": {
7
+ "dev": "vite dev",
8
+ "build": "vite build && pnpm run prepack",
9
+ "build:drupal": "vite build --config vite.config.drupal.ts",
10
+ "build:production": "vite build --config vite.config.production.ts",
11
+ "watch:build:drupal": "npm-watch build:drupal",
12
+ "watch:build:production": "npm-watch build:production",
13
+ "watch:build": "npm-watch build",
14
+ "preview": "vite preview",
15
+ "prepare": "svelte-kit sync || echo ''",
16
+ "prepack": "svelte-kit sync && svelte-package && publint",
17
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
18
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
19
+ "lint": "eslint . && prettier --check .",
20
+ "test": "vitest run",
21
+ "test:watch": "vitest",
22
+ "test:ui": "vitest --ui",
23
+ "test:coverage": "vitest run --coverage",
24
+ "test:e2e": "playwright test",
25
+ "test:e2e:ui": "playwright test --ui",
26
+ "test:e2e:debug": "playwright test --debug",
27
+ "test:all": "pnpm run test && pnpm run test:e2e",
28
+ "format": "prettier --write .",
29
+ "storybook": "storybook dev -p 6006",
30
+ "storybook:build": "storybook build",
31
+ "schema:generate": "node scripts/generate-schema.mjs",
32
+ "schema:check": "node scripts/generate-schema.mjs --check",
33
+ "api:lint": "pnpm --dir ../../apps/api-docs run lint",
34
+ "api:bundle": "pnpm --dir ../../apps/api-docs run bundle"
35
+ },
36
+ "watch": {
37
+ "build": {
38
+ "ignore": "build",
39
+ "patterns": [
40
+ "src"
41
+ ],
42
+ "extensions": "js,ts,svelte,html,css,svg",
43
+ "quiet": true,
44
+ "legacyWatch": true,
45
+ "delay": 2500,
46
+ "runOnChangeOnly": false
47
+ },
48
+ "build:drupal": {
49
+ "ignore": "build",
50
+ "patterns": [
51
+ "src"
52
+ ],
53
+ "extensions": "js,ts,svelte,html,css,svg",
54
+ "quiet": true,
55
+ "legacyWatch": true,
56
+ "delay": 2500,
57
+ "runOnChangeOnly": false
58
+ },
59
+ "build:production": {
60
+ "ignore": "build",
61
+ "patterns": [
62
+ "src"
63
+ ],
64
+ "extensions": "js,ts,svelte,html,css,svg",
65
+ "quiet": true,
66
+ "legacyWatch": true,
67
+ "delay": 2500,
68
+ "runOnChangeOnly": false
69
+ }
70
+ },
71
+ "files": [
72
+ "dist",
73
+ "!dist/**/*.test.*",
74
+ "!dist/**/*.spec.*"
75
+ ],
76
+ "sideEffects": [
77
+ "**/*.css",
78
+ "./dist/styles/base.css",
79
+ "./dist/editor/index.js"
80
+ ],
81
+ "svelte": "./dist/index.js",
82
+ "types": "./dist/index.d.ts",
83
+ "type": "module",
84
+ "exports": {
85
+ ".": {
86
+ "types": "./dist/index.d.ts",
87
+ "svelte": "./dist/index.js",
88
+ "default": "./dist/index.js"
89
+ },
90
+ "./core": {
91
+ "types": "./dist/core/index.d.ts",
92
+ "svelte": "./dist/core/index.js",
93
+ "default": "./dist/core/index.js"
94
+ },
95
+ "./editor": {
96
+ "types": "./dist/editor/index.d.ts",
97
+ "svelte": "./dist/editor/index.js",
98
+ "default": "./dist/editor/index.js"
99
+ },
100
+ "./form": {
101
+ "types": "./dist/form/index.d.ts",
102
+ "svelte": "./dist/form/index.js",
103
+ "default": "./dist/form/index.js"
104
+ },
105
+ "./form/code": {
106
+ "types": "./dist/form/code.d.ts",
107
+ "svelte": "./dist/form/code.js",
108
+ "default": "./dist/form/code.js"
109
+ },
110
+ "./form/markdown": {
111
+ "types": "./dist/form/markdown.d.ts",
112
+ "svelte": "./dist/form/markdown.js",
113
+ "default": "./dist/form/markdown.js"
114
+ },
115
+ "./form/full": {
116
+ "types": "./dist/form/full.d.ts",
117
+ "svelte": "./dist/form/full.js",
118
+ "default": "./dist/form/full.js"
119
+ },
120
+ "./display": {
121
+ "types": "./dist/display/index.d.ts",
122
+ "svelte": "./dist/display/index.js",
123
+ "default": "./dist/display/index.js"
124
+ },
125
+ "./playground": {
126
+ "types": "./dist/playground/index.d.ts",
127
+ "svelte": "./dist/playground/index.js",
128
+ "default": "./dist/playground/index.js"
129
+ },
130
+ "./settings": {
131
+ "types": "./dist/settings/index.d.ts",
132
+ "svelte": "./dist/settings/index.js",
133
+ "default": "./dist/settings/index.js"
134
+ },
135
+ "./styles": "./dist/styles/base.css",
136
+ "./styles/*": "./dist/styles/*",
137
+ "./schema": {
138
+ "default": "./dist/schemas/v1/workflow.schema.json"
139
+ },
140
+ "./schema/v1": {
141
+ "default": "./dist/schemas/v1/workflow.schema.json"
142
+ }
143
+ },
144
+ "peerDependencies": {
145
+ "@codemirror/autocomplete": "^6.20.0",
146
+ "@codemirror/commands": "^6.10.2",
147
+ "@codemirror/lang-json": "^6.0.2",
148
+ "@codemirror/lang-markdown": "^6.5.0",
149
+ "@codemirror/language": "^6.12.1",
150
+ "@codemirror/lint": "^6.9.2",
151
+ "@codemirror/state": "^6.5.4",
152
+ "@codemirror/theme-one-dark": "^6.1.3",
153
+ "@codemirror/view": "^6.39.14",
154
+ "@iconify/svelte": "^5.0.0",
155
+ "@xyflow/svelte": "^1.2",
156
+ "codemirror": "^6.0.2",
157
+ "svelte": "^5.0.0"
158
+ },
159
+ "peerDependenciesMeta": {
160
+ "@codemirror/autocomplete": {
161
+ "optional": true
162
+ },
163
+ "@codemirror/commands": {
164
+ "optional": true
165
+ },
166
+ "@codemirror/lang-json": {
167
+ "optional": true
168
+ },
169
+ "@codemirror/lang-markdown": {
170
+ "optional": true
171
+ },
172
+ "@codemirror/language": {
173
+ "optional": true
174
+ },
175
+ "@codemirror/lint": {
176
+ "optional": true
177
+ },
178
+ "@codemirror/state": {
179
+ "optional": true
180
+ },
181
+ "@codemirror/theme-one-dark": {
182
+ "optional": true
183
+ },
184
+ "@codemirror/view": {
185
+ "optional": true
186
+ },
187
+ "@iconify/svelte": {
188
+ "optional": true
189
+ },
190
+ "codemirror": {
191
+ "optional": true
192
+ }
193
+ },
194
+ "repository": {
195
+ "type": "git",
196
+ "url": "git+https://github.com/flowdrop-io/flowdrop.git"
197
+ },
198
+ "devDependencies": {
199
+ "@chromatic-com/storybook": "^5.0.1",
200
+ "@xyflow/svelte": "^1.2",
201
+ "@codemirror/autocomplete": "^6.20.0",
202
+ "@codemirror/commands": "^6.10.2",
203
+ "@codemirror/lang-json": "^6.0.2",
204
+ "@codemirror/lang-markdown": "^6.5.0",
205
+ "@codemirror/language": "^6.12.1",
206
+ "@codemirror/lint": "^6.9.2",
207
+ "@codemirror/state": "^6.5.4",
208
+ "@codemirror/theme-one-dark": "^6.1.3",
209
+ "@codemirror/view": "^6.39.14",
210
+ "codemirror": "^6.0.2",
211
+ "@eslint/compat": "^1.2.5",
212
+ "@eslint/js": "^9.18.0",
213
+ "@iconify/svelte": "^5.0.0",
214
+ "@playwright/test": "^1.49.1",
215
+ "@storybook/addon-docs": "^10.2.15",
216
+ "@storybook/addon-svelte-csf": "^5.0.11",
217
+ "@storybook/addon-themes": "^10.2.15",
218
+ "@storybook/addon-vitest": "^10.2.15",
219
+ "@storybook/sveltekit": "^10.2.15",
220
+ "@sveltejs/adapter-auto": "^6.0.0",
221
+ "@sveltejs/adapter-node": "^5.4.0",
222
+ "@sveltejs/kit": "^2.49.2",
223
+ "@sveltejs/package": "^2.0.0",
224
+ "@sveltejs/vite-plugin-svelte": "^5.0.0",
225
+ "@types/dompurify": "^3.2.0",
226
+ "@types/marked": "^6.0.0",
227
+ "@types/node": "^20",
228
+ "@types/uuid": "^10.0.0",
229
+ "@vitest/browser": "^3.2.3",
230
+ "@vitest/coverage-v8": "^3.2.4",
231
+ "@vitest/ui": "^3.2.4",
232
+ "eslint": "^9.18.0",
233
+ "eslint-config-prettier": "^10.0.1",
234
+ "eslint-plugin-storybook": "^10.2.15",
235
+ "eslint-plugin-svelte": "^3.0.0",
236
+ "globals": "^16.0.0",
237
+ "happy-dom": "^20.0.11",
238
+ "msw": "^2.12.7",
239
+ "npm-watch": "^0.13.0",
240
+ "picomatch": "^4.0.3",
241
+ "playwright": "^1.53.0",
242
+ "prettier": "^3.4.2",
243
+ "prettier-plugin-svelte": "^3.3.3",
244
+ "publint": "^0.3.2",
245
+ "storybook": "^10.2.15",
246
+ "storybook-addon-tag-badges": "^3.0.6",
247
+ "svelte": "^5.0.0",
248
+ "svelte-check": "^4.0.0",
249
+ "terser": "^5.43.1",
250
+ "typescript": "^5.0.0",
251
+ "typescript-eslint": "^8.20.0",
252
+ "vite": "^6.2.6",
253
+ "vite-plugin-devtools-json": "^0.2.1",
254
+ "vitest": "^3.2.3",
255
+ "vitest-browser-svelte": "^0.1.0",
256
+ "yaml": "^2.8.2"
257
+ },
258
+ "overrides": {
259
+ "@sveltejs/kit": {
260
+ "cookie": "0.7.2"
261
+ }
262
+ },
263
+ "keywords": [
264
+ "svelte",
265
+ "svelte5",
266
+ "workflow",
267
+ "editor",
268
+ "node-editor",
269
+ "graph-editor",
270
+ "visual-programming",
271
+ "xyflow",
272
+ "flowchart",
273
+ "dag"
274
+ ],
275
+ "dependencies": {
276
+ "diff": "^8.0.3",
277
+ "dompurify": "^3.3.1",
278
+ "marked": "^16.1.1",
279
+ "svelte-5-french-toast": "^2.0.6",
280
+ "uuid": "^11.1.0"
281
+ },
282
+ "pnpm": {
283
+ "overrides": {
284
+ "cookie@<0.7.0": "0.7.2"
285
+ }
286
+ },
287
+ "msw": {
288
+ "workerDirectory": [
289
+ "static"
290
+ ]
291
+ }
292
+ }