@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
@@ -18,7 +18,7 @@
18
18
  -->
19
19
 
20
20
  <script lang="ts">
21
- import { onMount, onDestroy } from "svelte";
21
+ import { onMount, onDestroy } from 'svelte';
22
22
  import {
23
23
  EditorView,
24
24
  lineNumbers,
@@ -30,30 +30,22 @@
30
30
  tooltips,
31
31
  Decoration,
32
32
  ViewPlugin,
33
- MatchDecorator,
34
- } from "@codemirror/view";
35
- import { EditorState, Compartment } from "@codemirror/state";
36
- import {
37
- history,
38
- historyKeymap,
39
- defaultKeymap,
40
- indentWithTab,
41
- } from "@codemirror/commands";
42
- import {
43
- syntaxHighlighting,
44
- defaultHighlightStyle,
45
- } from "@codemirror/language";
46
- import { oneDark } from "@codemirror/theme-one-dark";
33
+ MatchDecorator
34
+ } from '@codemirror/view';
35
+ import { EditorState, Compartment } from '@codemirror/state';
36
+ import { history, historyKeymap, defaultKeymap, indentWithTab } from '@codemirror/commands';
37
+ import { syntaxHighlighting, defaultHighlightStyle } from '@codemirror/language';
38
+ import { oneDark } from '@codemirror/theme-one-dark';
47
39
  import type {
48
40
  VariableSchema,
49
41
  TemplateVariablesConfig,
50
42
  WorkflowNode,
51
43
  WorkflowEdge,
52
- AuthProvider,
53
- } from "../../types/index.js";
54
- import { createTemplateAutocomplete } from "./templateAutocomplete.js";
55
- import { getVariableSchema } from "../../services/variableService.js";
56
- import { logger } from "../../utils/logger.js";
44
+ AuthProvider
45
+ } from '../../types/index.js';
46
+ import { createTemplateAutocomplete } from './templateAutocomplete.js';
47
+ import { getVariableSchema } from '../../services/variableService.js';
48
+ import { logger } from '../../utils/logger.js';
57
49
 
58
50
  interface Props {
59
51
  /** Field identifier */
@@ -95,13 +87,13 @@
95
87
 
96
88
  let {
97
89
  id,
98
- value = "",
99
- placeholder = "Enter your template here...\nUse {{ variable }} for dynamic values.",
90
+ value = '',
91
+ placeholder = 'Enter your template here...\nUse {{ variable }} for dynamic values.',
100
92
  required = false,
101
93
  darkTheme = false,
102
- height = "250px",
94
+ height = '250px',
103
95
  variables,
104
- placeholderExample = "Hello {{ name }}, your order #{{ order_id }} is ready!",
96
+ placeholderExample = 'Hello {{ name }}, your order #{{ order_id }} is ready!',
105
97
  disabled = false,
106
98
  ariaDescribedBy,
107
99
  onChange,
@@ -109,7 +101,7 @@
109
101
  nodes = [],
110
102
  edges = [],
111
103
  workflowId,
112
- authProvider,
104
+ authProvider
113
105
  }: Props = $props();
114
106
 
115
107
  /** Loading state for API variable fetching */
@@ -136,22 +128,13 @@
136
128
  }
137
129
 
138
130
  // If variables config has static schema only (no API), use it directly
139
- if (
140
- variables.schema &&
141
- !variables.api &&
142
- Object.keys(variables.schema.variables).length > 0
143
- ) {
131
+ if (variables.schema && !variables.api && Object.keys(variables.schema.variables).length > 0) {
144
132
  effectiveVariableSchema = variables.schema;
145
133
  return;
146
134
  }
147
135
 
148
136
  // If variables config requires node context (ports or API mode)
149
- if (
150
- (variables.ports !== undefined || variables.api) &&
151
- node &&
152
- nodes &&
153
- edges
154
- ) {
137
+ if ((variables.ports !== undefined || variables.api) && node && nodes && edges) {
155
138
  try {
156
139
  isLoadingVariables = true;
157
140
  effectiveVariableSchema = await getVariableSchema(
@@ -160,12 +143,11 @@
160
143
  edges,
161
144
  variables,
162
145
  workflowId,
163
- authProvider,
146
+ authProvider
164
147
  );
165
148
  } catch (error) {
166
- logger.error("Failed to load variable schema:", error);
167
- variableLoadError =
168
- error instanceof Error ? error.message : "Failed to load variables";
149
+ logger.error('Failed to load variable schema:', error);
150
+ variableLoadError = error instanceof Error ? error.message : 'Failed to load variables';
169
151
  effectiveVariableSchema = undefined;
170
152
  } finally {
171
153
  isLoadingVariables = false;
@@ -222,14 +204,14 @@
222
204
  regexp: /\{\{.*?\}\}|\{%.*?%\}|\{#.*?#\}/g,
223
205
  decoration: (match) => {
224
206
  const text = match[0];
225
- if (text.startsWith("{{")) {
226
- return Decoration.mark({ class: "cm-twig-expression" });
227
- } else if (text.startsWith("{%")) {
228
- return Decoration.mark({ class: "cm-twig-block" });
207
+ if (text.startsWith('{{')) {
208
+ return Decoration.mark({ class: 'cm-twig-expression' });
209
+ } else if (text.startsWith('{%')) {
210
+ return Decoration.mark({ class: 'cm-twig-block' });
229
211
  } else {
230
- return Decoration.mark({ class: "cm-twig-comment" });
212
+ return Decoration.mark({ class: 'cm-twig-comment' });
231
213
  }
232
- },
214
+ }
233
215
  });
234
216
 
235
217
  const twigHighlighter = ViewPlugin.fromClass(
@@ -238,20 +220,17 @@
238
220
  constructor(view: EditorView) {
239
221
  this.decorations = twigMatcher.createDeco(view);
240
222
  }
241
- update(update: import("@codemirror/view").ViewUpdate) {
223
+ update(update: import('@codemirror/view').ViewUpdate) {
242
224
  this.decorations = twigMatcher.updateDeco(update, this.decorations);
243
225
  }
244
226
  },
245
- { decorations: (v) => v.decorations },
227
+ { decorations: (v) => v.decorations }
246
228
  );
247
229
 
248
230
  /**
249
231
  * Handle editor content changes
250
232
  */
251
- function handleUpdate(update: {
252
- docChanged: boolean;
253
- state: EditorState;
254
- }): void {
233
+ function handleUpdate(update: { docChanged: boolean; state: EditorState }): void {
255
234
  if (!update.docChanged || isInternalUpdate) {
256
235
  return;
257
236
  }
@@ -268,7 +247,7 @@
268
247
  function createExtensions() {
269
248
  const extensions = [
270
249
  // Position tooltips using fixed strategy so they aren't clipped by container overflow
271
- tooltips({ position: "fixed" }),
250
+ tooltips({ position: 'fixed' }),
272
251
 
273
252
  // Essential visual features
274
253
  lineNumbers(),
@@ -280,20 +259,13 @@
280
259
  // Editing features (skip when read-only)
281
260
  ...(disabled
282
261
  ? []
283
- : [
284
- history(),
285
- keymap.of([...defaultKeymap, ...historyKeymap, indentWithTab]),
286
- ]),
262
+ : [history(), keymap.of([...defaultKeymap, ...historyKeymap, indentWithTab])]),
287
263
 
288
264
  // Read-only: prevent document changes and mark content as non-editable
289
- ...(disabled
290
- ? [EditorState.readOnly.of(true), EditorView.editable.of(false)]
291
- : []),
265
+ ...(disabled ? [EditorState.readOnly.of(true), EditorView.editable.of(false)] : []),
292
266
 
293
267
  // Syntax highlighting - use default for light mode, oneDark handles dark mode
294
- ...(darkTheme
295
- ? []
296
- : [syntaxHighlighting(defaultHighlightStyle, { fallback: true })]),
268
+ ...(darkTheme ? [] : [syntaxHighlighting(defaultHighlightStyle, { fallback: true })]),
297
269
 
298
270
  // Twig syntax highlighting ({{ expressions }}, {% blocks %}, {# comments #})
299
271
  twigHighlighter,
@@ -303,92 +275,88 @@
303
275
 
304
276
  // Custom theme with autocomplete styling
305
277
  EditorView.theme({
306
- "&": {
278
+ '&': {
307
279
  height: height,
308
- fontSize: "0.875rem",
309
- fontFamily:
310
- "'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace",
280
+ fontSize: '0.875rem',
281
+ fontFamily: "'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace"
311
282
  },
312
- ".cm-scroller": {
313
- overflow: "auto",
283
+ '.cm-scroller': {
284
+ overflow: 'auto'
314
285
  },
315
- ".cm-content": {
316
- minHeight: "100px",
317
- padding: "0.5rem 0",
286
+ '.cm-content': {
287
+ minHeight: '100px',
288
+ padding: '0.5rem 0'
318
289
  },
319
- "&.cm-focused": {
320
- outline: "none",
290
+ '&.cm-focused': {
291
+ outline: 'none'
321
292
  },
322
- ".cm-line": {
323
- padding: "0 0.5rem",
293
+ '.cm-line': {
294
+ padding: '0 0.5rem'
324
295
  },
325
296
  // Twig expression: {{ variable }}
326
- ".cm-twig-expression": {
327
- color: "#a855f7",
328
- backgroundColor: "rgba(168, 85, 247, 0.1)",
329
- borderRadius: "3px",
330
- padding: "1px 2px",
331
- fontWeight: "500",
297
+ '.cm-twig-expression': {
298
+ color: '#a855f7',
299
+ backgroundColor: 'rgba(168, 85, 247, 0.1)',
300
+ borderRadius: '3px',
301
+ padding: '1px 2px',
302
+ fontWeight: '500'
332
303
  },
333
304
  // Twig block: {% for ... %}
334
- ".cm-twig-block": {
335
- color: "#14b8a6",
336
- backgroundColor: "rgba(20, 184, 166, 0.1)",
337
- borderRadius: "3px",
338
- padding: "1px 2px",
339
- fontWeight: "500",
305
+ '.cm-twig-block': {
306
+ color: '#14b8a6',
307
+ backgroundColor: 'rgba(20, 184, 166, 0.1)',
308
+ borderRadius: '3px',
309
+ padding: '1px 2px',
310
+ fontWeight: '500'
340
311
  },
341
312
  // Twig comment: {# ... #}
342
- ".cm-twig-comment": {
343
- color: "#6b7280",
344
- fontStyle: "italic",
313
+ '.cm-twig-comment': {
314
+ color: '#6b7280',
315
+ fontStyle: 'italic'
345
316
  },
346
317
  // Autocomplete dropdown styling
347
- ".cm-tooltip.cm-tooltip-autocomplete": {
348
- backgroundColor: "var(--fd-background, #ffffff)",
349
- border: "1px solid var(--fd-border, #e5e7eb)",
350
- borderRadius: "var(--fd-radius-lg, 0.5rem)",
351
- boxShadow: "var(--fd-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1))",
352
- padding: "0.25rem",
353
- maxHeight: "200px",
354
- overflow: "auto",
318
+ '.cm-tooltip.cm-tooltip-autocomplete': {
319
+ backgroundColor: 'var(--fd-background, #ffffff)',
320
+ border: '1px solid var(--fd-border, #e5e7eb)',
321
+ borderRadius: 'var(--fd-radius-lg, 0.5rem)',
322
+ boxShadow: 'var(--fd-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1))',
323
+ padding: '0.25rem',
324
+ maxHeight: '200px',
325
+ overflow: 'auto'
355
326
  },
356
- ".cm-tooltip.cm-tooltip-autocomplete > ul": {
357
- fontFamily:
358
- "'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace",
359
- fontSize: "0.8125rem",
327
+ '.cm-tooltip.cm-tooltip-autocomplete > ul': {
328
+ fontFamily: "'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace",
329
+ fontSize: '0.8125rem'
360
330
  },
361
- ".cm-tooltip.cm-tooltip-autocomplete > ul > li": {
362
- padding: "0.375rem 0.625rem",
363
- borderRadius: "var(--fd-radius-md, 0.375rem)",
364
- display: "flex",
365
- alignItems: "center",
366
- gap: "0.5rem",
331
+ '.cm-tooltip.cm-tooltip-autocomplete > ul > li': {
332
+ padding: '0.375rem 0.625rem',
333
+ borderRadius: 'var(--fd-radius-md, 0.375rem)',
334
+ display: 'flex',
335
+ alignItems: 'center',
336
+ gap: '0.5rem'
367
337
  },
368
- ".cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected]": {
369
- backgroundColor: "var(--fd-accent-muted, rgba(168, 85, 247, 0.1))",
370
- color: "var(--fd-accent-hover, #7c3aed)",
338
+ '.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected]': {
339
+ backgroundColor: 'var(--fd-accent-muted, rgba(168, 85, 247, 0.1))',
340
+ color: 'var(--fd-accent-hover, #7c3aed)'
371
341
  },
372
- ".cm-completionLabel": {
373
- flex: "1",
374
- },
375
- ".cm-completionDetail": {
376
- fontSize: "0.6875rem",
377
- color: "var(--fd-muted-foreground, #6b7280)",
378
- opacity: "0.8",
342
+ '.cm-completionLabel': {
343
+ flex: '1'
379
344
  },
345
+ '.cm-completionDetail': {
346
+ fontSize: '0.6875rem',
347
+ color: 'var(--fd-muted-foreground, #6b7280)',
348
+ opacity: '0.8'
349
+ }
380
350
  }),
381
351
  EditorView.lineWrapping,
382
- EditorState.tabSize.of(2),
352
+ EditorState.tabSize.of(2)
383
353
  ];
384
354
 
385
355
  // Add autocomplete compartment (can be reconfigured dynamically)
386
356
  // When disabled or no schema, use empty array
387
357
  if (!disabled && effectiveVariableSchema) {
388
358
  extensions.push(
389
- autocompleteCompartment.of(
390
- createTemplateAutocomplete(effectiveVariableSchema),
391
- ),
359
+ autocompleteCompartment.of(createTemplateAutocomplete(effectiveVariableSchema))
392
360
  );
393
361
  } else {
394
362
  extensions.push(autocompleteCompartment.of([]));
@@ -399,27 +367,27 @@
399
367
  // Add dark theme overrides for Twig highlighting and autocomplete
400
368
  extensions.push(
401
369
  EditorView.theme({
402
- ".cm-twig-expression": {
403
- color: "#c084fc",
404
- backgroundColor: "rgba(192, 132, 252, 0.15)",
405
- },
406
- ".cm-twig-block": {
407
- color: "#5eead4",
408
- backgroundColor: "rgba(94, 234, 212, 0.1)",
370
+ '.cm-twig-expression': {
371
+ color: '#c084fc',
372
+ backgroundColor: 'rgba(192, 132, 252, 0.15)'
409
373
  },
410
- ".cm-twig-comment": {
411
- color: "#6b7280",
374
+ '.cm-twig-block': {
375
+ color: '#5eead4',
376
+ backgroundColor: 'rgba(94, 234, 212, 0.1)'
412
377
  },
413
- ".cm-tooltip.cm-tooltip-autocomplete": {
414
- backgroundColor: "#1e1e1e",
415
- border: "1px solid #3e4451",
416
- boxShadow: "0 10px 15px -3px rgba(0, 0, 0, 0.3)",
378
+ '.cm-twig-comment': {
379
+ color: '#6b7280'
417
380
  },
418
- ".cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected]": {
419
- backgroundColor: "rgba(192, 132, 252, 0.2)",
420
- color: "#c084fc",
381
+ '.cm-tooltip.cm-tooltip-autocomplete': {
382
+ backgroundColor: '#1e1e1e',
383
+ border: '1px solid #3e4451',
384
+ boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.3)'
421
385
  },
422
- }),
386
+ '.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected]': {
387
+ backgroundColor: 'rgba(192, 132, 252, 0.2)',
388
+ color: '#c084fc'
389
+ }
390
+ })
423
391
  );
424
392
  }
425
393
 
@@ -439,7 +407,7 @@
439
407
 
440
408
  editorView.dispatch({
441
409
  changes: { from, to, insert: insertText },
442
- selection: { anchor: from + insertText.length },
410
+ selection: { anchor: from + insertText.length }
443
411
  });
444
412
 
445
413
  editorView.focus();
@@ -459,9 +427,9 @@
459
427
  editorView = new EditorView({
460
428
  state: EditorState.create({
461
429
  doc: value,
462
- extensions: createExtensions(),
430
+ extensions: createExtensions()
463
431
  }),
464
- parent: containerRef,
432
+ parent: containerRef
465
433
  });
466
434
  });
467
435
  });
@@ -492,8 +460,8 @@
492
460
  changes: {
493
461
  from: 0,
494
462
  to: editorView.state.doc.length,
495
- insert: value,
496
- },
463
+ insert: value
464
+ }
497
465
  });
498
466
  isInternalUpdate = false;
499
467
  }
@@ -512,11 +480,10 @@
512
480
 
513
481
  // When effectiveVariableSchema changes, reconfigure the autocomplete compartment
514
482
  // This happens after async API loading completes
515
- const newAutocomplete =
516
- !disabled && schema ? createTemplateAutocomplete(schema) : [];
483
+ const newAutocomplete = !disabled && schema ? createTemplateAutocomplete(schema) : [];
517
484
 
518
485
  editorView.dispatch({
519
- effects: [autocompleteCompartment.reconfigure(newAutocomplete)],
486
+ effects: [autocompleteCompartment.reconfigure(newAutocomplete)]
520
487
  });
521
488
  });
522
489
  </script>
@@ -544,22 +511,14 @@
544
511
 
545
512
  <!-- Loading banner (shown while fetching variables from API) -->
546
513
  {#if isLoadingVariables}
547
- <div
548
- class="form-template-editor__banner form-template-editor__banner--loading"
549
- >
514
+ <div class="form-template-editor__banner form-template-editor__banner--loading">
550
515
  <svg
551
516
  class="form-template-editor__banner-icon form-template-editor__banner-icon--spin"
552
517
  xmlns="http://www.w3.org/2000/svg"
553
518
  fill="none"
554
519
  viewBox="0 0 24 24"
555
520
  >
556
- <circle
557
- class="opacity-25"
558
- cx="12"
559
- cy="12"
560
- r="10"
561
- stroke="currentColor"
562
- stroke-width="4"
521
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"
563
522
  ></circle>
564
523
  <path
565
524
  class="opacity-75"
@@ -573,9 +532,7 @@
573
532
 
574
533
  <!-- Error banner (shown when API fetch fails) -->
575
534
  {#if variableLoadError}
576
- <div
577
- class="form-template-editor__banner form-template-editor__banner--error"
578
- >
535
+ <div class="form-template-editor__banner form-template-editor__banner--error">
579
536
  <svg
580
537
  class="form-template-editor__banner-icon"
581
538
  xmlns="http://www.w3.org/2000/svg"
@@ -603,8 +560,7 @@
603
560
  <!-- Variable hints section (shown when variables are available and showHints is true) -->
604
561
  {#if showHints && displayVariables.length > 0}
605
562
  <div class="form-template-editor__hints">
606
- <span class="form-template-editor__hints-label">Available variables:</span
607
- >
563
+ <span class="form-template-editor__hints-label">Available variables:</span>
608
564
  <div class="form-template-editor__hints-list">
609
565
  {#each displayVariables as varName (varName)}
610
566
  <button
@@ -613,7 +569,7 @@
613
569
  onclick={() => insertVariable(varName)}
614
570
  title={`Insert {{ ${varName} }}`}
615
571
  >
616
- <code>{"{{ "}{varName}{" }}"}</code>
572
+ <code>{'{{ '}{varName}{' }}'}</code>
617
573
  </button>
618
574
  {/each}
619
575
  </div>
@@ -623,12 +579,8 @@
623
579
  <!-- Placeholder hint when empty -->
624
580
  {#if !value && placeholderExample}
625
581
  <div class="form-template-editor__placeholder">
626
- <span class="form-template-editor__placeholder-label"
627
- >Example template:</span
628
- >
629
- <code class="form-template-editor__placeholder-example"
630
- >{placeholderExample}</code
631
- >
582
+ <span class="form-template-editor__placeholder-label">Example template:</span>
583
+ <code class="form-template-editor__placeholder-example">{placeholderExample}</code>
632
584
  </div>
633
585
  {/if}
634
586
 
@@ -647,8 +599,7 @@
647
599
  />
648
600
  </svg>
649
601
  <span
650
- >Use <code>{"{{ variable }}"}</code> syntax to insert dynamic values from the
651
- data input</span
602
+ >Use <code>{'{{ variable }}'}</code> syntax to insert dynamic values from the data input</span
652
603
  >
653
604
  </div>
654
605
  </div>
@@ -751,7 +702,7 @@
751
702
  }
752
703
 
753
704
  .form-template-editor__hint-btn code {
754
- font-family: "JetBrains Mono", "Fira Code", "Monaco", "Menlo", monospace;
705
+ font-family: 'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace;
755
706
  font-size: 0.6875rem;
756
707
  color: var(--fd-accent-hover);
757
708
  }
@@ -777,7 +728,7 @@
777
728
 
778
729
  .form-template-editor__placeholder-example {
779
730
  display: block;
780
- font-family: "JetBrains Mono", "Fira Code", "Monaco", "Menlo", monospace;
731
+ font-family: 'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace;
781
732
  font-size: var(--fd-text-xs);
782
733
  color: var(--fd-foreground);
783
734
  word-break: break-all;
@@ -804,7 +755,7 @@
804
755
  padding: 0.0625rem 0.25rem;
805
756
  background-color: var(--fd-subtle);
806
757
  border-radius: var(--fd-radius-sm);
807
- font-family: "JetBrains Mono", "Fira Code", "Monaco", "Menlo", monospace;
758
+ font-family: 'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace;
808
759
  font-size: 0.625rem;
809
760
  }
810
761
 
@@ -1,4 +1,4 @@
1
- import type { TemplateVariablesConfig, WorkflowNode, WorkflowEdge, AuthProvider } from "../../types/index.js";
1
+ import type { TemplateVariablesConfig, WorkflowNode, WorkflowEdge, AuthProvider } from '../../types/index.js';
2
2
  interface Props {
3
3
  /** Field identifier */
4
4
  id: string;
@@ -1,36 +1,30 @@
1
1
  <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import FormTextField from "./FormTextField.svelte";
4
- import { fn } from "storybook/test";
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import FormTextField from './FormTextField.svelte';
4
+ import { fn } from 'storybook/test';
5
5
 
6
6
  const { Story } = defineMeta({
7
- title: "Form/FormTextField",
7
+ title: 'Form/FormTextField',
8
8
  component: FormTextField,
9
- tags: ["autodocs"],
9
+ tags: ['autodocs'],
10
10
  argTypes: {
11
- value: { control: "text" },
12
- placeholder: { control: "text" },
13
- required: { control: "boolean" },
14
- disabled: { control: "boolean" },
11
+ value: { control: 'text' },
12
+ placeholder: { control: 'text' },
13
+ required: { control: 'boolean' },
14
+ disabled: { control: 'boolean' }
15
15
  },
16
16
  args: {
17
- id: "demo-text-field",
18
- value: "",
19
- onChange: fn(),
20
- },
17
+ id: 'demo-text-field',
18
+ value: '',
19
+ onChange: fn()
20
+ }
21
21
  });
22
22
  </script>
23
23
 
24
- <Story name="Default" args={{ placeholder: "Enter text..." }} />
24
+ <Story name="Default" args={{ placeholder: 'Enter text...' }} />
25
25
 
26
- <Story
27
- name="With Value"
28
- args={{ value: "Hello World", placeholder: "Enter text..." }}
29
- />
26
+ <Story name="With Value" args={{ value: 'Hello World', placeholder: 'Enter text...' }} />
30
27
 
31
- <Story
32
- name="Required"
33
- args={{ required: true, placeholder: "Required field" }}
34
- />
28
+ <Story name="Required" args={{ required: true, placeholder: 'Required field' }} />
35
29
 
36
- <Story name="Disabled" args={{ value: "Cannot edit this", disabled: true }} />
30
+ <Story name="Disabled" args={{ value: 'Cannot edit this', disabled: true }} />
@@ -11,7 +11,7 @@ declare const FormTextField: $$__sveltets_2_IsomorphicComponent<{
11
11
  }, {
12
12
  [evt: string]: CustomEvent<any>;
13
13
  }, {}, {}, string>;
14
- import FormTextField from "./FormTextField.svelte";
14
+ import FormTextField from './FormTextField.svelte';
15
15
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
16
16
  new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
17
17
  $$bindings?: Bindings;
@@ -28,12 +28,12 @@
28
28
 
29
29
  let {
30
30
  id,
31
- value = "",
32
- placeholder = "",
31
+ value = '',
32
+ placeholder = '',
33
33
  required = false,
34
34
  disabled = false,
35
35
  ariaDescribedBy,
36
- onChange,
36
+ onChange
37
37
  }: Props = $props();
38
38
 
39
39
  /**
@@ -49,7 +49,7 @@
49
49
  {id}
50
50
  type="text"
51
51
  class="form-text-field"
52
- value={value ?? ""}
52
+ value={value ?? ''}
53
53
  {placeholder}
54
54
  {disabled}
55
55
  aria-describedby={ariaDescribedBy}