@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,346 @@
1
+ /**
2
+ * Interrupt Store (Svelte 5 Runes)
3
+ *
4
+ * Rune-based reactive state for managing interrupt state using a lightweight state machine.
5
+ * Ensures valid state transitions and prevents deadlocks.
6
+ *
7
+ * @module stores/interruptStore
8
+ */
9
+ import { SvelteMap } from 'svelte/reactivity';
10
+ import { initialState, transition, isTerminalState, isSubmitting as checkIsSubmitting, hasError as checkHasError, getErrorMessage, getResolvedValue, toLegacyStatus } from '../types/interruptState.js';
11
+ import { logger } from '../utils/logger.js';
12
+ // =========================================================================
13
+ // Core Reactive State
14
+ // =========================================================================
15
+ /**
16
+ * Reactive map of all interrupts by ID.
17
+ * Uses SvelteMap for deep reactivity with Svelte 5 runes.
18
+ * Key: interrupt ID, Value: Interrupt object with state
19
+ */
20
+ let interrupts = $state(new SvelteMap());
21
+ // =========================================================================
22
+ // Getter Functions (replace derived stores)
23
+ // =========================================================================
24
+ /**
25
+ * Get the reactive interrupts map.
26
+ * Use this in components within $derived() for reactivity.
27
+ */
28
+ export function getInterruptsMap() {
29
+ return interrupts;
30
+ }
31
+ /**
32
+ * Get pending interrupt IDs (interrupts not in a terminal state)
33
+ */
34
+ export function getPendingInterruptIds() {
35
+ const pending = [];
36
+ interrupts.forEach((interrupt, id) => {
37
+ if (!isTerminalState(interrupt.machineState)) {
38
+ pending.push(id);
39
+ }
40
+ });
41
+ return pending;
42
+ }
43
+ /**
44
+ * Get pending interrupts array (interrupts not in a terminal state)
45
+ */
46
+ export function getPendingInterrupts() {
47
+ const pending = [];
48
+ interrupts.forEach((interrupt) => {
49
+ if (!isTerminalState(interrupt.machineState)) {
50
+ pending.push(interrupt);
51
+ }
52
+ });
53
+ return pending;
54
+ }
55
+ /**
56
+ * Get count of pending interrupts
57
+ */
58
+ export function getPendingInterruptCount() {
59
+ return getPendingInterruptIds().length;
60
+ }
61
+ /**
62
+ * Get resolved interrupts array
63
+ */
64
+ export function getResolvedInterrupts() {
65
+ const resolved = [];
66
+ interrupts.forEach((interrupt) => {
67
+ if (interrupt.machineState.status === 'resolved') {
68
+ resolved.push(interrupt);
69
+ }
70
+ });
71
+ return resolved;
72
+ }
73
+ /**
74
+ * Check if any interrupt is currently submitting
75
+ */
76
+ export function getIsAnySubmitting() {
77
+ for (const interrupt of interrupts.values()) {
78
+ if (checkIsSubmitting(interrupt.machineState)) {
79
+ return true;
80
+ }
81
+ }
82
+ return false;
83
+ }
84
+ // =========================================================================
85
+ // State Machine Actions
86
+ // =========================================================================
87
+ /**
88
+ * Apply a state machine action to an interrupt
89
+ *
90
+ * @param interruptId - The interrupt ID
91
+ * @param action - The action to apply
92
+ * @returns Transition result with validity and any errors
93
+ */
94
+ function applyAction(interruptId, action) {
95
+ const interrupt = interrupts.get(interruptId);
96
+ if (!interrupt) {
97
+ return {
98
+ state: initialState,
99
+ valid: false,
100
+ error: `Interrupt not found: ${interruptId}`
101
+ };
102
+ }
103
+ const result = transition(interrupt.machineState, action);
104
+ if (result.valid) {
105
+ const current = interrupts.get(interruptId);
106
+ if (current) {
107
+ // Update machine state and sync legacy fields
108
+ const newInterrupt = {
109
+ ...current,
110
+ machineState: result.state,
111
+ status: toLegacyStatus(result.state),
112
+ responseValue: getResolvedValue(result.state) ?? current.responseValue,
113
+ resolvedAt: result.state.status === 'resolved'
114
+ ? result.state.resolvedAt
115
+ : result.state.status === 'cancelled'
116
+ ? result.state.cancelledAt
117
+ : current.resolvedAt
118
+ };
119
+ interrupts.set(interruptId, newInterrupt);
120
+ }
121
+ }
122
+ else {
123
+ logger.warn(`[InterruptStore] Invalid transition: ${result.error}`);
124
+ }
125
+ return result;
126
+ }
127
+ // =========================================================================
128
+ // Public Actions
129
+ // =========================================================================
130
+ /**
131
+ * Interrupt store actions for modifying state
132
+ */
133
+ export const interruptActions = {
134
+ /**
135
+ * Add or update an interrupt in the store
136
+ *
137
+ * @param interrupt - The interrupt to add or update
138
+ */
139
+ addInterrupt: (interrupt) => {
140
+ const existing = interrupts.get(interrupt.id);
141
+ // Preserve existing machine state if interrupt already exists
142
+ const machineState = existing?.machineState ?? initialState;
143
+ const interruptWithState = {
144
+ ...interrupt,
145
+ machineState
146
+ };
147
+ interrupts.set(interrupt.id, interruptWithState);
148
+ },
149
+ /**
150
+ * Add multiple interrupts to the store
151
+ *
152
+ * @param interruptList - Array of interrupts to add
153
+ */
154
+ addInterrupts: (interruptList) => {
155
+ if (interruptList.length === 0)
156
+ return;
157
+ interruptList.forEach((interrupt) => {
158
+ const existing = interrupts.get(interrupt.id);
159
+ const machineState = existing?.machineState ?? initialState;
160
+ const interruptWithState = {
161
+ ...interrupt,
162
+ machineState
163
+ };
164
+ interrupts.set(interrupt.id, interruptWithState);
165
+ });
166
+ },
167
+ /**
168
+ * Start submitting an interrupt (user clicked submit)
169
+ *
170
+ * @param interruptId - The interrupt ID
171
+ * @param value - The value being submitted
172
+ * @returns Transition result
173
+ */
174
+ startSubmit: (interruptId, value) => {
175
+ return applyAction(interruptId, { type: 'SUBMIT', value });
176
+ },
177
+ /**
178
+ * Start cancelling an interrupt (user clicked cancel)
179
+ *
180
+ * @param interruptId - The interrupt ID
181
+ * @returns Transition result
182
+ */
183
+ startCancel: (interruptId) => {
184
+ return applyAction(interruptId, { type: 'CANCEL' });
185
+ },
186
+ /**
187
+ * Mark submission as successful
188
+ *
189
+ * @param interruptId - The interrupt ID
190
+ * @returns Transition result
191
+ */
192
+ submitSuccess: (interruptId) => {
193
+ return applyAction(interruptId, { type: 'SUCCESS' });
194
+ },
195
+ /**
196
+ * Mark submission as failed
197
+ *
198
+ * @param interruptId - The interrupt ID
199
+ * @param error - Error message
200
+ * @returns Transition result
201
+ */
202
+ submitFailure: (interruptId, error) => {
203
+ return applyAction(interruptId, { type: 'FAILURE', error });
204
+ },
205
+ /**
206
+ * Retry a failed submission
207
+ *
208
+ * @param interruptId - The interrupt ID
209
+ * @returns Transition result
210
+ */
211
+ retry: (interruptId) => {
212
+ return applyAction(interruptId, { type: 'RETRY' });
213
+ },
214
+ /**
215
+ * Reset an interrupt to idle state
216
+ *
217
+ * @param interruptId - The interrupt ID
218
+ * @returns Transition result
219
+ */
220
+ resetInterrupt: (interruptId) => {
221
+ return applyAction(interruptId, { type: 'RESET' });
222
+ },
223
+ /**
224
+ * Mark an interrupt as resolved with the user's response
225
+ *
226
+ * @param interruptId - The interrupt ID
227
+ * @param value - The resolved value
228
+ */
229
+ resolveInterrupt: (interruptId, value) => {
230
+ const submitResult = applyAction(interruptId, { type: 'SUBMIT', value });
231
+ if (submitResult.valid) {
232
+ applyAction(interruptId, { type: 'SUCCESS' });
233
+ }
234
+ },
235
+ /**
236
+ * Mark an interrupt as cancelled
237
+ *
238
+ * @param interruptId - The interrupt ID
239
+ */
240
+ cancelInterrupt: (interruptId) => {
241
+ const cancelResult = applyAction(interruptId, { type: 'CANCEL' });
242
+ if (cancelResult.valid) {
243
+ applyAction(interruptId, { type: 'SUCCESS' });
244
+ }
245
+ },
246
+ /**
247
+ * Remove an interrupt from the store
248
+ *
249
+ * @param interruptId - The interrupt ID to remove
250
+ */
251
+ removeInterrupt: (interruptId) => {
252
+ interrupts.delete(interruptId);
253
+ },
254
+ /**
255
+ * Clear all interrupts for a specific session
256
+ *
257
+ * @param sessionId - The session ID to clear interrupts for
258
+ */
259
+ clearSessionInterrupts: (sessionId) => {
260
+ const toDelete = [];
261
+ interrupts.forEach((interrupt, id) => {
262
+ if (interrupt.sessionId === sessionId) {
263
+ toDelete.push(id);
264
+ }
265
+ });
266
+ toDelete.forEach((id) => interrupts.delete(id));
267
+ },
268
+ /**
269
+ * Alias for clearSessionInterrupts
270
+ */
271
+ clearInterrupts: () => {
272
+ interrupts.clear();
273
+ },
274
+ /**
275
+ * Reset all interrupt state
276
+ */
277
+ reset: () => {
278
+ interrupts.clear();
279
+ }
280
+ };
281
+ // =========================================================================
282
+ // Utilities
283
+ // =========================================================================
284
+ /**
285
+ * Get an interrupt by ID
286
+ *
287
+ * @param interruptId - The interrupt ID
288
+ * @returns The interrupt or undefined
289
+ */
290
+ export function getInterrupt(interruptId) {
291
+ return interrupts.get(interruptId);
292
+ }
293
+ /**
294
+ * Check if an interrupt is pending (not resolved or cancelled)
295
+ *
296
+ * @param interruptId - The interrupt ID
297
+ * @returns True if the interrupt exists and is pending
298
+ */
299
+ export function isInterruptPending(interruptId) {
300
+ const interrupt = interrupts.get(interruptId);
301
+ return interrupt ? !isTerminalState(interrupt.machineState) : false;
302
+ }
303
+ /**
304
+ * Check if an interrupt is currently submitting
305
+ *
306
+ * @param interruptId - The interrupt ID
307
+ * @returns True if the interrupt is being submitted
308
+ */
309
+ export function isInterruptSubmitting(interruptId) {
310
+ const interrupt = interrupts.get(interruptId);
311
+ return interrupt ? checkIsSubmitting(interrupt.machineState) : false;
312
+ }
313
+ /**
314
+ * Get the error for an interrupt
315
+ *
316
+ * @param interruptId - The interrupt ID
317
+ * @returns The error message or undefined
318
+ */
319
+ export function getInterruptError(interruptId) {
320
+ const interrupt = interrupts.get(interruptId);
321
+ return interrupt ? getErrorMessage(interrupt.machineState) : undefined;
322
+ }
323
+ /**
324
+ * Get an interrupt by its associated message ID
325
+ *
326
+ * @param messageId - The message ID
327
+ * @returns The interrupt or undefined
328
+ */
329
+ export function getInterruptByMessageId(messageId) {
330
+ for (const interrupt of interrupts.values()) {
331
+ if (interrupt.messageId === messageId) {
332
+ return interrupt;
333
+ }
334
+ }
335
+ return undefined;
336
+ }
337
+ /**
338
+ * Check if an interrupt has an error
339
+ *
340
+ * @param interruptId - The interrupt ID
341
+ * @returns True if the interrupt has an error
342
+ */
343
+ export function interruptHasError(interruptId) {
344
+ const interrupt = interrupts.get(interruptId);
345
+ return interrupt ? checkHasError(interrupt.machineState) : false;
346
+ }
@@ -0,0 +1,230 @@
1
+ /**
2
+ * Playground Store
3
+ *
4
+ * Svelte 5 rune-based state for managing playground state including sessions,
5
+ * messages, and execution status.
6
+ *
7
+ * @module stores/playgroundStore
8
+ */
9
+ import type { PlaygroundSession, PlaygroundMessage, PlaygroundInputField, PlaygroundSessionStatus, PlaygroundMessagesApiResponse } from '../types/playground.js';
10
+ import type { Workflow } from '../types/index.js';
11
+ /**
12
+ * Get the current session
13
+ */
14
+ export declare function getCurrentSession(): PlaygroundSession | null;
15
+ /**
16
+ * Get all sessions
17
+ */
18
+ export declare function getSessions(): PlaygroundSession[];
19
+ /**
20
+ * Get all messages
21
+ */
22
+ export declare function getMessages(): PlaygroundMessage[];
23
+ /**
24
+ * Get executing state
25
+ */
26
+ export declare function getIsExecuting(): boolean;
27
+ /**
28
+ * Get loading state
29
+ */
30
+ export declare function getIsLoading(): boolean;
31
+ /**
32
+ * Get error state
33
+ */
34
+ export declare function getError(): string | null;
35
+ /**
36
+ * Get the current workflow
37
+ */
38
+ export declare function getCurrentWorkflow(): Workflow | null;
39
+ /**
40
+ * Get the last poll timestamp
41
+ */
42
+ export declare function getLastPollTimestamp(): string | null;
43
+ /**
44
+ * Get current session status
45
+ */
46
+ export declare function getSessionStatus(): PlaygroundSessionStatus;
47
+ /**
48
+ * Get message count
49
+ */
50
+ export declare function getMessageCount(): number;
51
+ /**
52
+ * Get chat messages (excludes log messages)
53
+ */
54
+ export declare function getChatMessages(): PlaygroundMessage[];
55
+ /**
56
+ * Get log messages only
57
+ */
58
+ export declare function getLogMessages(): PlaygroundMessage[];
59
+ /**
60
+ * Get the latest message
61
+ */
62
+ export declare function getLatestMessage(): PlaygroundMessage | null;
63
+ /**
64
+ * Get input fields from workflow input nodes
65
+ *
66
+ * Analyzes the workflow to extract input nodes and their configuration
67
+ * schemas for auto-generating input forms.
68
+ */
69
+ export declare function getInputFields(): PlaygroundInputField[];
70
+ /**
71
+ * Check if workflow has a chat input
72
+ */
73
+ export declare function getHasChatInput(): boolean;
74
+ /**
75
+ * Get session count
76
+ */
77
+ export declare function getSessionCount(): number;
78
+ /**
79
+ * Playground store actions for modifying state
80
+ */
81
+ export declare const playgroundActions: {
82
+ /**
83
+ * Set the current workflow
84
+ *
85
+ * @param workflow - The workflow to test
86
+ */
87
+ setWorkflow: (workflow: Workflow | null) => void;
88
+ /**
89
+ * Set the current session
90
+ *
91
+ * @param session - The session to set as active
92
+ */
93
+ setCurrentSession: (session: PlaygroundSession | null) => void;
94
+ /**
95
+ * Update session status
96
+ *
97
+ * @param status - The new status
98
+ */
99
+ updateSessionStatus: (status: PlaygroundSessionStatus) => void;
100
+ /**
101
+ * Set the sessions list
102
+ *
103
+ * @param sessionList - Array of sessions
104
+ */
105
+ setSessions: (sessionList: PlaygroundSession[]) => void;
106
+ /**
107
+ * Add a new session to the list
108
+ *
109
+ * @param session - The session to add
110
+ */
111
+ addSession: (session: PlaygroundSession) => void;
112
+ /**
113
+ * Remove a session from the list
114
+ *
115
+ * @param sessionId - The session ID to remove
116
+ */
117
+ removeSession: (sessionId: string) => void;
118
+ /**
119
+ * Set messages for the current session
120
+ * Messages are automatically sorted chronologically
121
+ *
122
+ * @param messageList - Array of messages
123
+ */
124
+ setMessages: (messageList: PlaygroundMessage[]) => void;
125
+ /**
126
+ * Add a message to the current session
127
+ * Messages are automatically sorted chronologically after adding
128
+ *
129
+ * @param message - The message to add
130
+ */
131
+ addMessage: (message: PlaygroundMessage) => void;
132
+ /**
133
+ * Add multiple messages to the current session
134
+ * Messages are deduplicated and automatically sorted chronologically
135
+ *
136
+ * @param newMessages - Array of messages to add
137
+ */
138
+ addMessages: (newMessages: PlaygroundMessage[]) => void;
139
+ /**
140
+ * Clear all messages
141
+ */
142
+ clearMessages: () => void;
143
+ /**
144
+ * Set the executing state
145
+ *
146
+ * @param executing - Whether execution is in progress
147
+ */
148
+ setExecuting: (executing: boolean) => void;
149
+ /**
150
+ * Set the loading state
151
+ *
152
+ * @param loading - Whether loading is in progress
153
+ */
154
+ setLoading: (loading: boolean) => void;
155
+ /**
156
+ * Set an error message
157
+ *
158
+ * @param errorMessage - The error message or null to clear
159
+ */
160
+ setError: (errorMessage: string | null) => void;
161
+ /**
162
+ * Update the last poll timestamp
163
+ *
164
+ * @param timestamp - ISO 8601 timestamp
165
+ */
166
+ updateLastPollTimestamp: (timestamp: string) => void;
167
+ /**
168
+ * Reset all playground state
169
+ */
170
+ reset: () => void;
171
+ /**
172
+ * Switch to a different session
173
+ *
174
+ * @param sessionId - The session ID to switch to
175
+ */
176
+ switchSession: (sessionId: string) => void;
177
+ };
178
+ /**
179
+ * Create a polling callback that processes poll responses.
180
+ * This is the single source of truth for how poll responses update stores.
181
+ * Used by mount.ts, Playground.svelte, and refreshSessionMessages.
182
+ *
183
+ * @param isTerminalStatus - Function to determine if a status clears isExecuting (default: defaultIsTerminalStatus)
184
+ * @returns A callback suitable for playgroundService.startPolling() or pushMessages()
185
+ */
186
+ export declare function createPollingCallback(isTerminalStatus?: (status: PlaygroundSessionStatus) => boolean): (response: PlaygroundMessagesApiResponse) => void;
187
+ /**
188
+ * Get the current session ID
189
+ *
190
+ * @returns The current session ID or null
191
+ */
192
+ export declare function getCurrentSessionId(): string | null;
193
+ /**
194
+ * Check if a specific session is selected
195
+ *
196
+ * @param sessionId - The session ID to check
197
+ * @returns True if the session is currently selected
198
+ */
199
+ export declare function isSessionSelected(sessionId: string): boolean;
200
+ /**
201
+ * Get all messages as a snapshot
202
+ *
203
+ * @returns Array of all messages
204
+ */
205
+ export declare function getMessagesSnapshot(): PlaygroundMessage[];
206
+ /**
207
+ * Get the latest message timestamp for polling
208
+ *
209
+ * @returns ISO 8601 timestamp of the latest message, or null
210
+ */
211
+ export declare function getLatestMessageTimestamp(): string | null;
212
+ /**
213
+ * Subscribe to session status changes using $effect.root.
214
+ * This is designed for use in non-component contexts (e.g., mount.ts).
215
+ *
216
+ * @param callback - Called when session status changes
217
+ * @returns Cleanup function to stop the subscription
218
+ */
219
+ export declare function subscribeToSessionStatus(callback: (status: PlaygroundSessionStatus, previousStatus: PlaygroundSessionStatus) => void): () => void;
220
+ /**
221
+ * Refresh messages for the current session
222
+ *
223
+ * This function is useful after interrupt resolution when polling
224
+ * has stopped but new messages may exist on the server.
225
+ *
226
+ * @param fetchMessages - Async function to fetch messages from the API
227
+ * @param isTerminalStatus - Optional override for terminal status check
228
+ * @returns Promise that resolves when messages are refreshed
229
+ */
230
+ export declare function refreshSessionMessages(fetchMessages: (sessionId: string) => Promise<PlaygroundMessagesApiResponse>, isTerminalStatus?: (status: PlaygroundSessionStatus) => boolean): Promise<void>;