@flowdrop/flowdrop 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/README.md +46 -47
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +26 -26
  4. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
  5. package/dist/adapters/agentspec/AgentSpecAdapter.js +122 -133
  6. package/dist/adapters/agentspec/agentAdapter.d.ts +2 -2
  7. package/dist/adapters/agentspec/agentAdapter.js +10 -10
  8. package/dist/adapters/agentspec/autoLayout.d.ts +1 -1
  9. package/dist/adapters/agentspec/autoLayout.js +7 -9
  10. package/dist/adapters/agentspec/componentTypeDefaults.d.ts +1 -1
  11. package/dist/adapters/agentspec/componentTypeDefaults.js +120 -120
  12. package/dist/adapters/agentspec/defaultNodeTypes.d.ts +2 -2
  13. package/dist/adapters/agentspec/defaultNodeTypes.js +307 -307
  14. package/dist/adapters/agentspec/index.d.ts +10 -10
  15. package/dist/adapters/agentspec/index.js +6 -6
  16. package/dist/adapters/agentspec/validator.d.ts +2 -2
  17. package/dist/adapters/agentspec/validator.js +20 -22
  18. package/dist/api/enhanced-client.d.ts +3 -3
  19. package/dist/api/enhanced-client.js +72 -73
  20. package/dist/chat/commandClassifier.js +6 -6
  21. package/dist/chat/index.d.ts +5 -5
  22. package/dist/chat/index.js +4 -4
  23. package/dist/chat/responseParser.d.ts +6 -6
  24. package/dist/chat/responseParser.js +28 -24
  25. package/dist/commands/batch.d.ts +1 -1
  26. package/dist/commands/batch.js +5 -7
  27. package/dist/commands/executor.d.ts +2 -2
  28. package/dist/commands/executor.js +320 -231
  29. package/dist/commands/index.d.ts +6 -6
  30. package/dist/commands/index.js +5 -5
  31. package/dist/commands/parser.d.ts +1 -1
  32. package/dist/commands/parser.js +91 -74
  33. package/dist/commands/positioner.d.ts +2 -2
  34. package/dist/commands/positioner.js +1 -1
  35. package/dist/commands/storeIntegration.svelte.d.ts +2 -2
  36. package/dist/commands/storeIntegration.svelte.js +5 -5
  37. package/dist/commands/types.d.ts +42 -42
  38. package/dist/commands/types.js +2 -2
  39. package/dist/components/App.svelte +280 -303
  40. package/dist/components/App.svelte.d.ts +11 -9
  41. package/dist/components/CanvasBanner.stories.svelte +10 -16
  42. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  43. package/dist/components/CanvasBanner.svelte +2 -2
  44. package/dist/components/CanvasBanner.svelte.d.ts +1 -1
  45. package/dist/components/CanvasController.svelte +3 -4
  46. package/dist/components/ConfigForm.svelte +118 -256
  47. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  48. package/dist/components/ConfigMappingRow.svelte +7 -9
  49. package/dist/components/ConfigMappingRow.svelte.d.ts +1 -1
  50. package/dist/components/ConfigModal.svelte +3 -3
  51. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  52. package/dist/components/ConfigPanel.stories.svelte +19 -19
  53. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  54. package/dist/components/ConfigPanel.svelte +9 -20
  55. package/dist/components/ConfigPanel.svelte.d.ts +1 -1
  56. package/dist/components/ConnectionLine.svelte +4 -4
  57. package/dist/components/EdgeRefresher.svelte +1 -1
  58. package/dist/components/FlowDropEdge.stories.svelte +110 -110
  59. package/dist/components/FlowDropEdge.svelte +9 -9
  60. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  61. package/dist/components/FlowDropZone.svelte +6 -9
  62. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  63. package/dist/components/LoadingSpinner.stories.svelte +13 -13
  64. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  65. package/dist/components/LoadingSpinner.svelte +3 -3
  66. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  67. package/dist/components/Logo.stories.svelte +4 -4
  68. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  69. package/dist/components/Logo.svelte +3 -9
  70. package/dist/components/LogsSidebar.svelte +41 -48
  71. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  72. package/dist/components/MarkdownDisplay.stories.svelte +10 -14
  73. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  74. package/dist/components/MarkdownDisplay.svelte +4 -6
  75. package/dist/components/Navbar.stories.svelte +19 -19
  76. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  77. package/dist/components/Navbar.svelte +28 -49
  78. package/dist/components/Navbar.svelte.d.ts +2 -2
  79. package/dist/components/NodeSidebar.svelte +42 -88
  80. package/dist/components/NodeSidebar.svelte.d.ts +1 -1
  81. package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
  82. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  83. package/dist/components/NodeStatusOverlay.svelte +40 -55
  84. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  85. package/dist/components/NodeSwapPicker.svelte +20 -64
  86. package/dist/components/NodeSwapPicker.svelte.d.ts +1 -1
  87. package/dist/components/PipelineStatus.svelte +63 -89
  88. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  89. package/dist/components/PortCoordinateTracker.svelte +5 -7
  90. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  91. package/dist/components/PortMappingRow.svelte +20 -24
  92. package/dist/components/PortMappingRow.svelte.d.ts +2 -2
  93. package/dist/components/ReadOnlyDetails.svelte +1 -1
  94. package/dist/components/SchemaForm.stories.svelte +53 -53
  95. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  96. package/dist/components/SchemaForm.svelte +24 -51
  97. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  98. package/dist/components/SettingsModal.svelte +6 -9
  99. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  100. package/dist/components/SettingsPanel.svelte +138 -158
  101. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  102. package/dist/components/StatusIcon.stories.svelte +16 -29
  103. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  104. package/dist/components/StatusIcon.svelte +19 -19
  105. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  106. package/dist/components/StatusLabel.stories.svelte +8 -8
  107. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  108. package/dist/components/SwapMappingEditor.svelte +35 -56
  109. package/dist/components/SwapMappingEditor.svelte.d.ts +2 -2
  110. package/dist/components/ThemeToggle.stories.svelte +10 -10
  111. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  112. package/dist/components/ThemeToggle.svelte +22 -33
  113. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  114. package/dist/components/UniversalNode.svelte +29 -41
  115. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  116. package/dist/components/WorkflowEditor.svelte +113 -168
  117. package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
  118. package/dist/components/chat/AIChatPanel.svelte +272 -133
  119. package/dist/components/chat/AIChatPanel.svelte.d.ts +3 -3
  120. package/dist/components/chat/CommandPreview.svelte +74 -24
  121. package/dist/components/chat/CommandPreview.svelte.d.ts +1 -1
  122. package/dist/components/console/CommandConsole.stories.svelte +71 -53
  123. package/dist/components/console/CommandConsole.stories.svelte.d.ts +1 -1
  124. package/dist/components/console/CommandConsole.svelte +39 -35
  125. package/dist/components/console/CommandConsole.svelte.d.ts +2 -2
  126. package/dist/components/console/ConsoleAutocomplete.svelte +6 -3
  127. package/dist/components/console/ConsoleInput.svelte +148 -89
  128. package/dist/components/console/ConsoleInput.svelte.d.ts +1 -1
  129. package/dist/components/console/ConsoleOutput.svelte +5 -10
  130. package/dist/components/console/ConsoleOutput.svelte.d.ts +1 -1
  131. package/dist/components/console/formatters.d.ts +1 -1
  132. package/dist/components/console/formatters.js +27 -29
  133. package/dist/components/form/FormArray.svelte +75 -132
  134. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  135. package/dist/components/form/FormAutocomplete.svelte +65 -108
  136. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  137. package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
  138. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  139. package/dist/components/form/FormCheckboxGroup.svelte +2 -2
  140. package/dist/components/form/FormCodeEditor.svelte +46 -59
  141. package/dist/components/form/FormField.svelte +79 -90
  142. package/dist/components/form/FormField.svelte.d.ts +2 -2
  143. package/dist/components/form/FormFieldLight.svelte +72 -88
  144. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  145. package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
  146. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  147. package/dist/components/form/FormFieldWrapper.svelte +2 -9
  148. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  149. package/dist/components/form/FormFieldset.svelte +3 -3
  150. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  151. package/dist/components/form/FormMarkdownEditor.svelte +123 -156
  152. package/dist/components/form/FormNumberField.stories.svelte +18 -18
  153. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  154. package/dist/components/form/FormNumberField.svelte +6 -6
  155. package/dist/components/form/FormRangeField.stories.svelte +13 -13
  156. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  157. package/dist/components/form/FormRangeField.svelte +4 -12
  158. package/dist/components/form/FormSelect.stories.svelte +21 -21
  159. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  160. package/dist/components/form/FormSelect.svelte +5 -5
  161. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  162. package/dist/components/form/FormTemplateEditor.svelte +126 -175
  163. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  164. package/dist/components/form/FormTextField.stories.svelte +17 -23
  165. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  166. package/dist/components/form/FormTextField.svelte +4 -4
  167. package/dist/components/form/FormTextarea.stories.svelte +18 -21
  168. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  169. package/dist/components/form/FormTextarea.svelte +4 -4
  170. package/dist/components/form/FormToggle.stories.svelte +13 -16
  171. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  172. package/dist/components/form/FormToggle.svelte +3 -3
  173. package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
  174. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  175. package/dist/components/form/index.d.ts +19 -19
  176. package/dist/components/form/index.js +18 -18
  177. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  178. package/dist/components/form/templateAutocomplete.js +55 -64
  179. package/dist/components/form/types.d.ts +6 -6
  180. package/dist/components/form/types.js +4 -9
  181. package/dist/components/icons/AlertCircleIcon.svelte +1 -6
  182. package/dist/components/icons/CogIcon.svelte +1 -6
  183. package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
  184. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  185. package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
  186. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  187. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
  188. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  189. package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
  190. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  191. package/dist/components/interrupt/FormPrompt.svelte +10 -15
  192. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  193. package/dist/components/interrupt/InterruptBubble.svelte +87 -121
  194. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  195. package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
  196. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  197. package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
  198. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  199. package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
  200. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  201. package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
  202. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  203. package/dist/components/interrupt/index.d.ts +6 -6
  204. package/dist/components/interrupt/index.js +6 -6
  205. package/dist/components/layouts/MainLayout.svelte +46 -84
  206. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  207. package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
  208. package/dist/components/nodes/GatewayNode.svelte +37 -70
  209. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  210. package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
  211. package/dist/components/nodes/IdeaNode.svelte +22 -36
  212. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  213. package/dist/components/nodes/NotesNode.stories.svelte +37 -38
  214. package/dist/components/nodes/NotesNode.svelte +28 -39
  215. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  216. package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
  217. package/dist/components/nodes/SimpleNode.svelte +51 -81
  218. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  219. package/dist/components/nodes/SquareNode.stories.svelte +75 -75
  220. package/dist/components/nodes/SquareNode.svelte +42 -68
  221. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  222. package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
  223. package/dist/components/nodes/TerminalNode.svelte +74 -112
  224. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  225. package/dist/components/nodes/ToolNode.stories.svelte +115 -116
  226. package/dist/components/nodes/ToolNode.svelte +31 -64
  227. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  228. package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
  229. package/dist/components/nodes/WorkflowNode.svelte +50 -103
  230. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  231. package/dist/components/playground/ChatPanel.svelte +47 -103
  232. package/dist/components/playground/ExecutionLogs.svelte +45 -68
  233. package/dist/components/playground/InputCollector.svelte +32 -51
  234. package/dist/components/playground/MessageBubble.stories.svelte +25 -25
  235. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  236. package/dist/components/playground/MessageBubble.svelte +54 -70
  237. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  238. package/dist/components/playground/Playground.svelte +60 -91
  239. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  240. package/dist/components/playground/PlaygroundModal.svelte +8 -12
  241. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  242. package/dist/components/playground/SessionManager.svelte +34 -40
  243. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  244. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  245. package/dist/config/agentSpecEndpoints.js +20 -20
  246. package/dist/config/constants.js +2 -2
  247. package/dist/config/defaultCategories.d.ts +1 -1
  248. package/dist/config/defaultCategories.js +86 -86
  249. package/dist/config/defaultPortConfig.d.ts +1 -1
  250. package/dist/config/defaultPortConfig.js +144 -144
  251. package/dist/config/endpoints.d.ts +4 -4
  252. package/dist/config/endpoints.js +68 -68
  253. package/dist/config/runtimeConfig.d.ts +2 -2
  254. package/dist/config/runtimeConfig.js +8 -8
  255. package/dist/core/index.d.ts +68 -68
  256. package/dist/core/index.js +38 -38
  257. package/dist/display/index.d.ts +2 -2
  258. package/dist/display/index.js +2 -2
  259. package/dist/editor/index.d.ts +64 -64
  260. package/dist/editor/index.js +54 -54
  261. package/dist/form/code.d.ts +5 -5
  262. package/dist/form/code.js +14 -14
  263. package/dist/form/fieldRegistry.d.ts +3 -3
  264. package/dist/form/fieldRegistry.js +9 -11
  265. package/dist/form/full.d.ts +8 -8
  266. package/dist/form/full.js +9 -9
  267. package/dist/form/index.d.ts +18 -18
  268. package/dist/form/index.js +16 -16
  269. package/dist/form/markdown.d.ts +4 -4
  270. package/dist/form/markdown.js +8 -8
  271. package/dist/helpers/proximityConnect.d.ts +3 -3
  272. package/dist/helpers/proximityConnect.js +32 -34
  273. package/dist/helpers/workflowEditorHelper.d.ts +6 -6
  274. package/dist/helpers/workflowEditorHelper.js +64 -68
  275. package/dist/index.d.ts +6 -6
  276. package/dist/index.js +6 -6
  277. package/dist/mocks/app-environment.js +2 -2
  278. package/dist/mocks/app-forms.js +1 -1
  279. package/dist/mocks/app-navigation.js +2 -2
  280. package/dist/mocks/app-stores.js +3 -3
  281. package/dist/playground/index.d.ts +19 -19
  282. package/dist/playground/index.js +16 -16
  283. package/dist/playground/mount.d.ts +3 -3
  284. package/dist/playground/mount.js +24 -24
  285. package/dist/registry/builtinFormats.js +13 -13
  286. package/dist/registry/builtinNodes.d.ts +2 -2
  287. package/dist/registry/builtinNodes.js +77 -77
  288. package/dist/registry/index.d.ts +4 -4
  289. package/dist/registry/index.js +4 -4
  290. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  291. package/dist/registry/nodeComponentRegistry.js +9 -11
  292. package/dist/registry/plugin.d.ts +2 -2
  293. package/dist/registry/plugin.js +11 -11
  294. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  295. package/dist/registry/workflowFormatRegistry.js +2 -2
  296. package/dist/schema/index.d.ts +1 -1
  297. package/dist/schema/index.js +2 -2
  298. package/dist/schemas/v1/workflow.schema.json +5 -0
  299. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  300. package/dist/services/agentSpecExecutionService.js +55 -56
  301. package/dist/services/api.d.ts +2 -2
  302. package/dist/services/api.js +37 -37
  303. package/dist/services/apiVariableService.d.ts +1 -1
  304. package/dist/services/apiVariableService.js +34 -41
  305. package/dist/services/autoSaveService.js +8 -8
  306. package/dist/services/categoriesApi.d.ts +2 -2
  307. package/dist/services/categoriesApi.js +8 -8
  308. package/dist/services/chatService.d.ts +1 -1
  309. package/dist/services/chatService.js +18 -18
  310. package/dist/services/draftStorage.d.ts +1 -1
  311. package/dist/services/draftStorage.js +11 -11
  312. package/dist/services/dynamicSchemaService.d.ts +1 -1
  313. package/dist/services/dynamicSchemaService.js +39 -41
  314. package/dist/services/globalSave.d.ts +2 -2
  315. package/dist/services/globalSave.js +38 -41
  316. package/dist/services/historyService.d.ts +1 -1
  317. package/dist/services/historyService.js +10 -10
  318. package/dist/services/interruptService.d.ts +1 -1
  319. package/dist/services/interruptService.js +29 -35
  320. package/dist/services/nodeExecutionService.d.ts +1 -1
  321. package/dist/services/nodeExecutionService.js +44 -45
  322. package/dist/services/playgroundService.d.ts +1 -1
  323. package/dist/services/playgroundService.js +29 -29
  324. package/dist/services/portConfigApi.d.ts +2 -2
  325. package/dist/services/portConfigApi.js +8 -8
  326. package/dist/services/settingsService.d.ts +2 -2
  327. package/dist/services/settingsService.js +19 -25
  328. package/dist/services/toastService.d.ts +4 -4
  329. package/dist/services/toastService.js +33 -33
  330. package/dist/services/variableService.d.ts +1 -1
  331. package/dist/services/variableService.js +36 -36
  332. package/dist/services/workflowStorage.d.ts +2 -2
  333. package/dist/services/workflowStorage.js +13 -13
  334. package/dist/settings/index.d.ts +7 -7
  335. package/dist/settings/index.js +6 -6
  336. package/dist/skins/default.d.ts +1 -1
  337. package/dist/skins/default.js +1 -1
  338. package/dist/skins/index.d.ts +3 -3
  339. package/dist/skins/index.js +7 -7
  340. package/dist/skins/slate.d.ts +1 -1
  341. package/dist/skins/slate.js +69 -69
  342. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  343. package/dist/stores/categoriesStore.svelte.js +5 -5
  344. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  345. package/dist/stores/editorStateMachine.svelte.js +34 -34
  346. package/dist/stores/historyStore.svelte.d.ts +4 -4
  347. package/dist/stores/historyStore.svelte.js +4 -4
  348. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  349. package/dist/stores/interruptStore.svelte.js +21 -21
  350. package/dist/stores/playgroundStore.svelte.d.ts +2 -2
  351. package/dist/stores/playgroundStore.svelte.js +18 -21
  352. package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
  353. package/dist/stores/portCoordinateStore.svelte.js +10 -13
  354. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  355. package/dist/stores/settingsStore.svelte.js +57 -62
  356. package/dist/stores/workflowStore.svelte.d.ts +4 -3
  357. package/dist/stores/workflowStore.svelte.js +47 -47
  358. package/dist/stories/CanvasDecorator.svelte +7 -10
  359. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  360. package/dist/stories/EdgeDecorator.svelte +28 -31
  361. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  362. package/dist/stories/NodeDecorator.svelte +14 -20
  363. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  364. package/dist/stories/utils.d.ts +2 -2
  365. package/dist/stories/utils.js +89 -93
  366. package/dist/styles/base.css +16 -50
  367. package/dist/styles/tokens.css +10 -28
  368. package/dist/svelte-app.d.ts +10 -10
  369. package/dist/svelte-app.js +39 -39
  370. package/dist/themes/default.d.ts +1 -1
  371. package/dist/themes/default.js +4 -4
  372. package/dist/themes/index.d.ts +3 -3
  373. package/dist/themes/index.js +11 -11
  374. package/dist/themes/minimal.d.ts +1 -1
  375. package/dist/themes/minimal.js +5 -5
  376. package/dist/types/agentspec.d.ts +18 -18
  377. package/dist/types/agentspec.js +2 -2
  378. package/dist/types/auth.d.ts +1 -1
  379. package/dist/types/auth.js +6 -6
  380. package/dist/types/chat.d.ts +2 -2
  381. package/dist/types/config.d.ts +6 -6
  382. package/dist/types/events.d.ts +3 -3
  383. package/dist/types/events.js +2 -2
  384. package/dist/types/index.d.ts +34 -32
  385. package/dist/types/index.js +6 -6
  386. package/dist/types/interrupt.d.ts +6 -6
  387. package/dist/types/interrupt.js +21 -21
  388. package/dist/types/interruptState.d.ts +12 -12
  389. package/dist/types/interruptState.js +66 -66
  390. package/dist/types/playground.d.ts +7 -7
  391. package/dist/types/playground.js +14 -14
  392. package/dist/types/settings.d.ts +7 -5
  393. package/dist/types/settings.js +19 -24
  394. package/dist/types/skin.d.ts +1 -1
  395. package/dist/types/theme.d.ts +2 -2
  396. package/dist/types/uischema.d.ts +4 -4
  397. package/dist/types/uischema.js +3 -3
  398. package/dist/utils/colors.d.ts +1 -1
  399. package/dist/utils/colors.js +95 -97
  400. package/dist/utils/config.d.ts +2 -2
  401. package/dist/utils/config.js +48 -48
  402. package/dist/utils/connections.d.ts +6 -2
  403. package/dist/utils/connections.js +21 -15
  404. package/dist/utils/edgeStyling.d.ts +2 -2
  405. package/dist/utils/edgeStyling.js +36 -39
  406. package/dist/utils/errors.js +3 -3
  407. package/dist/utils/fetchWithAuth.d.ts +1 -1
  408. package/dist/utils/fetchWithAuth.js +2 -2
  409. package/dist/utils/handleIds.d.ts +2 -2
  410. package/dist/utils/handleIds.js +8 -8
  411. package/dist/utils/handlePositioning.d.ts +1 -1
  412. package/dist/utils/handlePositioning.js +2 -2
  413. package/dist/utils/icons.d.ts +1 -1
  414. package/dist/utils/icons.js +74 -74
  415. package/dist/utils/logger.d.ts +1 -1
  416. package/dist/utils/logger.js +7 -7
  417. package/dist/utils/nodeIds.d.ts +1 -1
  418. package/dist/utils/nodeIds.js +1 -1
  419. package/dist/utils/nodeStatus.d.ts +1 -1
  420. package/dist/utils/nodeStatus.js +48 -48
  421. package/dist/utils/nodeSwap.d.ts +9 -9
  422. package/dist/utils/nodeSwap.js +52 -58
  423. package/dist/utils/nodeTypes.d.ts +1 -1
  424. package/dist/utils/nodeTypes.js +20 -21
  425. package/dist/utils/nodeWrapper.d.ts +7 -7
  426. package/dist/utils/nodeWrapper.js +19 -21
  427. package/dist/utils/performanceUtils.d.ts +1 -1
  428. package/dist/utils/performanceUtils.js +1 -2
  429. package/dist/utils/portUtils.d.ts +2 -2
  430. package/dist/utils/portUtils.js +1 -1
  431. package/dist/utils/sanitize.js +1 -1
  432. package/dist/utils/uischema.d.ts +2 -2
  433. package/dist/utils/uischema.js +8 -8
  434. package/dist/utils/validation.js +8 -8
  435. package/package.json +7 -11
@@ -1,37 +1,34 @@
1
1
  <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import FormTextarea from "./FormTextarea.svelte";
4
- import { fn } from "storybook/test";
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import FormTextarea from './FormTextarea.svelte';
4
+ import { fn } from 'storybook/test';
5
5
 
6
6
  const { Story } = defineMeta({
7
- title: "Form/FormTextarea",
7
+ title: 'Form/FormTextarea',
8
8
  component: FormTextarea,
9
- tags: ["autodocs"],
9
+ tags: ['autodocs'],
10
10
  argTypes: {
11
- value: { control: "text" },
12
- placeholder: { control: "text" },
13
- rows: { control: { type: "number", min: 1, max: 20 } },
14
- required: { control: "boolean" },
15
- disabled: { control: "boolean" },
11
+ value: { control: 'text' },
12
+ placeholder: { control: 'text' },
13
+ rows: { control: { type: 'number', min: 1, max: 20 } },
14
+ required: { control: 'boolean' },
15
+ disabled: { control: 'boolean' }
16
16
  },
17
17
  args: {
18
- id: "demo-textarea",
19
- value: "",
20
- onChange: fn(),
21
- },
18
+ id: 'demo-textarea',
19
+ value: '',
20
+ onChange: fn()
21
+ }
22
22
  });
23
23
  </script>
24
24
 
25
- <Story name="Default" args={{ placeholder: "Enter your message..." }} />
25
+ <Story name="Default" args={{ placeholder: 'Enter your message...' }} />
26
26
 
27
- <Story
28
- name="Custom Rows"
29
- args={{ rows: 8, placeholder: "Larger text area..." }}
30
- />
27
+ <Story name="Custom Rows" args={{ rows: 8, placeholder: 'Larger text area...' }} />
31
28
 
32
29
  <Story
33
30
  name="With Value"
34
- args={{ value: "This is a multiline\ntext content\nwith several lines." }}
31
+ args={{ value: 'This is a multiline\ntext content\nwith several lines.' }}
35
32
  />
36
33
 
37
- <Story name="Disabled" args={{ value: "Read-only content", disabled: true }} />
34
+ <Story name="Disabled" args={{ value: 'Read-only content', disabled: true }} />
@@ -11,7 +11,7 @@ declare const FormTextarea: $$__sveltets_2_IsomorphicComponent<{
11
11
  }, {
12
12
  [evt: string]: CustomEvent<any>;
13
13
  }, {}, {}, string>;
14
- import FormTextarea from "./FormTextarea.svelte";
14
+ import FormTextarea from './FormTextarea.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;
@@ -30,13 +30,13 @@
30
30
 
31
31
  let {
32
32
  id,
33
- value = "",
34
- placeholder = "",
33
+ value = '',
34
+ placeholder = '',
35
35
  rows = 4,
36
36
  required = false,
37
37
  disabled = false,
38
38
  ariaDescribedBy,
39
- onChange,
39
+ onChange
40
40
  }: Props = $props();
41
41
 
42
42
  /**
@@ -51,7 +51,7 @@
51
51
  <textarea
52
52
  {id}
53
53
  class="form-textarea"
54
- value={value ?? ""}
54
+ value={value ?? ''}
55
55
  {placeholder}
56
56
  {rows}
57
57
  {disabled}
@@ -1,23 +1,23 @@
1
1
  <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import FormToggle from "./FormToggle.svelte";
4
- import { fn } from "storybook/test";
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import FormToggle from './FormToggle.svelte';
4
+ import { fn } from 'storybook/test';
5
5
 
6
6
  const { Story } = defineMeta({
7
- title: "Form/FormToggle",
7
+ title: 'Form/FormToggle',
8
8
  component: FormToggle,
9
- tags: ["autodocs"],
9
+ tags: ['autodocs'],
10
10
  argTypes: {
11
- value: { control: "boolean" },
12
- onLabel: { control: "text" },
13
- offLabel: { control: "text" },
14
- disabled: { control: "boolean" },
11
+ value: { control: 'boolean' },
12
+ onLabel: { control: 'text' },
13
+ offLabel: { control: 'text' },
14
+ disabled: { control: 'boolean' }
15
15
  },
16
16
  args: {
17
- id: "demo-toggle",
17
+ id: 'demo-toggle',
18
18
  value: false,
19
- onChange: fn(),
20
- },
19
+ onChange: fn()
20
+ }
21
21
  });
22
22
  </script>
23
23
 
@@ -25,9 +25,6 @@
25
25
 
26
26
  <Story name="On" args={{ value: true }} />
27
27
 
28
- <Story
29
- name="Custom Labels"
30
- args={{ value: true, onLabel: "Yes", offLabel: "No" }}
31
- />
28
+ <Story name="Custom Labels" args={{ value: true, onLabel: 'Yes', offLabel: 'No' }} />
32
29
 
33
30
  <Story name="Disabled" args={{ value: true, disabled: true }} />
@@ -11,7 +11,7 @@ declare const FormToggle: $$__sveltets_2_IsomorphicComponent<{
11
11
  }, {
12
12
  [evt: string]: CustomEvent<any>;
13
13
  }, {}, {}, string>;
14
- import FormToggle from "./FormToggle.svelte";
14
+ import FormToggle from './FormToggle.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;
@@ -29,11 +29,11 @@
29
29
  let {
30
30
  id,
31
31
  value = false,
32
- onLabel = "Enabled",
33
- offLabel = "Disabled",
32
+ onLabel = 'Enabled',
33
+ offLabel = 'Disabled',
34
34
  disabled = false,
35
35
  ariaDescribedBy,
36
- onChange,
36
+ onChange
37
37
  }: Props = $props();
38
38
 
39
39
  /**
@@ -12,18 +12,13 @@
12
12
  -->
13
13
 
14
14
  <script lang="ts">
15
- import type { UISchemaElement } from "../../types/uischema.js";
16
- import type {
17
- ConfigSchema,
18
- WorkflowNode,
19
- WorkflowEdge,
20
- AuthProvider,
21
- } from "../../types/index.js";
22
- import type { FieldSchema } from "./types.js";
23
- import { resolveScopeToKey } from "../../utils/uischema.js";
24
- import FormField from "./FormField.svelte";
25
- import FormFieldset from "./FormFieldset.svelte";
26
- import Self from "./FormUISchemaRenderer.svelte";
15
+ import type { UISchemaElement } from '../../types/uischema.js';
16
+ import type { ConfigSchema, WorkflowNode, WorkflowEdge, AuthProvider } from '../../types/index.js';
17
+ import type { FieldSchema } from './types.js';
18
+ import { resolveScopeToKey } from '../../utils/uischema.js';
19
+ import FormField from './FormField.svelte';
20
+ import FormFieldset from './FormFieldset.svelte';
21
+ import Self from './FormUISchemaRenderer.svelte';
27
22
 
28
23
  interface Props {
29
24
  /** The UISchema element to render */
@@ -64,7 +59,7 @@
64
59
  nodes,
65
60
  edges,
66
61
  workflowId,
67
- authProvider,
62
+ authProvider
68
63
  }: Props = $props();
69
64
 
70
65
  function isRequired(key: string): boolean {
@@ -72,12 +67,10 @@
72
67
  }
73
68
  </script>
74
69
 
75
- {#if element.type === "Control"}
70
+ {#if element.type === 'Control'}
76
71
  {@const key = resolveScopeToKey(element.scope)}
77
72
  {#if key && schema.properties[key]}
78
- {@const fieldSchema = toFieldSchema(
79
- schema.properties[key] as Record<string, unknown>,
80
- )}
73
+ {@const fieldSchema = toFieldSchema(schema.properties[key] as Record<string, unknown>)}
81
74
  <FormField
82
75
  fieldKey={key}
83
76
  schema={fieldSchema}
@@ -92,7 +85,7 @@
92
85
  onChange={(val) => onFieldChange(key, val)}
93
86
  />
94
87
  {/if}
95
- {:else if element.type === "VerticalLayout"}
88
+ {:else if element.type === 'VerticalLayout'}
96
89
  <div class="form-uischema-layout form-uischema-layout--vertical">
97
90
  {#each element.elements as child, idx (idx)}
98
91
  <Self
@@ -111,7 +104,7 @@
111
104
  />
112
105
  {/each}
113
106
  </div>
114
- {:else if element.type === "Group"}
107
+ {:else if element.type === 'Group'}
115
108
  <FormFieldset group={element}>
116
109
  <div class="form-uischema-layout form-uischema-layout--vertical">
117
110
  {#each element.elements as child, idx (idx)}
@@ -1,6 +1,6 @@
1
- import type { UISchemaElement } from "../../types/uischema.js";
2
- import type { ConfigSchema, WorkflowNode, WorkflowEdge, AuthProvider } from "../../types/index.js";
3
- import type { FieldSchema } from "./types.js";
1
+ import type { UISchemaElement } from '../../types/uischema.js';
2
+ import type { ConfigSchema, WorkflowNode, WorkflowEdge, AuthProvider } from '../../types/index.js';
3
+ import type { FieldSchema } from './types.js';
4
4
  interface Props {
5
5
  /** The UISchema element to render */
6
6
  element: UISchemaElement;
@@ -29,22 +29,22 @@
29
29
  * />
30
30
  * ```
31
31
  */
32
- export type { FieldType, FieldFormat, FieldOption, OneOfItem, BaseFieldProps, TextFieldProps, TextareaFieldProps, NumberFieldProps, ToggleFieldProps, RangeFieldProps, SelectFieldProps, CheckboxGroupFieldProps, ArrayFieldProps, CodeEditorFieldProps, MarkdownEditorFieldProps, TemplateEditorFieldProps, AutocompleteFieldProps, FieldSchema, FormFieldFactoryProps, FormFieldWrapperProps, SchemaFormProps, AutocompleteConfig, } from "./types.js";
33
- export { isFieldOptionArray, isOneOfArray, oneOfToOptions, normalizeOptions, getSchemaOptions, } from "./types.js";
34
- export { default as FormField } from "./FormField.svelte";
35
- export { default as FormFieldWrapper } from "./FormFieldWrapper.svelte";
36
- export { default as FormTextField } from "./FormTextField.svelte";
37
- export { default as FormTextarea } from "./FormTextarea.svelte";
38
- export { default as FormNumberField } from "./FormNumberField.svelte";
39
- export { default as FormRangeField } from "./FormRangeField.svelte";
40
- export { default as FormToggle } from "./FormToggle.svelte";
41
- export { default as FormSelect } from "./FormSelect.svelte";
42
- export { default as FormCheckboxGroup } from "./FormCheckboxGroup.svelte";
43
- export { default as FormArray } from "./FormArray.svelte";
44
- export { default as FormCodeEditor } from "./FormCodeEditor.svelte";
45
- export { default as FormMarkdownEditor } from "./FormMarkdownEditor.svelte";
46
- export { default as FormTemplateEditor } from "./FormTemplateEditor.svelte";
47
- export { default as FormAutocomplete } from "./FormAutocomplete.svelte";
48
- export { default as FormFieldset } from "./FormFieldset.svelte";
49
- export { default as FormUISchemaRenderer } from "./FormUISchemaRenderer.svelte";
50
- export { createTemplateAutocomplete } from "./templateAutocomplete.js";
32
+ export type { FieldType, FieldFormat, FieldOption, OneOfItem, BaseFieldProps, TextFieldProps, TextareaFieldProps, NumberFieldProps, ToggleFieldProps, RangeFieldProps, SelectFieldProps, CheckboxGroupFieldProps, ArrayFieldProps, CodeEditorFieldProps, MarkdownEditorFieldProps, TemplateEditorFieldProps, AutocompleteFieldProps, FieldSchema, FormFieldFactoryProps, FormFieldWrapperProps, SchemaFormProps, AutocompleteConfig } from './types.js';
33
+ export { isFieldOptionArray, isOneOfArray, oneOfToOptions, normalizeOptions, getSchemaOptions } from './types.js';
34
+ export { default as FormField } from './FormField.svelte';
35
+ export { default as FormFieldWrapper } from './FormFieldWrapper.svelte';
36
+ export { default as FormTextField } from './FormTextField.svelte';
37
+ export { default as FormTextarea } from './FormTextarea.svelte';
38
+ export { default as FormNumberField } from './FormNumberField.svelte';
39
+ export { default as FormRangeField } from './FormRangeField.svelte';
40
+ export { default as FormToggle } from './FormToggle.svelte';
41
+ export { default as FormSelect } from './FormSelect.svelte';
42
+ export { default as FormCheckboxGroup } from './FormCheckboxGroup.svelte';
43
+ export { default as FormArray } from './FormArray.svelte';
44
+ export { default as FormCodeEditor } from './FormCodeEditor.svelte';
45
+ export { default as FormMarkdownEditor } from './FormMarkdownEditor.svelte';
46
+ export { default as FormTemplateEditor } from './FormTemplateEditor.svelte';
47
+ export { default as FormAutocomplete } from './FormAutocomplete.svelte';
48
+ export { default as FormFieldset } from './FormFieldset.svelte';
49
+ export { default as FormUISchemaRenderer } from './FormUISchemaRenderer.svelte';
50
+ export { createTemplateAutocomplete } from './templateAutocomplete.js';
@@ -29,26 +29,26 @@
29
29
  * />
30
30
  * ```
31
31
  */
32
- export { isFieldOptionArray, isOneOfArray, oneOfToOptions, normalizeOptions, getSchemaOptions, } from "./types.js";
32
+ export { isFieldOptionArray, isOneOfArray, oneOfToOptions, normalizeOptions, getSchemaOptions } from './types.js';
33
33
  // Main factory component
34
- export { default as FormField } from "./FormField.svelte";
34
+ export { default as FormField } from './FormField.svelte';
35
35
  // Wrapper component
36
- export { default as FormFieldWrapper } from "./FormFieldWrapper.svelte";
36
+ export { default as FormFieldWrapper } from './FormFieldWrapper.svelte';
37
37
  // Individual field components
38
- export { default as FormTextField } from "./FormTextField.svelte";
39
- export { default as FormTextarea } from "./FormTextarea.svelte";
40
- export { default as FormNumberField } from "./FormNumberField.svelte";
41
- export { default as FormRangeField } from "./FormRangeField.svelte";
42
- export { default as FormToggle } from "./FormToggle.svelte";
43
- export { default as FormSelect } from "./FormSelect.svelte";
44
- export { default as FormCheckboxGroup } from "./FormCheckboxGroup.svelte";
45
- export { default as FormArray } from "./FormArray.svelte";
46
- export { default as FormCodeEditor } from "./FormCodeEditor.svelte";
47
- export { default as FormMarkdownEditor } from "./FormMarkdownEditor.svelte";
48
- export { default as FormTemplateEditor } from "./FormTemplateEditor.svelte";
49
- export { default as FormAutocomplete } from "./FormAutocomplete.svelte";
38
+ export { default as FormTextField } from './FormTextField.svelte';
39
+ export { default as FormTextarea } from './FormTextarea.svelte';
40
+ export { default as FormNumberField } from './FormNumberField.svelte';
41
+ export { default as FormRangeField } from './FormRangeField.svelte';
42
+ export { default as FormToggle } from './FormToggle.svelte';
43
+ export { default as FormSelect } from './FormSelect.svelte';
44
+ export { default as FormCheckboxGroup } from './FormCheckboxGroup.svelte';
45
+ export { default as FormArray } from './FormArray.svelte';
46
+ export { default as FormCodeEditor } from './FormCodeEditor.svelte';
47
+ export { default as FormMarkdownEditor } from './FormMarkdownEditor.svelte';
48
+ export { default as FormTemplateEditor } from './FormTemplateEditor.svelte';
49
+ export { default as FormAutocomplete } from './FormAutocomplete.svelte';
50
50
  // UISchema rendering components
51
- export { default as FormFieldset } from "./FormFieldset.svelte";
52
- export { default as FormUISchemaRenderer } from "./FormUISchemaRenderer.svelte";
51
+ export { default as FormFieldset } from './FormFieldset.svelte';
52
+ export { default as FormUISchemaRenderer } from './FormUISchemaRenderer.svelte';
53
53
  // Template autocomplete utilities
54
- export { createTemplateAutocomplete } from "./templateAutocomplete.js";
54
+ export { createTemplateAutocomplete } from './templateAutocomplete.js';
@@ -10,8 +10,8 @@
10
10
  *
11
11
  * @module components/form/templateAutocomplete
12
12
  */
13
- import type { Extension } from "@codemirror/state";
14
- import type { VariableSchema } from "../../types/index.js";
13
+ import type { Extension } from '@codemirror/state';
14
+ import type { VariableSchema } from '../../types/index.js';
15
15
  /**
16
16
  * Creates a CodeMirror extension for template variable autocomplete.
17
17
  *
@@ -10,20 +10,20 @@
10
10
  *
11
11
  * @module components/form/templateAutocomplete
12
12
  */
13
- import { autocompletion, } from "@codemirror/autocomplete";
14
- import { getChildVariables, getArrayIndexSuggestions, isArrayVariable, hasChildren, } from "../../services/variableService.js";
13
+ import { autocompletion } from '@codemirror/autocomplete';
14
+ import { getChildVariables, getArrayIndexSuggestions, isArrayVariable, hasChildren } from '../../services/variableService.js';
15
15
  /**
16
16
  * Icon type hints for different variable types in autocomplete dropdown.
17
17
  */
18
18
  const TYPE_ICONS = {
19
- string: "𝑆",
20
- number: "#",
21
- integer: "#",
22
- float: "#",
23
- boolean: "",
24
- array: "[]",
25
- object: "{}",
26
- mixed: "",
19
+ string: '𝑆',
20
+ number: '#',
21
+ integer: '#',
22
+ float: '#',
23
+ boolean: '',
24
+ array: '[]',
25
+ object: '{}',
26
+ mixed: ''
27
27
  };
28
28
  /**
29
29
  * Extracts the current variable path being typed inside {{ }}.
@@ -43,16 +43,12 @@ function extractVariablePath(text, pos) {
43
43
  let searchPos = pos - 1;
44
44
  while (searchPos >= 0) {
45
45
  // Check for opening {{
46
- if (text[searchPos] === "{" &&
47
- searchPos > 0 &&
48
- text[searchPos - 1] === "{") {
46
+ if (text[searchPos] === '{' && searchPos > 0 && text[searchPos - 1] === '{') {
49
47
  openBracePos = searchPos - 1;
50
48
  break;
51
49
  }
52
50
  // Check for closing }} - means we're outside an expression
53
- if (text[searchPos] === "}" &&
54
- searchPos > 0 &&
55
- text[searchPos - 1] === "}") {
51
+ if (text[searchPos] === '}' && searchPos > 0 && text[searchPos - 1] === '}') {
56
52
  return null;
57
53
  }
58
54
  searchPos--;
@@ -70,9 +66,8 @@ function extractVariablePath(text, pos) {
70
66
  return {
71
67
  path: content,
72
68
  startPos: contentStart +
73
- (text.slice(contentStart, pos).length -
74
- text.slice(contentStart, pos).trimStart().length),
75
- isInsideExpression: true,
69
+ (text.slice(contentStart, pos).length - text.slice(contentStart, pos).trimStart().length),
70
+ isInsideExpression: true
76
71
  };
77
72
  }
78
73
  /**
@@ -83,35 +78,35 @@ function extractVariablePath(text, pos) {
83
78
  */
84
79
  function getCompletionType(path) {
85
80
  // Empty or only whitespace - show top-level variables
86
- if (path.trim() === "") {
87
- return { type: "top-level" };
81
+ if (path.trim() === '') {
82
+ return { type: 'top-level' };
88
83
  }
89
84
  // Ends with [ - show array indices
90
- if (path.endsWith("[")) {
85
+ if (path.endsWith('[')) {
91
86
  const parentPath = path.slice(0, -1);
92
- return { type: "array-index", parentPath };
87
+ return { type: 'array-index', parentPath };
93
88
  }
94
89
  // Ends with . - show child properties
95
- if (path.endsWith(".")) {
90
+ if (path.endsWith('.')) {
96
91
  const parentPath = path.slice(0, -1);
97
- return { type: "property", parentPath };
92
+ return { type: 'property', parentPath };
98
93
  }
99
94
  // Otherwise, we're typing a variable name - show matching options
100
- const lastDotIndex = path.lastIndexOf(".");
101
- const lastBracketIndex = path.lastIndexOf("[");
95
+ const lastDotIndex = path.lastIndexOf('.');
96
+ const lastBracketIndex = path.lastIndexOf('[');
102
97
  const lastSeparator = Math.max(lastDotIndex, lastBracketIndex);
103
98
  if (lastSeparator === -1) {
104
99
  // Typing at top level
105
- return { type: "top-level" };
100
+ return { type: 'top-level' };
106
101
  }
107
102
  // Extract parent path based on separator
108
103
  if (lastDotIndex > lastBracketIndex) {
109
104
  // Last separator was a dot
110
- return { type: "property", parentPath: path.slice(0, lastDotIndex) };
105
+ return { type: 'property', parentPath: path.slice(0, lastDotIndex) };
111
106
  }
112
107
  else {
113
108
  // Last separator was a bracket
114
- return { type: "array-index", parentPath: path.slice(0, lastBracketIndex) };
109
+ return { type: 'array-index', parentPath: path.slice(0, lastBracketIndex) };
115
110
  }
116
111
  }
117
112
  /**
@@ -121,23 +116,23 @@ function getCompletionType(path) {
121
116
  * @param prefix - Prefix to add to the completion label
122
117
  * @returns A CodeMirror Completion object
123
118
  */
124
- function variableToCompletion(variable, prefix = "") {
119
+ function variableToCompletion(variable, prefix = '') {
125
120
  const icon = TYPE_ICONS[variable.type] ?? TYPE_ICONS.mixed;
126
121
  const hasChildProps = variable.properties && Object.keys(variable.properties).length > 0;
127
- const isArray = variable.type === "array";
122
+ const isArray = variable.type === 'array';
128
123
  // Add indicator if variable can be drilled into
129
- let suffix = "";
124
+ let suffix = '';
130
125
  if (hasChildProps)
131
- suffix = ".";
126
+ suffix = '.';
132
127
  else if (isArray)
133
- suffix = "[";
128
+ suffix = '[';
134
129
  return {
135
130
  label: `${prefix}${variable.name}`,
136
- displayLabel: `${icon} ${variable.label ?? variable.name}${suffix ? " " + suffix : ""}`,
131
+ displayLabel: `${icon} ${variable.label ?? variable.name}${suffix ? ' ' + suffix : ''}`,
137
132
  detail: variable.type,
138
133
  info: variable.description,
139
- type: "variable",
140
- boost: hasChildProps || isArray ? 1 : 0, // Boost drillable variables
134
+ type: 'variable',
135
+ boost: hasChildProps || isArray ? 1 : 0 // Boost drillable variables
141
136
  };
142
137
  }
143
138
  /**
@@ -155,13 +150,13 @@ function createTemplateCompletionSource(schema) {
155
150
  if (!pathInfo) {
156
151
  // Check if user just typed {{
157
152
  const beforeCursor = text.slice(Math.max(0, pos - 2), pos);
158
- if (beforeCursor === "{{") {
153
+ if (beforeCursor === '{{') {
159
154
  // Show top-level variables
160
155
  const options = Object.values(schema.variables).map((v) => variableToCompletion(v));
161
156
  return {
162
157
  from: pos,
163
158
  options,
164
- validFor: /^[\w.[\]]*$/,
159
+ validFor: /^[\w.[\]]*$/
165
160
  };
166
161
  }
167
162
  return null;
@@ -171,46 +166,42 @@ function createTemplateCompletionSource(schema) {
171
166
  let options = [];
172
167
  let from = pos;
173
168
  switch (completionType.type) {
174
- case "top-level": {
169
+ case 'top-level': {
175
170
  // Show all top-level variables
176
171
  const currentWord = path.trim();
177
172
  options = Object.values(schema.variables)
178
- .filter((v) => currentWord === "" ||
179
- v.name.toLowerCase().startsWith(currentWord.toLowerCase()))
173
+ .filter((v) => currentWord === '' || v.name.toLowerCase().startsWith(currentWord.toLowerCase()))
180
174
  .map((v) => variableToCompletion(v));
181
175
  // Calculate from position for replacement
182
176
  from = startPos + (path.length - path.trimStart().length);
183
177
  break;
184
178
  }
185
- case "property": {
179
+ case 'property': {
186
180
  // Show child properties of the parent
187
181
  const children = getChildVariables(schema, completionType.parentPath);
188
- const currentWord = path.slice(path.lastIndexOf(".") + 1);
182
+ const currentWord = path.slice(path.lastIndexOf('.') + 1);
189
183
  options = children
190
- .filter((v) => currentWord === "" ||
191
- v.name.toLowerCase().startsWith(currentWord.toLowerCase()))
184
+ .filter((v) => currentWord === '' || v.name.toLowerCase().startsWith(currentWord.toLowerCase()))
192
185
  .map((v) => variableToCompletion(v));
193
186
  // From should be right after the last dot
194
- from = startPos + path.lastIndexOf(".") + 1;
187
+ from = startPos + path.lastIndexOf('.') + 1;
195
188
  break;
196
189
  }
197
- case "array-index": {
190
+ case 'array-index': {
198
191
  // Check if the parent is actually an array
199
192
  if (isArrayVariable(schema, completionType.parentPath)) {
200
193
  const indices = getArrayIndexSuggestions(5);
201
- const currentIndex = path.slice(path.lastIndexOf("[") + 1);
194
+ const currentIndex = path.slice(path.lastIndexOf('[') + 1);
202
195
  options = indices
203
- .filter((idx) => currentIndex === "" || idx.startsWith(currentIndex))
196
+ .filter((idx) => currentIndex === '' || idx.startsWith(currentIndex))
204
197
  .map((idx) => ({
205
198
  label: idx,
206
- displayLabel: idx === "*]" ? "* (all items)" : `[${idx}`,
207
- detail: idx === "*]"
208
- ? "Iterate all items"
209
- : `Index ${idx.slice(0, -1)}`,
210
- type: "keyword",
199
+ displayLabel: idx === '*]' ? '* (all items)' : `[${idx}`,
200
+ detail: idx === '*]' ? 'Iterate all items' : `Index ${idx.slice(0, -1)}`,
201
+ type: 'keyword'
211
202
  }));
212
203
  // From should be right after the [
213
- from = startPos + path.lastIndexOf("[") + 1;
204
+ from = startPos + path.lastIndexOf('[') + 1;
214
205
  }
215
206
  break;
216
207
  }
@@ -221,7 +212,7 @@ function createTemplateCompletionSource(schema) {
221
212
  return {
222
213
  from,
223
214
  options,
224
- validFor: /^[\w\]*]*$/,
215
+ validFor: /^[\w\]*]*$/
225
216
  };
226
217
  };
227
218
  }
@@ -244,20 +235,20 @@ export function createTemplateAutocomplete(schema) {
244
235
  override: [createTemplateCompletionSource(schema)],
245
236
  activateOnTyping: true,
246
237
  defaultKeymap: true,
247
- optionClass: () => "cm-template-autocomplete-option",
238
+ optionClass: () => 'cm-template-autocomplete-option',
248
239
  icons: false, // We use our own icons in displayLabel
249
240
  addToOptions: [
250
241
  {
251
242
  render: (completion) => {
252
- const el = document.createElement("span");
253
- el.className = "cm-template-autocomplete-info";
243
+ const el = document.createElement('span');
244
+ el.className = 'cm-template-autocomplete-info';
254
245
  if (completion.info) {
255
246
  el.textContent = String(completion.info);
256
247
  }
257
248
  return el;
258
249
  },
259
- position: 100,
260
- },
261
- ],
250
+ position: 100
251
+ }
252
+ ]
262
253
  });
263
254
  }