@flowdrop/flowdrop 1.0.0 → 1.1.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 (388) hide show
  1. package/README.md +50 -50
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +25 -25
  4. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
  5. package/dist/adapters/agentspec/AgentSpecAdapter.js +133 -122
  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 +2 -2
  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 +22 -20
  18. package/dist/api/enhanced-client.d.ts +3 -3
  19. package/dist/api/enhanced-client.js +73 -72
  20. package/dist/components/App.svelte +1081 -961
  21. package/dist/components/App.svelte.d.ts +9 -6
  22. package/dist/components/CanvasBanner.stories.svelte +23 -20
  23. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  24. package/dist/components/CanvasBanner.svelte +46 -46
  25. package/dist/components/ConfigForm.svelte +1164 -1065
  26. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  27. package/dist/components/ConfigModal.svelte +180 -180
  28. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  29. package/dist/components/ConfigPanel.stories.svelte +35 -35
  30. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  31. package/dist/components/ConfigPanel.svelte +178 -167
  32. package/dist/components/ConfigPanel.svelte.d.ts +1 -1
  33. package/dist/components/ConnectionLine.svelte +25 -25
  34. package/dist/components/EdgeRefresher.svelte +26 -26
  35. package/dist/components/FlowDropEdge.stories.svelte +197 -0
  36. package/dist/components/FlowDropEdge.stories.svelte.d.ts +26 -0
  37. package/dist/components/FlowDropEdge.svelte +168 -0
  38. package/dist/components/FlowDropEdge.svelte.d.ts +4 -0
  39. package/dist/components/FlowDropZone.svelte +63 -60
  40. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  41. package/dist/components/LoadingSpinner.stories.svelte +19 -19
  42. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  43. package/dist/components/LoadingSpinner.svelte +21 -21
  44. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  45. package/dist/components/Logo.stories.svelte +13 -13
  46. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  47. package/dist/components/Logo.svelte +101 -95
  48. package/dist/components/LogsSidebar.svelte +553 -546
  49. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  50. package/dist/components/MarkdownDisplay.stories.svelte +29 -23
  51. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  52. package/dist/components/MarkdownDisplay.svelte +16 -14
  53. package/dist/components/Navbar.stories.svelte +43 -38
  54. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  55. package/dist/components/Navbar.svelte +760 -706
  56. package/dist/components/Navbar.svelte.d.ts +1 -1
  57. package/dist/components/NodeSidebar.svelte +900 -746
  58. package/dist/components/NodeSidebar.svelte.d.ts +3 -1
  59. package/dist/components/NodeStatusOverlay.stories.svelte +82 -70
  60. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  61. package/dist/components/NodeStatusOverlay.svelte +295 -280
  62. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  63. package/dist/components/PipelineStatus.svelte +326 -300
  64. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  65. package/dist/components/PortCoordinateTracker.svelte +49 -47
  66. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  67. package/dist/components/ReadOnlyDetails.svelte +156 -156
  68. package/dist/components/SchemaForm.stories.svelte +106 -98
  69. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  70. package/dist/components/SchemaForm.svelte +490 -463
  71. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  72. package/dist/components/SettingsModal.svelte +226 -223
  73. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  74. package/dist/components/SettingsPanel.svelte +637 -601
  75. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  76. package/dist/components/StatusIcon.stories.svelte +62 -49
  77. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  78. package/dist/components/StatusIcon.svelte +87 -87
  79. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  80. package/dist/components/StatusLabel.stories.svelte +12 -12
  81. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  82. package/dist/components/StatusLabel.svelte +19 -19
  83. package/dist/components/ThemeToggle.stories.svelte +16 -16
  84. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  85. package/dist/components/ThemeToggle.svelte +180 -169
  86. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  87. package/dist/components/UniversalNode.svelte +150 -138
  88. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  89. package/dist/components/WorkflowEditor.svelte +1069 -1007
  90. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  91. package/dist/components/form/FormArray.svelte +1034 -973
  92. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  93. package/dist/components/form/FormAutocomplete.svelte +1021 -978
  94. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  95. package/dist/components/form/FormCheckboxGroup.stories.svelte +23 -20
  96. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  97. package/dist/components/form/FormCheckboxGroup.svelte +136 -136
  98. package/dist/components/form/FormCodeEditor.svelte +452 -434
  99. package/dist/components/form/FormField.svelte +366 -355
  100. package/dist/components/form/FormField.svelte.d.ts +2 -2
  101. package/dist/components/form/FormFieldLight.svelte +400 -384
  102. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  103. package/dist/components/form/FormFieldWrapper.stories.svelte +42 -42
  104. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  105. package/dist/components/form/FormFieldWrapper.svelte +100 -93
  106. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  107. package/dist/components/form/FormFieldset.svelte +108 -108
  108. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  109. package/dist/components/form/FormMarkdownEditor.svelte +758 -725
  110. package/dist/components/form/FormNumberField.stories.svelte +25 -25
  111. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  112. package/dist/components/form/FormNumberField.svelte +88 -88
  113. package/dist/components/form/FormRangeField.stories.svelte +20 -20
  114. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  115. package/dist/components/form/FormRangeField.svelte +234 -226
  116. package/dist/components/form/FormSelect.stories.svelte +38 -38
  117. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  118. package/dist/components/form/FormSelect.svelte +101 -101
  119. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  120. package/dist/components/form/FormTemplateEditor.svelte +847 -798
  121. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  122. package/dist/components/form/FormTextField.stories.svelte +29 -23
  123. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  124. package/dist/components/form/FormTextField.svelte +68 -68
  125. package/dist/components/form/FormTextarea.stories.svelte +28 -25
  126. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  127. package/dist/components/form/FormTextarea.svelte +74 -74
  128. package/dist/components/form/FormToggle.stories.svelte +23 -20
  129. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  130. package/dist/components/form/FormToggle.svelte +98 -98
  131. package/dist/components/form/FormUISchemaRenderer.svelte +120 -113
  132. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  133. package/dist/components/form/index.d.ts +19 -19
  134. package/dist/components/form/index.js +18 -18
  135. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  136. package/dist/components/form/templateAutocomplete.js +64 -55
  137. package/dist/components/form/types.d.ts +6 -6
  138. package/dist/components/form/types.js +9 -4
  139. package/dist/components/icons/AlertCircleIcon.svelte +11 -0
  140. package/dist/components/icons/AlertCircleIcon.svelte.d.ts +26 -0
  141. package/dist/components/icons/CogIcon.svelte +11 -0
  142. package/dist/components/icons/CogIcon.svelte.d.ts +26 -0
  143. package/dist/components/interrupt/ChoicePrompt.stories.svelte +54 -38
  144. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  145. package/dist/components/interrupt/ChoicePrompt.svelte +407 -383
  146. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  147. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +48 -48
  148. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  149. package/dist/components/interrupt/ConfirmationPrompt.svelte +280 -274
  150. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  151. package/dist/components/interrupt/FormPrompt.svelte +223 -218
  152. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  153. package/dist/components/interrupt/InterruptBubble.svelte +617 -583
  154. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  155. package/dist/components/interrupt/ReviewPrompt.stories.svelte +66 -56
  156. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  157. package/dist/components/interrupt/ReviewPrompt.svelte +861 -841
  158. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  159. package/dist/components/interrupt/TextInputPrompt.stories.svelte +38 -33
  160. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  161. package/dist/components/interrupt/TextInputPrompt.svelte +333 -328
  162. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  163. package/dist/components/interrupt/index.d.ts +5 -5
  164. package/dist/components/interrupt/index.js +5 -5
  165. package/dist/components/layouts/MainLayout.svelte +724 -691
  166. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  167. package/dist/components/nodes/GatewayNode.stories.svelte +100 -99
  168. package/dist/components/nodes/GatewayNode.svelte +605 -571
  169. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  170. package/dist/components/nodes/IdeaNode.stories.svelte +44 -43
  171. package/dist/components/nodes/IdeaNode.svelte +451 -437
  172. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  173. package/dist/components/nodes/NotesNode.stories.svelte +65 -64
  174. package/dist/components/nodes/NotesNode.svelte +380 -369
  175. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  176. package/dist/components/nodes/SimpleNode.stories.svelte +145 -144
  177. package/dist/components/nodes/SimpleNode.svelte +486 -424
  178. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  179. package/dist/components/nodes/SquareNode.stories.svelte +73 -73
  180. package/dist/components/nodes/SquareNode.svelte +439 -380
  181. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  182. package/dist/components/nodes/TerminalNode.stories.svelte +13 -13
  183. package/dist/components/nodes/TerminalNode.svelte +709 -670
  184. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  185. package/dist/components/nodes/ToolNode.stories.svelte +181 -180
  186. package/dist/components/nodes/ToolNode.svelte +505 -447
  187. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  188. package/dist/components/nodes/WorkflowNode.stories.svelte +70 -46
  189. package/dist/components/nodes/WorkflowNode.svelte +621 -551
  190. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  191. package/dist/components/playground/ChatPanel.svelte +945 -889
  192. package/dist/components/playground/ExecutionLogs.svelte +495 -472
  193. package/dist/components/playground/InputCollector.svelte +449 -428
  194. package/dist/components/playground/MessageBubble.stories.svelte +47 -47
  195. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  196. package/dist/components/playground/MessageBubble.svelte +626 -610
  197. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  198. package/dist/components/playground/Playground.svelte +1088 -1057
  199. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  200. package/dist/components/playground/PlaygroundModal.svelte +208 -204
  201. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  202. package/dist/components/playground/SessionManager.svelte +527 -521
  203. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  204. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  205. package/dist/config/agentSpecEndpoints.js +20 -20
  206. package/dist/config/constants.d.ts +8 -0
  207. package/dist/config/constants.js +10 -2
  208. package/dist/config/defaultCategories.d.ts +1 -1
  209. package/dist/config/defaultCategories.js +86 -86
  210. package/dist/config/defaultPortConfig.d.ts +1 -1
  211. package/dist/config/defaultPortConfig.js +144 -144
  212. package/dist/config/endpoints.d.ts +4 -4
  213. package/dist/config/endpoints.js +65 -65
  214. package/dist/config/runtimeConfig.d.ts +2 -2
  215. package/dist/config/runtimeConfig.js +8 -8
  216. package/dist/core/index.d.ts +63 -59
  217. package/dist/core/index.js +35 -33
  218. package/dist/display/index.d.ts +2 -2
  219. package/dist/display/index.js +2 -2
  220. package/dist/editor/index.d.ts +62 -62
  221. package/dist/editor/index.js +53 -53
  222. package/dist/form/code.d.ts +5 -5
  223. package/dist/form/code.js +14 -14
  224. package/dist/form/fieldRegistry.d.ts +3 -3
  225. package/dist/form/fieldRegistry.js +11 -9
  226. package/dist/form/full.d.ts +8 -8
  227. package/dist/form/full.js +9 -9
  228. package/dist/form/index.d.ts +18 -18
  229. package/dist/form/index.js +16 -16
  230. package/dist/form/markdown.d.ts +4 -4
  231. package/dist/form/markdown.js +8 -8
  232. package/dist/helpers/proximityConnect.d.ts +3 -3
  233. package/dist/helpers/proximityConnect.js +34 -32
  234. package/dist/helpers/workflowEditorHelper.d.ts +5 -5
  235. package/dist/helpers/workflowEditorHelper.js +108 -96
  236. package/dist/index.d.ts +6 -6
  237. package/dist/index.js +6 -6
  238. package/dist/mocks/app-environment.js +2 -2
  239. package/dist/mocks/app-forms.js +9 -9
  240. package/dist/mocks/app-navigation.js +11 -11
  241. package/dist/mocks/app-stores.js +8 -8
  242. package/dist/playground/index.d.ts +19 -19
  243. package/dist/playground/index.js +16 -16
  244. package/dist/playground/mount.d.ts +3 -3
  245. package/dist/playground/mount.js +24 -24
  246. package/dist/registry/builtinFormats.js +13 -13
  247. package/dist/registry/builtinNodes.d.ts +2 -2
  248. package/dist/registry/builtinNodes.js +77 -77
  249. package/dist/registry/index.d.ts +4 -4
  250. package/dist/registry/index.js +4 -4
  251. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  252. package/dist/registry/nodeComponentRegistry.js +11 -9
  253. package/dist/registry/plugin.d.ts +2 -2
  254. package/dist/registry/plugin.js +11 -11
  255. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  256. package/dist/registry/workflowFormatRegistry.js +2 -2
  257. package/dist/schema/index.d.ts +1 -1
  258. package/dist/schema/index.js +2 -2
  259. package/dist/schemas/v1/workflow.schema.json +22 -107
  260. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  261. package/dist/services/agentSpecExecutionService.js +59 -55
  262. package/dist/services/api.d.ts +18 -4
  263. package/dist/services/api.js +46 -43
  264. package/dist/services/apiVariableService.d.ts +1 -1
  265. package/dist/services/apiVariableService.js +41 -34
  266. package/dist/services/autoSaveService.js +8 -8
  267. package/dist/services/categoriesApi.d.ts +2 -2
  268. package/dist/services/categoriesApi.js +8 -8
  269. package/dist/services/draftStorage.d.ts +1 -1
  270. package/dist/services/draftStorage.js +11 -11
  271. package/dist/services/dynamicSchemaService.d.ts +1 -1
  272. package/dist/services/dynamicSchemaService.js +41 -39
  273. package/dist/services/globalSave.d.ts +2 -2
  274. package/dist/services/globalSave.js +53 -42
  275. package/dist/services/historyService.d.ts +1 -1
  276. package/dist/services/historyService.js +8 -8
  277. package/dist/services/interruptService.d.ts +1 -1
  278. package/dist/services/interruptService.js +35 -29
  279. package/dist/services/nodeExecutionService.d.ts +1 -1
  280. package/dist/services/nodeExecutionService.js +45 -44
  281. package/dist/services/playgroundService.d.ts +1 -1
  282. package/dist/services/playgroundService.js +29 -29
  283. package/dist/services/portConfigApi.d.ts +2 -2
  284. package/dist/services/portConfigApi.js +8 -8
  285. package/dist/services/settingsService.d.ts +2 -2
  286. package/dist/services/settingsService.js +25 -19
  287. package/dist/services/toastService.d.ts +4 -4
  288. package/dist/services/toastService.js +33 -33
  289. package/dist/services/variableService.d.ts +1 -1
  290. package/dist/services/variableService.js +36 -36
  291. package/dist/services/workflowStorage.d.ts +2 -2
  292. package/dist/services/workflowStorage.js +13 -13
  293. package/dist/settings/index.d.ts +7 -7
  294. package/dist/settings/index.js +6 -6
  295. package/dist/skins/default.d.ts +2 -0
  296. package/dist/skins/default.js +1 -0
  297. package/dist/skins/index.d.ts +13 -0
  298. package/dist/skins/index.js +30 -0
  299. package/dist/skins/slate.d.ts +2 -0
  300. package/dist/skins/slate.js +78 -0
  301. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  302. package/dist/stores/categoriesStore.svelte.js +5 -5
  303. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  304. package/dist/stores/editorStateMachine.svelte.js +65 -33
  305. package/dist/stores/historyStore.svelte.d.ts +4 -4
  306. package/dist/stores/historyStore.svelte.js +4 -4
  307. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  308. package/dist/stores/interruptStore.svelte.js +21 -21
  309. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  310. package/dist/stores/playgroundStore.svelte.js +25 -18
  311. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  312. package/dist/stores/portCoordinateStore.svelte.js +15 -8
  313. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  314. package/dist/stores/settingsStore.svelte.js +62 -57
  315. package/dist/stores/workflowStore.svelte.d.ts +3 -3
  316. package/dist/stores/workflowStore.svelte.js +50 -47
  317. package/dist/stories/CanvasDecorator.svelte +35 -32
  318. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  319. package/dist/stories/EdgeDecorator.svelte +125 -0
  320. package/dist/stories/EdgeDecorator.svelte.d.ts +17 -0
  321. package/dist/stories/NodeDecorator.svelte +59 -53
  322. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  323. package/dist/stories/utils.d.ts +2 -2
  324. package/dist/stories/utils.js +105 -67
  325. package/dist/styles/base.css +599 -595
  326. package/dist/styles/toast.css +14 -14
  327. package/dist/styles/tokens.css +409 -378
  328. package/dist/svelte-app.d.ts +9 -9
  329. package/dist/svelte-app.js +39 -39
  330. package/dist/themes/default.d.ts +2 -0
  331. package/dist/themes/default.js +9 -0
  332. package/dist/themes/index.d.ts +13 -0
  333. package/dist/themes/index.js +44 -0
  334. package/dist/themes/minimal.d.ts +2 -0
  335. package/dist/themes/minimal.js +11 -0
  336. package/dist/types/agentspec.d.ts +18 -18
  337. package/dist/types/agentspec.js +2 -2
  338. package/dist/types/auth.d.ts +1 -1
  339. package/dist/types/auth.js +6 -6
  340. package/dist/types/config.d.ts +6 -6
  341. package/dist/types/events.d.ts +2 -2
  342. package/dist/types/events.js +2 -2
  343. package/dist/types/index.d.ts +32 -32
  344. package/dist/types/index.js +6 -6
  345. package/dist/types/interrupt.d.ts +6 -6
  346. package/dist/types/interrupt.js +21 -21
  347. package/dist/types/interruptState.d.ts +12 -12
  348. package/dist/types/interruptState.js +66 -66
  349. package/dist/types/playground.d.ts +7 -7
  350. package/dist/types/playground.js +14 -14
  351. package/dist/types/settings.d.ts +5 -3
  352. package/dist/types/settings.js +25 -18
  353. package/dist/types/skin.d.ts +31 -0
  354. package/dist/types/skin.js +1 -0
  355. package/dist/types/theme.d.ts +35 -0
  356. package/dist/types/theme.js +1 -0
  357. package/dist/types/uischema.d.ts +4 -4
  358. package/dist/types/uischema.js +3 -3
  359. package/dist/utils/colors.d.ts +1 -1
  360. package/dist/utils/colors.js +97 -95
  361. package/dist/utils/config.d.ts +2 -2
  362. package/dist/utils/config.js +48 -48
  363. package/dist/utils/connections.d.ts +2 -2
  364. package/dist/utils/connections.js +15 -15
  365. package/dist/utils/errors.js +3 -3
  366. package/dist/utils/fetchWithAuth.d.ts +1 -1
  367. package/dist/utils/fetchWithAuth.js +2 -2
  368. package/dist/utils/handleIds.d.ts +2 -2
  369. package/dist/utils/handleIds.js +8 -8
  370. package/dist/utils/handlePositioning.d.ts +1 -1
  371. package/dist/utils/handlePositioning.js +2 -2
  372. package/dist/utils/icons.d.ts +1 -1
  373. package/dist/utils/icons.js +74 -74
  374. package/dist/utils/logger.d.ts +1 -1
  375. package/dist/utils/logger.js +7 -7
  376. package/dist/utils/nodeStatus.d.ts +1 -1
  377. package/dist/utils/nodeStatus.js +48 -48
  378. package/dist/utils/nodeTypes.d.ts +1 -1
  379. package/dist/utils/nodeTypes.js +21 -20
  380. package/dist/utils/nodeWrapper.d.ts +7 -7
  381. package/dist/utils/nodeWrapper.js +21 -19
  382. package/dist/utils/performanceUtils.d.ts +1 -1
  383. package/dist/utils/performanceUtils.js +2 -1
  384. package/dist/utils/sanitize.js +1 -1
  385. package/dist/utils/uischema.d.ts +2 -2
  386. package/dist/utils/uischema.js +8 -8
  387. package/dist/utils/validation.js +20 -8
  388. package/package.json +296 -291
@@ -6,13 +6,13 @@
6
6
  *
7
7
  * @module svelte-app
8
8
  */
9
- import type { Workflow, NodeMetadata, PortConfig, CategoryDefinition } from './types/index.js';
10
- import type { EndpointConfig } from './config/endpoints.js';
11
- import type { AuthProvider } from './types/auth.js';
12
- import type { FlowDropEventHandlers, FlowDropFeatures } from './types/events.js';
13
- import type { WorkflowFormatAdapter } from './registry/workflowFormatRegistry.js';
14
- import './registry/builtinFormats.js';
15
- import type { PartialSettings } from './types/settings.js';
9
+ import type { Workflow, NodeMetadata, PortConfig, CategoryDefinition } from "./types/index.js";
10
+ import type { EndpointConfig } from "./config/endpoints.js";
11
+ import type { AuthProvider } from "./types/auth.js";
12
+ import type { FlowDropEventHandlers, FlowDropFeatures } from "./types/events.js";
13
+ import type { WorkflowFormatAdapter } from "./registry/workflowFormatRegistry.js";
14
+ import "./registry/builtinFormats.js";
15
+ import type { PartialSettings } from "./types/settings.js";
16
16
  /**
17
17
  * Navbar action configuration
18
18
  */
@@ -20,7 +20,7 @@ export interface NavbarAction {
20
20
  label: string;
21
21
  href: string;
22
22
  icon?: string;
23
- variant?: 'primary' | 'secondary' | 'outline';
23
+ variant?: "primary" | "secondary" | "outline";
24
24
  onclick?: (event: Event) => void;
25
25
  }
26
26
  /**
@@ -52,7 +52,7 @@ export interface FlowDropMountOptions {
52
52
  /** Pipeline ID for status display */
53
53
  pipelineId?: string;
54
54
  /** Node execution statuses */
55
- nodeStatuses?: Record<string, 'pending' | 'running' | 'completed' | 'error'>;
55
+ nodeStatuses?: Record<string, "pending" | "running" | "completed" | "error">;
56
56
  /** Custom navbar title */
57
57
  navbarTitle?: string;
58
58
  /** Custom navbar actions */
@@ -6,22 +6,22 @@
6
6
  *
7
7
  * @module svelte-app
8
8
  */
9
- import { mount, unmount } from 'svelte';
10
- import WorkflowEditor from './components/WorkflowEditor.svelte';
11
- import App from './components/App.svelte';
12
- import { workflowFormatRegistry } from './registry/workflowFormatRegistry.js';
13
- import './registry/builtinFormats.js';
14
- import { initializePortCompatibility } from './utils/connections.js';
15
- import { DEFAULT_PORT_CONFIG } from './config/defaultPortConfig.js';
16
- import { fetchPortConfig } from './services/portConfigApi.js';
17
- import { fetchCategories } from './services/categoriesApi.js';
18
- import { initializeCategories } from './stores/categoriesStore.svelte.js';
19
- import { isDirty, markAsSaved, getWorkflow as getWorkflowFromStore, setOnDirtyStateChange, setOnWorkflowChange } from './stores/workflowStore.svelte.js';
20
- import { DraftAutoSaveManager, getDraftStorageKey } from './services/draftStorage.js';
21
- import { mergeFeatures } from './types/events.js';
22
- import { initializeSettings } from './stores/settingsStore.svelte.js';
23
- import { logger } from './utils/logger.js';
24
- import { globalSaveWorkflow, globalExportWorkflow } from './services/globalSave.js';
9
+ import { mount, unmount } from "svelte";
10
+ import WorkflowEditor from "./components/WorkflowEditor.svelte";
11
+ import App from "./components/App.svelte";
12
+ import { workflowFormatRegistry } from "./registry/workflowFormatRegistry.js";
13
+ import "./registry/builtinFormats.js";
14
+ import { initializePortCompatibility } from "./utils/connections.js";
15
+ import { DEFAULT_PORT_CONFIG } from "./config/defaultPortConfig.js";
16
+ import { fetchPortConfig } from "./services/portConfigApi.js";
17
+ import { fetchCategories } from "./services/categoriesApi.js";
18
+ import { initializeCategories } from "./stores/categoriesStore.svelte.js";
19
+ import { isDirty, markAsSaved, getWorkflow as getWorkflowFromStore, setOnDirtyStateChange, setOnWorkflowChange, } from "./stores/workflowStore.svelte.js";
20
+ import { DraftAutoSaveManager, getDraftStorageKey, } from "./services/draftStorage.js";
21
+ import { mergeFeatures } from "./types/events.js";
22
+ import { initializeSettings } from "./stores/settingsStore.svelte.js";
23
+ import { logger } from "./utils/logger.js";
24
+ import { globalSaveWorkflow, globalExportWorkflow, } from "./services/globalSave.js";
25
25
  /**
26
26
  * Mount the full FlowDrop App with navbar, sidebars, and workflow editor
27
27
  *
@@ -47,7 +47,7 @@ import { globalSaveWorkflow, globalExportWorkflow } from './services/globalSave.
47
47
  * ```
48
48
  */
49
49
  export async function mountFlowDropApp(container, options = {}) {
50
- const { workflow, nodes, endpointConfig, portConfig, categories, height = '100vh', width = '100%', showNavbar = false, disableSidebar, lockWorkflow, readOnly, nodeStatuses, pipelineId, navbarTitle, navbarActions, showSettings, authProvider, eventHandlers, features: userFeatures, settings: initialSettings, draftStorageKey: customDraftKey, formatAdapters } = options;
50
+ const { workflow, nodes, endpointConfig, portConfig, categories, height = "100vh", width = "100%", showNavbar = false, disableSidebar, lockWorkflow, readOnly, nodeStatuses, pipelineId, navbarTitle, navbarActions, showSettings, authProvider, eventHandlers, features: userFeatures, settings: initialSettings, draftStorageKey: customDraftKey, formatAdapters, } = options;
51
51
  // Register custom format adapters before mounting
52
52
  if (formatAdapters) {
53
53
  for (const adapter of formatAdapters) {
@@ -58,25 +58,25 @@ export async function mountFlowDropApp(container, options = {}) {
58
58
  const features = mergeFeatures(userFeatures);
59
59
  // Apply initial settings overrides and initialize theme
60
60
  await initializeSettings({
61
- defaults: initialSettings
61
+ defaults: initialSettings,
62
62
  });
63
63
  // Create endpoint configuration
64
64
  let config;
65
65
  if (endpointConfig) {
66
66
  // Merge with default configuration to ensure all required endpoints are present
67
- const { defaultEndpointConfig } = await import('./config/endpoints.js');
67
+ const { defaultEndpointConfig } = await import("./config/endpoints.js");
68
68
  config = {
69
69
  ...defaultEndpointConfig,
70
70
  ...endpointConfig,
71
71
  endpoints: {
72
72
  ...defaultEndpointConfig.endpoints,
73
- ...endpointConfig.endpoints
74
- }
73
+ ...endpointConfig.endpoints,
74
+ },
75
75
  };
76
76
  }
77
77
  else {
78
78
  // Use default configuration if none provided
79
- const { defaultEndpointConfig } = await import('./config/endpoints.js');
79
+ const { defaultEndpointConfig } = await import("./config/endpoints.js");
80
80
  config = defaultEndpointConfig;
81
81
  }
82
82
  // Initialize port configuration
@@ -87,7 +87,7 @@ export async function mountFlowDropApp(container, options = {}) {
87
87
  finalPortConfig = await fetchPortConfig(config);
88
88
  }
89
89
  catch (error) {
90
- logger.warn('Failed to fetch port config from API, using default:', error);
90
+ logger.warn("Failed to fetch port config from API, using default:", error);
91
91
  finalPortConfig = DEFAULT_PORT_CONFIG;
92
92
  }
93
93
  }
@@ -105,7 +105,7 @@ export async function mountFlowDropApp(container, options = {}) {
105
105
  initializeCategories(fetchedCategories);
106
106
  }
107
107
  catch (error) {
108
- logger.warn('Failed to fetch categories from API, using defaults:', error);
108
+ logger.warn("Failed to fetch categories from API, using defaults:", error);
109
109
  }
110
110
  }
111
111
  // Set up event handler callbacks in the store
@@ -135,8 +135,8 @@ export async function mountFlowDropApp(container, options = {}) {
135
135
  endpointConfig: config,
136
136
  authProvider,
137
137
  eventHandlers,
138
- features
139
- }
138
+ features,
139
+ },
140
140
  });
141
141
  // Set up draft auto-save manager
142
142
  let draftManager = null;
@@ -147,7 +147,7 @@ export async function mountFlowDropApp(container, options = {}) {
147
147
  interval: features.autoSaveDraftInterval,
148
148
  enabled: features.autoSaveDraft,
149
149
  getWorkflow: getWorkflowFromStore,
150
- isDirty
150
+ isDirty,
151
151
  });
152
152
  draftManager.start();
153
153
  }
@@ -155,7 +155,7 @@ export async function mountFlowDropApp(container, options = {}) {
155
155
  const state = {
156
156
  svelteApp,
157
157
  draftManager,
158
- eventHandlers: eventHandlers ?? null
158
+ eventHandlers: eventHandlers ?? null,
159
159
  };
160
160
  // Create the mounted app interface
161
161
  const mountedApp = {
@@ -195,7 +195,7 @@ export async function mountFlowDropApp(container, options = {}) {
195
195
  },
196
196
  export: () => {
197
197
  globalExportWorkflow();
198
- }
198
+ },
199
199
  };
200
200
  return mountedApp;
201
201
  }
@@ -214,19 +214,19 @@ export async function mountWorkflowEditor(container, options = {}) {
214
214
  let config;
215
215
  if (endpointConfig) {
216
216
  // Merge with default configuration to ensure all required endpoints are present
217
- const { defaultEndpointConfig } = await import('./config/endpoints.js');
217
+ const { defaultEndpointConfig } = await import("./config/endpoints.js");
218
218
  config = {
219
219
  ...defaultEndpointConfig,
220
220
  ...endpointConfig,
221
221
  endpoints: {
222
222
  ...defaultEndpointConfig.endpoints,
223
- ...endpointConfig.endpoints
224
- }
223
+ ...endpointConfig.endpoints,
224
+ },
225
225
  };
226
226
  }
227
227
  else {
228
228
  // Use default configuration if none provided
229
- const { defaultEndpointConfig } = await import('./config/endpoints.js');
229
+ const { defaultEndpointConfig } = await import("./config/endpoints.js");
230
230
  config = defaultEndpointConfig;
231
231
  }
232
232
  // Initialize port configuration
@@ -237,7 +237,7 @@ export async function mountWorkflowEditor(container, options = {}) {
237
237
  finalPortConfig = await fetchPortConfig(config);
238
238
  }
239
239
  catch (error) {
240
- logger.warn('Failed to fetch port config from API, using default:', error);
240
+ logger.warn("Failed to fetch port config from API, using default:", error);
241
241
  finalPortConfig = DEFAULT_PORT_CONFIG;
242
242
  }
243
243
  }
@@ -255,7 +255,7 @@ export async function mountWorkflowEditor(container, options = {}) {
255
255
  initializeCategories(fetchedCategories);
256
256
  }
257
257
  catch (error) {
258
- logger.warn('Failed to fetch categories from API, using defaults:', error);
258
+ logger.warn("Failed to fetch categories from API, using defaults:", error);
259
259
  }
260
260
  }
261
261
  // Create the Svelte component
@@ -263,8 +263,8 @@ export async function mountWorkflowEditor(container, options = {}) {
263
263
  target: container,
264
264
  props: {
265
265
  nodes,
266
- endpointConfig: config
267
- }
266
+ endpointConfig: config,
267
+ },
268
268
  });
269
269
  // Create the mounted app interface (simpler version)
270
270
  const mountedApp = {
@@ -279,7 +279,7 @@ export async function mountWorkflowEditor(container, options = {}) {
279
279
  },
280
280
  export: () => {
281
281
  globalExportWorkflow();
282
- }
282
+ },
283
283
  };
284
284
  return mountedApp;
285
285
  }
@@ -289,7 +289,7 @@ export async function mountWorkflowEditor(container, options = {}) {
289
289
  * @param app - The mounted app to unmount
290
290
  */
291
291
  export function unmountFlowDropApp(app) {
292
- if (app && typeof app.destroy === 'function') {
292
+ if (app && typeof app.destroy === "function") {
293
293
  app.destroy();
294
294
  }
295
295
  }
@@ -0,0 +1,2 @@
1
+ import type { FlowDropTheme } from "../types/theme.js";
2
+ export declare const defaultTheme: FlowDropTheme;
@@ -0,0 +1,9 @@
1
+ export const defaultTheme = {
2
+ name: "default",
3
+ config: {
4
+ sidebar: {
5
+ defaultOpen: true,
6
+ categoriesDefaultOpen: false,
7
+ },
8
+ },
9
+ };
@@ -0,0 +1,13 @@
1
+ import type { FlowDropTheme, FlowDropThemeName } from "../types/theme.js";
2
+ import { defaultTheme } from "./default.js";
3
+ import { minimalTheme } from "./minimal.js";
4
+ /**
5
+ * Resolve a theme prop to a complete FlowDropTheme object.
6
+ *
7
+ * When an object with a named base is provided, the named theme is used as a
8
+ * base and the inline overrides are merged on top:
9
+ * resolveTheme({ name: 'minimal', skin: { tokens: { primary: '#e11d48' } } })
10
+ * → minimal theme + { skin.tokens.primary: '#e11d48' }
11
+ */
12
+ export declare function resolveTheme(theme: FlowDropTheme | FlowDropThemeName | undefined): FlowDropTheme;
13
+ export { defaultTheme, minimalTheme };
@@ -0,0 +1,44 @@
1
+ import { defaultTheme } from "./default.js";
2
+ import { minimalTheme } from "./minimal.js";
3
+ const builtinThemes = {
4
+ default: defaultTheme,
5
+ minimal: minimalTheme,
6
+ };
7
+ /**
8
+ * Resolve a theme prop to a complete FlowDropTheme object.
9
+ *
10
+ * When an object with a named base is provided, the named theme is used as a
11
+ * base and the inline overrides are merged on top:
12
+ * resolveTheme({ name: 'minimal', skin: { tokens: { primary: '#e11d48' } } })
13
+ * → minimal theme + { skin.tokens.primary: '#e11d48' }
14
+ */
15
+ export function resolveTheme(theme) {
16
+ if (!theme || theme === "default")
17
+ return defaultTheme;
18
+ if (typeof theme === "string")
19
+ return builtinThemes[theme] ?? defaultTheme;
20
+ // Object form — check for a named base to merge on top of
21
+ const baseName = theme.name;
22
+ if (baseName && baseName !== "default" && builtinThemes[baseName]) {
23
+ const base = builtinThemes[baseName];
24
+ return {
25
+ name: baseName,
26
+ skin: theme.skin
27
+ ? {
28
+ tokens: {
29
+ ...(base.skin?.tokens ?? {}),
30
+ ...(theme.skin.tokens ?? {}),
31
+ },
32
+ }
33
+ : base.skin,
34
+ config: {
35
+ sidebar: {
36
+ ...base.config?.sidebar,
37
+ ...theme.config?.sidebar,
38
+ },
39
+ },
40
+ };
41
+ }
42
+ return theme;
43
+ }
44
+ export { defaultTheme, minimalTheme };
@@ -0,0 +1,2 @@
1
+ import type { FlowDropTheme } from "../types/theme.js";
2
+ export declare const minimalTheme: FlowDropTheme;
@@ -0,0 +1,11 @@
1
+ import { slateSkin } from "../skins/slate.js";
2
+ export const minimalTheme = {
3
+ name: "minimal",
4
+ skin: slateSkin,
5
+ config: {
6
+ sidebar: {
7
+ defaultOpen: true,
8
+ categoriesDefaultOpen: true,
9
+ },
10
+ },
11
+ };
@@ -8,11 +8,11 @@
8
8
  * @see https://oracle.github.io/agent-spec/
9
9
  */
10
10
  /** Agent Spec node component_type discriminator values */
11
- export type AgentSpecNodeComponentType = 'start_node' | 'end_node' | 'llm_node' | 'api_node' | 'agent_node' | 'flow_node' | 'map_node' | 'branching_node' | 'tool_node';
11
+ export type AgentSpecNodeComponentType = "start_node" | "end_node" | "llm_node" | "api_node" | "agent_node" | "flow_node" | "map_node" | "branching_node" | "tool_node";
12
12
  /** Agent Spec tool component_type discriminator values */
13
- export type AgentSpecToolComponentType = 'server_tool' | 'client_tool' | 'remote_tool';
13
+ export type AgentSpecToolComponentType = "server_tool" | "client_tool" | "remote_tool";
14
14
  /** All Agent Spec component_type values */
15
- export type AgentSpecComponentType = 'agent' | 'flow' | AgentSpecNodeComponentType | AgentSpecToolComponentType | 'llm_config';
15
+ export type AgentSpecComponentType = "agent" | "flow" | AgentSpecNodeComponentType | AgentSpecToolComponentType | "llm_config";
16
16
  /**
17
17
  * Agent Spec Property — JSON Schema-based input/output definition.
18
18
  *
@@ -56,15 +56,15 @@ export interface AgentSpecNodeBase {
56
56
  }
57
57
  /** Graph entry point */
58
58
  export interface AgentSpecStartNode extends AgentSpecNodeBase {
59
- component_type: 'start_node';
59
+ component_type: "start_node";
60
60
  }
61
61
  /** Graph exit point */
62
62
  export interface AgentSpecEndNode extends AgentSpecNodeBase {
63
- component_type: 'end_node';
63
+ component_type: "end_node";
64
64
  }
65
65
  /** LLM text generation node */
66
66
  export interface AgentSpecLLMNode extends AgentSpecNodeBase {
67
- component_type: 'llm_node';
67
+ component_type: "llm_node";
68
68
  /** LLM configuration (inline or $component_ref string) */
69
69
  llm_config?: AgentSpecLLMConfig | string;
70
70
  /** System prompt template (supports {{variable}} syntax) */
@@ -76,7 +76,7 @@ export interface AgentSpecLLMNode extends AgentSpecNodeBase {
76
76
  }
77
77
  /** API call node */
78
78
  export interface AgentSpecAPINode extends AgentSpecNodeBase {
79
- component_type: 'api_node';
79
+ component_type: "api_node";
80
80
  /** API endpoint URL */
81
81
  endpoint?: string;
82
82
  /** HTTP method */
@@ -88,19 +88,19 @@ export interface AgentSpecAPINode extends AgentSpecNodeBase {
88
88
  }
89
89
  /** Multi-round agent conversation node */
90
90
  export interface AgentSpecAgentNode extends AgentSpecNodeBase {
91
- component_type: 'agent_node';
91
+ component_type: "agent_node";
92
92
  /** Agent reference ($component_ref or inline) */
93
93
  agent?: AgentSpecAgent | string;
94
94
  }
95
95
  /** Nested flow execution node */
96
96
  export interface AgentSpecFlowNode extends AgentSpecNodeBase {
97
- component_type: 'flow_node';
97
+ component_type: "flow_node";
98
98
  /** Flow reference ($component_ref or inline) */
99
99
  flow?: AgentSpecFlow | string;
100
100
  }
101
101
  /** Map-reduce operation node */
102
102
  export interface AgentSpecMapNode extends AgentSpecNodeBase {
103
- component_type: 'map_node';
103
+ component_type: "map_node";
104
104
  /** Input collection property name */
105
105
  input_collection?: string;
106
106
  /** Output collection property name */
@@ -110,13 +110,13 @@ export interface AgentSpecMapNode extends AgentSpecNodeBase {
110
110
  }
111
111
  /** Conditional routing node */
112
112
  export interface AgentSpecBranchingNode extends AgentSpecNodeBase {
113
- component_type: 'branching_node';
113
+ component_type: "branching_node";
114
114
  /** Branch definitions with conditions */
115
115
  branches: AgentSpecBranch[];
116
116
  }
117
117
  /** Tool execution node */
118
118
  export interface AgentSpecToolNode extends AgentSpecNodeBase {
119
- component_type: 'tool_node';
119
+ component_type: "tool_node";
120
120
  /** Tool reference ($component_ref or inline) */
121
121
  tool?: AgentSpecTool | string;
122
122
  }
@@ -171,7 +171,7 @@ export interface AgentSpecDataFlowEdge {
171
171
  * They separate control-flow (execution order) from data-flow (data routing).
172
172
  */
173
173
  export interface AgentSpecFlow {
174
- component_type: 'flow';
174
+ component_type: "flow";
175
175
  /** Flow name */
176
176
  name: string;
177
177
  /** Human-readable description */
@@ -207,17 +207,17 @@ export interface AgentSpecToolBase {
207
207
  }
208
208
  /** Tool executed in the same runtime environment */
209
209
  export interface AgentSpecServerTool extends AgentSpecToolBase {
210
- component_type: 'server_tool';
210
+ component_type: "server_tool";
211
211
  /** Function name or module path */
212
212
  function_name?: string;
213
213
  }
214
214
  /** Tool executed by the client, results returned to runtime */
215
215
  export interface AgentSpecClientTool extends AgentSpecToolBase {
216
- component_type: 'client_tool';
216
+ component_type: "client_tool";
217
217
  }
218
218
  /** Tool triggered via RPC/REST calls */
219
219
  export interface AgentSpecRemoteTool extends AgentSpecToolBase {
220
- component_type: 'remote_tool';
220
+ component_type: "remote_tool";
221
221
  /** Remote endpoint URL */
222
222
  endpoint?: string;
223
223
  /** HTTP method */
@@ -229,7 +229,7 @@ export interface AgentSpecRemoteTool extends AgentSpecToolBase {
229
229
  export type AgentSpecTool = AgentSpecServerTool | AgentSpecClientTool | AgentSpecRemoteTool;
230
230
  /** LLM model configuration */
231
231
  export interface AgentSpecLLMConfig {
232
- component_type: 'llm_config';
232
+ component_type: "llm_config";
233
233
  /** Configuration name */
234
234
  name: string;
235
235
  /** Model identifier (e.g., "gpt-4o", "claude-sonnet-4-5-20250929") */
@@ -250,7 +250,7 @@ export interface AgentSpecLLMConfig {
250
250
  * tools, memory, and LLM configuration.
251
251
  */
252
252
  export interface AgentSpecAgent {
253
- component_type: 'agent';
253
+ component_type: "agent";
254
254
  /** Agent name */
255
255
  name: string;
256
256
  /** Human-readable description */
@@ -11,7 +11,7 @@
11
11
  // Component Reference
12
12
  // ============================================================================
13
13
  /** Prefix for component references in Agent Spec */
14
- export const COMPONENT_REF_PREFIX = '$component_ref:';
14
+ export const COMPONENT_REF_PREFIX = "$component_ref:";
15
15
  /**
16
16
  * Check if a value is a component reference string.
17
17
  *
@@ -22,7 +22,7 @@ export const COMPONENT_REF_PREFIX = '$component_ref:';
22
22
  * ```
23
23
  */
24
24
  export function isComponentRef(value) {
25
- return typeof value === 'string' && value.startsWith(COMPONENT_REF_PREFIX);
25
+ return typeof value === "string" && value.startsWith(COMPONENT_REF_PREFIX);
26
26
  }
27
27
  /**
28
28
  * Extract the component ID from a component reference string.
@@ -63,7 +63,7 @@ export interface AuthProvider {
63
63
  */
64
64
  export interface StaticAuthConfig {
65
65
  /** Authentication type */
66
- type: 'none' | 'bearer' | 'api_key' | 'custom';
66
+ type: "none" | "bearer" | "api_key" | "custom";
67
67
  /** Bearer token (used when type is "bearer") */
68
68
  token?: string;
69
69
  /** API key (used when type is "api_key") */
@@ -48,22 +48,22 @@ export class StaticAuthProvider {
48
48
  constructor(config) {
49
49
  this.headers = {};
50
50
  switch (config.type) {
51
- case 'bearer':
51
+ case "bearer":
52
52
  if (config.token) {
53
- this.headers['Authorization'] = `Bearer ${config.token}`;
53
+ this.headers["Authorization"] = `Bearer ${config.token}`;
54
54
  }
55
55
  break;
56
- case 'api_key':
56
+ case "api_key":
57
57
  if (config.apiKey) {
58
- this.headers['X-API-Key'] = config.apiKey;
58
+ this.headers["X-API-Key"] = config.apiKey;
59
59
  }
60
60
  break;
61
- case 'custom':
61
+ case "custom":
62
62
  if (config.headers) {
63
63
  this.headers = { ...config.headers };
64
64
  }
65
65
  break;
66
- case 'none':
66
+ case "none":
67
67
  default:
68
68
  // No headers needed
69
69
  break;
@@ -4,13 +4,13 @@
4
4
  * This module contains configuration-specific types for the workflow editor.
5
5
  * For core workflow types (WorkflowNode, WorkflowEdge, etc.), see ./index.ts
6
6
  */
7
- import type { EndpointConfig } from '../config/endpoints.js';
8
- import type { PortConfig, NodeMetadata } from './index.js';
7
+ import type { EndpointConfig } from "../config/endpoints.js";
8
+ import type { PortConfig, NodeMetadata } from "./index.js";
9
9
  /**
10
10
  * Re-export core types from index.ts for convenience
11
11
  * This allows consumers to import from either location
12
12
  */
13
- export type { WorkflowNode, WorkflowEdge, NodePort, ExecutionResult, NodeMetadata } from './index.js';
13
+ export type { WorkflowNode, WorkflowEdge, NodePort, ExecutionResult, NodeMetadata, } from "./index.js";
14
14
  export interface WorkflowEditorConfig {
15
15
  /** API configuration with endpoints */
16
16
  api: APIConfig;
@@ -19,7 +19,7 @@ export interface WorkflowEditorConfig {
19
19
  /** Port configuration system */
20
20
  ports: PortConfig;
21
21
  /** Theme configuration */
22
- theme: 'light' | 'dark' | 'auto';
22
+ theme: "light" | "dark" | "auto";
23
23
  /** Editor features configuration */
24
24
  features: EditorFeatures;
25
25
  /** UI customization options */
@@ -108,7 +108,7 @@ export interface APIConfig {
108
108
  };
109
109
  /** Authentication configuration */
110
110
  auth: {
111
- type: 'none' | 'bearer' | 'api_key' | 'custom';
111
+ type: "none" | "bearer" | "api_key" | "custom";
112
112
  token?: string;
113
113
  apiKey?: string;
114
114
  headers?: Record<string, string>;
@@ -135,7 +135,7 @@ export interface ExecutionConfig {
135
135
  }
136
136
  export interface StorageConfig {
137
137
  /** Storage type */
138
- type: 'api' | 'local' | 'session' | 'custom';
138
+ type: "api" | "local" | "session" | "custom";
139
139
  /** Auto-save interval in milliseconds */
140
140
  autoSaveInterval: number;
141
141
  /** Maximum undo steps */
@@ -6,13 +6,13 @@
6
6
  *
7
7
  * @module types/events
8
8
  */
9
- import type { Workflow, NodeExecutionInfo } from './index.js';
9
+ import type { Workflow, NodeExecutionInfo } from "./index.js";
10
10
  /**
11
11
  * Types of workflow changes
12
12
  *
13
13
  * Used to identify what kind of change triggered the onWorkflowChange event.
14
14
  */
15
- export type WorkflowChangeType = 'node_add' | 'node_remove' | 'node_move' | 'node_config' | 'edge_add' | 'edge_remove' | 'metadata' | 'name' | 'description';
15
+ export type WorkflowChangeType = "node_add" | "node_remove" | "node_move" | "node_config" | "edge_add" | "edge_remove" | "metadata" | "name" | "description";
16
16
  /**
17
17
  * High-level event handlers for enterprise integration
18
18
  *
@@ -14,7 +14,7 @@
14
14
  export const DEFAULT_FEATURES = {
15
15
  autoSaveDraft: true,
16
16
  autoSaveDraftInterval: 30000,
17
- showToasts: true
17
+ showToasts: true,
18
18
  };
19
19
  /**
20
20
  * Merge user-provided features with defaults
@@ -25,6 +25,6 @@ export const DEFAULT_FEATURES = {
25
25
  export function mergeFeatures(features) {
26
26
  return {
27
27
  ...DEFAULT_FEATURES,
28
- ...features
28
+ ...features,
29
29
  };
30
30
  }