@flowdrop/flowdrop 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/README.md +46 -47
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +26 -26
  4. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
  5. package/dist/adapters/agentspec/AgentSpecAdapter.js +122 -133
  6. package/dist/adapters/agentspec/agentAdapter.d.ts +2 -2
  7. package/dist/adapters/agentspec/agentAdapter.js +10 -10
  8. package/dist/adapters/agentspec/autoLayout.d.ts +1 -1
  9. package/dist/adapters/agentspec/autoLayout.js +7 -9
  10. package/dist/adapters/agentspec/componentTypeDefaults.d.ts +1 -1
  11. package/dist/adapters/agentspec/componentTypeDefaults.js +120 -120
  12. package/dist/adapters/agentspec/defaultNodeTypes.d.ts +2 -2
  13. package/dist/adapters/agentspec/defaultNodeTypes.js +307 -307
  14. package/dist/adapters/agentspec/index.d.ts +10 -10
  15. package/dist/adapters/agentspec/index.js +6 -6
  16. package/dist/adapters/agentspec/validator.d.ts +2 -2
  17. package/dist/adapters/agentspec/validator.js +20 -22
  18. package/dist/api/enhanced-client.d.ts +3 -3
  19. package/dist/api/enhanced-client.js +72 -73
  20. package/dist/chat/commandClassifier.js +6 -6
  21. package/dist/chat/index.d.ts +5 -5
  22. package/dist/chat/index.js +4 -4
  23. package/dist/chat/responseParser.d.ts +6 -6
  24. package/dist/chat/responseParser.js +28 -24
  25. package/dist/commands/batch.d.ts +1 -1
  26. package/dist/commands/batch.js +5 -7
  27. package/dist/commands/executor.d.ts +2 -2
  28. package/dist/commands/executor.js +320 -231
  29. package/dist/commands/index.d.ts +6 -6
  30. package/dist/commands/index.js +5 -5
  31. package/dist/commands/parser.d.ts +1 -1
  32. package/dist/commands/parser.js +91 -74
  33. package/dist/commands/positioner.d.ts +2 -2
  34. package/dist/commands/positioner.js +1 -1
  35. package/dist/commands/storeIntegration.svelte.d.ts +2 -2
  36. package/dist/commands/storeIntegration.svelte.js +5 -5
  37. package/dist/commands/types.d.ts +42 -42
  38. package/dist/commands/types.js +2 -2
  39. package/dist/components/App.svelte +240 -294
  40. package/dist/components/App.svelte.d.ts +9 -9
  41. package/dist/components/CanvasBanner.stories.svelte +10 -16
  42. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  43. package/dist/components/CanvasBanner.svelte +2 -2
  44. package/dist/components/CanvasBanner.svelte.d.ts +1 -1
  45. package/dist/components/CanvasController.svelte +3 -4
  46. package/dist/components/ConfigForm.svelte +118 -256
  47. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  48. package/dist/components/ConfigMappingRow.svelte +7 -9
  49. package/dist/components/ConfigMappingRow.svelte.d.ts +1 -1
  50. package/dist/components/ConfigModal.svelte +3 -3
  51. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  52. package/dist/components/ConfigPanel.stories.svelte +19 -19
  53. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  54. package/dist/components/ConfigPanel.svelte +9 -20
  55. package/dist/components/ConfigPanel.svelte.d.ts +1 -1
  56. package/dist/components/ConnectionLine.svelte +4 -4
  57. package/dist/components/EdgeRefresher.svelte +1 -1
  58. package/dist/components/FlowDropEdge.stories.svelte +110 -110
  59. package/dist/components/FlowDropEdge.svelte +9 -9
  60. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  61. package/dist/components/FlowDropZone.svelte +6 -9
  62. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  63. package/dist/components/LoadingSpinner.stories.svelte +13 -13
  64. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  65. package/dist/components/LoadingSpinner.svelte +3 -3
  66. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  67. package/dist/components/Logo.stories.svelte +4 -4
  68. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  69. package/dist/components/Logo.svelte +3 -9
  70. package/dist/components/LogsSidebar.svelte +41 -48
  71. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  72. package/dist/components/MarkdownDisplay.stories.svelte +10 -14
  73. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  74. package/dist/components/MarkdownDisplay.svelte +4 -6
  75. package/dist/components/Navbar.stories.svelte +19 -19
  76. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  77. package/dist/components/Navbar.svelte +28 -49
  78. package/dist/components/Navbar.svelte.d.ts +2 -2
  79. package/dist/components/NodeSidebar.svelte +42 -88
  80. package/dist/components/NodeSidebar.svelte.d.ts +1 -1
  81. package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
  82. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  83. package/dist/components/NodeStatusOverlay.svelte +40 -55
  84. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  85. package/dist/components/NodeSwapPicker.svelte +20 -64
  86. package/dist/components/NodeSwapPicker.svelte.d.ts +1 -1
  87. package/dist/components/PipelineStatus.svelte +63 -89
  88. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  89. package/dist/components/PortCoordinateTracker.svelte +5 -7
  90. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  91. package/dist/components/PortMappingRow.svelte +20 -24
  92. package/dist/components/PortMappingRow.svelte.d.ts +2 -2
  93. package/dist/components/ReadOnlyDetails.svelte +1 -1
  94. package/dist/components/SchemaForm.stories.svelte +53 -53
  95. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  96. package/dist/components/SchemaForm.svelte +24 -51
  97. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  98. package/dist/components/SettingsModal.svelte +6 -9
  99. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  100. package/dist/components/SettingsPanel.svelte +138 -158
  101. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  102. package/dist/components/StatusIcon.stories.svelte +16 -29
  103. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  104. package/dist/components/StatusIcon.svelte +19 -19
  105. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  106. package/dist/components/StatusLabel.stories.svelte +8 -8
  107. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  108. package/dist/components/SwapMappingEditor.svelte +35 -56
  109. package/dist/components/SwapMappingEditor.svelte.d.ts +2 -2
  110. package/dist/components/ThemeToggle.stories.svelte +10 -10
  111. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  112. package/dist/components/ThemeToggle.svelte +22 -33
  113. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  114. package/dist/components/UniversalNode.svelte +29 -41
  115. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  116. package/dist/components/WorkflowEditor.svelte +113 -168
  117. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  118. package/dist/components/chat/AIChatPanel.svelte +272 -133
  119. package/dist/components/chat/AIChatPanel.svelte.d.ts +3 -3
  120. package/dist/components/chat/CommandPreview.svelte +74 -24
  121. package/dist/components/chat/CommandPreview.svelte.d.ts +1 -1
  122. package/dist/components/console/CommandConsole.stories.svelte +71 -53
  123. package/dist/components/console/CommandConsole.stories.svelte.d.ts +1 -1
  124. package/dist/components/console/CommandConsole.svelte +39 -35
  125. package/dist/components/console/CommandConsole.svelte.d.ts +2 -2
  126. package/dist/components/console/ConsoleAutocomplete.svelte +6 -3
  127. package/dist/components/console/ConsoleInput.svelte +148 -89
  128. package/dist/components/console/ConsoleInput.svelte.d.ts +1 -1
  129. package/dist/components/console/ConsoleOutput.svelte +5 -10
  130. package/dist/components/console/ConsoleOutput.svelte.d.ts +1 -1
  131. package/dist/components/console/formatters.d.ts +1 -1
  132. package/dist/components/console/formatters.js +27 -29
  133. package/dist/components/form/FormArray.svelte +75 -132
  134. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  135. package/dist/components/form/FormAutocomplete.svelte +65 -108
  136. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  137. package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
  138. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  139. package/dist/components/form/FormCheckboxGroup.svelte +2 -2
  140. package/dist/components/form/FormCodeEditor.svelte +42 -56
  141. package/dist/components/form/FormField.svelte +79 -90
  142. package/dist/components/form/FormField.svelte.d.ts +2 -2
  143. package/dist/components/form/FormFieldLight.svelte +72 -88
  144. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  145. package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
  146. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  147. package/dist/components/form/FormFieldWrapper.svelte +2 -9
  148. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  149. package/dist/components/form/FormFieldset.svelte +3 -3
  150. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  151. package/dist/components/form/FormMarkdownEditor.svelte +123 -156
  152. package/dist/components/form/FormNumberField.stories.svelte +18 -18
  153. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  154. package/dist/components/form/FormNumberField.svelte +6 -6
  155. package/dist/components/form/FormRangeField.stories.svelte +13 -13
  156. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  157. package/dist/components/form/FormRangeField.svelte +4 -12
  158. package/dist/components/form/FormSelect.stories.svelte +21 -21
  159. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  160. package/dist/components/form/FormSelect.svelte +5 -5
  161. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  162. package/dist/components/form/FormTemplateEditor.svelte +126 -175
  163. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  164. package/dist/components/form/FormTextField.stories.svelte +17 -23
  165. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  166. package/dist/components/form/FormTextField.svelte +4 -4
  167. package/dist/components/form/FormTextarea.stories.svelte +18 -21
  168. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  169. package/dist/components/form/FormTextarea.svelte +4 -4
  170. package/dist/components/form/FormToggle.stories.svelte +13 -16
  171. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  172. package/dist/components/form/FormToggle.svelte +3 -3
  173. package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
  174. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  175. package/dist/components/form/index.d.ts +19 -19
  176. package/dist/components/form/index.js +18 -18
  177. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  178. package/dist/components/form/templateAutocomplete.js +55 -64
  179. package/dist/components/form/types.d.ts +6 -6
  180. package/dist/components/form/types.js +4 -9
  181. package/dist/components/icons/AlertCircleIcon.svelte +1 -6
  182. package/dist/components/icons/CogIcon.svelte +1 -6
  183. package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
  184. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  185. package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
  186. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  187. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
  188. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  189. package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
  190. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  191. package/dist/components/interrupt/FormPrompt.svelte +10 -15
  192. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  193. package/dist/components/interrupt/InterruptBubble.svelte +87 -121
  194. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  195. package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
  196. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  197. package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
  198. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  199. package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
  200. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  201. package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
  202. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  203. package/dist/components/interrupt/index.d.ts +6 -6
  204. package/dist/components/interrupt/index.js +6 -6
  205. package/dist/components/layouts/MainLayout.svelte +46 -84
  206. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  207. package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
  208. package/dist/components/nodes/GatewayNode.svelte +37 -70
  209. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  210. package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
  211. package/dist/components/nodes/IdeaNode.svelte +22 -36
  212. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  213. package/dist/components/nodes/NotesNode.stories.svelte +37 -38
  214. package/dist/components/nodes/NotesNode.svelte +28 -39
  215. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  216. package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
  217. package/dist/components/nodes/SimpleNode.svelte +44 -74
  218. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  219. package/dist/components/nodes/SquareNode.stories.svelte +75 -75
  220. package/dist/components/nodes/SquareNode.svelte +42 -68
  221. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  222. package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
  223. package/dist/components/nodes/TerminalNode.svelte +74 -112
  224. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  225. package/dist/components/nodes/ToolNode.stories.svelte +115 -116
  226. package/dist/components/nodes/ToolNode.svelte +31 -64
  227. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  228. package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
  229. package/dist/components/nodes/WorkflowNode.svelte +50 -103
  230. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  231. package/dist/components/playground/ChatPanel.svelte +47 -103
  232. package/dist/components/playground/ExecutionLogs.svelte +45 -68
  233. package/dist/components/playground/InputCollector.svelte +32 -51
  234. package/dist/components/playground/MessageBubble.stories.svelte +25 -25
  235. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  236. package/dist/components/playground/MessageBubble.svelte +54 -70
  237. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  238. package/dist/components/playground/Playground.svelte +60 -91
  239. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  240. package/dist/components/playground/PlaygroundModal.svelte +8 -12
  241. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  242. package/dist/components/playground/SessionManager.svelte +34 -40
  243. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  244. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  245. package/dist/config/agentSpecEndpoints.js +20 -20
  246. package/dist/config/constants.js +2 -2
  247. package/dist/config/defaultCategories.d.ts +1 -1
  248. package/dist/config/defaultCategories.js +86 -86
  249. package/dist/config/defaultPortConfig.d.ts +1 -1
  250. package/dist/config/defaultPortConfig.js +144 -144
  251. package/dist/config/endpoints.d.ts +4 -4
  252. package/dist/config/endpoints.js +68 -68
  253. package/dist/config/runtimeConfig.d.ts +2 -2
  254. package/dist/config/runtimeConfig.js +8 -8
  255. package/dist/core/index.d.ts +68 -68
  256. package/dist/core/index.js +38 -38
  257. package/dist/display/index.d.ts +2 -2
  258. package/dist/display/index.js +2 -2
  259. package/dist/editor/index.d.ts +64 -64
  260. package/dist/editor/index.js +54 -54
  261. package/dist/form/code.d.ts +5 -5
  262. package/dist/form/code.js +14 -14
  263. package/dist/form/fieldRegistry.d.ts +3 -3
  264. package/dist/form/fieldRegistry.js +9 -11
  265. package/dist/form/full.d.ts +8 -8
  266. package/dist/form/full.js +9 -9
  267. package/dist/form/index.d.ts +18 -18
  268. package/dist/form/index.js +16 -16
  269. package/dist/form/markdown.d.ts +4 -4
  270. package/dist/form/markdown.js +8 -8
  271. package/dist/helpers/proximityConnect.d.ts +3 -3
  272. package/dist/helpers/proximityConnect.js +32 -34
  273. package/dist/helpers/workflowEditorHelper.d.ts +6 -6
  274. package/dist/helpers/workflowEditorHelper.js +64 -68
  275. package/dist/index.d.ts +6 -6
  276. package/dist/index.js +6 -6
  277. package/dist/mocks/app-environment.js +2 -2
  278. package/dist/mocks/app-forms.js +1 -1
  279. package/dist/mocks/app-navigation.js +2 -2
  280. package/dist/mocks/app-stores.js +3 -3
  281. package/dist/playground/index.d.ts +19 -19
  282. package/dist/playground/index.js +16 -16
  283. package/dist/playground/mount.d.ts +3 -3
  284. package/dist/playground/mount.js +24 -24
  285. package/dist/registry/builtinFormats.js +13 -13
  286. package/dist/registry/builtinNodes.d.ts +2 -2
  287. package/dist/registry/builtinNodes.js +77 -77
  288. package/dist/registry/index.d.ts +4 -4
  289. package/dist/registry/index.js +4 -4
  290. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  291. package/dist/registry/nodeComponentRegistry.js +9 -11
  292. package/dist/registry/plugin.d.ts +2 -2
  293. package/dist/registry/plugin.js +11 -11
  294. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  295. package/dist/registry/workflowFormatRegistry.js +2 -2
  296. package/dist/schema/index.d.ts +1 -1
  297. package/dist/schema/index.js +2 -2
  298. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  299. package/dist/services/agentSpecExecutionService.js +55 -56
  300. package/dist/services/api.d.ts +2 -2
  301. package/dist/services/api.js +37 -37
  302. package/dist/services/apiVariableService.d.ts +1 -1
  303. package/dist/services/apiVariableService.js +34 -41
  304. package/dist/services/autoSaveService.js +8 -8
  305. package/dist/services/categoriesApi.d.ts +2 -2
  306. package/dist/services/categoriesApi.js +8 -8
  307. package/dist/services/chatService.d.ts +1 -1
  308. package/dist/services/chatService.js +18 -18
  309. package/dist/services/draftStorage.d.ts +1 -1
  310. package/dist/services/draftStorage.js +11 -11
  311. package/dist/services/dynamicSchemaService.d.ts +1 -1
  312. package/dist/services/dynamicSchemaService.js +39 -41
  313. package/dist/services/globalSave.d.ts +2 -2
  314. package/dist/services/globalSave.js +38 -41
  315. package/dist/services/historyService.d.ts +1 -1
  316. package/dist/services/historyService.js +10 -10
  317. package/dist/services/interruptService.d.ts +1 -1
  318. package/dist/services/interruptService.js +29 -35
  319. package/dist/services/nodeExecutionService.d.ts +1 -1
  320. package/dist/services/nodeExecutionService.js +44 -45
  321. package/dist/services/playgroundService.d.ts +1 -1
  322. package/dist/services/playgroundService.js +29 -29
  323. package/dist/services/portConfigApi.d.ts +2 -2
  324. package/dist/services/portConfigApi.js +8 -8
  325. package/dist/services/settingsService.d.ts +2 -2
  326. package/dist/services/settingsService.js +19 -25
  327. package/dist/services/toastService.d.ts +4 -4
  328. package/dist/services/toastService.js +33 -33
  329. package/dist/services/variableService.d.ts +1 -1
  330. package/dist/services/variableService.js +36 -36
  331. package/dist/services/workflowStorage.d.ts +2 -2
  332. package/dist/services/workflowStorage.js +13 -13
  333. package/dist/settings/index.d.ts +7 -7
  334. package/dist/settings/index.js +6 -6
  335. package/dist/skins/default.d.ts +1 -1
  336. package/dist/skins/default.js +1 -1
  337. package/dist/skins/index.d.ts +3 -3
  338. package/dist/skins/index.js +7 -7
  339. package/dist/skins/slate.d.ts +1 -1
  340. package/dist/skins/slate.js +69 -69
  341. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  342. package/dist/stores/categoriesStore.svelte.js +5 -5
  343. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  344. package/dist/stores/editorStateMachine.svelte.js +34 -34
  345. package/dist/stores/historyStore.svelte.d.ts +4 -4
  346. package/dist/stores/historyStore.svelte.js +4 -4
  347. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  348. package/dist/stores/interruptStore.svelte.js +21 -21
  349. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  350. package/dist/stores/playgroundStore.svelte.js +18 -21
  351. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  352. package/dist/stores/portCoordinateStore.svelte.js +10 -13
  353. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  354. package/dist/stores/settingsStore.svelte.js +57 -62
  355. package/dist/stores/workflowStore.svelte.d.ts +3 -3
  356. package/dist/stores/workflowStore.svelte.js +46 -47
  357. package/dist/stories/CanvasDecorator.svelte +7 -10
  358. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  359. package/dist/stories/EdgeDecorator.svelte +28 -31
  360. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  361. package/dist/stories/NodeDecorator.svelte +14 -20
  362. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  363. package/dist/stories/utils.d.ts +2 -2
  364. package/dist/stories/utils.js +89 -93
  365. package/dist/styles/base.css +16 -50
  366. package/dist/styles/tokens.css +10 -28
  367. package/dist/svelte-app.d.ts +10 -10
  368. package/dist/svelte-app.js +39 -39
  369. package/dist/themes/default.d.ts +1 -1
  370. package/dist/themes/default.js +4 -4
  371. package/dist/themes/index.d.ts +3 -3
  372. package/dist/themes/index.js +11 -11
  373. package/dist/themes/minimal.d.ts +1 -1
  374. package/dist/themes/minimal.js +5 -5
  375. package/dist/types/agentspec.d.ts +18 -18
  376. package/dist/types/agentspec.js +2 -2
  377. package/dist/types/auth.d.ts +1 -1
  378. package/dist/types/auth.js +6 -6
  379. package/dist/types/chat.d.ts +2 -2
  380. package/dist/types/config.d.ts +6 -6
  381. package/dist/types/events.d.ts +3 -3
  382. package/dist/types/events.js +2 -2
  383. package/dist/types/index.d.ts +32 -32
  384. package/dist/types/index.js +6 -6
  385. package/dist/types/interrupt.d.ts +6 -6
  386. package/dist/types/interrupt.js +21 -21
  387. package/dist/types/interruptState.d.ts +12 -12
  388. package/dist/types/interruptState.js +66 -66
  389. package/dist/types/playground.d.ts +7 -7
  390. package/dist/types/playground.js +14 -14
  391. package/dist/types/settings.d.ts +7 -5
  392. package/dist/types/settings.js +19 -24
  393. package/dist/types/skin.d.ts +1 -1
  394. package/dist/types/theme.d.ts +2 -2
  395. package/dist/types/uischema.d.ts +4 -4
  396. package/dist/types/uischema.js +3 -3
  397. package/dist/utils/colors.d.ts +1 -1
  398. package/dist/utils/colors.js +95 -97
  399. package/dist/utils/config.d.ts +2 -2
  400. package/dist/utils/config.js +48 -48
  401. package/dist/utils/connections.d.ts +2 -2
  402. package/dist/utils/connections.js +15 -15
  403. package/dist/utils/edgeStyling.d.ts +2 -2
  404. package/dist/utils/edgeStyling.js +36 -39
  405. package/dist/utils/errors.js +3 -3
  406. package/dist/utils/fetchWithAuth.d.ts +1 -1
  407. package/dist/utils/fetchWithAuth.js +2 -2
  408. package/dist/utils/handleIds.d.ts +2 -2
  409. package/dist/utils/handleIds.js +8 -8
  410. package/dist/utils/handlePositioning.d.ts +1 -1
  411. package/dist/utils/handlePositioning.js +2 -2
  412. package/dist/utils/icons.d.ts +1 -1
  413. package/dist/utils/icons.js +74 -74
  414. package/dist/utils/logger.d.ts +1 -1
  415. package/dist/utils/logger.js +7 -7
  416. package/dist/utils/nodeIds.d.ts +1 -1
  417. package/dist/utils/nodeIds.js +1 -1
  418. package/dist/utils/nodeStatus.d.ts +1 -1
  419. package/dist/utils/nodeStatus.js +48 -48
  420. package/dist/utils/nodeSwap.d.ts +9 -9
  421. package/dist/utils/nodeSwap.js +52 -58
  422. package/dist/utils/nodeTypes.d.ts +1 -1
  423. package/dist/utils/nodeTypes.js +20 -21
  424. package/dist/utils/nodeWrapper.d.ts +7 -7
  425. package/dist/utils/nodeWrapper.js +19 -21
  426. package/dist/utils/performanceUtils.d.ts +1 -1
  427. package/dist/utils/performanceUtils.js +1 -2
  428. package/dist/utils/portUtils.d.ts +2 -2
  429. package/dist/utils/portUtils.js +1 -1
  430. package/dist/utils/sanitize.js +1 -1
  431. package/dist/utils/uischema.d.ts +2 -2
  432. package/dist/utils/uischema.js +8 -8
  433. package/dist/utils/validation.js +8 -8
  434. package/package.json +7 -11
@@ -15,25 +15,22 @@
15
15
  -->
16
16
 
17
17
  <script lang="ts">
18
- import { onMount, onDestroy } from "svelte";
18
+ import { onMount, onDestroy } from 'svelte';
19
19
  import {
20
20
  EditorView,
21
21
  lineNumbers,
22
22
  highlightActiveLineGutter,
23
- drawSelection,
24
- } from "@codemirror/view";
25
- import { EditorState } from "@codemirror/state";
26
- import { history, historyKeymap } from "@codemirror/commands";
27
- import { highlightSpecialChars, highlightActiveLine } from "@codemirror/view";
28
- import {
29
- syntaxHighlighting,
30
- defaultHighlightStyle,
31
- } from "@codemirror/language";
32
- import { keymap } from "@codemirror/view";
33
- import { defaultKeymap, indentWithTab } from "@codemirror/commands";
34
- import { json, jsonParseLinter } from "@codemirror/lang-json";
35
- import { oneDark } from "@codemirror/theme-one-dark";
36
- import { linter } from "@codemirror/lint";
23
+ drawSelection
24
+ } from '@codemirror/view';
25
+ import { EditorState } from '@codemirror/state';
26
+ import { history, historyKeymap } from '@codemirror/commands';
27
+ import { highlightSpecialChars, highlightActiveLine } from '@codemirror/view';
28
+ import { syntaxHighlighting, defaultHighlightStyle } from '@codemirror/language';
29
+ import { keymap } from '@codemirror/view';
30
+ import { defaultKeymap, indentWithTab } from '@codemirror/commands';
31
+ import { json, jsonParseLinter } from '@codemirror/lang-json';
32
+ import { oneDark } from '@codemirror/theme-one-dark';
33
+ import { linter } from '@codemirror/lint';
37
34
 
38
35
  interface Props {
39
36
  /** Field identifier */
@@ -60,15 +57,15 @@
60
57
 
61
58
  let {
62
59
  id,
63
- value = "",
64
- placeholder = "{}",
60
+ value = '',
61
+ placeholder = '{}',
65
62
  required = false,
66
63
  darkTheme = false,
67
- height = "200px",
64
+ height = '200px',
68
65
  autoFormat = true,
69
66
  disabled = false,
70
67
  ariaDescribedBy,
71
- onChange,
68
+ onChange
72
69
  }: Props = $props();
73
70
 
74
71
  /** Reference to the container element */
@@ -91,9 +88,9 @@
91
88
  */
92
89
  function valueToString(val: unknown): string {
93
90
  if (val === undefined || val === null) {
94
- return "";
91
+ return '';
95
92
  }
96
- if (typeof val === "string") {
93
+ if (typeof val === 'string') {
97
94
  // Check if it's already a valid JSON string
98
95
  try {
99
96
  JSON.parse(val);
@@ -123,7 +120,7 @@
123
120
  const parsed = JSON.parse(content);
124
121
  return { valid: true, value: parsed };
125
122
  } catch (e) {
126
- const error = e instanceof Error ? e.message : "Invalid JSON";
123
+ const error = e instanceof Error ? e.message : 'Invalid JSON';
127
124
  return { valid: false, error };
128
125
  }
129
126
  }
@@ -131,10 +128,7 @@
131
128
  /**
132
129
  * Handle editor content changes
133
130
  */
134
- function handleUpdate(update: {
135
- docChanged: boolean;
136
- state: EditorState;
137
- }): void {
131
+ function handleUpdate(update: { docChanged: boolean; state: EditorState }): void {
138
132
  if (!update.docChanged || isInternalUpdate) {
139
133
  return;
140
134
  }
@@ -173,8 +167,8 @@
173
167
  changes: {
174
168
  from: 0,
175
169
  to: editorView.state.doc.length,
176
- insert: formatted,
177
- },
170
+ insert: formatted
171
+ }
178
172
  });
179
173
  isInternalUpdate = false;
180
174
  }
@@ -198,20 +192,13 @@
198
192
  // Editing features (skip when read-only)
199
193
  ...(disabled
200
194
  ? []
201
- : [
202
- history(),
203
- keymap.of([...defaultKeymap, ...historyKeymap, indentWithTab]),
204
- ]),
195
+ : [history(), keymap.of([...defaultKeymap, ...historyKeymap, indentWithTab])]),
205
196
 
206
197
  // Read-only: prevent document changes and mark content as non-editable
207
- ...(disabled
208
- ? [EditorState.readOnly.of(true), EditorView.editable.of(false)]
209
- : []),
198
+ ...(disabled ? [EditorState.readOnly.of(true), EditorView.editable.of(false)] : []),
210
199
 
211
200
  // Syntax highlighting - use default for light mode, oneDark handles dark mode
212
- ...(darkTheme
213
- ? [oneDark]
214
- : [syntaxHighlighting(defaultHighlightStyle, { fallback: true })]),
201
+ ...(darkTheme ? [oneDark] : [syntaxHighlighting(defaultHighlightStyle, { fallback: true })]),
215
202
 
216
203
  // JSON-specific features
217
204
  json(),
@@ -222,23 +209,22 @@
222
209
 
223
210
  // Custom theme
224
211
  EditorView.theme({
225
- "&": {
212
+ '&': {
226
213
  height: height,
227
- fontSize: "0.8125rem",
228
- fontFamily:
229
- "'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace",
214
+ fontSize: '0.8125rem',
215
+ fontFamily: "'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace"
230
216
  },
231
- ".cm-scroller": {
232
- overflow: "auto",
217
+ '.cm-scroller': {
218
+ overflow: 'auto'
233
219
  },
234
- ".cm-content": {
235
- minHeight: "100px",
236
- },
237
- "&.cm-focused": {
238
- outline: "none",
220
+ '.cm-content': {
221
+ minHeight: '100px'
239
222
  },
223
+ '&.cm-focused': {
224
+ outline: 'none'
225
+ }
240
226
  }),
241
- EditorView.lineWrapping,
227
+ EditorView.lineWrapping
242
228
  ];
243
229
 
244
230
  return extensions;
@@ -257,9 +243,9 @@
257
243
  editorView = new EditorView({
258
244
  state: EditorState.create({
259
245
  doc: initialContent,
260
- extensions: createExtensions(),
246
+ extensions: createExtensions()
261
247
  }),
262
- parent: containerRef,
248
+ parent: containerRef
263
249
  });
264
250
 
265
251
  // Validate initial content
@@ -305,8 +291,8 @@
305
291
  changes: {
306
292
  from: 0,
307
293
  to: editorView.state.doc.length,
308
- insert: newContent,
309
- },
294
+ insert: newContent
295
+ }
310
296
  });
311
297
  isInternalUpdate = false;
312
298
 
@@ -323,7 +309,7 @@
323
309
  type="hidden"
324
310
  {id}
325
311
  name={id}
326
- value={typeof value === "string" ? value : JSON.stringify(value)}
312
+ value={typeof value === 'string' ? value : JSON.stringify(value)}
327
313
  aria-describedby={ariaDescribedBy}
328
314
  aria-required={required}
329
315
  />
@@ -469,7 +455,7 @@
469
455
  padding: 0.125rem 0.375rem;
470
456
  background-color: var(--fd-subtle);
471
457
  border-radius: var(--fd-radius-sm);
472
- font-family: "JetBrains Mono", "Fira Code", "Monaco", "Menlo", monospace;
458
+ font-family: 'JetBrains Mono', 'Fira Code', 'Monaco', 'Menlo', monospace;
473
459
  font-size: 0.6875rem;
474
460
  font-style: normal;
475
461
  }
@@ -28,27 +28,23 @@
28
28
  -->
29
29
 
30
30
  <script lang="ts">
31
- import FormFieldWrapper from "./FormFieldWrapper.svelte";
32
- import FormTextField from "./FormTextField.svelte";
33
- import FormTextarea from "./FormTextarea.svelte";
34
- import FormNumberField from "./FormNumberField.svelte";
35
- import FormRangeField from "./FormRangeField.svelte";
36
- import FormToggle from "./FormToggle.svelte";
37
- import FormSelect from "./FormSelect.svelte";
38
- import FormCheckboxGroup from "./FormCheckboxGroup.svelte";
39
- import FormArray from "./FormArray.svelte";
40
- import FormCodeEditor from "./FormCodeEditor.svelte";
41
- import FormMarkdownEditor from "./FormMarkdownEditor.svelte";
42
- import FormTemplateEditor from "./FormTemplateEditor.svelte";
43
- import FormAutocomplete from "./FormAutocomplete.svelte";
44
- import type { FieldSchema } from "./types.js";
45
- import { getSchemaOptions } from "./types.js";
46
- import type {
47
- WorkflowNode,
48
- WorkflowEdge,
49
- AuthProvider,
50
- } from "../../types/index.js";
51
- import { getResolvedTheme } from "../../stores/settingsStore.svelte.js";
31
+ import FormFieldWrapper from './FormFieldWrapper.svelte';
32
+ import FormTextField from './FormTextField.svelte';
33
+ import FormTextarea from './FormTextarea.svelte';
34
+ import FormNumberField from './FormNumberField.svelte';
35
+ import FormRangeField from './FormRangeField.svelte';
36
+ import FormToggle from './FormToggle.svelte';
37
+ import FormSelect from './FormSelect.svelte';
38
+ import FormCheckboxGroup from './FormCheckboxGroup.svelte';
39
+ import FormArray from './FormArray.svelte';
40
+ import FormCodeEditor from './FormCodeEditor.svelte';
41
+ import FormMarkdownEditor from './FormMarkdownEditor.svelte';
42
+ import FormTemplateEditor from './FormTemplateEditor.svelte';
43
+ import FormAutocomplete from './FormAutocomplete.svelte';
44
+ import type { FieldSchema } from './types.js';
45
+ import { getSchemaOptions } from './types.js';
46
+ import type { WorkflowNode, WorkflowEdge, AuthProvider } from '../../types/index.js';
47
+ import { getResolvedTheme } from '../../stores/settingsStore.svelte.js';
52
48
 
53
49
  interface Props {
54
50
  /** Unique key/id for the field */
@@ -86,7 +82,7 @@
86
82
  nodes,
87
83
  edges,
88
84
  workflowId,
89
- authProvider,
85
+ authProvider
90
86
  }: Props = $props();
91
87
 
92
88
  /**
@@ -98,7 +94,7 @@
98
94
  * Computed description ID for ARIA association
99
95
  */
100
96
  const descriptionId = $derived(
101
- schema.description && schema.title ? `${fieldKey}-description` : undefined,
97
+ schema.description && schema.title ? `${fieldKey}-description` : undefined
102
98
  );
103
99
 
104
100
  /**
@@ -109,95 +105,90 @@
109
105
  /**
110
106
  * Field label - prefer title, fall back to description, then key
111
107
  */
112
- const fieldLabel = $derived(
113
- String(schema.title ?? schema.description ?? fieldKey),
114
- );
108
+ const fieldLabel = $derived(String(schema.title ?? schema.description ?? fieldKey));
115
109
 
116
110
  /**
117
111
  * Determine the field type to render
118
112
  */
119
113
  const fieldType = $derived.by(() => {
120
114
  // Hidden fields should not be rendered
121
- if (schema.format === "hidden") {
122
- return "hidden";
115
+ if (schema.format === 'hidden') {
116
+ return 'hidden';
123
117
  }
124
118
 
125
119
  // Autocomplete field for format: "autocomplete" with autocomplete.url
126
- if (schema.format === "autocomplete" && schema.autocomplete?.url) {
127
- return "autocomplete";
120
+ if (schema.format === 'autocomplete' && schema.autocomplete?.url) {
121
+ return 'autocomplete';
128
122
  }
129
123
 
130
124
  // JSON/code editor for format: "json" or "code"
131
- if (schema.format === "json" || schema.format === "code") {
132
- return "code-editor";
125
+ if (schema.format === 'json' || schema.format === 'code') {
126
+ return 'code-editor';
133
127
  }
134
128
 
135
129
  // Markdown editor for format: "markdown"
136
- if (schema.format === "markdown") {
137
- return "markdown-editor";
130
+ if (schema.format === 'markdown') {
131
+ return 'markdown-editor';
138
132
  }
139
133
 
140
134
  // Template editor for format: "template" (Twig/Liquid syntax)
141
- if (schema.format === "template") {
142
- return "template-editor";
135
+ if (schema.format === 'template') {
136
+ return 'template-editor';
143
137
  }
144
138
 
145
139
  // Enum with multiple selection -> checkbox group
146
140
  if (schema.enum && schema.multiple) {
147
- return "checkbox-group";
141
+ return 'checkbox-group';
148
142
  }
149
143
 
150
144
  // Enum with single selection -> select
151
145
  if (schema.enum) {
152
- return "select-enum";
146
+ return 'select-enum';
153
147
  }
154
148
 
155
149
  // oneOf with labeled options (standard JSON Schema) -> select
156
150
  // Must be checked before basic type checks since oneOf schemas often have type: 'string'
157
151
  if (schema.oneOf && schema.oneOf.length > 0) {
158
- return "select-options";
152
+ return 'select-options';
159
153
  }
160
154
 
161
155
  // Multiline string -> textarea
162
- if (schema.type === "string" && schema.format === "multiline") {
163
- return "textarea";
156
+ if (schema.type === 'string' && schema.format === 'multiline') {
157
+ return 'textarea';
164
158
  }
165
159
 
166
160
  // Range slider for number/integer with format: "range"
167
- if (
168
- (schema.type === "number" || schema.type === "integer") &&
169
- schema.format === "range"
170
- ) {
171
- return "range";
161
+ if ((schema.type === 'number' || schema.type === 'integer') && schema.format === 'range') {
162
+ return 'range';
172
163
  }
173
164
 
174
165
  // String -> text field
175
- if (schema.type === "string") {
176
- return "text";
166
+ if (schema.type === 'string') {
167
+ return 'text';
177
168
  }
178
169
 
179
170
  // Number or integer -> number field
180
- if (schema.type === "number" || schema.type === "integer") {
181
- return "number";
171
+ if (schema.type === 'number' || schema.type === 'integer') {
172
+ return 'number';
182
173
  }
183
174
 
184
175
  // Boolean -> toggle
185
- if (schema.type === "boolean") {
186
- return "toggle";
176
+ if (schema.type === 'boolean') {
177
+ return 'toggle';
187
178
  }
188
179
 
189
180
  // Future: Array type support
190
- if (schema.type === "array") {
191
- return "array";
181
+ if (schema.type === 'array') {
182
+ return 'array';
192
183
  }
193
184
 
194
185
  // Object type without specific format -> CodeMirror JSON editor
195
- if (schema.type === "object") {
196
- return "code-editor";
186
+ if (schema.type === 'object') {
187
+ return 'code-editor';
197
188
  }
198
189
 
199
190
  // Fallback to text
200
- return "text";
191
+ return 'text';
201
192
  });
202
193
 
203
194
  /**
@@ -217,7 +208,7 @@
217
208
  /**
218
209
  * Get current value as the appropriate type
219
210
  */
220
- const stringValue = $derived(String(value ?? ""));
211
+ const stringValue = $derived(String(value ?? ''));
221
212
  const numberValue = $derived(value as number | string);
222
213
  const booleanValue = $derived(Boolean(value ?? schema.default ?? false));
223
214
  const arrayValue = $derived.by((): string[] => {
@@ -243,11 +234,11 @@
243
234
  }
244
235
  return value ? [String(value)] : [];
245
236
  }
246
- return String(value ?? "");
237
+ return String(value ?? '');
247
238
  });
248
239
  </script>
249
240
 
250
- {#if fieldType !== "hidden"}
241
+ {#if fieldType !== 'hidden'}
251
242
  <FormFieldWrapper
252
243
  id={fieldKey}
253
244
  label={fieldLabel}
@@ -255,7 +246,7 @@
255
246
  description={schema.title ? schema.description : undefined}
256
247
  {animationDelay}
257
248
  >
258
- {#if fieldType === "checkbox-group"}
249
+ {#if fieldType === 'checkbox-group'}
259
250
  <FormCheckboxGroup
260
251
  id={fieldKey}
261
252
  value={arrayValue}
@@ -264,7 +255,7 @@
264
255
  disabled={isReadOnly}
265
256
  onChange={(val) => onChange(val)}
266
257
  />
267
- {:else if fieldType === "select-enum"}
258
+ {:else if fieldType === 'select-enum'}
268
259
  <FormSelect
269
260
  id={fieldKey}
270
261
  value={stringValue}
@@ -274,31 +265,31 @@
274
265
  disabled={isReadOnly}
275
266
  onChange={(val) => onChange(val)}
276
267
  />
277
- {:else if fieldType === "textarea"}
268
+ {:else if fieldType === 'textarea'}
278
269
  <FormTextarea
279
270
  id={fieldKey}
280
271
  value={stringValue}
281
- placeholder={schema.placeholder ?? ""}
272
+ placeholder={schema.placeholder ?? ''}
282
273
  {required}
283
274
  ariaDescribedBy={descriptionId}
284
275
  disabled={isReadOnly}
285
276
  onChange={(val) => onChange(val)}
286
277
  />
287
- {:else if fieldType === "text"}
278
+ {:else if fieldType === 'text'}
288
279
  <FormTextField
289
280
  id={fieldKey}
290
281
  value={stringValue}
291
- placeholder={schema.placeholder ?? ""}
282
+ placeholder={schema.placeholder ?? ''}
292
283
  {required}
293
284
  ariaDescribedBy={descriptionId}
294
285
  disabled={isReadOnly}
295
286
  onChange={(val) => onChange(val)}
296
287
  />
297
- {:else if fieldType === "number"}
288
+ {:else if fieldType === 'number'}
298
289
  <FormNumberField
299
290
  id={fieldKey}
300
291
  value={numberValue}
301
- placeholder={schema.placeholder ?? ""}
292
+ placeholder={schema.placeholder ?? ''}
302
293
  min={schema.minimum}
303
294
  max={schema.maximum}
304
295
  step={schema.step}
@@ -307,7 +298,7 @@
307
298
  disabled={isReadOnly}
308
299
  onChange={(val) => onChange(val)}
309
300
  />
310
- {:else if fieldType === "range"}
301
+ {:else if fieldType === 'range'}
311
302
  <FormRangeField
312
303
  id={fieldKey}
313
304
  value={numberValue}
@@ -319,7 +310,7 @@
319
310
  disabled={isReadOnly}
320
311
  onChange={(val) => onChange(val)}
321
312
  />
322
- {:else if fieldType === "toggle"}
313
+ {:else if fieldType === 'toggle'}
323
314
  <FormToggle
324
315
  id={fieldKey}
325
316
  value={booleanValue}
@@ -327,7 +318,7 @@
327
318
  disabled={isReadOnly}
328
319
  onChange={(val) => onChange(val)}
329
320
  />
330
- {:else if fieldType === "select-options"}
321
+ {:else if fieldType === 'select-options'}
331
322
  <FormSelect
332
323
  id={fieldKey}
333
324
  value={stringValue}
@@ -337,38 +328,37 @@
337
328
  disabled={isReadOnly}
338
329
  onChange={(val) => onChange(val)}
339
330
  />
340
- {:else if fieldType === "array" && schema.items}
331
+ {:else if fieldType === 'array' && schema.items}
341
332
  <FormArray
342
333
  id={fieldKey}
343
334
  value={arrayItems}
344
335
  itemSchema={schema.items}
345
336
  minItems={schema.minItems}
346
337
  maxItems={schema.maxItems}
347
- addLabel={`Add ${schema.items.title ?? "Item"}`}
338
+ addLabel={`Add ${schema.items.title ?? 'Item'}`}
348
339
  disabled={isReadOnly}
349
340
  onChange={(val) => onChange(val)}
350
341
  />
351
- {:else if fieldType === "code-editor"}
342
+ {:else if fieldType === 'code-editor'}
352
343
  <FormCodeEditor
353
344
  id={fieldKey}
354
345
  {value}
355
- placeholder={schema.placeholder ?? "{}"}
346
+ placeholder={schema.placeholder ?? '{}'}
356
347
  {required}
357
- height={(schema.height as string | undefined) ?? "200px"}
358
- darkTheme={(schema.darkTheme as boolean | undefined) ??
359
- getResolvedTheme() === "dark"}
348
+ height={(schema.height as string | undefined) ?? '200px'}
349
+ darkTheme={(schema.darkTheme as boolean | undefined) ?? getResolvedTheme() === 'dark'}
360
350
  autoFormat={(schema.autoFormat as boolean | undefined) ?? true}
361
351
  ariaDescribedBy={descriptionId}
362
352
  disabled={isReadOnly}
363
353
  onChange={(val) => onChange(val)}
364
354
  />
365
- {:else if fieldType === "markdown-editor"}
355
+ {:else if fieldType === 'markdown-editor'}
366
356
  <FormMarkdownEditor
367
357
  id={fieldKey}
368
358
  value={stringValue}
369
- placeholder={schema.placeholder ?? "Write your markdown here..."}
359
+ placeholder={schema.placeholder ?? 'Write your markdown here...'}
370
360
  {required}
371
- height={(schema.height as string | undefined) ?? "300px"}
361
+ height={(schema.height as string | undefined) ?? '300px'}
372
362
  showToolbar={(schema.showToolbar as boolean | undefined) ?? true}
373
363
  showStatusBar={(schema.showStatusBar as boolean | undefined) ?? true}
374
364
  spellChecker={(schema.spellChecker as boolean | undefined) ?? false}
@@ -376,19 +366,18 @@
376
366
  disabled={isReadOnly}
377
367
  onChange={(val) => onChange(val)}
378
368
  />
379
- {:else if fieldType === "template-editor"}
369
+ {:else if fieldType === 'template-editor'}
380
370
  <FormTemplateEditor
381
371
  id={fieldKey}
382
372
  value={stringValue}
383
373
  placeholder={schema.placeholder ??
384
- "Enter your template here...\nUse {{ variable }} for dynamic values."}
374
+ 'Enter your template here...\nUse {{ variable }} for dynamic values.'}
385
375
  {required}
386
- height={(schema.height as string | undefined) ?? "250px"}
387
- darkTheme={(schema.darkTheme as boolean | undefined) ??
388
- getResolvedTheme() === "dark"}
376
+ height={(schema.height as string | undefined) ?? '250px'}
377
+ darkTheme={(schema.darkTheme as boolean | undefined) ?? getResolvedTheme() === 'dark'}
389
378
  variables={schema.variables}
390
379
  placeholderExample={(schema.placeholderExample as string | undefined) ??
391
- "Hello {{ name }}, your order #{{ order_id }} is ready!"}
380
+ 'Hello {{ name }}, your order #{{ order_id }} is ready!'}
392
381
  ariaDescribedBy={descriptionId}
393
382
  disabled={isReadOnly}
394
383
  {node}
@@ -398,12 +387,12 @@
398
387
  {authProvider}
399
388
  onChange={(val) => onChange(val)}
400
389
  />
401
- {:else if fieldType === "autocomplete" && schema.autocomplete}
390
+ {:else if fieldType === 'autocomplete' && schema.autocomplete}
402
391
  <FormAutocomplete
403
392
  id={fieldKey}
404
393
  value={autocompleteValue}
405
394
  autocomplete={schema.autocomplete}
406
- placeholder={schema.placeholder ?? ""}
395
+ placeholder={schema.placeholder ?? ''}
407
396
  {required}
408
397
  ariaDescribedBy={descriptionId}
409
398
  disabled={isReadOnly}
@@ -414,7 +403,7 @@
414
403
  <FormTextField
415
404
  id={fieldKey}
416
405
  value={stringValue}
417
- placeholder={schema.placeholder ?? ""}
406
+ placeholder={schema.placeholder ?? ''}
418
407
  ariaDescribedBy={descriptionId}
419
408
  disabled={isReadOnly}
420
409
  onChange={(val) => onChange(val)}
@@ -1,5 +1,5 @@
1
- import type { FieldSchema } from "./types.js";
2
- import type { WorkflowNode, WorkflowEdge, AuthProvider } from "../../types/index.js";
1
+ import type { FieldSchema } from './types.js';
2
+ import type { WorkflowNode, WorkflowEdge, AuthProvider } from '../../types/index.js';
3
3
  interface Props {
4
4
  /** Unique key/id for the field */
5
5
  fieldKey: string;