@flowdrop/flowdrop 1.5.0 → 1.7.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 (435) hide show
  1. package/README.md +46 -47
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +26 -26
  4. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
  5. package/dist/adapters/agentspec/AgentSpecAdapter.js +122 -133
  6. package/dist/adapters/agentspec/agentAdapter.d.ts +2 -2
  7. package/dist/adapters/agentspec/agentAdapter.js +10 -10
  8. package/dist/adapters/agentspec/autoLayout.d.ts +1 -1
  9. package/dist/adapters/agentspec/autoLayout.js +7 -9
  10. package/dist/adapters/agentspec/componentTypeDefaults.d.ts +1 -1
  11. package/dist/adapters/agentspec/componentTypeDefaults.js +120 -120
  12. package/dist/adapters/agentspec/defaultNodeTypes.d.ts +2 -2
  13. package/dist/adapters/agentspec/defaultNodeTypes.js +307 -307
  14. package/dist/adapters/agentspec/index.d.ts +10 -10
  15. package/dist/adapters/agentspec/index.js +6 -6
  16. package/dist/adapters/agentspec/validator.d.ts +2 -2
  17. package/dist/adapters/agentspec/validator.js +20 -22
  18. package/dist/api/enhanced-client.d.ts +3 -3
  19. package/dist/api/enhanced-client.js +72 -73
  20. package/dist/chat/commandClassifier.js +6 -6
  21. package/dist/chat/index.d.ts +5 -5
  22. package/dist/chat/index.js +4 -4
  23. package/dist/chat/responseParser.d.ts +6 -6
  24. package/dist/chat/responseParser.js +28 -24
  25. package/dist/commands/batch.d.ts +1 -1
  26. package/dist/commands/batch.js +5 -7
  27. package/dist/commands/executor.d.ts +2 -2
  28. package/dist/commands/executor.js +320 -231
  29. package/dist/commands/index.d.ts +6 -6
  30. package/dist/commands/index.js +5 -5
  31. package/dist/commands/parser.d.ts +1 -1
  32. package/dist/commands/parser.js +91 -74
  33. package/dist/commands/positioner.d.ts +2 -2
  34. package/dist/commands/positioner.js +1 -1
  35. package/dist/commands/storeIntegration.svelte.d.ts +2 -2
  36. package/dist/commands/storeIntegration.svelte.js +5 -5
  37. package/dist/commands/types.d.ts +42 -42
  38. package/dist/commands/types.js +2 -2
  39. package/dist/components/App.svelte +280 -303
  40. package/dist/components/App.svelte.d.ts +11 -9
  41. package/dist/components/CanvasBanner.stories.svelte +10 -16
  42. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  43. package/dist/components/CanvasBanner.svelte +2 -2
  44. package/dist/components/CanvasBanner.svelte.d.ts +1 -1
  45. package/dist/components/CanvasController.svelte +3 -4
  46. package/dist/components/ConfigForm.svelte +118 -256
  47. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  48. package/dist/components/ConfigMappingRow.svelte +7 -9
  49. package/dist/components/ConfigMappingRow.svelte.d.ts +1 -1
  50. package/dist/components/ConfigModal.svelte +3 -3
  51. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  52. package/dist/components/ConfigPanel.stories.svelte +19 -19
  53. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  54. package/dist/components/ConfigPanel.svelte +9 -20
  55. package/dist/components/ConfigPanel.svelte.d.ts +1 -1
  56. package/dist/components/ConnectionLine.svelte +4 -4
  57. package/dist/components/EdgeRefresher.svelte +1 -1
  58. package/dist/components/FlowDropEdge.stories.svelte +110 -110
  59. package/dist/components/FlowDropEdge.svelte +9 -9
  60. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  61. package/dist/components/FlowDropZone.svelte +6 -9
  62. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  63. package/dist/components/LoadingSpinner.stories.svelte +13 -13
  64. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  65. package/dist/components/LoadingSpinner.svelte +3 -3
  66. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  67. package/dist/components/Logo.stories.svelte +4 -4
  68. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  69. package/dist/components/Logo.svelte +3 -9
  70. package/dist/components/LogsSidebar.svelte +41 -48
  71. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  72. package/dist/components/MarkdownDisplay.stories.svelte +10 -14
  73. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  74. package/dist/components/MarkdownDisplay.svelte +4 -6
  75. package/dist/components/Navbar.stories.svelte +19 -19
  76. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  77. package/dist/components/Navbar.svelte +28 -49
  78. package/dist/components/Navbar.svelte.d.ts +2 -2
  79. package/dist/components/NodeSidebar.svelte +42 -88
  80. package/dist/components/NodeSidebar.svelte.d.ts +1 -1
  81. package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
  82. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  83. package/dist/components/NodeStatusOverlay.svelte +40 -55
  84. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  85. package/dist/components/NodeSwapPicker.svelte +20 -64
  86. package/dist/components/NodeSwapPicker.svelte.d.ts +1 -1
  87. package/dist/components/PipelineStatus.svelte +63 -89
  88. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  89. package/dist/components/PortCoordinateTracker.svelte +5 -7
  90. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  91. package/dist/components/PortMappingRow.svelte +20 -24
  92. package/dist/components/PortMappingRow.svelte.d.ts +2 -2
  93. package/dist/components/ReadOnlyDetails.svelte +1 -1
  94. package/dist/components/SchemaForm.stories.svelte +53 -53
  95. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  96. package/dist/components/SchemaForm.svelte +24 -51
  97. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  98. package/dist/components/SettingsModal.svelte +6 -9
  99. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  100. package/dist/components/SettingsPanel.svelte +138 -158
  101. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  102. package/dist/components/StatusIcon.stories.svelte +16 -29
  103. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  104. package/dist/components/StatusIcon.svelte +19 -19
  105. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  106. package/dist/components/StatusLabel.stories.svelte +8 -8
  107. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  108. package/dist/components/SwapMappingEditor.svelte +35 -56
  109. package/dist/components/SwapMappingEditor.svelte.d.ts +2 -2
  110. package/dist/components/ThemeToggle.stories.svelte +10 -10
  111. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  112. package/dist/components/ThemeToggle.svelte +22 -33
  113. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  114. package/dist/components/UniversalNode.svelte +29 -41
  115. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  116. package/dist/components/WorkflowEditor.svelte +113 -168
  117. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  118. package/dist/components/chat/AIChatPanel.svelte +272 -133
  119. package/dist/components/chat/AIChatPanel.svelte.d.ts +3 -3
  120. package/dist/components/chat/CommandPreview.svelte +74 -24
  121. package/dist/components/chat/CommandPreview.svelte.d.ts +1 -1
  122. package/dist/components/console/CommandConsole.stories.svelte +71 -53
  123. package/dist/components/console/CommandConsole.stories.svelte.d.ts +1 -1
  124. package/dist/components/console/CommandConsole.svelte +39 -35
  125. package/dist/components/console/CommandConsole.svelte.d.ts +2 -2
  126. package/dist/components/console/ConsoleAutocomplete.svelte +6 -3
  127. package/dist/components/console/ConsoleInput.svelte +148 -89
  128. package/dist/components/console/ConsoleInput.svelte.d.ts +1 -1
  129. package/dist/components/console/ConsoleOutput.svelte +5 -10
  130. package/dist/components/console/ConsoleOutput.svelte.d.ts +1 -1
  131. package/dist/components/console/formatters.d.ts +1 -1
  132. package/dist/components/console/formatters.js +27 -29
  133. package/dist/components/form/FormArray.svelte +75 -132
  134. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  135. package/dist/components/form/FormAutocomplete.svelte +65 -108
  136. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  137. package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
  138. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  139. package/dist/components/form/FormCheckboxGroup.svelte +2 -2
  140. package/dist/components/form/FormCodeEditor.svelte +46 -59
  141. package/dist/components/form/FormField.svelte +79 -90
  142. package/dist/components/form/FormField.svelte.d.ts +2 -2
  143. package/dist/components/form/FormFieldLight.svelte +72 -88
  144. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  145. package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
  146. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  147. package/dist/components/form/FormFieldWrapper.svelte +2 -9
  148. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  149. package/dist/components/form/FormFieldset.svelte +3 -3
  150. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  151. package/dist/components/form/FormMarkdownEditor.svelte +123 -156
  152. package/dist/components/form/FormNumberField.stories.svelte +18 -18
  153. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  154. package/dist/components/form/FormNumberField.svelte +6 -6
  155. package/dist/components/form/FormRangeField.stories.svelte +13 -13
  156. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  157. package/dist/components/form/FormRangeField.svelte +4 -12
  158. package/dist/components/form/FormSelect.stories.svelte +21 -21
  159. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  160. package/dist/components/form/FormSelect.svelte +5 -5
  161. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  162. package/dist/components/form/FormTemplateEditor.svelte +126 -175
  163. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  164. package/dist/components/form/FormTextField.stories.svelte +17 -23
  165. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  166. package/dist/components/form/FormTextField.svelte +4 -4
  167. package/dist/components/form/FormTextarea.stories.svelte +18 -21
  168. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  169. package/dist/components/form/FormTextarea.svelte +4 -4
  170. package/dist/components/form/FormToggle.stories.svelte +13 -16
  171. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  172. package/dist/components/form/FormToggle.svelte +3 -3
  173. package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
  174. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  175. package/dist/components/form/index.d.ts +19 -19
  176. package/dist/components/form/index.js +18 -18
  177. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  178. package/dist/components/form/templateAutocomplete.js +55 -64
  179. package/dist/components/form/types.d.ts +6 -6
  180. package/dist/components/form/types.js +4 -9
  181. package/dist/components/icons/AlertCircleIcon.svelte +1 -6
  182. package/dist/components/icons/CogIcon.svelte +1 -6
  183. package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
  184. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  185. package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
  186. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  187. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
  188. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  189. package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
  190. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  191. package/dist/components/interrupt/FormPrompt.svelte +10 -15
  192. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  193. package/dist/components/interrupt/InterruptBubble.svelte +87 -121
  194. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  195. package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
  196. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  197. package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
  198. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  199. package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
  200. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  201. package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
  202. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  203. package/dist/components/interrupt/index.d.ts +6 -6
  204. package/dist/components/interrupt/index.js +6 -6
  205. package/dist/components/layouts/MainLayout.svelte +46 -84
  206. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  207. package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
  208. package/dist/components/nodes/GatewayNode.svelte +37 -70
  209. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  210. package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
  211. package/dist/components/nodes/IdeaNode.svelte +22 -36
  212. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  213. package/dist/components/nodes/NotesNode.stories.svelte +37 -38
  214. package/dist/components/nodes/NotesNode.svelte +28 -39
  215. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  216. package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
  217. package/dist/components/nodes/SimpleNode.svelte +51 -81
  218. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  219. package/dist/components/nodes/SquareNode.stories.svelte +75 -75
  220. package/dist/components/nodes/SquareNode.svelte +42 -68
  221. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  222. package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
  223. package/dist/components/nodes/TerminalNode.svelte +74 -112
  224. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  225. package/dist/components/nodes/ToolNode.stories.svelte +115 -116
  226. package/dist/components/nodes/ToolNode.svelte +31 -64
  227. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  228. package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
  229. package/dist/components/nodes/WorkflowNode.svelte +50 -103
  230. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  231. package/dist/components/playground/ChatPanel.svelte +47 -103
  232. package/dist/components/playground/ExecutionLogs.svelte +45 -68
  233. package/dist/components/playground/InputCollector.svelte +32 -51
  234. package/dist/components/playground/MessageBubble.stories.svelte +25 -25
  235. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  236. package/dist/components/playground/MessageBubble.svelte +54 -70
  237. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  238. package/dist/components/playground/Playground.svelte +60 -91
  239. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  240. package/dist/components/playground/PlaygroundModal.svelte +8 -12
  241. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  242. package/dist/components/playground/SessionManager.svelte +34 -40
  243. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  244. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  245. package/dist/config/agentSpecEndpoints.js +20 -20
  246. package/dist/config/constants.js +2 -2
  247. package/dist/config/defaultCategories.d.ts +1 -1
  248. package/dist/config/defaultCategories.js +86 -86
  249. package/dist/config/defaultPortConfig.d.ts +1 -1
  250. package/dist/config/defaultPortConfig.js +144 -144
  251. package/dist/config/endpoints.d.ts +4 -4
  252. package/dist/config/endpoints.js +68 -68
  253. package/dist/config/runtimeConfig.d.ts +2 -2
  254. package/dist/config/runtimeConfig.js +8 -8
  255. package/dist/core/index.d.ts +68 -68
  256. package/dist/core/index.js +38 -38
  257. package/dist/display/index.d.ts +2 -2
  258. package/dist/display/index.js +2 -2
  259. package/dist/editor/index.d.ts +64 -64
  260. package/dist/editor/index.js +54 -54
  261. package/dist/form/code.d.ts +5 -5
  262. package/dist/form/code.js +14 -14
  263. package/dist/form/fieldRegistry.d.ts +3 -3
  264. package/dist/form/fieldRegistry.js +9 -11
  265. package/dist/form/full.d.ts +8 -8
  266. package/dist/form/full.js +9 -9
  267. package/dist/form/index.d.ts +18 -18
  268. package/dist/form/index.js +16 -16
  269. package/dist/form/markdown.d.ts +4 -4
  270. package/dist/form/markdown.js +8 -8
  271. package/dist/helpers/proximityConnect.d.ts +3 -3
  272. package/dist/helpers/proximityConnect.js +32 -34
  273. package/dist/helpers/workflowEditorHelper.d.ts +6 -6
  274. package/dist/helpers/workflowEditorHelper.js +64 -68
  275. package/dist/index.d.ts +6 -6
  276. package/dist/index.js +6 -6
  277. package/dist/mocks/app-environment.js +2 -2
  278. package/dist/mocks/app-forms.js +1 -1
  279. package/dist/mocks/app-navigation.js +2 -2
  280. package/dist/mocks/app-stores.js +3 -3
  281. package/dist/playground/index.d.ts +19 -19
  282. package/dist/playground/index.js +16 -16
  283. package/dist/playground/mount.d.ts +3 -3
  284. package/dist/playground/mount.js +24 -24
  285. package/dist/registry/builtinFormats.js +13 -13
  286. package/dist/registry/builtinNodes.d.ts +2 -2
  287. package/dist/registry/builtinNodes.js +77 -77
  288. package/dist/registry/index.d.ts +4 -4
  289. package/dist/registry/index.js +4 -4
  290. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  291. package/dist/registry/nodeComponentRegistry.js +9 -11
  292. package/dist/registry/plugin.d.ts +2 -2
  293. package/dist/registry/plugin.js +11 -11
  294. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  295. package/dist/registry/workflowFormatRegistry.js +2 -2
  296. package/dist/schema/index.d.ts +1 -1
  297. package/dist/schema/index.js +2 -2
  298. package/dist/schemas/v1/workflow.schema.json +5 -0
  299. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  300. package/dist/services/agentSpecExecutionService.js +55 -56
  301. package/dist/services/api.d.ts +2 -2
  302. package/dist/services/api.js +37 -37
  303. package/dist/services/apiVariableService.d.ts +1 -1
  304. package/dist/services/apiVariableService.js +34 -41
  305. package/dist/services/autoSaveService.js +8 -8
  306. package/dist/services/categoriesApi.d.ts +2 -2
  307. package/dist/services/categoriesApi.js +8 -8
  308. package/dist/services/chatService.d.ts +1 -1
  309. package/dist/services/chatService.js +18 -18
  310. package/dist/services/draftStorage.d.ts +1 -1
  311. package/dist/services/draftStorage.js +11 -11
  312. package/dist/services/dynamicSchemaService.d.ts +1 -1
  313. package/dist/services/dynamicSchemaService.js +39 -41
  314. package/dist/services/globalSave.d.ts +2 -2
  315. package/dist/services/globalSave.js +38 -41
  316. package/dist/services/historyService.d.ts +1 -1
  317. package/dist/services/historyService.js +10 -10
  318. package/dist/services/interruptService.d.ts +1 -1
  319. package/dist/services/interruptService.js +29 -35
  320. package/dist/services/nodeExecutionService.d.ts +1 -1
  321. package/dist/services/nodeExecutionService.js +44 -45
  322. package/dist/services/playgroundService.d.ts +1 -1
  323. package/dist/services/playgroundService.js +29 -29
  324. package/dist/services/portConfigApi.d.ts +2 -2
  325. package/dist/services/portConfigApi.js +8 -8
  326. package/dist/services/settingsService.d.ts +2 -2
  327. package/dist/services/settingsService.js +19 -25
  328. package/dist/services/toastService.d.ts +4 -4
  329. package/dist/services/toastService.js +33 -33
  330. package/dist/services/variableService.d.ts +1 -1
  331. package/dist/services/variableService.js +36 -36
  332. package/dist/services/workflowStorage.d.ts +2 -2
  333. package/dist/services/workflowStorage.js +13 -13
  334. package/dist/settings/index.d.ts +7 -7
  335. package/dist/settings/index.js +6 -6
  336. package/dist/skins/default.d.ts +1 -1
  337. package/dist/skins/default.js +1 -1
  338. package/dist/skins/index.d.ts +3 -3
  339. package/dist/skins/index.js +7 -7
  340. package/dist/skins/slate.d.ts +1 -1
  341. package/dist/skins/slate.js +69 -69
  342. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  343. package/dist/stores/categoriesStore.svelte.js +5 -5
  344. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  345. package/dist/stores/editorStateMachine.svelte.js +34 -34
  346. package/dist/stores/historyStore.svelte.d.ts +4 -4
  347. package/dist/stores/historyStore.svelte.js +4 -4
  348. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  349. package/dist/stores/interruptStore.svelte.js +21 -21
  350. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  351. package/dist/stores/playgroundStore.svelte.js +18 -21
  352. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  353. package/dist/stores/portCoordinateStore.svelte.js +10 -13
  354. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  355. package/dist/stores/settingsStore.svelte.js +57 -62
  356. package/dist/stores/workflowStore.svelte.d.ts +4 -3
  357. package/dist/stores/workflowStore.svelte.js +47 -47
  358. package/dist/stories/CanvasDecorator.svelte +7 -10
  359. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  360. package/dist/stories/EdgeDecorator.svelte +28 -31
  361. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  362. package/dist/stories/NodeDecorator.svelte +14 -20
  363. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  364. package/dist/stories/utils.d.ts +2 -2
  365. package/dist/stories/utils.js +89 -93
  366. package/dist/styles/base.css +16 -50
  367. package/dist/styles/tokens.css +10 -28
  368. package/dist/svelte-app.d.ts +10 -10
  369. package/dist/svelte-app.js +39 -39
  370. package/dist/themes/default.d.ts +1 -1
  371. package/dist/themes/default.js +4 -4
  372. package/dist/themes/index.d.ts +3 -3
  373. package/dist/themes/index.js +11 -11
  374. package/dist/themes/minimal.d.ts +1 -1
  375. package/dist/themes/minimal.js +5 -5
  376. package/dist/types/agentspec.d.ts +18 -18
  377. package/dist/types/agentspec.js +2 -2
  378. package/dist/types/auth.d.ts +1 -1
  379. package/dist/types/auth.js +6 -6
  380. package/dist/types/chat.d.ts +2 -2
  381. package/dist/types/config.d.ts +6 -6
  382. package/dist/types/events.d.ts +3 -3
  383. package/dist/types/events.js +2 -2
  384. package/dist/types/index.d.ts +34 -32
  385. package/dist/types/index.js +6 -6
  386. package/dist/types/interrupt.d.ts +6 -6
  387. package/dist/types/interrupt.js +21 -21
  388. package/dist/types/interruptState.d.ts +12 -12
  389. package/dist/types/interruptState.js +66 -66
  390. package/dist/types/playground.d.ts +7 -7
  391. package/dist/types/playground.js +14 -14
  392. package/dist/types/settings.d.ts +7 -5
  393. package/dist/types/settings.js +19 -24
  394. package/dist/types/skin.d.ts +1 -1
  395. package/dist/types/theme.d.ts +2 -2
  396. package/dist/types/uischema.d.ts +4 -4
  397. package/dist/types/uischema.js +3 -3
  398. package/dist/utils/colors.d.ts +1 -1
  399. package/dist/utils/colors.js +95 -97
  400. package/dist/utils/config.d.ts +2 -2
  401. package/dist/utils/config.js +48 -48
  402. package/dist/utils/connections.d.ts +6 -2
  403. package/dist/utils/connections.js +21 -15
  404. package/dist/utils/edgeStyling.d.ts +2 -2
  405. package/dist/utils/edgeStyling.js +36 -39
  406. package/dist/utils/errors.js +3 -3
  407. package/dist/utils/fetchWithAuth.d.ts +1 -1
  408. package/dist/utils/fetchWithAuth.js +2 -2
  409. package/dist/utils/handleIds.d.ts +2 -2
  410. package/dist/utils/handleIds.js +8 -8
  411. package/dist/utils/handlePositioning.d.ts +1 -1
  412. package/dist/utils/handlePositioning.js +2 -2
  413. package/dist/utils/icons.d.ts +1 -1
  414. package/dist/utils/icons.js +74 -74
  415. package/dist/utils/logger.d.ts +1 -1
  416. package/dist/utils/logger.js +7 -7
  417. package/dist/utils/nodeIds.d.ts +1 -1
  418. package/dist/utils/nodeIds.js +1 -1
  419. package/dist/utils/nodeStatus.d.ts +1 -1
  420. package/dist/utils/nodeStatus.js +48 -48
  421. package/dist/utils/nodeSwap.d.ts +9 -9
  422. package/dist/utils/nodeSwap.js +52 -58
  423. package/dist/utils/nodeTypes.d.ts +1 -1
  424. package/dist/utils/nodeTypes.js +20 -21
  425. package/dist/utils/nodeWrapper.d.ts +7 -7
  426. package/dist/utils/nodeWrapper.js +19 -21
  427. package/dist/utils/performanceUtils.d.ts +1 -1
  428. package/dist/utils/performanceUtils.js +1 -2
  429. package/dist/utils/portUtils.d.ts +2 -2
  430. package/dist/utils/portUtils.js +1 -1
  431. package/dist/utils/sanitize.js +1 -1
  432. package/dist/utils/uischema.d.ts +2 -2
  433. package/dist/utils/uischema.js +8 -8
  434. package/dist/utils/validation.js +8 -8
  435. package/package.json +7 -11
@@ -1,42 +1,40 @@
1
1
  <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import NodeDecorator from "../../stories/NodeDecorator.svelte";
4
- import { createSampleNodeData } from "../../stories/utils.js";
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import NodeDecorator from '../../stories/NodeDecorator.svelte';
4
+ import { createSampleNodeData } from '../../stories/utils.js';
5
5
 
6
6
  const { Story } = defineMeta({
7
- title: "Nodes/WorkflowNode",
8
- tags: ["autodocs"],
7
+ title: 'Nodes/WorkflowNode',
8
+ tags: ['autodocs'],
9
9
  parameters: {
10
- layout: "centered",
11
- },
10
+ layout: 'centered'
11
+ }
12
12
  });
13
13
  </script>
14
14
 
15
15
  <Story name="Default">
16
16
  <NodeDecorator
17
17
  data={createSampleNodeData({
18
- label: "Sub Workflow",
18
+ label: 'Sub Workflow',
19
19
  metadata: {
20
- id: "sub-workflow",
21
- name: "Sub Workflow",
22
- description: "Execute a nested workflow",
23
- category: "bundles",
24
- version: "1.0.0",
25
- type: "workflow",
26
- icon: "mdi:sitemap",
20
+ id: 'sub-workflow',
21
+ name: 'Sub Workflow',
22
+ description: 'Execute a nested workflow',
23
+ category: 'bundles',
24
+ version: '1.0.0',
25
+ type: 'workflow',
26
+ icon: 'mdi:sitemap',
27
27
  inputs: [
28
28
  {
29
- id: "input",
30
- name: "Input",
31
- type: "input",
32
- dataType: "any",
33
- required: false,
34
- },
35
- ],
36
- outputs: [
37
- { id: "output", name: "Output", type: "output", dataType: "any" },
29
+ id: 'input',
30
+ name: 'Input',
31
+ type: 'input',
32
+ dataType: 'any',
33
+ required: false
34
+ }
38
35
  ],
39
- },
36
+ outputs: [{ id: 'output', name: 'Output', type: 'output', dataType: 'any' }]
37
+ }
40
38
  })}
41
39
  />
42
40
  </Story>
@@ -44,35 +42,33 @@
44
42
  <Story name="Selected">
45
43
  <NodeDecorator
46
44
  data={createSampleNodeData({
47
- label: "Data Pipeline",
45
+ label: 'Data Pipeline',
48
46
  metadata: {
49
- id: "data-pipeline",
50
- name: "Data Pipeline",
51
- description: "Process data through a pipeline workflow",
52
- category: "bundles",
53
- version: "1.0.0",
54
- type: "workflow",
55
- icon: "mdi:pipe",
47
+ id: 'data-pipeline',
48
+ name: 'Data Pipeline',
49
+ description: 'Process data through a pipeline workflow',
50
+ category: 'bundles',
51
+ version: '1.0.0',
52
+ type: 'workflow',
53
+ icon: 'mdi:pipe',
56
54
  inputs: [
57
55
  {
58
- id: "data",
59
- name: "Data",
60
- type: "input",
61
- dataType: "any",
62
- required: true,
56
+ id: 'data',
57
+ name: 'Data',
58
+ type: 'input',
59
+ dataType: 'any',
60
+ required: true
63
61
  },
64
62
  {
65
- id: "config",
66
- name: "Config",
67
- type: "input",
68
- dataType: "object",
69
- required: false,
70
- },
71
- ],
72
- outputs: [
73
- { id: "result", name: "Result", type: "output", dataType: "any" },
63
+ id: 'config',
64
+ name: 'Config',
65
+ type: 'input',
66
+ dataType: 'object',
67
+ required: false
68
+ }
74
69
  ],
75
- },
70
+ outputs: [{ id: 'result', name: 'Result', type: 'output', dataType: 'any' }]
71
+ }
76
72
  })}
77
73
  selected={true}
78
74
  />
@@ -81,62 +77,61 @@
81
77
  <Story name="Dynamic Ports">
82
78
  <NodeDecorator
83
79
  data={createSampleNodeData({
84
- label: "Custom Function",
80
+ label: 'Custom Function',
85
81
  config: {
86
82
  dynamicInputs: [
87
83
  {
88
- name: "input_1",
89
- label: "First Input",
90
- description: "The first input parameter",
91
- dataType: "string",
92
- required: true,
84
+ name: 'input_1',
85
+ label: 'First Input',
86
+ description: 'The first input parameter',
87
+ dataType: 'string',
88
+ required: true
93
89
  },
94
90
  {
95
- name: "input_2",
96
- label: "Second Input",
97
- description: "The second input parameter",
98
- dataType: "number",
99
- required: false,
100
- },
91
+ name: 'input_2',
92
+ label: 'Second Input',
93
+ description: 'The second input parameter',
94
+ dataType: 'number',
95
+ required: false
96
+ }
101
97
  ],
102
98
  dynamicOutputs: [
103
99
  {
104
- name: "output_1",
105
- label: "Primary Output",
106
- description: "The main output value",
107
- dataType: "string",
108
- required: false,
109
- },
110
- ],
100
+ name: 'output_1',
101
+ label: 'Primary Output',
102
+ description: 'The main output value',
103
+ dataType: 'string',
104
+ required: false
105
+ }
106
+ ]
111
107
  },
112
108
  metadata: {
113
- id: "custom-function",
114
- name: "Custom Function",
115
- description:
116
- "Execute a custom function with dynamic inputs and outputs",
117
- category: "processing",
118
- version: "1.0.0",
119
- type: "workflow",
120
- icon: "mdi:function-variant",
109
+ id: 'custom-function',
110
+ name: 'Custom Function',
111
+ description: 'Execute a custom function with dynamic inputs and outputs',
112
+ category: 'processing',
113
+ version: '1.0.0',
114
+ type: 'workflow',
115
+ icon: 'mdi:function-variant',
121
116
  inputs: [
122
117
  {
123
- id: "trigger",
124
- name: "Trigger",
125
- type: "input",
126
- dataType: "trigger",
127
- required: false,
128
- },
118
+ id: 'trigger',
119
+ name: 'Trigger',
120
+ type: 'input',
121
+ dataType: 'trigger',
122
+ required: false
123
+ }
129
124
  ],
130
125
  outputs: [
131
126
  {
132
- id: "done",
133
- name: "Done",
134
- type: "output",
135
- dataType: "trigger",
136
- required: false,
137
- },
138
- ],
139
- },
127
+ id: 'done',
128
+ name: 'Done',
129
+ type: 'output',
130
+ dataType: 'trigger',
131
+ required: false
132
+ }
133
+ ]
134
+ }
140
135
  })}
141
136
  />
142
137
  </Story>
@@ -11,32 +11,24 @@
11
11
  -->
12
12
 
13
13
  <script lang="ts">
14
- import { Position, Handle } from "@xyflow/svelte";
15
- import type {
16
- WorkflowNode,
17
- NodePort,
18
- DynamicPort,
19
- } from "../../types/index.js";
20
- import { dynamicPortToNodePort } from "../../types/index.js";
21
- import Icon from "@iconify/svelte";
22
- import { getNodeIcon } from "../../utils/icons.js";
23
- import CogIcon from "../icons/CogIcon.svelte";
14
+ import { Position, Handle } from '@xyflow/svelte';
15
+ import type { WorkflowNode, NodePort, DynamicPort } from '../../types/index.js';
16
+ import { dynamicPortToNodePort } from '../../types/index.js';
17
+ import Icon from '@iconify/svelte';
18
+ import { getNodeIcon } from '../../utils/icons.js';
19
+ import CogIcon from '../icons/CogIcon.svelte';
24
20
  import {
25
21
  getDataTypeColorToken,
26
22
  getCategoryColorToken,
27
- getPortBackgroundColor,
28
- } from "../../utils/colors.js";
29
- import { getConnectedHandles } from "../../stores/workflowStore.svelte.js";
30
- import { applyPortOrder } from "../../utils/portUtils.js";
23
+ getPortBackgroundColor
24
+ } from '../../utils/colors.js';
25
+ import { getConnectedHandles } from '../../stores/workflowStore.svelte.js';
26
+ import { applyPortOrder } from '../../utils/portUtils.js';
31
27
 
32
28
  interface Props {
33
- data: WorkflowNode["data"] & {
29
+ data: WorkflowNode['data'] & {
34
30
  nodeId?: string;
35
- onConfigOpen?: (node: {
36
- id: string;
37
- type: string;
38
- data: WorkflowNode["data"];
39
- }) => void;
31
+ onConfigOpen?: (node: { id: string; type: string; data: WorkflowNode['data'] }) => void;
40
32
  };
41
33
  selected?: boolean;
42
34
  }
@@ -49,9 +41,7 @@
49
41
  * Falls back to the original label if not set.
50
42
  * This allows users to customize the node title per-instance via config.
51
43
  */
52
- const displayTitle = $derived(
53
- (props.data.config?.instanceTitle as string) || props.data.label,
54
- );
44
+ const displayTitle = $derived((props.data.config?.instanceTitle as string) || props.data.label);
55
45
 
56
46
  /**
57
47
  * Instance-specific description override from config.
@@ -59,8 +49,7 @@
59
49
  * This allows users to customize the node description per-instance via config.
60
50
  */
61
51
  const displayDescription = $derived(
62
- (props.data.config?.instanceDescription as string) ||
63
- props.data.metadata.description,
52
+ (props.data.config?.instanceDescription as string) || props.data.metadata.description
64
53
  );
65
54
 
66
55
  /**
@@ -70,7 +59,7 @@
70
59
  const hideUnconnectedHandles = $derived(
71
60
  props.data.extensions?.ui?.hideUnconnectedHandles ??
72
61
  props.data.metadata?.extensions?.ui?.hideUnconnectedHandles ??
73
- false,
62
+ false
74
63
  );
75
64
 
76
65
  /**
@@ -78,9 +67,7 @@
78
67
  * Merges node type defaults with instance overrides
79
68
  */
80
69
  const portOrder = $derived(
81
- props.data.extensions?.ui?.portOrder ??
82
- props.data.metadata?.extensions?.ui?.portOrder ??
83
- {},
70
+ props.data.extensions?.ui?.portOrder ?? props.data.metadata?.extensions?.ui?.portOrder ?? {}
84
71
  );
85
72
 
86
73
  /**
@@ -88,9 +75,7 @@
88
75
  * Merges node type defaults with instance overrides
89
76
  */
90
77
  const hiddenPorts = $derived(
91
- props.data.extensions?.ui?.hiddenPorts ??
92
- props.data.metadata?.extensions?.ui?.hiddenPorts ??
93
- {},
78
+ props.data.extensions?.ui?.hiddenPorts ?? props.data.metadata?.extensions?.ui?.hiddenPorts ?? {}
94
79
  );
95
80
 
96
81
  /**
@@ -99,8 +84,8 @@
99
84
  */
100
85
  const dynamicInputs = $derived(
101
86
  ((props.data.config?.dynamicInputs as DynamicPort[]) || []).map((port) =>
102
- dynamicPortToNodePort(port, "input"),
103
- ),
87
+ dynamicPortToNodePort(port, 'input')
88
+ )
104
89
  );
105
90
 
106
91
  /**
@@ -109,8 +94,8 @@
109
94
  */
110
95
  const dynamicOutputs = $derived(
111
96
  ((props.data.config?.dynamicOutputs as DynamicPort[]) || []).map((port) =>
112
- dynamicPortToNodePort(port, "output"),
113
- ),
97
+ dynamicPortToNodePort(port, 'output')
98
+ )
114
99
  );
115
100
 
116
101
  /**
@@ -118,10 +103,7 @@
118
103
  * sorted by portOrder if set (visual-only)
119
104
  */
120
105
  const allInputPorts = $derived(
121
- applyPortOrder(
122
- [...props.data.metadata.inputs, ...dynamicInputs],
123
- portOrder.inputs,
124
- ),
106
+ applyPortOrder([...props.data.metadata.inputs, ...dynamicInputs], portOrder.inputs)
125
107
  );
126
108
 
127
109
  /**
@@ -129,10 +111,7 @@
129
111
  * sorted by portOrder if set (visual-only)
130
112
  */
131
113
  const allOutputPorts = $derived(
132
- applyPortOrder(
133
- [...props.data.metadata.outputs, ...dynamicOutputs],
134
- portOrder.outputs,
135
- ),
114
+ applyPortOrder([...props.data.metadata.outputs, ...dynamicOutputs], portOrder.outputs)
136
115
  );
137
116
 
138
117
  /**
@@ -141,10 +120,10 @@
141
120
  * @param type - Whether this is an 'input' or 'output' port
142
121
  * @returns true if the port should be visible
143
122
  */
144
- function isPortVisible(port: NodePort, type: "input" | "output"): boolean {
123
+ function isPortVisible(port: NodePort, type: 'input' | 'output'): boolean {
145
124
  // Manual hide takes precedence (required ports are prevented from being hidden in ConfigForm)
146
125
  const manuallyHidden =
147
- type === "input"
126
+ type === 'input'
148
127
  ? hiddenPorts.inputs?.includes(port.id)
149
128
  : hiddenPorts.outputs?.includes(port.id);
150
129
  if (manuallyHidden) return false;
@@ -168,16 +147,14 @@
168
147
  * Derived list of visible input ports based on hideUnconnectedHandles setting
169
148
  * Now includes both static and dynamic inputs
170
149
  */
171
- const visibleInputPorts = $derived(
172
- allInputPorts.filter((port) => isPortVisible(port, "input")),
173
- );
150
+ const visibleInputPorts = $derived(allInputPorts.filter((port) => isPortVisible(port, 'input')));
174
151
 
175
152
  /**
176
153
  * Derived list of visible output ports based on hideUnconnectedHandles setting
177
154
  * Now includes both static and dynamic outputs
178
155
  */
179
156
  const visibleOutputPorts = $derived(
180
- allOutputPorts.filter((port) => isPortVisible(port, "output")),
157
+ allOutputPorts.filter((port) => isPortVisible(port, 'output'))
181
158
  );
182
159
 
183
160
  /**
@@ -201,9 +178,9 @@
201
178
  if (props.data.onConfigOpen) {
202
179
  // Create a WorkflowNodeType-like object for the global ConfigSidebar
203
180
  const nodeForConfig = {
204
- id: props.data.nodeId || "unknown",
205
- type: "workflowNode",
206
- data: props.data,
181
+ id: props.data.nodeId || 'unknown',
182
+ type: 'workflowNode',
183
+ data: props.data
207
184
  };
208
185
  props.data.onConfigOpen(nodeForConfig);
209
186
  }
@@ -223,7 +200,7 @@
223
200
  role="button"
224
201
  tabindex="0"
225
202
  onkeydown={(e) => {
226
- if (e.key === "Enter" || e.key === " ") {
203
+ if (e.key === 'Enter' || e.key === ' ') {
227
204
  e.preventDefault();
228
205
  handleDoubleClick();
229
206
  }
@@ -237,30 +214,21 @@
237
214
  <!-- Squircle icon — visibility controlled by --fd-node-icon-display -->
238
215
  <div
239
216
  class="flowdrop-workflow-node__icon-wrapper"
240
- style="--_icon-color: {getCategoryColorToken(
241
- props.data.metadata.category,
242
- )}"
217
+ style="--_icon-color: {getCategoryColorToken(props.data.metadata.category)}"
243
218
  >
244
219
  <Icon
245
- icon={getNodeIcon(
246
- props.data.metadata.icon,
247
- props.data.metadata.category,
248
- )}
220
+ icon={getNodeIcon(props.data.metadata.icon, props.data.metadata.category)}
249
221
  class="flowdrop-workflow-node__icon"
250
222
  />
251
223
  </div>
252
224
  <!-- Circle dot — visibility controlled by --fd-node-circle-display -->
253
225
  <span
254
226
  class="flowdrop-workflow-node__color-dot"
255
- style="background: {getCategoryColorToken(
256
- props.data.metadata.category,
257
- )}"
227
+ style="background: {getCategoryColorToken(props.data.metadata.category)}"
258
228
  ></span>
259
229
 
260
230
  <!-- Node Title - Icon and Title on same line -->
261
- <h3
262
- class="flowdrop-text--sm flowdrop-font--medium flowdrop-truncate flowdrop-flex--1"
263
- >
231
+ <h3 class="flowdrop-text--sm flowdrop-font--medium flowdrop-truncate flowdrop-flex--1">
264
232
  {displayTitle}
265
233
  </h3>
266
234
 
@@ -289,7 +257,7 @@
289
257
  id={`${props.data.nodeId}-input-${port.id}`}
290
258
  class="flowdrop-workflow-node__handle"
291
259
  style="top: 50%; transform: translateY(-50%); --fd-handle-fill: var(--fd-port-skin-color, {getDataTypeColorToken(
292
- port.dataType,
260
+ port.dataType
293
261
  )}); --fd-handle-border-color: var(--fd-handle-border);"
294
262
  role="button"
295
263
  tabindex={0}
@@ -297,38 +265,28 @@
297
265
  />
298
266
 
299
267
  <!-- Port Info: padding lives here so handle position is simple -->
300
- <div
301
- class="flowdrop-workflow-node__port-content flowdrop-flex--1 flowdrop-min-w--0"
302
- >
268
+ <div class="flowdrop-workflow-node__port-content flowdrop-flex--1 flowdrop-min-w--0">
303
269
  <div class="flowdrop-flex flowdrop-gap--2">
304
- <span class="flowdrop-text--xs flowdrop-font--medium"
305
- >{port.name}</span
306
- >
270
+ <span class="flowdrop-text--xs flowdrop-font--medium">{port.name}</span>
307
271
  <span
308
272
  class="flowdrop-badge flowdrop-badge--sm"
309
273
  style="background-color: {getPortBackgroundColor(
310
274
  port.dataType,
311
- 15,
275
+ 15
312
276
  )}; color: {getDataTypeColorToken(
313
- port.dataType,
314
- )}; border: 1px solid {getPortBackgroundColor(
315
- port.dataType,
316
- 30,
317
- )};"
277
+ port.dataType
278
+ )}; border: 1px solid {getPortBackgroundColor(port.dataType, 30)};"
318
279
  >
319
280
  {port.dataType}
320
281
  </span>
321
282
  {#if port.required}
322
- <span
323
- class="flowdrop-badge flowdrop-badge--error flowdrop-badge--sm"
283
+ <span class="flowdrop-badge flowdrop-badge--error flowdrop-badge--sm"
324
284
  >Required</span
325
285
  >
326
286
  {/if}
327
287
  </div>
328
288
  {#if port.description}
329
- <p
330
- class="flowdrop-text--xs flowdrop-text--gray flowdrop-truncate"
331
- >
289
+ <p class="flowdrop-text--xs flowdrop-text--gray flowdrop-truncate">
332
290
  {port.description}
333
291
  </p>
334
292
  {/if}
@@ -350,28 +308,21 @@
350
308
  class="flowdrop-workflow-node__port-content flowdrop-flex--1 flowdrop-min-w--0 flowdrop-text--right"
351
309
  >
352
310
  <div class="flowdrop-flex flowdrop-gap--2 flowdrop-justify--end">
353
- <span class="flowdrop-text--xs flowdrop-font--medium"
354
- >{port.name}</span
355
- >
311
+ <span class="flowdrop-text--xs flowdrop-font--medium">{port.name}</span>
356
312
  <span
357
313
  class="flowdrop-badge flowdrop-badge--sm"
358
314
  style="background-color: {getPortBackgroundColor(
359
315
  port.dataType,
360
- 15,
316
+ 15
361
317
  )}; color: {getDataTypeColorToken(
362
- port.dataType,
363
- )}; border: 1px solid {getPortBackgroundColor(
364
- port.dataType,
365
- 30,
366
- )};"
318
+ port.dataType
319
+ )}; border: 1px solid {getPortBackgroundColor(port.dataType, 30)};"
367
320
  >
368
321
  {port.dataType}
369
322
  </span>
370
323
  </div>
371
324
  {#if port.description}
372
- <p
373
- class="flowdrop-text--xs flowdrop-text--gray flowdrop-truncate"
374
- >
325
+ <p class="flowdrop-text--xs flowdrop-text--gray flowdrop-truncate">
375
326
  {port.description}
376
327
  </p>
377
328
  {/if}
@@ -384,7 +335,7 @@
384
335
  id={`${props.data.nodeId}-output-${port.id}`}
385
336
  class="flowdrop-workflow-node__handle"
386
337
  style="top: 50%; transform: translateY(-50%); --fd-handle-fill: var(--fd-port-skin-color, {getDataTypeColorToken(
387
- port.dataType,
338
+ port.dataType
388
339
  )}); --fd-handle-border-color: var(--fd-handle-border);"
389
340
  role="button"
390
341
  tabindex={0}
@@ -489,11 +440,7 @@
489
440
  width: 2.25rem;
490
441
  height: 2.25rem;
491
442
  border-radius: 0.5rem;
492
- background: color-mix(
493
- in srgb,
494
- var(--_icon-color) var(--fd-node-icon-bg-opacity),
495
- transparent
496
- );
443
+ background: color-mix(in srgb, var(--_icon-color) var(--fd-node-icon-bg-opacity), transparent);
497
444
  flex-shrink: 0;
498
445
  transition: all var(--fd-transition-normal);
499
446
  }
@@ -1,11 +1,11 @@
1
- import type { WorkflowNode } from "../../types/index.js";
1
+ import type { WorkflowNode } from '../../types/index.js';
2
2
  interface Props {
3
- data: WorkflowNode["data"] & {
3
+ data: WorkflowNode['data'] & {
4
4
  nodeId?: string;
5
5
  onConfigOpen?: (node: {
6
6
  id: string;
7
7
  type: string;
8
- data: WorkflowNode["data"];
8
+ data: WorkflowNode['data'];
9
9
  }) => void;
10
10
  };
11
11
  selected?: boolean;