@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,25 @@
1
+ interface Props {
2
+ /** Field identifier */
3
+ id: string;
4
+ /** Current value - can be string (raw JSON) or object */
5
+ value: unknown;
6
+ /** Placeholder text shown when empty */
7
+ placeholder?: string;
8
+ /** Whether the field is required */
9
+ required?: boolean;
10
+ /** Whether to use dark theme */
11
+ darkTheme?: boolean;
12
+ /** Editor height in pixels or CSS value */
13
+ height?: string;
14
+ /** Whether to auto-format JSON on blur */
15
+ autoFormat?: boolean;
16
+ /** Whether the field is disabled (read-only) */
17
+ disabled?: boolean;
18
+ /** ARIA description ID */
19
+ ariaDescribedBy?: string;
20
+ /** Callback when value changes */
21
+ onChange: (value: unknown) => void;
22
+ }
23
+ declare const FormCodeEditor: import("svelte").Component<Props, {}, "">;
24
+ type FormCodeEditor = ReturnType<typeof FormCodeEditor>;
25
+ export default FormCodeEditor;
@@ -0,0 +1,417 @@
1
+ <!--
2
+ FormField Component
3
+ Factory component that renders the appropriate field based on schema type
4
+
5
+ Features:
6
+ - Automatically selects the correct field component based on schema
7
+ - Wraps fields with FormFieldWrapper for consistent layout
8
+ - Supports all current field types (string, number, boolean, checkbox group, range, json, markdown, template, autocomplete)
9
+ - Uses standard JSON Schema patterns (enum, oneOf) for select fields
10
+ - Extensible architecture for future complex types (array, object)
11
+
12
+ Type Resolution Order:
13
+ 1. format: 'hidden' -> skip rendering (return nothing)
14
+ 2. format: 'autocomplete' with autocomplete.url -> FormAutocomplete
15
+ 3. format: 'json' or 'code' -> FormCodeEditor (CodeMirror JSON editor)
16
+ 4. format: 'markdown' -> FormMarkdownEditor (SimpleMDE Markdown editor)
17
+ 5. format: 'template' -> FormTemplateEditor (CodeMirror with Twig/Liquid syntax)
18
+ 6. enum with multiple: true -> FormCheckboxGroup
19
+ 7. enum -> FormSelect (simple values without labels)
20
+ 8. oneOf with const/title (labeled options) -> FormSelect
21
+ 9. format: 'multiline' -> FormTextarea
22
+ 10. format: 'range' (number/integer) -> FormRangeField
23
+ 11. type: 'string' -> FormTextField
24
+ 12. type: 'number' or 'integer' -> FormNumberField
25
+ 13. type: 'boolean' -> FormToggle
26
+ 14. type: 'object' (without format) -> FormCodeEditor (for JSON objects)
27
+ 15. fallback -> FormTextField
28
+ -->
29
+
30
+ <script lang="ts">
31
+ import FormFieldWrapper from './FormFieldWrapper.svelte';
32
+ import FormTextField from './FormTextField.svelte';
33
+ import FormTextarea from './FormTextarea.svelte';
34
+ import FormNumberField from './FormNumberField.svelte';
35
+ import FormRangeField from './FormRangeField.svelte';
36
+ import FormToggle from './FormToggle.svelte';
37
+ import FormSelect from './FormSelect.svelte';
38
+ import FormCheckboxGroup from './FormCheckboxGroup.svelte';
39
+ import FormArray from './FormArray.svelte';
40
+ import FormCodeEditor from './FormCodeEditor.svelte';
41
+ import FormMarkdownEditor from './FormMarkdownEditor.svelte';
42
+ import FormTemplateEditor from './FormTemplateEditor.svelte';
43
+ import FormAutocomplete from './FormAutocomplete.svelte';
44
+ import type { FieldSchema } from './types.js';
45
+ import { getSchemaOptions } from './types.js';
46
+ import type { WorkflowNode, WorkflowEdge, AuthProvider } from '../../types/index.js';
47
+ import { getResolvedTheme } from '../../stores/settingsStore.svelte.js';
48
+
49
+ interface Props {
50
+ /** Unique key/id for the field */
51
+ fieldKey: string;
52
+ /** Field schema definition */
53
+ schema: FieldSchema;
54
+ /** Current field value */
55
+ value: unknown;
56
+ /** Whether the field is required */
57
+ required?: boolean;
58
+ /** Animation delay index for staggered animations */
59
+ animationIndex?: number;
60
+ /** Callback when the field value changes */
61
+ onChange: (value: unknown) => void;
62
+ /** Current workflow node (optional, used for template variable API mode) */
63
+ node?: WorkflowNode;
64
+ /** All workflow nodes (optional, used for port-derived variables) */
65
+ nodes?: WorkflowNode[];
66
+ /** All workflow edges (optional, used for port-derived variables) */
67
+ edges?: WorkflowEdge[];
68
+ /** Workflow ID (optional, used for template variable API mode) */
69
+ workflowId?: string;
70
+ /** Auth provider (optional, used for API requests) */
71
+ authProvider?: AuthProvider;
72
+ }
73
+
74
+ let {
75
+ fieldKey,
76
+ schema,
77
+ value,
78
+ required = false,
79
+ animationIndex = 0,
80
+ onChange,
81
+ node,
82
+ nodes,
83
+ edges,
84
+ workflowId,
85
+ authProvider
86
+ }: Props = $props();
87
+
88
+ /**
89
+ * When schema.readOnly is true, disable all inputs (no editing).
90
+ */
91
+ const isReadOnly = $derived(schema.readOnly === true);
92
+
93
+ /**
94
+ * Computed description ID for ARIA association
95
+ */
96
+ const descriptionId = $derived(
97
+ schema.description && schema.title ? `${fieldKey}-description` : undefined
98
+ );
99
+
100
+ /**
101
+ * Animation delay based on index
102
+ */
103
+ const animationDelay = $derived(animationIndex * 30);
104
+
105
+ /**
106
+ * Field label - prefer title, fall back to description, then key
107
+ */
108
+ const fieldLabel = $derived(String(schema.title ?? schema.description ?? fieldKey));
109
+
110
+ /**
111
+ * Determine the field type to render
112
+ */
113
+ const fieldType = $derived.by(() => {
114
+ // Hidden fields should not be rendered
115
+ if (schema.format === 'hidden') {
116
+ return 'hidden';
117
+ }
118
+
119
+ // Autocomplete field for format: "autocomplete" with autocomplete.url
120
+ if (schema.format === 'autocomplete' && schema.autocomplete?.url) {
121
+ return 'autocomplete';
122
+ }
123
+
124
+ // JSON/code editor for format: "json" or "code"
125
+ if (schema.format === 'json' || schema.format === 'code') {
126
+ return 'code-editor';
127
+ }
128
+
129
+ // Markdown editor for format: "markdown"
130
+ if (schema.format === 'markdown') {
131
+ return 'markdown-editor';
132
+ }
133
+
134
+ // Template editor for format: "template" (Twig/Liquid syntax)
135
+ if (schema.format === 'template') {
136
+ return 'template-editor';
137
+ }
138
+
139
+ // Enum with multiple selection -> checkbox group
140
+ if (schema.enum && schema.multiple) {
141
+ return 'checkbox-group';
142
+ }
143
+
144
+ // Enum with single selection -> select
145
+ if (schema.enum) {
146
+ return 'select-enum';
147
+ }
148
+
149
+ // oneOf with labeled options (standard JSON Schema) -> select
150
+ // Must be checked before basic type checks since oneOf schemas often have type: 'string'
151
+ if (schema.oneOf && schema.oneOf.length > 0) {
152
+ return 'select-options';
153
+ }
154
+
155
+ // Multiline string -> textarea
156
+ if (schema.type === 'string' && schema.format === 'multiline') {
157
+ return 'textarea';
158
+ }
159
+
160
+ // Range slider for number/integer with format: "range"
161
+ if ((schema.type === 'number' || schema.type === 'integer') && schema.format === 'range') {
162
+ return 'range';
163
+ }
164
+
165
+ // String -> text field
166
+ if (schema.type === 'string') {
167
+ return 'text';
168
+ }
169
+
170
+ // Number or integer -> number field
171
+ if (schema.type === 'number' || schema.type === 'integer') {
172
+ return 'number';
173
+ }
174
+
175
+ // Boolean -> toggle
176
+ if (schema.type === 'boolean') {
177
+ return 'toggle';
178
+ }
179
+
180
+ // Future: Array type support
181
+ if (schema.type === 'array') {
182
+ return 'array';
183
+ }
184
+
185
+ // Object type without specific format -> CodeMirror JSON editor
186
+ if (schema.type === 'object') {
187
+ return 'code-editor';
188
+ }
189
+
190
+ // Fallback to text
191
+ return 'text';
192
+ });
193
+
194
+ /**
195
+ * Get enum options as string array for select/checkbox components
196
+ */
197
+ const enumOptions = $derived.by((): string[] => {
198
+ if (!schema.enum) return [];
199
+ return schema.enum.map((opt) => String(opt));
200
+ });
201
+
202
+ /**
203
+ * Get select options for select-options type
204
+ * Handles both oneOf (standard) and options (legacy) patterns
205
+ */
206
+ const selectOptions = $derived(getSchemaOptions(schema));
207
+
208
+ /**
209
+ * Get current value as the appropriate type
210
+ */
211
+ const stringValue = $derived(String(value ?? ''));
212
+ const numberValue = $derived(value as number | string);
213
+ const booleanValue = $derived(Boolean(value ?? schema.default ?? false));
214
+ const arrayValue = $derived.by((): string[] => {
215
+ if (Array.isArray(value)) {
216
+ return value.map((v) => String(v));
217
+ }
218
+ return [];
219
+ });
220
+ const arrayItems = $derived.by((): unknown[] => {
221
+ if (Array.isArray(value)) {
222
+ return value;
223
+ }
224
+ return [];
225
+ });
226
+
227
+ /**
228
+ * Get autocomplete value - can be string or string[] based on multiple setting
229
+ */
230
+ const autocompleteValue = $derived.by((): string | string[] => {
231
+ if (schema.autocomplete?.multiple) {
232
+ if (Array.isArray(value)) {
233
+ return value.map((v) => String(v));
234
+ }
235
+ return value ? [String(value)] : [];
236
+ }
237
+ return String(value ?? '');
238
+ });
239
+ </script>
240
+
241
+ {#if fieldType !== 'hidden'}
242
+ <FormFieldWrapper
243
+ id={fieldKey}
244
+ label={fieldLabel}
245
+ {required}
246
+ description={schema.title ? schema.description : undefined}
247
+ {animationDelay}
248
+ >
249
+ {#if fieldType === 'checkbox-group'}
250
+ <FormCheckboxGroup
251
+ id={fieldKey}
252
+ value={arrayValue}
253
+ options={enumOptions}
254
+ ariaDescribedBy={descriptionId}
255
+ disabled={isReadOnly}
256
+ onChange={(val) => onChange(val)}
257
+ />
258
+ {:else if fieldType === 'select-enum'}
259
+ <FormSelect
260
+ id={fieldKey}
261
+ value={stringValue}
262
+ options={enumOptions}
263
+ {required}
264
+ ariaDescribedBy={descriptionId}
265
+ disabled={isReadOnly}
266
+ onChange={(val) => onChange(val)}
267
+ />
268
+ {:else if fieldType === 'textarea'}
269
+ <FormTextarea
270
+ id={fieldKey}
271
+ value={stringValue}
272
+ placeholder={schema.placeholder ?? ''}
273
+ {required}
274
+ ariaDescribedBy={descriptionId}
275
+ disabled={isReadOnly}
276
+ onChange={(val) => onChange(val)}
277
+ />
278
+ {:else if fieldType === 'text'}
279
+ <FormTextField
280
+ id={fieldKey}
281
+ value={stringValue}
282
+ placeholder={schema.placeholder ?? ''}
283
+ {required}
284
+ ariaDescribedBy={descriptionId}
285
+ disabled={isReadOnly}
286
+ onChange={(val) => onChange(val)}
287
+ />
288
+ {:else if fieldType === 'number'}
289
+ <FormNumberField
290
+ id={fieldKey}
291
+ value={numberValue}
292
+ placeholder={schema.placeholder ?? ''}
293
+ min={schema.minimum}
294
+ max={schema.maximum}
295
+ step={schema.step}
296
+ {required}
297
+ ariaDescribedBy={descriptionId}
298
+ disabled={isReadOnly}
299
+ onChange={(val) => onChange(val)}
300
+ />
301
+ {:else if fieldType === 'range'}
302
+ <FormRangeField
303
+ id={fieldKey}
304
+ value={numberValue}
305
+ min={schema.minimum}
306
+ max={schema.maximum}
307
+ step={schema.step}
308
+ {required}
309
+ ariaDescribedBy={descriptionId}
310
+ disabled={isReadOnly}
311
+ onChange={(val) => onChange(val)}
312
+ />
313
+ {:else if fieldType === 'toggle'}
314
+ <FormToggle
315
+ id={fieldKey}
316
+ value={booleanValue}
317
+ ariaDescribedBy={descriptionId}
318
+ disabled={isReadOnly}
319
+ onChange={(val) => onChange(val)}
320
+ />
321
+ {:else if fieldType === 'select-options'}
322
+ <FormSelect
323
+ id={fieldKey}
324
+ value={stringValue}
325
+ options={selectOptions}
326
+ {required}
327
+ ariaDescribedBy={descriptionId}
328
+ disabled={isReadOnly}
329
+ onChange={(val) => onChange(val)}
330
+ />
331
+ {:else if fieldType === 'array' && schema.items}
332
+ <FormArray
333
+ id={fieldKey}
334
+ value={arrayItems}
335
+ itemSchema={schema.items}
336
+ minItems={schema.minItems}
337
+ maxItems={schema.maxItems}
338
+ addLabel={`Add ${schema.items.title ?? 'Item'}`}
339
+ disabled={isReadOnly}
340
+ onChange={(val) => onChange(val)}
341
+ />
342
+ {:else if fieldType === 'code-editor'}
343
+ <FormCodeEditor
344
+ id={fieldKey}
345
+ {value}
346
+ placeholder={schema.placeholder ?? '{}'}
347
+ {required}
348
+ height={(schema.height as string | undefined) ?? '200px'}
349
+ darkTheme={(schema.darkTheme as boolean | undefined) ?? getResolvedTheme() === 'dark'}
350
+ autoFormat={(schema.autoFormat as boolean | undefined) ?? true}
351
+ ariaDescribedBy={descriptionId}
352
+ disabled={isReadOnly}
353
+ onChange={(val) => onChange(val)}
354
+ />
355
+ {:else if fieldType === 'markdown-editor'}
356
+ <FormMarkdownEditor
357
+ id={fieldKey}
358
+ value={stringValue}
359
+ placeholder={schema.placeholder ?? 'Write your markdown here...'}
360
+ {required}
361
+ height={(schema.height as string | undefined) ?? '300px'}
362
+ showToolbar={(schema.showToolbar as boolean | undefined) ?? true}
363
+ showStatusBar={(schema.showStatusBar as boolean | undefined) ?? true}
364
+ spellChecker={(schema.spellChecker as boolean | undefined) ?? false}
365
+ ariaDescribedBy={descriptionId}
366
+ disabled={isReadOnly}
367
+ onChange={(val) => onChange(val)}
368
+ />
369
+ {:else if fieldType === 'template-editor'}
370
+ <FormTemplateEditor
371
+ id={fieldKey}
372
+ value={stringValue}
373
+ placeholder={schema.placeholder ??
374
+ 'Enter your template here...\nUse {{ variable }} for dynamic values.'}
375
+ {required}
376
+ height={(schema.height as string | undefined) ?? '250px'}
377
+ darkTheme={(schema.darkTheme as boolean | undefined) ?? getResolvedTheme() === 'dark'}
378
+ variables={schema.variables}
379
+ placeholderExample={(schema.placeholderExample as string | undefined) ??
380
+ 'Hello {{ name }}, your order #{{ order_id }} is ready!'}
381
+ ariaDescribedBy={descriptionId}
382
+ disabled={isReadOnly}
383
+ {node}
384
+ {nodes}
385
+ {edges}
386
+ {workflowId}
387
+ {authProvider}
388
+ onChange={(val) => onChange(val)}
389
+ />
390
+ {:else if fieldType === 'autocomplete' && schema.autocomplete}
391
+ <FormAutocomplete
392
+ id={fieldKey}
393
+ value={autocompleteValue}
394
+ autocomplete={schema.autocomplete}
395
+ placeholder={schema.placeholder ?? ''}
396
+ {required}
397
+ ariaDescribedBy={descriptionId}
398
+ disabled={isReadOnly}
399
+ onChange={(val) => onChange(val)}
400
+ />
401
+ {:else}
402
+ <!-- Fallback to text input -->
403
+ <FormTextField
404
+ id={fieldKey}
405
+ value={stringValue}
406
+ placeholder={schema.placeholder ?? ''}
407
+ ariaDescribedBy={descriptionId}
408
+ disabled={isReadOnly}
409
+ onChange={(val) => onChange(val)}
410
+ />
411
+ {/if}
412
+ </FormFieldWrapper>
413
+ {/if}
414
+
415
+ <style>
416
+ /* Styles moved to individual form components */
417
+ </style>
@@ -0,0 +1,29 @@
1
+ import type { FieldSchema } from './types.js';
2
+ import type { WorkflowNode, WorkflowEdge, AuthProvider } from '../../types/index.js';
3
+ interface Props {
4
+ /** Unique key/id for the field */
5
+ fieldKey: string;
6
+ /** Field schema definition */
7
+ schema: FieldSchema;
8
+ /** Current field value */
9
+ value: unknown;
10
+ /** Whether the field is required */
11
+ required?: boolean;
12
+ /** Animation delay index for staggered animations */
13
+ animationIndex?: number;
14
+ /** Callback when the field value changes */
15
+ onChange: (value: unknown) => void;
16
+ /** Current workflow node (optional, used for template variable API mode) */
17
+ node?: WorkflowNode;
18
+ /** All workflow nodes (optional, used for port-derived variables) */
19
+ nodes?: WorkflowNode[];
20
+ /** All workflow edges (optional, used for port-derived variables) */
21
+ edges?: WorkflowEdge[];
22
+ /** Workflow ID (optional, used for template variable API mode) */
23
+ workflowId?: string;
24
+ /** Auth provider (optional, used for API requests) */
25
+ authProvider?: AuthProvider;
26
+ }
27
+ declare const FormField: import("svelte").Component<Props, {}, "">;
28
+ type FormField = ReturnType<typeof FormField>;
29
+ export default FormField;