@flowdrop/flowdrop 1.5.0 → 1.6.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 (434) hide show
  1. package/README.md +46 -47
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +26 -26
  4. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
  5. package/dist/adapters/agentspec/AgentSpecAdapter.js +122 -133
  6. package/dist/adapters/agentspec/agentAdapter.d.ts +2 -2
  7. package/dist/adapters/agentspec/agentAdapter.js +10 -10
  8. package/dist/adapters/agentspec/autoLayout.d.ts +1 -1
  9. package/dist/adapters/agentspec/autoLayout.js +7 -9
  10. package/dist/adapters/agentspec/componentTypeDefaults.d.ts +1 -1
  11. package/dist/adapters/agentspec/componentTypeDefaults.js +120 -120
  12. package/dist/adapters/agentspec/defaultNodeTypes.d.ts +2 -2
  13. package/dist/adapters/agentspec/defaultNodeTypes.js +307 -307
  14. package/dist/adapters/agentspec/index.d.ts +10 -10
  15. package/dist/adapters/agentspec/index.js +6 -6
  16. package/dist/adapters/agentspec/validator.d.ts +2 -2
  17. package/dist/adapters/agentspec/validator.js +20 -22
  18. package/dist/api/enhanced-client.d.ts +3 -3
  19. package/dist/api/enhanced-client.js +72 -73
  20. package/dist/chat/commandClassifier.js +6 -6
  21. package/dist/chat/index.d.ts +5 -5
  22. package/dist/chat/index.js +4 -4
  23. package/dist/chat/responseParser.d.ts +6 -6
  24. package/dist/chat/responseParser.js +28 -24
  25. package/dist/commands/batch.d.ts +1 -1
  26. package/dist/commands/batch.js +5 -7
  27. package/dist/commands/executor.d.ts +2 -2
  28. package/dist/commands/executor.js +320 -231
  29. package/dist/commands/index.d.ts +6 -6
  30. package/dist/commands/index.js +5 -5
  31. package/dist/commands/parser.d.ts +1 -1
  32. package/dist/commands/parser.js +91 -74
  33. package/dist/commands/positioner.d.ts +2 -2
  34. package/dist/commands/positioner.js +1 -1
  35. package/dist/commands/storeIntegration.svelte.d.ts +2 -2
  36. package/dist/commands/storeIntegration.svelte.js +5 -5
  37. package/dist/commands/types.d.ts +42 -42
  38. package/dist/commands/types.js +2 -2
  39. package/dist/components/App.svelte +240 -294
  40. package/dist/components/App.svelte.d.ts +9 -9
  41. package/dist/components/CanvasBanner.stories.svelte +10 -16
  42. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  43. package/dist/components/CanvasBanner.svelte +2 -2
  44. package/dist/components/CanvasBanner.svelte.d.ts +1 -1
  45. package/dist/components/CanvasController.svelte +3 -4
  46. package/dist/components/ConfigForm.svelte +118 -256
  47. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  48. package/dist/components/ConfigMappingRow.svelte +7 -9
  49. package/dist/components/ConfigMappingRow.svelte.d.ts +1 -1
  50. package/dist/components/ConfigModal.svelte +3 -3
  51. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  52. package/dist/components/ConfigPanel.stories.svelte +19 -19
  53. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  54. package/dist/components/ConfigPanel.svelte +9 -20
  55. package/dist/components/ConfigPanel.svelte.d.ts +1 -1
  56. package/dist/components/ConnectionLine.svelte +4 -4
  57. package/dist/components/EdgeRefresher.svelte +1 -1
  58. package/dist/components/FlowDropEdge.stories.svelte +110 -110
  59. package/dist/components/FlowDropEdge.svelte +9 -9
  60. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  61. package/dist/components/FlowDropZone.svelte +6 -9
  62. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  63. package/dist/components/LoadingSpinner.stories.svelte +13 -13
  64. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  65. package/dist/components/LoadingSpinner.svelte +3 -3
  66. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  67. package/dist/components/Logo.stories.svelte +4 -4
  68. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  69. package/dist/components/Logo.svelte +3 -9
  70. package/dist/components/LogsSidebar.svelte +41 -48
  71. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  72. package/dist/components/MarkdownDisplay.stories.svelte +10 -14
  73. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  74. package/dist/components/MarkdownDisplay.svelte +4 -6
  75. package/dist/components/Navbar.stories.svelte +19 -19
  76. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  77. package/dist/components/Navbar.svelte +28 -49
  78. package/dist/components/Navbar.svelte.d.ts +2 -2
  79. package/dist/components/NodeSidebar.svelte +42 -88
  80. package/dist/components/NodeSidebar.svelte.d.ts +1 -1
  81. package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
  82. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  83. package/dist/components/NodeStatusOverlay.svelte +40 -55
  84. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  85. package/dist/components/NodeSwapPicker.svelte +20 -64
  86. package/dist/components/NodeSwapPicker.svelte.d.ts +1 -1
  87. package/dist/components/PipelineStatus.svelte +63 -89
  88. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  89. package/dist/components/PortCoordinateTracker.svelte +5 -7
  90. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  91. package/dist/components/PortMappingRow.svelte +20 -24
  92. package/dist/components/PortMappingRow.svelte.d.ts +2 -2
  93. package/dist/components/ReadOnlyDetails.svelte +1 -1
  94. package/dist/components/SchemaForm.stories.svelte +53 -53
  95. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  96. package/dist/components/SchemaForm.svelte +24 -51
  97. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  98. package/dist/components/SettingsModal.svelte +6 -9
  99. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  100. package/dist/components/SettingsPanel.svelte +138 -158
  101. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  102. package/dist/components/StatusIcon.stories.svelte +16 -29
  103. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  104. package/dist/components/StatusIcon.svelte +19 -19
  105. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  106. package/dist/components/StatusLabel.stories.svelte +8 -8
  107. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  108. package/dist/components/SwapMappingEditor.svelte +35 -56
  109. package/dist/components/SwapMappingEditor.svelte.d.ts +2 -2
  110. package/dist/components/ThemeToggle.stories.svelte +10 -10
  111. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  112. package/dist/components/ThemeToggle.svelte +22 -33
  113. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  114. package/dist/components/UniversalNode.svelte +29 -41
  115. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  116. package/dist/components/WorkflowEditor.svelte +113 -168
  117. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  118. package/dist/components/chat/AIChatPanel.svelte +272 -133
  119. package/dist/components/chat/AIChatPanel.svelte.d.ts +3 -3
  120. package/dist/components/chat/CommandPreview.svelte +74 -24
  121. package/dist/components/chat/CommandPreview.svelte.d.ts +1 -1
  122. package/dist/components/console/CommandConsole.stories.svelte +71 -53
  123. package/dist/components/console/CommandConsole.stories.svelte.d.ts +1 -1
  124. package/dist/components/console/CommandConsole.svelte +39 -35
  125. package/dist/components/console/CommandConsole.svelte.d.ts +2 -2
  126. package/dist/components/console/ConsoleAutocomplete.svelte +6 -3
  127. package/dist/components/console/ConsoleInput.svelte +148 -89
  128. package/dist/components/console/ConsoleInput.svelte.d.ts +1 -1
  129. package/dist/components/console/ConsoleOutput.svelte +5 -10
  130. package/dist/components/console/ConsoleOutput.svelte.d.ts +1 -1
  131. package/dist/components/console/formatters.d.ts +1 -1
  132. package/dist/components/console/formatters.js +27 -29
  133. package/dist/components/form/FormArray.svelte +75 -132
  134. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  135. package/dist/components/form/FormAutocomplete.svelte +65 -108
  136. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  137. package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
  138. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  139. package/dist/components/form/FormCheckboxGroup.svelte +2 -2
  140. package/dist/components/form/FormCodeEditor.svelte +42 -56
  141. package/dist/components/form/FormField.svelte +79 -90
  142. package/dist/components/form/FormField.svelte.d.ts +2 -2
  143. package/dist/components/form/FormFieldLight.svelte +72 -88
  144. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  145. package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
  146. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  147. package/dist/components/form/FormFieldWrapper.svelte +2 -9
  148. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  149. package/dist/components/form/FormFieldset.svelte +3 -3
  150. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  151. package/dist/components/form/FormMarkdownEditor.svelte +123 -156
  152. package/dist/components/form/FormNumberField.stories.svelte +18 -18
  153. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  154. package/dist/components/form/FormNumberField.svelte +6 -6
  155. package/dist/components/form/FormRangeField.stories.svelte +13 -13
  156. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  157. package/dist/components/form/FormRangeField.svelte +4 -12
  158. package/dist/components/form/FormSelect.stories.svelte +21 -21
  159. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  160. package/dist/components/form/FormSelect.svelte +5 -5
  161. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  162. package/dist/components/form/FormTemplateEditor.svelte +126 -175
  163. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  164. package/dist/components/form/FormTextField.stories.svelte +17 -23
  165. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  166. package/dist/components/form/FormTextField.svelte +4 -4
  167. package/dist/components/form/FormTextarea.stories.svelte +18 -21
  168. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  169. package/dist/components/form/FormTextarea.svelte +4 -4
  170. package/dist/components/form/FormToggle.stories.svelte +13 -16
  171. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  172. package/dist/components/form/FormToggle.svelte +3 -3
  173. package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
  174. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  175. package/dist/components/form/index.d.ts +19 -19
  176. package/dist/components/form/index.js +18 -18
  177. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  178. package/dist/components/form/templateAutocomplete.js +55 -64
  179. package/dist/components/form/types.d.ts +6 -6
  180. package/dist/components/form/types.js +4 -9
  181. package/dist/components/icons/AlertCircleIcon.svelte +1 -6
  182. package/dist/components/icons/CogIcon.svelte +1 -6
  183. package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
  184. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  185. package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
  186. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  187. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
  188. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  189. package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
  190. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  191. package/dist/components/interrupt/FormPrompt.svelte +10 -15
  192. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  193. package/dist/components/interrupt/InterruptBubble.svelte +87 -121
  194. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  195. package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
  196. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  197. package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
  198. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  199. package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
  200. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  201. package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
  202. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  203. package/dist/components/interrupt/index.d.ts +6 -6
  204. package/dist/components/interrupt/index.js +6 -6
  205. package/dist/components/layouts/MainLayout.svelte +46 -84
  206. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  207. package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
  208. package/dist/components/nodes/GatewayNode.svelte +37 -70
  209. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  210. package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
  211. package/dist/components/nodes/IdeaNode.svelte +22 -36
  212. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  213. package/dist/components/nodes/NotesNode.stories.svelte +37 -38
  214. package/dist/components/nodes/NotesNode.svelte +28 -39
  215. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  216. package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
  217. package/dist/components/nodes/SimpleNode.svelte +44 -74
  218. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  219. package/dist/components/nodes/SquareNode.stories.svelte +75 -75
  220. package/dist/components/nodes/SquareNode.svelte +42 -68
  221. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  222. package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
  223. package/dist/components/nodes/TerminalNode.svelte +74 -112
  224. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  225. package/dist/components/nodes/ToolNode.stories.svelte +115 -116
  226. package/dist/components/nodes/ToolNode.svelte +31 -64
  227. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  228. package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
  229. package/dist/components/nodes/WorkflowNode.svelte +50 -103
  230. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  231. package/dist/components/playground/ChatPanel.svelte +47 -103
  232. package/dist/components/playground/ExecutionLogs.svelte +45 -68
  233. package/dist/components/playground/InputCollector.svelte +32 -51
  234. package/dist/components/playground/MessageBubble.stories.svelte +25 -25
  235. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  236. package/dist/components/playground/MessageBubble.svelte +54 -70
  237. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  238. package/dist/components/playground/Playground.svelte +60 -91
  239. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  240. package/dist/components/playground/PlaygroundModal.svelte +8 -12
  241. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  242. package/dist/components/playground/SessionManager.svelte +34 -40
  243. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  244. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  245. package/dist/config/agentSpecEndpoints.js +20 -20
  246. package/dist/config/constants.js +2 -2
  247. package/dist/config/defaultCategories.d.ts +1 -1
  248. package/dist/config/defaultCategories.js +86 -86
  249. package/dist/config/defaultPortConfig.d.ts +1 -1
  250. package/dist/config/defaultPortConfig.js +144 -144
  251. package/dist/config/endpoints.d.ts +4 -4
  252. package/dist/config/endpoints.js +68 -68
  253. package/dist/config/runtimeConfig.d.ts +2 -2
  254. package/dist/config/runtimeConfig.js +8 -8
  255. package/dist/core/index.d.ts +68 -68
  256. package/dist/core/index.js +38 -38
  257. package/dist/display/index.d.ts +2 -2
  258. package/dist/display/index.js +2 -2
  259. package/dist/editor/index.d.ts +64 -64
  260. package/dist/editor/index.js +54 -54
  261. package/dist/form/code.d.ts +5 -5
  262. package/dist/form/code.js +14 -14
  263. package/dist/form/fieldRegistry.d.ts +3 -3
  264. package/dist/form/fieldRegistry.js +9 -11
  265. package/dist/form/full.d.ts +8 -8
  266. package/dist/form/full.js +9 -9
  267. package/dist/form/index.d.ts +18 -18
  268. package/dist/form/index.js +16 -16
  269. package/dist/form/markdown.d.ts +4 -4
  270. package/dist/form/markdown.js +8 -8
  271. package/dist/helpers/proximityConnect.d.ts +3 -3
  272. package/dist/helpers/proximityConnect.js +32 -34
  273. package/dist/helpers/workflowEditorHelper.d.ts +6 -6
  274. package/dist/helpers/workflowEditorHelper.js +64 -68
  275. package/dist/index.d.ts +6 -6
  276. package/dist/index.js +6 -6
  277. package/dist/mocks/app-environment.js +2 -2
  278. package/dist/mocks/app-forms.js +1 -1
  279. package/dist/mocks/app-navigation.js +2 -2
  280. package/dist/mocks/app-stores.js +3 -3
  281. package/dist/playground/index.d.ts +19 -19
  282. package/dist/playground/index.js +16 -16
  283. package/dist/playground/mount.d.ts +3 -3
  284. package/dist/playground/mount.js +24 -24
  285. package/dist/registry/builtinFormats.js +13 -13
  286. package/dist/registry/builtinNodes.d.ts +2 -2
  287. package/dist/registry/builtinNodes.js +77 -77
  288. package/dist/registry/index.d.ts +4 -4
  289. package/dist/registry/index.js +4 -4
  290. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  291. package/dist/registry/nodeComponentRegistry.js +9 -11
  292. package/dist/registry/plugin.d.ts +2 -2
  293. package/dist/registry/plugin.js +11 -11
  294. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  295. package/dist/registry/workflowFormatRegistry.js +2 -2
  296. package/dist/schema/index.d.ts +1 -1
  297. package/dist/schema/index.js +2 -2
  298. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  299. package/dist/services/agentSpecExecutionService.js +55 -56
  300. package/dist/services/api.d.ts +2 -2
  301. package/dist/services/api.js +37 -37
  302. package/dist/services/apiVariableService.d.ts +1 -1
  303. package/dist/services/apiVariableService.js +34 -41
  304. package/dist/services/autoSaveService.js +8 -8
  305. package/dist/services/categoriesApi.d.ts +2 -2
  306. package/dist/services/categoriesApi.js +8 -8
  307. package/dist/services/chatService.d.ts +1 -1
  308. package/dist/services/chatService.js +18 -18
  309. package/dist/services/draftStorage.d.ts +1 -1
  310. package/dist/services/draftStorage.js +11 -11
  311. package/dist/services/dynamicSchemaService.d.ts +1 -1
  312. package/dist/services/dynamicSchemaService.js +39 -41
  313. package/dist/services/globalSave.d.ts +2 -2
  314. package/dist/services/globalSave.js +38 -41
  315. package/dist/services/historyService.d.ts +1 -1
  316. package/dist/services/historyService.js +10 -10
  317. package/dist/services/interruptService.d.ts +1 -1
  318. package/dist/services/interruptService.js +29 -35
  319. package/dist/services/nodeExecutionService.d.ts +1 -1
  320. package/dist/services/nodeExecutionService.js +44 -45
  321. package/dist/services/playgroundService.d.ts +1 -1
  322. package/dist/services/playgroundService.js +29 -29
  323. package/dist/services/portConfigApi.d.ts +2 -2
  324. package/dist/services/portConfigApi.js +8 -8
  325. package/dist/services/settingsService.d.ts +2 -2
  326. package/dist/services/settingsService.js +19 -25
  327. package/dist/services/toastService.d.ts +4 -4
  328. package/dist/services/toastService.js +33 -33
  329. package/dist/services/variableService.d.ts +1 -1
  330. package/dist/services/variableService.js +36 -36
  331. package/dist/services/workflowStorage.d.ts +2 -2
  332. package/dist/services/workflowStorage.js +13 -13
  333. package/dist/settings/index.d.ts +7 -7
  334. package/dist/settings/index.js +6 -6
  335. package/dist/skins/default.d.ts +1 -1
  336. package/dist/skins/default.js +1 -1
  337. package/dist/skins/index.d.ts +3 -3
  338. package/dist/skins/index.js +7 -7
  339. package/dist/skins/slate.d.ts +1 -1
  340. package/dist/skins/slate.js +69 -69
  341. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  342. package/dist/stores/categoriesStore.svelte.js +5 -5
  343. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  344. package/dist/stores/editorStateMachine.svelte.js +34 -34
  345. package/dist/stores/historyStore.svelte.d.ts +4 -4
  346. package/dist/stores/historyStore.svelte.js +4 -4
  347. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  348. package/dist/stores/interruptStore.svelte.js +21 -21
  349. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  350. package/dist/stores/playgroundStore.svelte.js +18 -21
  351. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  352. package/dist/stores/portCoordinateStore.svelte.js +10 -13
  353. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  354. package/dist/stores/settingsStore.svelte.js +57 -62
  355. package/dist/stores/workflowStore.svelte.d.ts +3 -3
  356. package/dist/stores/workflowStore.svelte.js +46 -47
  357. package/dist/stories/CanvasDecorator.svelte +7 -10
  358. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  359. package/dist/stories/EdgeDecorator.svelte +28 -31
  360. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  361. package/dist/stories/NodeDecorator.svelte +14 -20
  362. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  363. package/dist/stories/utils.d.ts +2 -2
  364. package/dist/stories/utils.js +89 -93
  365. package/dist/styles/base.css +16 -50
  366. package/dist/styles/tokens.css +10 -28
  367. package/dist/svelte-app.d.ts +10 -10
  368. package/dist/svelte-app.js +39 -39
  369. package/dist/themes/default.d.ts +1 -1
  370. package/dist/themes/default.js +4 -4
  371. package/dist/themes/index.d.ts +3 -3
  372. package/dist/themes/index.js +11 -11
  373. package/dist/themes/minimal.d.ts +1 -1
  374. package/dist/themes/minimal.js +5 -5
  375. package/dist/types/agentspec.d.ts +18 -18
  376. package/dist/types/agentspec.js +2 -2
  377. package/dist/types/auth.d.ts +1 -1
  378. package/dist/types/auth.js +6 -6
  379. package/dist/types/chat.d.ts +2 -2
  380. package/dist/types/config.d.ts +6 -6
  381. package/dist/types/events.d.ts +3 -3
  382. package/dist/types/events.js +2 -2
  383. package/dist/types/index.d.ts +32 -32
  384. package/dist/types/index.js +6 -6
  385. package/dist/types/interrupt.d.ts +6 -6
  386. package/dist/types/interrupt.js +21 -21
  387. package/dist/types/interruptState.d.ts +12 -12
  388. package/dist/types/interruptState.js +66 -66
  389. package/dist/types/playground.d.ts +7 -7
  390. package/dist/types/playground.js +14 -14
  391. package/dist/types/settings.d.ts +7 -5
  392. package/dist/types/settings.js +19 -24
  393. package/dist/types/skin.d.ts +1 -1
  394. package/dist/types/theme.d.ts +2 -2
  395. package/dist/types/uischema.d.ts +4 -4
  396. package/dist/types/uischema.js +3 -3
  397. package/dist/utils/colors.d.ts +1 -1
  398. package/dist/utils/colors.js +95 -97
  399. package/dist/utils/config.d.ts +2 -2
  400. package/dist/utils/config.js +48 -48
  401. package/dist/utils/connections.d.ts +2 -2
  402. package/dist/utils/connections.js +15 -15
  403. package/dist/utils/edgeStyling.d.ts +2 -2
  404. package/dist/utils/edgeStyling.js +36 -39
  405. package/dist/utils/errors.js +3 -3
  406. package/dist/utils/fetchWithAuth.d.ts +1 -1
  407. package/dist/utils/fetchWithAuth.js +2 -2
  408. package/dist/utils/handleIds.d.ts +2 -2
  409. package/dist/utils/handleIds.js +8 -8
  410. package/dist/utils/handlePositioning.d.ts +1 -1
  411. package/dist/utils/handlePositioning.js +2 -2
  412. package/dist/utils/icons.d.ts +1 -1
  413. package/dist/utils/icons.js +74 -74
  414. package/dist/utils/logger.d.ts +1 -1
  415. package/dist/utils/logger.js +7 -7
  416. package/dist/utils/nodeIds.d.ts +1 -1
  417. package/dist/utils/nodeIds.js +1 -1
  418. package/dist/utils/nodeStatus.d.ts +1 -1
  419. package/dist/utils/nodeStatus.js +48 -48
  420. package/dist/utils/nodeSwap.d.ts +9 -9
  421. package/dist/utils/nodeSwap.js +52 -58
  422. package/dist/utils/nodeTypes.d.ts +1 -1
  423. package/dist/utils/nodeTypes.js +20 -21
  424. package/dist/utils/nodeWrapper.d.ts +7 -7
  425. package/dist/utils/nodeWrapper.js +19 -21
  426. package/dist/utils/performanceUtils.d.ts +1 -1
  427. package/dist/utils/performanceUtils.js +1 -2
  428. package/dist/utils/portUtils.d.ts +2 -2
  429. package/dist/utils/portUtils.js +1 -1
  430. package/dist/utils/sanitize.js +1 -1
  431. package/dist/utils/uischema.d.ts +2 -2
  432. package/dist/utils/uischema.js +8 -8
  433. package/dist/utils/validation.js +8 -8
  434. package/package.json +7 -11
@@ -18,7 +18,7 @@
18
18
  * });
19
19
  * ```
20
20
  */
21
- import { AGENTSPEC_NAMESPACE as AGENTSPEC_NS, TRIGGER_INPUT, TRIGGER_OUTPUT, } from "./componentTypeDefaults.js";
21
+ import { AGENTSPEC_NAMESPACE as AGENTSPEC_NS, TRIGGER_INPUT, TRIGGER_OUTPUT } from './componentTypeDefaults.js';
22
22
  /**
23
23
  * Build the full registry of Agent Spec node types.
24
24
  */
@@ -27,486 +27,486 @@ function buildRegistry() {
27
27
  // ========================================================================
28
28
  // StartNode — Graph entry point
29
29
  // ========================================================================
30
- registry.set("start_node", {
31
- componentType: "start_node",
30
+ registry.set('start_node', {
31
+ componentType: 'start_node',
32
32
  metadata: {
33
33
  id: `${AGENTSPEC_NS}.start_node`,
34
- name: "Start",
35
- type: "terminal",
36
- description: "Flow entry point. Defines the initial inputs for the flow.",
37
- category: "triggers",
38
- version: "1.0.0",
39
- icon: "mdi:play-circle",
40
- color: "#22c55e",
41
- badge: "START",
34
+ name: 'Start',
35
+ type: 'terminal',
36
+ description: 'Flow entry point. Defines the initial inputs for the flow.',
37
+ category: 'triggers',
38
+ version: '1.0.0',
39
+ icon: 'mdi:play-circle',
40
+ color: '#22c55e',
41
+ badge: 'START',
42
42
  inputs: [],
43
43
  outputs: [TRIGGER_OUTPUT],
44
44
  configSchema: {
45
- type: "object",
46
- properties: {},
45
+ type: 'object',
46
+ properties: {}
47
47
  },
48
- formats: ["agentspec"],
49
- extensions: { "agentspec:component_type": "start_node" },
50
- },
48
+ formats: ['agentspec'],
49
+ extensions: { 'agentspec:component_type': 'start_node' }
50
+ }
51
51
  });
52
52
  // ========================================================================
53
53
  // EndNode — Graph exit point
54
54
  // ========================================================================
55
- registry.set("end_node", {
56
- componentType: "end_node",
55
+ registry.set('end_node', {
56
+ componentType: 'end_node',
57
57
  metadata: {
58
58
  id: `${AGENTSPEC_NS}.end_node`,
59
- name: "End",
60
- type: "terminal",
61
- description: "Flow exit point. Defines the final outputs of the flow.",
62
- category: "outputs",
63
- version: "1.0.0",
64
- icon: "mdi:stop-circle",
65
- color: "#ef4444",
66
- badge: "END",
59
+ name: 'End',
60
+ type: 'terminal',
61
+ description: 'Flow exit point. Defines the final outputs of the flow.',
62
+ category: 'outputs',
63
+ version: '1.0.0',
64
+ icon: 'mdi:stop-circle',
65
+ color: '#ef4444',
66
+ badge: 'END',
67
67
  inputs: [TRIGGER_INPUT],
68
68
  outputs: [],
69
69
  configSchema: {
70
- type: "object",
71
- properties: {},
70
+ type: 'object',
71
+ properties: {}
72
72
  },
73
- formats: ["agentspec"],
74
- extensions: { "agentspec:component_type": "end_node" },
75
- },
73
+ formats: ['agentspec'],
74
+ extensions: { 'agentspec:component_type': 'end_node' }
75
+ }
76
76
  });
77
77
  // ========================================================================
78
78
  // LLMNode — Text generation from prompts
79
79
  // ========================================================================
80
- registry.set("llm_node", {
81
- componentType: "llm_node",
80
+ registry.set('llm_node', {
81
+ componentType: 'llm_node',
82
82
  metadata: {
83
83
  id: `${AGENTSPEC_NS}.llm_node`,
84
- name: "LLM",
85
- type: "default",
86
- description: "Generate text using a large language model with configurable prompts.",
87
- category: "ai",
88
- version: "1.0.0",
89
- icon: "mdi:brain",
90
- color: "#8b5cf6",
91
- badge: "LLM",
84
+ name: 'LLM',
85
+ type: 'default',
86
+ description: 'Generate text using a large language model with configurable prompts.',
87
+ category: 'ai',
88
+ version: '1.0.0',
89
+ icon: 'mdi:brain',
90
+ color: '#8b5cf6',
91
+ badge: 'LLM',
92
92
  inputs: [
93
93
  TRIGGER_INPUT,
94
94
  {
95
- id: "prompt",
96
- name: "Prompt",
97
- type: "input",
98
- dataType: "string",
95
+ id: 'prompt',
96
+ name: 'Prompt',
97
+ type: 'input',
98
+ dataType: 'string',
99
99
  required: false,
100
- description: "Input prompt text (can also use {{variable}} in prompt template)",
101
- },
100
+ description: 'Input prompt text (can also use {{variable}} in prompt template)'
101
+ }
102
102
  ],
103
103
  outputs: [
104
104
  TRIGGER_OUTPUT,
105
105
  {
106
- id: "llm_output",
107
- name: "LLM Output",
108
- type: "output",
109
- dataType: "string",
110
- description: "Generated text from the LLM",
111
- },
106
+ id: 'llm_output',
107
+ name: 'LLM Output',
108
+ type: 'output',
109
+ dataType: 'string',
110
+ description: 'Generated text from the LLM'
111
+ }
112
112
  ],
113
113
  configSchema: {
114
- type: "object",
114
+ type: 'object',
115
115
  properties: {
116
116
  prompt_template: {
117
- type: "string",
118
- title: "Prompt Template",
119
- description: "Prompt template with {{variable}} placeholders for dynamic inputs",
120
- format: "multiline",
121
- default: "{{prompt}}",
117
+ type: 'string',
118
+ title: 'Prompt Template',
119
+ description: 'Prompt template with {{variable}} placeholders for dynamic inputs',
120
+ format: 'multiline',
121
+ default: '{{prompt}}'
122
122
  },
123
123
  system_prompt: {
124
- type: "string",
125
- title: "System Prompt",
126
- description: "System message to set the LLM behavior",
127
- format: "multiline",
128
- default: "",
124
+ type: 'string',
125
+ title: 'System Prompt',
126
+ description: 'System message to set the LLM behavior',
127
+ format: 'multiline',
128
+ default: ''
129
129
  },
130
130
  llm_config_ref: {
131
- type: "string",
132
- title: "LLM Configuration",
133
- description: "Reference to an LLM configuration (e.g., model name, provider)",
134
- default: "",
135
- },
136
- },
131
+ type: 'string',
132
+ title: 'LLM Configuration',
133
+ description: 'Reference to an LLM configuration (e.g., model name, provider)',
134
+ default: ''
135
+ }
136
+ }
137
137
  },
138
- formats: ["agentspec"],
139
- extensions: { "agentspec:component_type": "llm_node" },
140
- },
138
+ formats: ['agentspec'],
139
+ extensions: { 'agentspec:component_type': 'llm_node' }
140
+ }
141
141
  });
142
142
  // ========================================================================
143
143
  // BranchingNode — Conditional routing
144
144
  // ========================================================================
145
- registry.set("branching_node", {
146
- componentType: "branching_node",
145
+ registry.set('branching_node', {
146
+ componentType: 'branching_node',
147
147
  metadata: {
148
148
  id: `${AGENTSPEC_NS}.branching_node`,
149
- name: "Branch",
150
- type: "gateway",
151
- description: "Route execution to different paths based on conditions.",
152
- category: "logic",
153
- version: "1.0.0",
154
- icon: "mdi:source-branch",
155
- color: "#f59e0b",
156
- badge: "BRANCH",
149
+ name: 'Branch',
150
+ type: 'gateway',
151
+ description: 'Route execution to different paths based on conditions.',
152
+ category: 'logic',
153
+ version: '1.0.0',
154
+ icon: 'mdi:source-branch',
155
+ color: '#f59e0b',
156
+ badge: 'BRANCH',
157
157
  inputs: [
158
158
  TRIGGER_INPUT,
159
159
  {
160
- id: "input",
161
- name: "Input",
162
- type: "input",
163
- dataType: "mixed",
160
+ id: 'input',
161
+ name: 'Input',
162
+ type: 'input',
163
+ dataType: 'mixed',
164
164
  required: false,
165
- description: "Data to evaluate branch conditions against",
166
- },
165
+ description: 'Data to evaluate branch conditions against'
166
+ }
167
167
  ],
168
168
  outputs: [],
169
169
  configSchema: {
170
- type: "object",
170
+ type: 'object',
171
171
  properties: {
172
172
  branches: {
173
- type: "array",
174
- title: "Branches",
175
- description: "Conditional branches for routing",
173
+ type: 'array',
174
+ title: 'Branches',
175
+ description: 'Conditional branches for routing',
176
176
  items: {
177
- type: "object",
177
+ type: 'object',
178
178
  properties: {
179
179
  name: {
180
- type: "string",
181
- title: "Branch ID",
182
- description: "Unique identifier for the branch",
180
+ type: 'string',
181
+ title: 'Branch ID',
182
+ description: 'Unique identifier for the branch'
183
183
  },
184
184
  label: {
185
- type: "string",
186
- title: "Label",
187
- description: "Display label for the branch",
185
+ type: 'string',
186
+ title: 'Label',
187
+ description: 'Display label for the branch'
188
188
  },
189
189
  condition: {
190
- type: "string",
191
- title: "Condition",
192
- description: "Expression that determines when this branch activates",
190
+ type: 'string',
191
+ title: 'Condition',
192
+ description: 'Expression that determines when this branch activates'
193
193
  },
194
194
  isDefault: {
195
- type: "boolean",
196
- title: "Default Branch",
197
- description: "Whether this is the fallback branch",
198
- default: false,
199
- },
195
+ type: 'boolean',
196
+ title: 'Default Branch',
197
+ description: 'Whether this is the fallback branch',
198
+ default: false
199
+ }
200
200
  },
201
- required: ["name"],
202
- },
203
- },
204
- },
201
+ required: ['name']
202
+ }
203
+ }
204
+ }
205
205
  },
206
- formats: ["agentspec"],
207
- extensions: { "agentspec:component_type": "branching_node" },
208
- },
206
+ formats: ['agentspec'],
207
+ extensions: { 'agentspec:component_type': 'branching_node' }
208
+ }
209
209
  });
210
210
  // ========================================================================
211
211
  // ToolNode — Tool execution
212
212
  // ========================================================================
213
- registry.set("tool_node", {
214
- componentType: "tool_node",
213
+ registry.set('tool_node', {
214
+ componentType: 'tool_node',
215
215
  metadata: {
216
216
  id: `${AGENTSPEC_NS}.tool_node`,
217
- name: "Tool",
218
- type: "tool",
219
- description: "Execute a tool function with inputs and receive outputs.",
220
- category: "tools",
221
- version: "1.0.0",
222
- icon: "mdi:wrench",
223
- color: "#06b6d4",
224
- badge: "TOOL",
217
+ name: 'Tool',
218
+ type: 'tool',
219
+ description: 'Execute a tool function with inputs and receive outputs.',
220
+ category: 'tools',
221
+ version: '1.0.0',
222
+ icon: 'mdi:wrench',
223
+ color: '#06b6d4',
224
+ badge: 'TOOL',
225
225
  inputs: [
226
226
  TRIGGER_INPUT,
227
227
  {
228
- id: "tool",
229
- name: "Tool",
230
- type: "input",
231
- dataType: "tool",
228
+ id: 'tool',
229
+ name: 'Tool',
230
+ type: 'input',
231
+ dataType: 'tool',
232
232
  required: false,
233
- description: "Tool connection",
234
- },
233
+ description: 'Tool connection'
234
+ }
235
235
  ],
236
236
  outputs: [
237
237
  TRIGGER_OUTPUT,
238
238
  {
239
- id: "tool",
240
- name: "Tool",
241
- type: "output",
242
- dataType: "tool",
243
- description: "Tool passthrough",
239
+ id: 'tool',
240
+ name: 'Tool',
241
+ type: 'output',
242
+ dataType: 'tool',
243
+ description: 'Tool passthrough'
244
244
  },
245
245
  {
246
- id: "result",
247
- name: "Result",
248
- type: "output",
249
- dataType: "mixed",
250
- description: "Tool execution result",
251
- },
246
+ id: 'result',
247
+ name: 'Result',
248
+ type: 'output',
249
+ dataType: 'mixed',
250
+ description: 'Tool execution result'
251
+ }
252
252
  ],
253
253
  configSchema: {
254
- type: "object",
254
+ type: 'object',
255
255
  properties: {
256
256
  tool_ref: {
257
- type: "string",
258
- title: "Tool Reference",
259
- description: "Reference to the tool to execute ($component_ref:tool_name)",
260
- default: "",
261
- },
262
- },
257
+ type: 'string',
258
+ title: 'Tool Reference',
259
+ description: 'Reference to the tool to execute ($component_ref:tool_name)',
260
+ default: ''
261
+ }
262
+ }
263
263
  },
264
- formats: ["agentspec"],
265
- extensions: { "agentspec:component_type": "tool_node" },
266
- },
264
+ formats: ['agentspec'],
265
+ extensions: { 'agentspec:component_type': 'tool_node' }
266
+ }
267
267
  });
268
268
  // ========================================================================
269
269
  // APINode — API call
270
270
  // ========================================================================
271
- registry.set("api_node", {
272
- componentType: "api_node",
271
+ registry.set('api_node', {
272
+ componentType: 'api_node',
273
273
  metadata: {
274
274
  id: `${AGENTSPEC_NS}.api_node`,
275
- name: "API Call",
276
- type: "default",
277
- description: "Make an HTTP API call with configurable endpoint, method, and headers.",
278
- category: "data",
279
- version: "1.0.0",
280
- icon: "mdi:api",
281
- color: "#3b82f6",
282
- badge: "API",
275
+ name: 'API Call',
276
+ type: 'default',
277
+ description: 'Make an HTTP API call with configurable endpoint, method, and headers.',
278
+ category: 'data',
279
+ version: '1.0.0',
280
+ icon: 'mdi:api',
281
+ color: '#3b82f6',
282
+ badge: 'API',
283
283
  inputs: [
284
284
  TRIGGER_INPUT,
285
285
  {
286
- id: "body",
287
- name: "Request Body",
288
- type: "input",
289
- dataType: "json",
286
+ id: 'body',
287
+ name: 'Request Body',
288
+ type: 'input',
289
+ dataType: 'json',
290
290
  required: false,
291
- description: "Request body data",
292
- },
291
+ description: 'Request body data'
292
+ }
293
293
  ],
294
294
  outputs: [
295
295
  TRIGGER_OUTPUT,
296
296
  {
297
- id: "response",
298
- name: "Response",
299
- type: "output",
300
- dataType: "json",
301
- description: "API response data",
297
+ id: 'response',
298
+ name: 'Response',
299
+ type: 'output',
300
+ dataType: 'json',
301
+ description: 'API response data'
302
302
  },
303
303
  {
304
- id: "status_code",
305
- name: "Status Code",
306
- type: "output",
307
- dataType: "number",
308
- description: "HTTP status code",
309
- },
304
+ id: 'status_code',
305
+ name: 'Status Code',
306
+ type: 'output',
307
+ dataType: 'number',
308
+ description: 'HTTP status code'
309
+ }
310
310
  ],
311
311
  configSchema: {
312
- type: "object",
312
+ type: 'object',
313
313
  properties: {
314
314
  endpoint: {
315
- type: "string",
316
- title: "Endpoint URL",
317
- description: "The API endpoint to call",
318
- default: "",
315
+ type: 'string',
316
+ title: 'Endpoint URL',
317
+ description: 'The API endpoint to call',
318
+ default: ''
319
319
  },
320
320
  method: {
321
- type: "string",
322
- title: "HTTP Method",
323
- enum: ["GET", "POST", "PUT", "PATCH", "DELETE"],
324
- default: "GET",
321
+ type: 'string',
322
+ title: 'HTTP Method',
323
+ enum: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'],
324
+ default: 'GET'
325
325
  },
326
326
  headers: {
327
- type: "string",
328
- title: "Headers",
329
- description: "Request headers as JSON",
330
- format: "multiline",
331
- default: "{}",
332
- },
333
- },
327
+ type: 'string',
328
+ title: 'Headers',
329
+ description: 'Request headers as JSON',
330
+ format: 'multiline',
331
+ default: '{}'
332
+ }
333
+ }
334
334
  },
335
- formats: ["agentspec"],
336
- extensions: { "agentspec:component_type": "api_node" },
337
- },
335
+ formats: ['agentspec'],
336
+ extensions: { 'agentspec:component_type': 'api_node' }
337
+ }
338
338
  });
339
339
  // ========================================================================
340
340
  // AgentNode — Multi-round agent conversation
341
341
  // ========================================================================
342
- registry.set("agent_node", {
343
- componentType: "agent_node",
342
+ registry.set('agent_node', {
343
+ componentType: 'agent_node',
344
344
  metadata: {
345
345
  id: `${AGENTSPEC_NS}.agent_node`,
346
- name: "Agent",
347
- type: "default",
348
- description: "Run a multi-round agent conversation within the flow.",
349
- category: "agents",
350
- version: "1.0.0",
351
- icon: "mdi:robot",
352
- color: "#ec4899",
353
- badge: "AGENT",
346
+ name: 'Agent',
347
+ type: 'default',
348
+ description: 'Run a multi-round agent conversation within the flow.',
349
+ category: 'agents',
350
+ version: '1.0.0',
351
+ icon: 'mdi:robot',
352
+ color: '#ec4899',
353
+ badge: 'AGENT',
354
354
  inputs: [
355
355
  TRIGGER_INPUT,
356
356
  {
357
- id: "input",
358
- name: "Input",
359
- type: "input",
360
- dataType: "string",
357
+ id: 'input',
358
+ name: 'Input',
359
+ type: 'input',
360
+ dataType: 'string',
361
361
  required: false,
362
- description: "Input message for the agent",
363
- },
362
+ description: 'Input message for the agent'
363
+ }
364
364
  ],
365
365
  outputs: [
366
366
  TRIGGER_OUTPUT,
367
367
  {
368
- id: "output",
369
- name: "Output",
370
- type: "output",
371
- dataType: "string",
372
- description: "Agent response output",
373
- },
368
+ id: 'output',
369
+ name: 'Output',
370
+ type: 'output',
371
+ dataType: 'string',
372
+ description: 'Agent response output'
373
+ }
374
374
  ],
375
375
  configSchema: {
376
- type: "object",
376
+ type: 'object',
377
377
  properties: {
378
378
  agent_ref: {
379
- type: "string",
380
- title: "Agent Reference",
381
- description: "Reference to the agent ($component_ref:agent_name)",
382
- default: "",
379
+ type: 'string',
380
+ title: 'Agent Reference',
381
+ description: 'Reference to the agent ($component_ref:agent_name)',
382
+ default: ''
383
383
  },
384
384
  max_turns: {
385
- type: "integer",
386
- title: "Max Turns",
387
- description: "Maximum number of conversation turns",
385
+ type: 'integer',
386
+ title: 'Max Turns',
387
+ description: 'Maximum number of conversation turns',
388
388
  minimum: 1,
389
- default: 10,
390
- },
391
- },
389
+ default: 10
390
+ }
391
+ }
392
392
  },
393
- formats: ["agentspec"],
394
- extensions: { "agentspec:component_type": "agent_node" },
395
- },
393
+ formats: ['agentspec'],
394
+ extensions: { 'agentspec:component_type': 'agent_node' }
395
+ }
396
396
  });
397
397
  // ========================================================================
398
398
  // FlowNode — Nested flow execution
399
399
  // ========================================================================
400
- registry.set("flow_node", {
401
- componentType: "flow_node",
400
+ registry.set('flow_node', {
401
+ componentType: 'flow_node',
402
402
  metadata: {
403
403
  id: `${AGENTSPEC_NS}.flow_node`,
404
- name: "Sub-Flow",
405
- type: "simple",
406
- description: "Execute another flow as a sub-routine within this flow.",
407
- category: "processing",
408
- version: "1.0.0",
409
- icon: "mdi:sitemap",
410
- color: "#14b8a6",
411
- badge: "FLOW",
404
+ name: 'Sub-Flow',
405
+ type: 'simple',
406
+ description: 'Execute another flow as a sub-routine within this flow.',
407
+ category: 'processing',
408
+ version: '1.0.0',
409
+ icon: 'mdi:sitemap',
410
+ color: '#14b8a6',
411
+ badge: 'FLOW',
412
412
  inputs: [
413
413
  TRIGGER_INPUT,
414
414
  {
415
- id: "input",
416
- name: "Input",
417
- type: "input",
418
- dataType: "mixed",
415
+ id: 'input',
416
+ name: 'Input',
417
+ type: 'input',
418
+ dataType: 'mixed',
419
419
  required: false,
420
- description: "Input data passed to the sub-flow",
421
- },
420
+ description: 'Input data passed to the sub-flow'
421
+ }
422
422
  ],
423
423
  outputs: [
424
424
  TRIGGER_OUTPUT,
425
425
  {
426
- id: "output",
427
- name: "Output",
428
- type: "output",
429
- dataType: "mixed",
430
- description: "Output data from the sub-flow",
431
- },
426
+ id: 'output',
427
+ name: 'Output',
428
+ type: 'output',
429
+ dataType: 'mixed',
430
+ description: 'Output data from the sub-flow'
431
+ }
432
432
  ],
433
433
  configSchema: {
434
- type: "object",
434
+ type: 'object',
435
435
  properties: {
436
436
  flow_ref: {
437
- type: "string",
438
- title: "Flow Reference",
439
- description: "Reference to the flow ($component_ref:flow_name)",
440
- default: "",
441
- },
442
- },
437
+ type: 'string',
438
+ title: 'Flow Reference',
439
+ description: 'Reference to the flow ($component_ref:flow_name)',
440
+ default: ''
441
+ }
442
+ }
443
443
  },
444
- formats: ["agentspec"],
445
- extensions: { "agentspec:component_type": "flow_node" },
446
- },
444
+ formats: ['agentspec'],
445
+ extensions: { 'agentspec:component_type': 'flow_node' }
446
+ }
447
447
  });
448
448
  // ========================================================================
449
449
  // MapNode — Map-reduce operations
450
450
  // ========================================================================
451
- registry.set("map_node", {
452
- componentType: "map_node",
451
+ registry.set('map_node', {
452
+ componentType: 'map_node',
453
453
  metadata: {
454
454
  id: `${AGENTSPEC_NS}.map_node`,
455
- name: "Map",
456
- type: "default",
457
- description: "Apply a flow or operation to each item in a collection (map-reduce).",
458
- category: "processing",
459
- version: "1.0.0",
460
- icon: "mdi:map-marker-path",
461
- color: "#f97316",
462
- badge: "MAP",
455
+ name: 'Map',
456
+ type: 'default',
457
+ description: 'Apply a flow or operation to each item in a collection (map-reduce).',
458
+ category: 'processing',
459
+ version: '1.0.0',
460
+ icon: 'mdi:map-marker-path',
461
+ color: '#f97316',
462
+ badge: 'MAP',
463
463
  inputs: [
464
464
  TRIGGER_INPUT,
465
465
  {
466
- id: "collection",
467
- name: "Collection",
468
- type: "input",
469
- dataType: "array",
466
+ id: 'collection',
467
+ name: 'Collection',
468
+ type: 'input',
469
+ dataType: 'array',
470
470
  required: true,
471
- description: "Input collection to iterate over",
472
- },
471
+ description: 'Input collection to iterate over'
472
+ }
473
473
  ],
474
474
  outputs: [
475
475
  TRIGGER_OUTPUT,
476
476
  {
477
- id: "results",
478
- name: "Results",
479
- type: "output",
480
- dataType: "array",
481
- description: "Mapped output collection",
482
- },
477
+ id: 'results',
478
+ name: 'Results',
479
+ type: 'output',
480
+ dataType: 'array',
481
+ description: 'Mapped output collection'
482
+ }
483
483
  ],
484
484
  configSchema: {
485
- type: "object",
485
+ type: 'object',
486
486
  properties: {
487
487
  input_collection: {
488
- type: "string",
489
- title: "Input Collection Property",
490
- description: "Name of the input property containing the collection",
491
- default: "collection",
488
+ type: 'string',
489
+ title: 'Input Collection Property',
490
+ description: 'Name of the input property containing the collection',
491
+ default: 'collection'
492
492
  },
493
493
  output_collection: {
494
- type: "string",
495
- title: "Output Collection Property",
496
- description: "Name of the output property for mapped results",
497
- default: "results",
494
+ type: 'string',
495
+ title: 'Output Collection Property',
496
+ description: 'Name of the output property for mapped results',
497
+ default: 'results'
498
498
  },
499
499
  map_flow_ref: {
500
- type: "string",
501
- title: "Map Flow Reference",
502
- description: "Reference to the flow to execute per item ($component_ref:flow_name)",
503
- default: "",
504
- },
505
- },
500
+ type: 'string',
501
+ title: 'Map Flow Reference',
502
+ description: 'Reference to the flow to execute per item ($component_ref:flow_name)',
503
+ default: ''
504
+ }
505
+ }
506
506
  },
507
- formats: ["agentspec"],
508
- extensions: { "agentspec:component_type": "map_node" },
509
- },
507
+ formats: ['agentspec'],
508
+ extensions: { 'agentspec:component_type': 'map_node' }
509
+ }
510
510
  });
511
511
  return registry;
512
512
  }
@@ -556,6 +556,6 @@ export function createAgentSpecNodeMetadata(componentType, inputs, outputs) {
556
556
  return {
557
557
  ...base,
558
558
  inputs: inputs ?? base.inputs,
559
- outputs: outputs ?? base.outputs,
559
+ outputs: outputs ?? base.outputs
560
560
  };
561
561
  }