@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,169 @@
1
+ /**
2
+ * Agent Spec Validator
3
+ *
4
+ * Validates workflows against Agent Spec constraints for export,
5
+ * and validates imported Agent Spec documents for correctness.
6
+ */
7
+ /**
8
+ * Validate a FlowDrop StandardWorkflow for Agent Spec export compatibility.
9
+ *
10
+ * Checks:
11
+ * - Must have exactly 1 start node (terminal/triggers)
12
+ * - Must have at least 1 end node (terminal/outputs)
13
+ * - Gateway nodes must have branches defined
14
+ */
15
+ export function validateForAgentSpecExport(workflow) {
16
+ const errors = [];
17
+ const warnings = [];
18
+ if (workflow.nodes.length === 0) {
19
+ errors.push('Workflow has no nodes');
20
+ return { valid: false, errors, warnings };
21
+ }
22
+ // Check for start nodes
23
+ const startNodes = workflow.nodes.filter((n) => {
24
+ const ext = n.data.metadata.extensions?.['agentspec:component_type'];
25
+ if (ext === 'start_node')
26
+ return true;
27
+ return n.data.metadata.type === 'terminal' && n.data.metadata.category === 'triggers';
28
+ });
29
+ if (startNodes.length === 0) {
30
+ errors.push('Agent Spec requires exactly one StartNode. No start node found (terminal node with triggers category).');
31
+ }
32
+ else if (startNodes.length > 1) {
33
+ errors.push(`Agent Spec requires exactly one StartNode. Found ${startNodes.length}: ${startNodes.map((n) => n.id).join(', ')}`);
34
+ }
35
+ // Check for end nodes
36
+ const endNodes = workflow.nodes.filter((n) => {
37
+ const ext = n.data.metadata.extensions?.['agentspec:component_type'];
38
+ if (ext === 'end_node')
39
+ return true;
40
+ return n.data.metadata.type === 'terminal' && n.data.metadata.category === 'outputs';
41
+ });
42
+ if (endNodes.length === 0) {
43
+ errors.push('Agent Spec requires at least one EndNode. No end node found (terminal node with outputs category).');
44
+ }
45
+ // Check gateway nodes have branches
46
+ const gatewayNodes = workflow.nodes.filter((n) => {
47
+ const ext = n.data.metadata.extensions?.['agentspec:component_type'];
48
+ return ext === 'branching_node' || n.data.metadata.type === 'gateway';
49
+ });
50
+ for (const gw of gatewayNodes) {
51
+ const branches = gw.data.config?.branches;
52
+ if (!branches || !Array.isArray(branches) || branches.length === 0) {
53
+ warnings.push(`Gateway node "${gw.data.label || gw.id}" has no branches defined. Agent Spec BranchingNode requires at least one branch.`);
54
+ }
55
+ }
56
+ // Check for disconnected nodes
57
+ const connectedNodes = new Set();
58
+ for (const edge of workflow.edges) {
59
+ connectedNodes.add(edge.source);
60
+ connectedNodes.add(edge.target);
61
+ }
62
+ const disconnected = workflow.nodes.filter((n) => !connectedNodes.has(n.id));
63
+ if (disconnected.length > 0) {
64
+ warnings.push(`${disconnected.length} node(s) are not connected to any edges: ${disconnected.map((n) => n.data.label || n.id).join(', ')}`);
65
+ }
66
+ return { valid: errors.length === 0, errors, warnings };
67
+ }
68
+ /**
69
+ * Validate an imported Agent Spec Flow document.
70
+ *
71
+ * Checks:
72
+ * - Has a start_node reference that exists
73
+ * - At least one end_node exists
74
+ * - All edge references point to existing nodes
75
+ * - BranchingNode has branches
76
+ * - Data flow edges reference valid properties
77
+ */
78
+ export function validateAgentSpecFlow(flow) {
79
+ const errors = [];
80
+ const warnings = [];
81
+ if (!flow.nodes || flow.nodes.length === 0) {
82
+ errors.push('Flow has no nodes');
83
+ return { valid: false, errors, warnings };
84
+ }
85
+ // Build node name set
86
+ const nodeNames = new Set(flow.nodes.map((n) => n.name));
87
+ // Check start_node exists
88
+ if (!flow.start_node) {
89
+ errors.push('Flow is missing start_node reference');
90
+ }
91
+ else if (!nodeNames.has(flow.start_node)) {
92
+ errors.push(`start_node "${flow.start_node}" does not match any node name`);
93
+ }
94
+ // Check start_node is actually a start_node type
95
+ const startNode = flow.nodes.find((n) => n.name === flow.start_node);
96
+ if (startNode && startNode.component_type !== 'start_node') {
97
+ warnings.push(`start_node "${flow.start_node}" has component_type "${startNode.component_type}" instead of "start_node"`);
98
+ }
99
+ // Check for end nodes
100
+ const endNodes = flow.nodes.filter((n) => n.component_type === 'end_node');
101
+ if (endNodes.length === 0) {
102
+ warnings.push('Flow has no EndNode. Consider adding one for clarity.');
103
+ }
104
+ // Check for duplicate node names
105
+ const nameCount = new Map();
106
+ for (const node of flow.nodes) {
107
+ nameCount.set(node.name, (nameCount.get(node.name) || 0) + 1);
108
+ }
109
+ for (const [name, count] of nameCount) {
110
+ if (count > 1) {
111
+ errors.push(`Duplicate node name: "${name}" appears ${count} times`);
112
+ }
113
+ }
114
+ // Validate control-flow edges
115
+ for (const edge of flow.control_flow_connections) {
116
+ if (!nodeNames.has(edge.from_node)) {
117
+ errors.push(`Control flow edge "${edge.name}" references non-existent from_node "${edge.from_node}"`);
118
+ }
119
+ if (!nodeNames.has(edge.to_node)) {
120
+ errors.push(`Control flow edge "${edge.name}" references non-existent to_node "${edge.to_node}"`);
121
+ }
122
+ // Validate from_branch references
123
+ if (edge.from_branch) {
124
+ const fromNode = flow.nodes.find((n) => n.name === edge.from_node);
125
+ if (fromNode && fromNode.component_type === 'branching_node') {
126
+ const branchingNode = fromNode;
127
+ if (!branchingNode.branches?.some((b) => b.name === edge.from_branch)) {
128
+ errors.push(`Control flow edge "${edge.name}" references branch "${edge.from_branch}" which doesn't exist on node "${edge.from_node}"`);
129
+ }
130
+ }
131
+ }
132
+ }
133
+ // Validate data-flow edges
134
+ if (flow.data_flow_connections) {
135
+ for (const edge of flow.data_flow_connections) {
136
+ if (!nodeNames.has(edge.source_node)) {
137
+ errors.push(`Data flow edge "${edge.name}" references non-existent source_node "${edge.source_node}"`);
138
+ }
139
+ if (!nodeNames.has(edge.destination_node)) {
140
+ errors.push(`Data flow edge "${edge.name}" references non-existent destination_node "${edge.destination_node}"`);
141
+ }
142
+ // Check that output/input properties exist on the nodes
143
+ const sourceNode = flow.nodes.find((n) => n.name === edge.source_node);
144
+ if (sourceNode?.outputs) {
145
+ const hasOutput = sourceNode.outputs.some((o) => o.title === edge.source_output);
146
+ if (!hasOutput) {
147
+ warnings.push(`Data flow edge "${edge.name}": source node "${edge.source_node}" has no output named "${edge.source_output}"`);
148
+ }
149
+ }
150
+ const destNode = flow.nodes.find((n) => n.name === edge.destination_node);
151
+ if (destNode?.inputs) {
152
+ const hasInput = destNode.inputs.some((i) => i.title === edge.destination_input);
153
+ if (!hasInput) {
154
+ warnings.push(`Data flow edge "${edge.name}": destination node "${edge.destination_node}" has no input named "${edge.destination_input}"`);
155
+ }
156
+ }
157
+ }
158
+ }
159
+ // Validate branching nodes have branches
160
+ for (const node of flow.nodes) {
161
+ if (node.component_type === 'branching_node') {
162
+ const bn = node;
163
+ if (!bn.branches || bn.branches.length === 0) {
164
+ warnings.push(`BranchingNode "${node.name}" has no branches defined`);
165
+ }
166
+ }
167
+ }
168
+ return { valid: errors.length === 0, errors, warnings };
169
+ }
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Enhanced API Client for FlowDrop
3
+ *
4
+ * Uses configurable endpoints and supports pluggable authentication providers.
5
+ *
6
+ * @module api/enhanced-client
7
+ */
8
+ import type { NodeMetadata, Workflow, ExecutionResult } from '../types/index.js';
9
+ import type { EndpointConfig } from '../config/endpoints.js';
10
+ import type { AuthProvider } from '../types/auth.js';
11
+ /**
12
+ * API error with additional context
13
+ */
14
+ export declare class ApiError extends Error {
15
+ /** HTTP status code */
16
+ readonly status: number;
17
+ /** Original error data from API */
18
+ readonly errorData: Record<string, unknown>;
19
+ /** Operation that was being performed */
20
+ readonly operation: string;
21
+ constructor(message: string, status: number, operation: string, errorData?: Record<string, unknown>);
22
+ }
23
+ /**
24
+ * Enhanced HTTP API client for FlowDrop with configurable endpoints
25
+ *
26
+ * Supports pluggable authentication via AuthProvider interface.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * // With AuthProvider
31
+ * const client = new EnhancedFlowDropApiClient(config, authProvider);
32
+ *
33
+ * // Without authentication
34
+ * const client = new EnhancedFlowDropApiClient(config);
35
+ * ```
36
+ */
37
+ export declare class EnhancedFlowDropApiClient {
38
+ private config;
39
+ private authProvider;
40
+ /**
41
+ * Create a new EnhancedFlowDropApiClient
42
+ *
43
+ * @param config - Endpoint configuration
44
+ * @param authProvider - Optional authentication provider (defaults to NoAuthProvider)
45
+ */
46
+ constructor(config: EndpointConfig, authProvider?: AuthProvider);
47
+ /**
48
+ * Make HTTP request with error handling, retry logic, timeout, and auth support
49
+ *
50
+ * Uses apiSettings for timeout and retry configuration, falling back to EndpointConfig values.
51
+ *
52
+ * @param endpointKey - Key identifying the endpoint (for method/header lookup)
53
+ * @param endpointPath - The endpoint path template
54
+ * @param params - URL parameters to substitute
55
+ * @param options - Additional fetch options
56
+ * @param operation - Description of the operation (for error messages)
57
+ */
58
+ private request;
59
+ /**
60
+ * Update the auth provider
61
+ *
62
+ * Useful for updating auth after token refresh in parent application.
63
+ * Note: Per specification, this should rarely be needed as auth is typically
64
+ * set at mount time and requires remount to change.
65
+ *
66
+ * @param authProvider - New authentication provider
67
+ */
68
+ setAuthProvider(authProvider: AuthProvider): void;
69
+ /**
70
+ * Get current auth provider
71
+ *
72
+ * @returns The current AuthProvider instance
73
+ */
74
+ getAuthProvider(): AuthProvider;
75
+ /**
76
+ * Fetch all available node types
77
+ */
78
+ getAvailableNodes(): Promise<NodeMetadata[]>;
79
+ /**
80
+ * Fetch nodes filtered by category
81
+ */
82
+ getNodesByCategory(category: string): Promise<NodeMetadata[]>;
83
+ /**
84
+ * Fetch metadata for a specific node type
85
+ */
86
+ getNodeMetadata(nodeId: string): Promise<NodeMetadata>;
87
+ /**
88
+ * Save a new workflow
89
+ */
90
+ saveWorkflow(workflow: Workflow): Promise<Workflow>;
91
+ /**
92
+ * Update an existing workflow
93
+ */
94
+ updateWorkflow(workflowId: string, workflow: Partial<Workflow>): Promise<Workflow>;
95
+ /**
96
+ * Load a workflow by ID
97
+ */
98
+ loadWorkflow(workflowId: string): Promise<Workflow>;
99
+ /**
100
+ * List all workflows
101
+ */
102
+ listWorkflows(): Promise<Workflow[]>;
103
+ /**
104
+ * Delete a workflow
105
+ */
106
+ deleteWorkflow(workflowId: string): Promise<void>;
107
+ /**
108
+ * Validate a workflow
109
+ */
110
+ validateWorkflow(workflow: Workflow): Promise<{
111
+ valid: boolean;
112
+ errors: string[];
113
+ }>;
114
+ /**
115
+ * Export a workflow as JSON string
116
+ */
117
+ exportWorkflow(workflowId: string): Promise<string>;
118
+ /**
119
+ * Import a workflow from JSON
120
+ */
121
+ importWorkflow(workflowJson: string): Promise<Workflow>;
122
+ /**
123
+ * Execute a workflow
124
+ */
125
+ executeWorkflow(workflowId: string, inputs?: Record<string, unknown>): Promise<ExecutionResult>;
126
+ /**
127
+ * Get execution status
128
+ */
129
+ getExecutionStatus(executionId: string): Promise<ExecutionResult>;
130
+ /**
131
+ * Cancel a running execution
132
+ */
133
+ cancelExecution(executionId: string): Promise<void>;
134
+ /**
135
+ * Get execution logs
136
+ */
137
+ getExecutionLogs(executionId: string): Promise<string[]>;
138
+ /**
139
+ * List available templates
140
+ */
141
+ listTemplates(): Promise<Workflow[]>;
142
+ /**
143
+ * Get a template by ID
144
+ */
145
+ getTemplate(templateId: string): Promise<Workflow>;
146
+ /**
147
+ * Get system health status
148
+ */
149
+ getSystemHealth(): Promise<{
150
+ status: string;
151
+ timestamp: number;
152
+ }>;
153
+ /**
154
+ * Get system configuration
155
+ */
156
+ getSystemConfig(): Promise<Record<string, unknown>>;
157
+ /**
158
+ * Get system version information
159
+ */
160
+ getSystemVersion(): Promise<{
161
+ version: string;
162
+ build: string;
163
+ }>;
164
+ /**
165
+ * Fetch pipeline data including job information and status
166
+ */
167
+ getPipelineData(pipelineId: string): Promise<{
168
+ status: string;
169
+ jobs: Array<Record<string, unknown>>;
170
+ node_statuses: Record<string, {
171
+ status: string;
172
+ [key: string]: unknown;
173
+ }>;
174
+ job_status_summary: {
175
+ total: number;
176
+ pending: number;
177
+ running: number;
178
+ completed: number;
179
+ failed: number;
180
+ cancelled: number;
181
+ };
182
+ }>;
183
+ }