@flowdrop/flowdrop 1.0.1 → 1.2.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 (385) 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 +1090 -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 +52 -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 +179 -143
  36. package/dist/components/FlowDropEdge.svelte +147 -147
  37. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  38. package/dist/components/FlowDropZone.svelte +63 -60
  39. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  40. package/dist/components/LoadingSpinner.stories.svelte +19 -19
  41. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  42. package/dist/components/LoadingSpinner.svelte +21 -21
  43. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  44. package/dist/components/Logo.stories.svelte +13 -13
  45. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  46. package/dist/components/Logo.svelte +101 -95
  47. package/dist/components/LogsSidebar.svelte +553 -546
  48. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  49. package/dist/components/MarkdownDisplay.stories.svelte +29 -23
  50. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  51. package/dist/components/MarkdownDisplay.svelte +16 -14
  52. package/dist/components/Navbar.stories.svelte +43 -38
  53. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  54. package/dist/components/Navbar.svelte +760 -706
  55. package/dist/components/Navbar.svelte.d.ts +1 -1
  56. package/dist/components/NodeSidebar.svelte +905 -746
  57. package/dist/components/NodeSidebar.svelte.d.ts +5 -1
  58. package/dist/components/NodeStatusOverlay.stories.svelte +82 -70
  59. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  60. package/dist/components/NodeStatusOverlay.svelte +295 -280
  61. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  62. package/dist/components/PipelineStatus.svelte +326 -300
  63. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  64. package/dist/components/PortCoordinateTracker.svelte +49 -47
  65. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  66. package/dist/components/ReadOnlyDetails.svelte +156 -156
  67. package/dist/components/SchemaForm.stories.svelte +106 -98
  68. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  69. package/dist/components/SchemaForm.svelte +490 -463
  70. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  71. package/dist/components/SettingsModal.svelte +226 -223
  72. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  73. package/dist/components/SettingsPanel.svelte +637 -601
  74. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  75. package/dist/components/StatusIcon.stories.svelte +62 -49
  76. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  77. package/dist/components/StatusIcon.svelte +87 -87
  78. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  79. package/dist/components/StatusLabel.stories.svelte +12 -12
  80. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  81. package/dist/components/StatusLabel.svelte +19 -19
  82. package/dist/components/ThemeToggle.stories.svelte +16 -16
  83. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  84. package/dist/components/ThemeToggle.svelte +180 -169
  85. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  86. package/dist/components/UniversalNode.svelte +150 -138
  87. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  88. package/dist/components/WorkflowEditor.svelte +1069 -1014
  89. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  90. package/dist/components/form/FormArray.svelte +1034 -973
  91. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  92. package/dist/components/form/FormAutocomplete.svelte +1021 -978
  93. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  94. package/dist/components/form/FormCheckboxGroup.stories.svelte +23 -20
  95. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  96. package/dist/components/form/FormCheckboxGroup.svelte +136 -136
  97. package/dist/components/form/FormCodeEditor.svelte +452 -434
  98. package/dist/components/form/FormField.svelte +366 -355
  99. package/dist/components/form/FormField.svelte.d.ts +2 -2
  100. package/dist/components/form/FormFieldLight.svelte +400 -384
  101. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  102. package/dist/components/form/FormFieldWrapper.stories.svelte +42 -42
  103. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  104. package/dist/components/form/FormFieldWrapper.svelte +100 -93
  105. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  106. package/dist/components/form/FormFieldset.svelte +108 -108
  107. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  108. package/dist/components/form/FormMarkdownEditor.svelte +758 -725
  109. package/dist/components/form/FormNumberField.stories.svelte +25 -25
  110. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  111. package/dist/components/form/FormNumberField.svelte +88 -88
  112. package/dist/components/form/FormRangeField.stories.svelte +20 -20
  113. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  114. package/dist/components/form/FormRangeField.svelte +234 -226
  115. package/dist/components/form/FormSelect.stories.svelte +38 -38
  116. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  117. package/dist/components/form/FormSelect.svelte +101 -101
  118. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  119. package/dist/components/form/FormTemplateEditor.svelte +847 -798
  120. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  121. package/dist/components/form/FormTextField.stories.svelte +29 -23
  122. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  123. package/dist/components/form/FormTextField.svelte +68 -68
  124. package/dist/components/form/FormTextarea.stories.svelte +28 -25
  125. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  126. package/dist/components/form/FormTextarea.svelte +74 -74
  127. package/dist/components/form/FormToggle.stories.svelte +23 -20
  128. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  129. package/dist/components/form/FormToggle.svelte +98 -98
  130. package/dist/components/form/FormUISchemaRenderer.svelte +120 -113
  131. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  132. package/dist/components/form/index.d.ts +19 -19
  133. package/dist/components/form/index.js +18 -18
  134. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  135. package/dist/components/form/templateAutocomplete.js +64 -55
  136. package/dist/components/form/types.d.ts +6 -6
  137. package/dist/components/form/types.js +9 -4
  138. package/dist/components/icons/AlertCircleIcon.svelte +11 -0
  139. package/dist/components/icons/AlertCircleIcon.svelte.d.ts +26 -0
  140. package/dist/components/icons/CogIcon.svelte +11 -0
  141. package/dist/components/icons/CogIcon.svelte.d.ts +26 -0
  142. package/dist/components/interrupt/ChoicePrompt.stories.svelte +54 -38
  143. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  144. package/dist/components/interrupt/ChoicePrompt.svelte +407 -383
  145. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  146. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +48 -48
  147. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  148. package/dist/components/interrupt/ConfirmationPrompt.svelte +280 -274
  149. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  150. package/dist/components/interrupt/FormPrompt.svelte +223 -218
  151. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  152. package/dist/components/interrupt/InterruptBubble.svelte +617 -583
  153. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  154. package/dist/components/interrupt/ReviewPrompt.stories.svelte +66 -56
  155. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  156. package/dist/components/interrupt/ReviewPrompt.svelte +861 -841
  157. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  158. package/dist/components/interrupt/TextInputPrompt.stories.svelte +38 -33
  159. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  160. package/dist/components/interrupt/TextInputPrompt.svelte +333 -328
  161. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  162. package/dist/components/interrupt/index.d.ts +5 -5
  163. package/dist/components/interrupt/index.js +5 -5
  164. package/dist/components/layouts/MainLayout.svelte +724 -691
  165. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  166. package/dist/components/nodes/GatewayNode.stories.svelte +100 -99
  167. package/dist/components/nodes/GatewayNode.svelte +605 -571
  168. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  169. package/dist/components/nodes/IdeaNode.stories.svelte +44 -43
  170. package/dist/components/nodes/IdeaNode.svelte +451 -437
  171. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  172. package/dist/components/nodes/NotesNode.stories.svelte +65 -64
  173. package/dist/components/nodes/NotesNode.svelte +380 -369
  174. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  175. package/dist/components/nodes/SimpleNode.stories.svelte +145 -144
  176. package/dist/components/nodes/SimpleNode.svelte +486 -424
  177. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  178. package/dist/components/nodes/SquareNode.stories.svelte +73 -73
  179. package/dist/components/nodes/SquareNode.svelte +439 -380
  180. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  181. package/dist/components/nodes/TerminalNode.stories.svelte +13 -13
  182. package/dist/components/nodes/TerminalNode.svelte +709 -670
  183. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  184. package/dist/components/nodes/ToolNode.stories.svelte +181 -180
  185. package/dist/components/nodes/ToolNode.svelte +505 -447
  186. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  187. package/dist/components/nodes/WorkflowNode.stories.svelte +70 -46
  188. package/dist/components/nodes/WorkflowNode.svelte +621 -551
  189. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  190. package/dist/components/playground/ChatPanel.svelte +945 -889
  191. package/dist/components/playground/ExecutionLogs.svelte +495 -472
  192. package/dist/components/playground/InputCollector.svelte +449 -428
  193. package/dist/components/playground/MessageBubble.stories.svelte +47 -47
  194. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  195. package/dist/components/playground/MessageBubble.svelte +626 -610
  196. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  197. package/dist/components/playground/Playground.svelte +1088 -1057
  198. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  199. package/dist/components/playground/PlaygroundModal.svelte +208 -204
  200. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  201. package/dist/components/playground/SessionManager.svelte +527 -521
  202. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  203. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  204. package/dist/config/agentSpecEndpoints.js +20 -20
  205. package/dist/config/constants.js +2 -2
  206. package/dist/config/defaultCategories.d.ts +1 -1
  207. package/dist/config/defaultCategories.js +86 -86
  208. package/dist/config/defaultPortConfig.d.ts +1 -1
  209. package/dist/config/defaultPortConfig.js +144 -144
  210. package/dist/config/endpoints.d.ts +4 -4
  211. package/dist/config/endpoints.js +65 -65
  212. package/dist/config/runtimeConfig.d.ts +2 -2
  213. package/dist/config/runtimeConfig.js +8 -8
  214. package/dist/core/index.d.ts +63 -59
  215. package/dist/core/index.js +35 -33
  216. package/dist/display/index.d.ts +2 -2
  217. package/dist/display/index.js +2 -2
  218. package/dist/editor/index.d.ts +62 -62
  219. package/dist/editor/index.js +53 -53
  220. package/dist/form/code.d.ts +5 -5
  221. package/dist/form/code.js +14 -14
  222. package/dist/form/fieldRegistry.d.ts +3 -3
  223. package/dist/form/fieldRegistry.js +11 -9
  224. package/dist/form/full.d.ts +8 -8
  225. package/dist/form/full.js +9 -9
  226. package/dist/form/index.d.ts +18 -18
  227. package/dist/form/index.js +16 -16
  228. package/dist/form/markdown.d.ts +4 -4
  229. package/dist/form/markdown.js +8 -8
  230. package/dist/helpers/proximityConnect.d.ts +3 -3
  231. package/dist/helpers/proximityConnect.js +34 -32
  232. package/dist/helpers/workflowEditorHelper.d.ts +5 -5
  233. package/dist/helpers/workflowEditorHelper.js +108 -96
  234. package/dist/index.d.ts +6 -6
  235. package/dist/index.js +6 -6
  236. package/dist/mocks/app-environment.js +2 -2
  237. package/dist/mocks/app-forms.js +9 -9
  238. package/dist/mocks/app-navigation.js +11 -11
  239. package/dist/mocks/app-stores.js +8 -8
  240. package/dist/playground/index.d.ts +19 -19
  241. package/dist/playground/index.js +16 -16
  242. package/dist/playground/mount.d.ts +3 -3
  243. package/dist/playground/mount.js +24 -24
  244. package/dist/registry/builtinFormats.js +13 -13
  245. package/dist/registry/builtinNodes.d.ts +2 -2
  246. package/dist/registry/builtinNodes.js +77 -77
  247. package/dist/registry/index.d.ts +4 -4
  248. package/dist/registry/index.js +4 -4
  249. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  250. package/dist/registry/nodeComponentRegistry.js +11 -9
  251. package/dist/registry/plugin.d.ts +2 -2
  252. package/dist/registry/plugin.js +11 -11
  253. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  254. package/dist/registry/workflowFormatRegistry.js +2 -2
  255. package/dist/schema/index.d.ts +1 -1
  256. package/dist/schema/index.js +2 -2
  257. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  258. package/dist/services/agentSpecExecutionService.js +59 -55
  259. package/dist/services/api.d.ts +2 -2
  260. package/dist/services/api.js +37 -37
  261. package/dist/services/apiVariableService.d.ts +1 -1
  262. package/dist/services/apiVariableService.js +41 -34
  263. package/dist/services/autoSaveService.js +8 -8
  264. package/dist/services/categoriesApi.d.ts +2 -2
  265. package/dist/services/categoriesApi.js +8 -8
  266. package/dist/services/draftStorage.d.ts +1 -1
  267. package/dist/services/draftStorage.js +11 -11
  268. package/dist/services/dynamicSchemaService.d.ts +1 -1
  269. package/dist/services/dynamicSchemaService.js +41 -39
  270. package/dist/services/globalSave.d.ts +2 -2
  271. package/dist/services/globalSave.js +41 -38
  272. package/dist/services/historyService.d.ts +1 -1
  273. package/dist/services/historyService.js +8 -8
  274. package/dist/services/interruptService.d.ts +1 -1
  275. package/dist/services/interruptService.js +35 -29
  276. package/dist/services/nodeExecutionService.d.ts +1 -1
  277. package/dist/services/nodeExecutionService.js +45 -44
  278. package/dist/services/playgroundService.d.ts +1 -1
  279. package/dist/services/playgroundService.js +29 -29
  280. package/dist/services/portConfigApi.d.ts +2 -2
  281. package/dist/services/portConfigApi.js +8 -8
  282. package/dist/services/settingsService.d.ts +2 -2
  283. package/dist/services/settingsService.js +25 -19
  284. package/dist/services/toastService.d.ts +4 -4
  285. package/dist/services/toastService.js +33 -33
  286. package/dist/services/variableService.d.ts +1 -1
  287. package/dist/services/variableService.js +36 -36
  288. package/dist/services/workflowStorage.d.ts +2 -2
  289. package/dist/services/workflowStorage.js +13 -13
  290. package/dist/settings/index.d.ts +7 -7
  291. package/dist/settings/index.js +6 -6
  292. package/dist/skins/default.d.ts +2 -0
  293. package/dist/skins/default.js +1 -0
  294. package/dist/skins/index.d.ts +13 -0
  295. package/dist/skins/index.js +30 -0
  296. package/dist/skins/slate.d.ts +2 -0
  297. package/dist/skins/slate.js +78 -0
  298. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  299. package/dist/stores/categoriesStore.svelte.js +5 -5
  300. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  301. package/dist/stores/editorStateMachine.svelte.js +65 -33
  302. package/dist/stores/historyStore.svelte.d.ts +4 -4
  303. package/dist/stores/historyStore.svelte.js +4 -4
  304. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  305. package/dist/stores/interruptStore.svelte.js +21 -21
  306. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  307. package/dist/stores/playgroundStore.svelte.js +25 -18
  308. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  309. package/dist/stores/portCoordinateStore.svelte.js +15 -8
  310. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  311. package/dist/stores/settingsStore.svelte.js +62 -57
  312. package/dist/stores/workflowStore.svelte.d.ts +3 -3
  313. package/dist/stores/workflowStore.svelte.js +50 -47
  314. package/dist/stories/CanvasDecorator.svelte +35 -32
  315. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  316. package/dist/stories/EdgeDecorator.svelte +102 -99
  317. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  318. package/dist/stories/NodeDecorator.svelte +59 -53
  319. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  320. package/dist/stories/utils.d.ts +2 -2
  321. package/dist/stories/utils.js +105 -67
  322. package/dist/styles/base.css +599 -595
  323. package/dist/styles/toast.css +14 -14
  324. package/dist/styles/tokens.css +409 -378
  325. package/dist/svelte-app.d.ts +12 -9
  326. package/dist/svelte-app.js +40 -39
  327. package/dist/themes/default.d.ts +2 -0
  328. package/dist/themes/default.js +9 -0
  329. package/dist/themes/index.d.ts +13 -0
  330. package/dist/themes/index.js +44 -0
  331. package/dist/themes/minimal.d.ts +2 -0
  332. package/dist/themes/minimal.js +11 -0
  333. package/dist/types/agentspec.d.ts +18 -18
  334. package/dist/types/agentspec.js +2 -2
  335. package/dist/types/auth.d.ts +1 -1
  336. package/dist/types/auth.js +6 -6
  337. package/dist/types/config.d.ts +6 -6
  338. package/dist/types/events.d.ts +2 -2
  339. package/dist/types/events.js +2 -2
  340. package/dist/types/index.d.ts +32 -32
  341. package/dist/types/index.js +6 -6
  342. package/dist/types/interrupt.d.ts +6 -6
  343. package/dist/types/interrupt.js +21 -21
  344. package/dist/types/interruptState.d.ts +12 -12
  345. package/dist/types/interruptState.js +66 -66
  346. package/dist/types/playground.d.ts +7 -7
  347. package/dist/types/playground.js +14 -14
  348. package/dist/types/settings.d.ts +5 -3
  349. package/dist/types/settings.js +25 -18
  350. package/dist/types/skin.d.ts +31 -0
  351. package/dist/types/skin.js +1 -0
  352. package/dist/types/theme.d.ts +35 -0
  353. package/dist/types/theme.js +1 -0
  354. package/dist/types/uischema.d.ts +4 -4
  355. package/dist/types/uischema.js +3 -3
  356. package/dist/utils/colors.d.ts +1 -1
  357. package/dist/utils/colors.js +97 -95
  358. package/dist/utils/config.d.ts +2 -2
  359. package/dist/utils/config.js +48 -48
  360. package/dist/utils/connections.d.ts +2 -2
  361. package/dist/utils/connections.js +15 -15
  362. package/dist/utils/errors.js +3 -3
  363. package/dist/utils/fetchWithAuth.d.ts +1 -1
  364. package/dist/utils/fetchWithAuth.js +2 -2
  365. package/dist/utils/handleIds.d.ts +2 -2
  366. package/dist/utils/handleIds.js +8 -8
  367. package/dist/utils/handlePositioning.d.ts +1 -1
  368. package/dist/utils/handlePositioning.js +2 -2
  369. package/dist/utils/icons.d.ts +1 -1
  370. package/dist/utils/icons.js +74 -74
  371. package/dist/utils/logger.d.ts +1 -1
  372. package/dist/utils/logger.js +7 -7
  373. package/dist/utils/nodeStatus.d.ts +1 -1
  374. package/dist/utils/nodeStatus.js +48 -48
  375. package/dist/utils/nodeTypes.d.ts +1 -1
  376. package/dist/utils/nodeTypes.js +21 -20
  377. package/dist/utils/nodeWrapper.d.ts +7 -7
  378. package/dist/utils/nodeWrapper.js +21 -19
  379. package/dist/utils/performanceUtils.d.ts +1 -1
  380. package/dist/utils/performanceUtils.js +2 -1
  381. package/dist/utils/sanitize.js +1 -1
  382. package/dist/utils/uischema.d.ts +2 -2
  383. package/dist/utils/uischema.js +8 -8
  384. package/dist/utils/validation.js +20 -8
  385. package/package.json +1 -1
@@ -6,13 +6,14 @@
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 { FlowDropTheme, FlowDropThemeName } from "./types/theme.js";
14
+ import type { WorkflowFormatAdapter } from "./registry/workflowFormatRegistry.js";
15
+ import "./registry/builtinFormats.js";
16
+ import type { PartialSettings } from "./types/settings.js";
16
17
  /**
17
18
  * Navbar action configuration
18
19
  */
@@ -20,7 +21,7 @@ export interface NavbarAction {
20
21
  label: string;
21
22
  href: string;
22
23
  icon?: string;
23
- variant?: 'primary' | 'secondary' | 'outline';
24
+ variant?: "primary" | "secondary" | "outline";
24
25
  onclick?: (event: Event) => void;
25
26
  }
26
27
  /**
@@ -52,7 +53,7 @@ export interface FlowDropMountOptions {
52
53
  /** Pipeline ID for status display */
53
54
  pipelineId?: string;
54
55
  /** Node execution statuses */
55
- nodeStatuses?: Record<string, 'pending' | 'running' | 'completed' | 'error'>;
56
+ nodeStatuses?: Record<string, "pending" | "running" | "completed" | "error">;
56
57
  /** Custom navbar title */
57
58
  navbarTitle?: string;
58
59
  /** Custom navbar actions */
@@ -71,6 +72,8 @@ export interface FlowDropMountOptions {
71
72
  draftStorageKey?: string;
72
73
  /** Custom workflow format adapters to register */
73
74
  formatAdapters?: WorkflowFormatAdapter[];
75
+ /** Visual theme — named built-in ('default' | 'minimal') or custom theme object */
76
+ theme?: FlowDropTheme | FlowDropThemeName;
74
77
  }
75
78
  /**
76
79
  * Return type for mounted FlowDrop app
@@ -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, theme, } = 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,9 @@ export async function mountFlowDropApp(container, options = {}) {
135
135
  endpointConfig: config,
136
136
  authProvider,
137
137
  eventHandlers,
138
- features
139
- }
138
+ features,
139
+ theme,
140
+ },
140
141
  });
141
142
  // Set up draft auto-save manager
142
143
  let draftManager = null;
@@ -147,7 +148,7 @@ export async function mountFlowDropApp(container, options = {}) {
147
148
  interval: features.autoSaveDraftInterval,
148
149
  enabled: features.autoSaveDraft,
149
150
  getWorkflow: getWorkflowFromStore,
150
- isDirty
151
+ isDirty,
151
152
  });
152
153
  draftManager.start();
153
154
  }
@@ -155,7 +156,7 @@ export async function mountFlowDropApp(container, options = {}) {
155
156
  const state = {
156
157
  svelteApp,
157
158
  draftManager,
158
- eventHandlers: eventHandlers ?? null
159
+ eventHandlers: eventHandlers ?? null,
159
160
  };
160
161
  // Create the mounted app interface
161
162
  const mountedApp = {
@@ -195,7 +196,7 @@ export async function mountFlowDropApp(container, options = {}) {
195
196
  },
196
197
  export: () => {
197
198
  globalExportWorkflow();
198
- }
199
+ },
199
200
  };
200
201
  return mountedApp;
201
202
  }
@@ -214,19 +215,19 @@ export async function mountWorkflowEditor(container, options = {}) {
214
215
  let config;
215
216
  if (endpointConfig) {
216
217
  // Merge with default configuration to ensure all required endpoints are present
217
- const { defaultEndpointConfig } = await import('./config/endpoints.js');
218
+ const { defaultEndpointConfig } = await import("./config/endpoints.js");
218
219
  config = {
219
220
  ...defaultEndpointConfig,
220
221
  ...endpointConfig,
221
222
  endpoints: {
222
223
  ...defaultEndpointConfig.endpoints,
223
- ...endpointConfig.endpoints
224
- }
224
+ ...endpointConfig.endpoints,
225
+ },
225
226
  };
226
227
  }
227
228
  else {
228
229
  // Use default configuration if none provided
229
- const { defaultEndpointConfig } = await import('./config/endpoints.js');
230
+ const { defaultEndpointConfig } = await import("./config/endpoints.js");
230
231
  config = defaultEndpointConfig;
231
232
  }
232
233
  // Initialize port configuration
@@ -237,7 +238,7 @@ export async function mountWorkflowEditor(container, options = {}) {
237
238
  finalPortConfig = await fetchPortConfig(config);
238
239
  }
239
240
  catch (error) {
240
- logger.warn('Failed to fetch port config from API, using default:', error);
241
+ logger.warn("Failed to fetch port config from API, using default:", error);
241
242
  finalPortConfig = DEFAULT_PORT_CONFIG;
242
243
  }
243
244
  }
@@ -255,7 +256,7 @@ export async function mountWorkflowEditor(container, options = {}) {
255
256
  initializeCategories(fetchedCategories);
256
257
  }
257
258
  catch (error) {
258
- logger.warn('Failed to fetch categories from API, using defaults:', error);
259
+ logger.warn("Failed to fetch categories from API, using defaults:", error);
259
260
  }
260
261
  }
261
262
  // Create the Svelte component
@@ -263,8 +264,8 @@ export async function mountWorkflowEditor(container, options = {}) {
263
264
  target: container,
264
265
  props: {
265
266
  nodes,
266
- endpointConfig: config
267
- }
267
+ endpointConfig: config,
268
+ },
268
269
  });
269
270
  // Create the mounted app interface (simpler version)
270
271
  const mountedApp = {
@@ -279,7 +280,7 @@ export async function mountWorkflowEditor(container, options = {}) {
279
280
  },
280
281
  export: () => {
281
282
  globalExportWorkflow();
282
- }
283
+ },
283
284
  };
284
285
  return mountedApp;
285
286
  }
@@ -289,7 +290,7 @@ export async function mountWorkflowEditor(container, options = {}) {
289
290
  * @param app - The mounted app to unmount
290
291
  */
291
292
  export function unmountFlowDropApp(app) {
292
- if (app && typeof app.destroy === 'function') {
293
+ if (app && typeof app.destroy === "function") {
293
294
  app.destroy();
294
295
  }
295
296
  }
@@ -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
  }