@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
@@ -8,18 +8,15 @@
8
8
  -->
9
9
 
10
10
  <script lang="ts">
11
- import { onMount, onDestroy } from "svelte";
12
- import Icon from "@iconify/svelte";
13
- import ChatPanel from "./ChatPanel.svelte";
14
- import type { Workflow } from "../../types/index.js";
15
- import type { EndpointConfig } from "../../config/endpoints.js";
16
- import type {
17
- PlaygroundMode,
18
- PlaygroundConfig,
19
- } from "../../types/playground.js";
20
- import { playgroundService } from "../../services/playgroundService.js";
21
- import { interruptService } from "../../services/interruptService.js";
22
- import { setEndpointConfig } from "../../services/api.js";
11
+ import { onMount, onDestroy } from 'svelte';
12
+ import Icon from '@iconify/svelte';
13
+ import ChatPanel from './ChatPanel.svelte';
14
+ import type { Workflow } from '../../types/index.js';
15
+ import type { EndpointConfig } from '../../config/endpoints.js';
16
+ import type { PlaygroundMode, PlaygroundConfig } from '../../types/playground.js';
17
+ import { playgroundService } from '../../services/playgroundService.js';
18
+ import { interruptService } from '../../services/interruptService.js';
19
+ import { setEndpointConfig } from '../../services/api.js';
23
20
  import {
24
21
  getCurrentSession,
25
22
  getSessions,
@@ -28,10 +25,10 @@
28
25
  getError,
29
26
  playgroundActions,
30
27
  getInputFields,
31
- createPollingCallback,
32
- } from "../../stores/playgroundStore.svelte.js";
33
- import { interruptActions } from "../../stores/interruptStore.svelte.js";
34
- import { logger } from "../../utils/logger.js";
28
+ createPollingCallback
29
+ } from '../../stores/playgroundStore.svelte.js';
30
+ import { interruptActions } from '../../stores/interruptStore.svelte.js';
31
+ import { logger } from '../../utils/logger.js';
35
32
 
36
33
  /**
37
34
  * Component props
@@ -56,11 +53,11 @@
56
53
  let {
57
54
  workflowId,
58
55
  workflow,
59
- mode = "standalone",
56
+ mode = 'standalone',
60
57
  initialSessionId,
61
58
  endpointConfig,
62
59
  config = {},
63
- onClose,
60
+ onClose
64
61
  }: Props = $props();
65
62
 
66
63
  /** Current input values from InputCollector */
@@ -109,15 +106,12 @@
109
106
  // Handle auto-run after initialization is complete
110
107
  if (config.autoRun && !autoRunTriggered) {
111
108
  autoRunTriggered = true;
112
- const predefinedMessage = config.predefinedMessage ?? "Run workflow";
113
- logger.debug(
114
- "[Playground] Auto-run triggered with message:",
115
- predefinedMessage,
116
- );
109
+ const predefinedMessage = config.predefinedMessage ?? 'Run workflow';
110
+ logger.debug('[Playground] Auto-run triggered with message:', predefinedMessage);
117
111
  await handleSendMessage(predefinedMessage);
118
112
  }
119
113
  } catch (err) {
120
- logger.error("[Playground] Initialization error:", err);
114
+ logger.error('[Playground] Initialization error:', err);
121
115
  }
122
116
  };
123
117
 
@@ -165,7 +159,7 @@
165
159
  if (!sessionExists) {
166
160
  logger.warn(
167
161
  `[Playground] Initial session "${sessionId}" not found in available sessions. ` +
168
- `Available sessions: ${sessionList.map((s) => s.id).join(", ") || "none"}`,
162
+ `Available sessions: ${sessionList.map((s) => s.id).join(', ') || 'none'}`
169
163
  );
170
164
  // Don't set error - just log warning and let user pick a session
171
165
  initialSessionLoaded = true;
@@ -178,7 +172,7 @@
178
172
  initialSessionLoaded = true;
179
173
  loadedInitialSessionId = sessionId;
180
174
  } catch (err) {
181
- logger.error("[Playground] Failed to load initial session:", err);
175
+ logger.error('[Playground] Failed to load initial session:', err);
182
176
  // Mark as attempted to prevent retry loops
183
177
  initialSessionLoaded = true;
184
178
  loadedInitialSessionId = sessionId;
@@ -205,8 +199,8 @@
205
199
  openMenuId = null;
206
200
  }
207
201
 
208
- document.addEventListener("click", onDocumentClick);
209
- return () => document.removeEventListener("click", onDocumentClick);
202
+ document.addEventListener('click', onDocumentClick);
203
+ return () => document.removeEventListener('click', onDocumentClick);
210
204
  });
211
205
 
212
206
  /**
@@ -220,10 +214,9 @@
220
214
  const sessionList = await playgroundService.listSessions(workflowId);
221
215
  playgroundActions.setSessions(sessionList);
222
216
  } catch (err) {
223
- const errorMessage =
224
- err instanceof Error ? err.message : "Failed to load sessions";
217
+ const errorMessage = err instanceof Error ? err.message : 'Failed to load sessions';
225
218
  playgroundActions.setError(errorMessage);
226
- logger.error("Failed to load sessions:", err);
219
+ logger.error('Failed to load sessions:', err);
227
220
  } finally {
228
221
  playgroundActions.setLoading(false);
229
222
  }
@@ -246,14 +239,13 @@
246
239
  playgroundActions.setMessages(response.data ?? []);
247
240
 
248
241
  // Start polling if session is running
249
- if (session.status === "running") {
242
+ if (session.status === 'running') {
250
243
  startPolling(sessionId);
251
244
  }
252
245
  } catch (err) {
253
- const errorMessage =
254
- err instanceof Error ? err.message : "Failed to load session";
246
+ const errorMessage = err instanceof Error ? err.message : 'Failed to load session';
255
247
  playgroundActions.setError(errorMessage);
256
- logger.error("Failed to load session:", err);
248
+ logger.error('Failed to load session:', err);
257
249
  } finally {
258
250
  playgroundActions.setLoading(false);
259
251
  }
@@ -268,18 +260,14 @@
268
260
 
269
261
  try {
270
262
  const sessionName = `Session ${getSessions().length + 1}`;
271
- const session = await playgroundService.createSession(
272
- workflowId,
273
- sessionName,
274
- );
263
+ const session = await playgroundService.createSession(workflowId, sessionName);
275
264
  playgroundActions.addSession(session);
276
265
  playgroundActions.setCurrentSession(session);
277
266
  playgroundActions.clearMessages();
278
267
  } catch (err) {
279
- const errorMessage =
280
- err instanceof Error ? err.message : "Failed to create session";
268
+ const errorMessage = err instanceof Error ? err.message : 'Failed to create session';
281
269
  playgroundActions.setError(errorMessage);
282
- logger.error("Failed to create session:", err);
270
+ logger.error('Failed to create session:', err);
283
271
  } finally {
284
272
  playgroundActions.setLoading(false);
285
273
  }
@@ -313,10 +301,9 @@
313
301
  playgroundService.stopPolling();
314
302
  }
315
303
  } catch (err) {
316
- const errorMessage =
317
- err instanceof Error ? err.message : "Failed to delete session";
304
+ const errorMessage = err instanceof Error ? err.message : 'Failed to delete session';
318
305
  playgroundActions.setError(errorMessage);
319
- logger.error("Failed to delete session:", err);
306
+ logger.error('Failed to delete session:', err);
320
307
  }
321
308
  }
322
309
 
@@ -386,30 +373,24 @@
386
373
  if (!inputs[field.nodeId]) {
387
374
  inputs[field.nodeId] = {};
388
375
  }
389
- (inputs[field.nodeId] as Record<string, unknown>)[field.fieldId] =
390
- inputValues[key];
376
+ (inputs[field.nodeId] as Record<string, unknown>)[field.fieldId] = inputValues[key];
391
377
  }
392
378
  });
393
379
 
394
380
  // Send message
395
- const message = await playgroundService.sendMessage(
396
- sessionId,
397
- content,
398
- inputs,
399
- );
381
+ const message = await playgroundService.sendMessage(sessionId, content, inputs);
400
382
  playgroundActions.addMessage(message);
401
383
 
402
384
  // Update session status
403
- playgroundActions.updateSessionStatus("running");
385
+ playgroundActions.updateSessionStatus('running');
404
386
 
405
387
  // Start polling for responses
406
388
  startPolling(sessionId);
407
389
  } catch (err) {
408
- const errorMessage =
409
- err instanceof Error ? err.message : "Failed to send message";
390
+ const errorMessage = err instanceof Error ? err.message : 'Failed to send message';
410
391
  playgroundActions.setError(errorMessage);
411
392
  playgroundActions.setExecuting(false);
412
- logger.error("Failed to send message:", err);
393
+ logger.error('Failed to send message:', err);
413
394
  }
414
395
  }
415
396
 
@@ -426,12 +407,11 @@
426
407
  await playgroundService.stopExecution(sessionId);
427
408
  playgroundService.stopPolling();
428
409
  playgroundActions.setExecuting(false);
429
- playgroundActions.updateSessionStatus("idle");
410
+ playgroundActions.updateSessionStatus('idle');
430
411
  } catch (err) {
431
- const errorMessage =
432
- err instanceof Error ? err.message : "Failed to stop execution";
412
+ const errorMessage = err instanceof Error ? err.message : 'Failed to stop execution';
433
413
  playgroundActions.setError(errorMessage);
434
- logger.error("Failed to stop execution:", err);
414
+ logger.error('Failed to stop execution:', err);
435
415
  }
436
416
  }
437
417
 
@@ -449,7 +429,7 @@
449
429
  sessionId,
450
430
  pollingCallback,
451
431
  pollingInterval,
452
- config.shouldStopPolling,
432
+ config.shouldStopPolling
453
433
  );
454
434
  }
455
435
 
@@ -465,10 +445,7 @@
465
445
  const response = await playgroundService.getMessages(sessionId);
466
446
  pollingCallback(response);
467
447
  } catch (err) {
468
- logger.error(
469
- "[Playground] Failed to refresh messages after interrupt:",
470
- err,
471
- );
448
+ logger.error('[Playground] Failed to refresh messages after interrupt:', err);
472
449
  }
473
450
  }
474
451
 
@@ -484,7 +461,7 @@
484
461
  const diffDays = Math.floor(diffMs / 86400000);
485
462
 
486
463
  if (diffMins < 1) {
487
- return "Just now";
464
+ return 'Just now';
488
465
  }
489
466
  if (diffMins < 60) {
490
467
  return `${diffMins}m ago`;
@@ -495,18 +472,18 @@
495
472
  if (diffDays < 7) {
496
473
  return `${diffDays}d ago`;
497
474
  }
498
- return date.toLocaleDateString("en-US", {
499
- month: "short",
500
- day: "numeric",
475
+ return date.toLocaleDateString('en-US', {
476
+ month: 'short',
477
+ day: 'numeric'
501
478
  });
502
479
  }
503
480
  </script>
504
481
 
505
482
  <div
506
483
  class="playground"
507
- class:playground--embedded={mode === "embedded"}
508
- class:playground--standalone={mode === "standalone"}
509
- class:playground--modal={mode === "modal"}
484
+ class:playground--embedded={mode === 'embedded'}
485
+ class:playground--standalone={mode === 'standalone'}
486
+ class:playground--modal={mode === 'modal'}
510
487
  class:playground--no-sidebar={config.showSidebar === false}
511
488
  >
512
489
  <div class="playground__container">
@@ -514,23 +491,21 @@
514
491
  {#if config.showSidebar !== false}
515
492
  <aside
516
493
  class="playground__sidebar"
517
- style={config.sidebarWidth
518
- ? `--fd-playground-sidebar-width: ${config.sidebarWidth}`
519
- : ""}
494
+ style={config.sidebarWidth ? `--fd-playground-sidebar-width: ${config.sidebarWidth}` : ''}
520
495
  >
521
496
  <!-- Sidebar Header -->
522
497
  <div class="playground__sidebar-header">
523
498
  <div class="playground__sidebar-title">
524
499
  <span>Playground</span>
525
500
  </div>
526
- {#if (mode === "embedded" || mode === "modal") && onClose}
501
+ {#if (mode === 'embedded' || mode === 'modal') && onClose}
527
502
  <button
528
503
  type="button"
529
504
  class="playground__sidebar-close"
530
505
  onclick={onClose}
531
506
  title="Close playground"
532
507
  >
533
- {#if mode === "modal"}
508
+ {#if mode === 'modal'}
534
509
  <Icon icon="mdi:close" />
535
510
  {:else}
536
511
  <Icon icon="mdi:dock-right" />
@@ -555,9 +530,7 @@
555
530
  <!-- Sessions List - click a session to load it -->
556
531
  <div class="playground__sessions-wrap">
557
532
  {#if getSessions().length > 0}
558
- <p class="playground__sessions-hint">
559
- Click a session to load it
560
- </p>
533
+ <p class="playground__sessions-hint">Click a session to load it</p>
561
534
  {/if}
562
535
  <div class="playground__sessions">
563
536
  {#if getSessions().length === 0 && !getIsLoading()}
@@ -568,15 +541,13 @@
568
541
  {#each getSessions() as session (session.id)}
569
542
  <div
570
543
  class="playground__session"
571
- class:playground__session--active={getCurrentSession()
572
- ?.id === session.id}
544
+ class:playground__session--active={getCurrentSession()?.id === session.id}
573
545
  role="button"
574
546
  tabindex="0"
575
547
  title="Click to load this session"
576
548
  aria-label="Load session: {session.name}"
577
549
  onclick={() => handleSelectSession(session.id)}
578
- onkeydown={(e) =>
579
- e.key === "Enter" && handleSelectSession(session.id)}
550
+ onkeydown={(e) => e.key === 'Enter' && handleSelectSession(session.id)}
580
551
  >
581
552
  <span class="playground__session-name" title={session.name}>
582
553
  {session.name}
@@ -585,8 +556,7 @@
585
556
  <button
586
557
  type="button"
587
558
  class="playground__session-menu"
588
- class:playground__session-menu--open={openMenuId ===
589
- session.id}
559
+ class:playground__session-menu--open={openMenuId === session.id}
590
560
  onclick={(e) => handleMenuToggle(e, session.id)}
591
561
  title="Session options"
592
562
  >
@@ -657,11 +627,11 @@
657
627
  <ChatPanel
658
628
  showTimestamps={config.showTimestamps ?? true}
659
629
  autoScroll={config.autoScroll ?? true}
660
- showLogsInline={config.logDisplayMode === "inline"}
630
+ showLogsInline={config.logDisplayMode === 'inline'}
661
631
  enableMarkdown={config.enableMarkdown ?? true}
662
632
  showChatInput={config.showChatInput ?? true}
663
633
  showRunButton={config.showRunButton ?? true}
664
- predefinedMessage={config.predefinedMessage ?? "Run workflow"}
634
+ predefinedMessage={config.predefinedMessage ?? 'Run workflow'}
665
635
  onSendMessage={handleSendMessage}
666
636
  onStopExecution={handleStopExecution}
667
637
  onInterruptResolved={handleInterruptResolved}
@@ -680,8 +650,7 @@
680
650
  overflow: hidden; /* Prevent playground-level scrolling */
681
651
  background-color: var(--fd-muted);
682
652
  font-family:
683
- -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
684
- Arial, sans-serif;
653
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
685
654
  }
686
655
 
687
656
  .playground--embedded {
@@ -695,7 +664,7 @@
695
664
  }
696
665
 
697
666
  /* Dark mode override for standalone */
698
- :global([data-theme="dark"]) .playground--standalone {
667
+ :global([data-theme='dark']) .playground--standalone {
699
668
  background: linear-gradient(135deg, #141418 0%, #1a1a2e 50%, #16162a 100%);
700
669
  }
701
670
 
@@ -1,6 +1,6 @@
1
- import type { Workflow } from "../../types/index.js";
2
- import type { EndpointConfig } from "../../config/endpoints.js";
3
- import type { PlaygroundMode, PlaygroundConfig } from "../../types/playground.js";
1
+ import type { Workflow } from '../../types/index.js';
2
+ import type { EndpointConfig } from '../../config/endpoints.js';
3
+ import type { PlaygroundMode, PlaygroundConfig } from '../../types/playground.js';
4
4
  /**
5
5
  * Component props
6
6
  */
@@ -7,11 +7,11 @@
7
7
  -->
8
8
 
9
9
  <script lang="ts">
10
- import Icon from "@iconify/svelte";
11
- import Playground from "./Playground.svelte";
12
- import type { Workflow } from "../../types/index.js";
13
- import type { EndpointConfig } from "../../config/endpoints.js";
14
- import type { PlaygroundConfig } from "../../types/playground.js";
10
+ import Icon from '@iconify/svelte';
11
+ import Playground from './Playground.svelte';
12
+ import type { Workflow } from '../../types/index.js';
13
+ import type { EndpointConfig } from '../../config/endpoints.js';
14
+ import type { PlaygroundConfig } from '../../types/playground.js';
15
15
 
16
16
  /**
17
17
  * Component props
@@ -40,14 +40,14 @@
40
40
  initialSessionId,
41
41
  endpointConfig,
42
42
  config = {},
43
- onClose,
43
+ onClose
44
44
  }: Props = $props();
45
45
 
46
46
  /**
47
47
  * Close modal on Escape key
48
48
  */
49
49
  function handleKeydown(event: KeyboardEvent): void {
50
- if (event.key === "Escape") {
50
+ if (event.key === 'Escape') {
51
51
  onClose();
52
52
  }
53
53
  }
@@ -75,11 +75,7 @@
75
75
  >
76
76
  <!-- Modal Container -->
77
77
  <!-- svelte-ignore a11y_no_static_element_interactions a11y_click_events_have_key_events — role="presentation" container stops backdrop click propagation -->
78
- <div
79
- class="playground-modal"
80
- onclick={(e) => e.stopPropagation()}
81
- role="presentation"
82
- >
78
+ <div class="playground-modal" onclick={(e) => e.stopPropagation()} role="presentation">
83
79
  <!-- Modal Header -->
84
80
  <div class="playground-modal__header">
85
81
  <div class="playground-modal__title" id="playground-modal-title">
@@ -1,6 +1,6 @@
1
- import type { Workflow } from "../../types/index.js";
2
- import type { EndpointConfig } from "../../config/endpoints.js";
3
- import type { PlaygroundConfig } from "../../types/playground.js";
1
+ import type { Workflow } from '../../types/index.js';
2
+ import type { EndpointConfig } from '../../config/endpoints.js';
3
+ import type { PlaygroundConfig } from '../../types/playground.js';
4
4
  /**
5
5
  * Component props
6
6
  */
@@ -7,15 +7,15 @@
7
7
  -->
8
8
 
9
9
  <script lang="ts">
10
- import Icon from "@iconify/svelte";
11
- import { slide } from "svelte/transition";
12
- import type { PlaygroundSession } from "../../types/playground.js";
10
+ import Icon from '@iconify/svelte';
11
+ import { slide } from 'svelte/transition';
12
+ import type { PlaygroundSession } from '../../types/playground.js';
13
13
  import {
14
14
  getSessions,
15
15
  getCurrentSession,
16
16
  getIsLoading,
17
- getSessionCount,
18
- } from "../../stores/playgroundStore.svelte.js";
17
+ getSessionCount
18
+ } from '../../stores/playgroundStore.svelte.js';
19
19
 
20
20
  /**
21
21
  * Component props
@@ -32,7 +32,7 @@
32
32
  /** Callback when user wants to delete a session */
33
33
  onDeleteSession?: (sessionId: string) => void;
34
34
  /** Display mode: sidebar or dropdown */
35
- mode?: "sidebar" | "dropdown";
35
+ mode?: 'sidebar' | 'dropdown';
36
36
  }
37
37
 
38
38
  let {
@@ -41,7 +41,7 @@
41
41
  onCreateSession,
42
42
  onSelectSession,
43
43
  onDeleteSession,
44
- mode = "sidebar",
44
+ mode = 'sidebar'
45
45
  }: Props = $props();
46
46
 
47
47
  /** Session pending deletion (for confirmation) */
@@ -60,7 +60,7 @@
60
60
  */
61
61
  function handleSelectSession(sessionId: string): void {
62
62
  onSelectSession?.(sessionId);
63
- if (mode === "dropdown") {
63
+ if (mode === 'dropdown') {
64
64
  isExpanded = false;
65
65
  }
66
66
  }
@@ -105,7 +105,7 @@
105
105
  const diffDays = Math.floor(diffMs / 86400000);
106
106
 
107
107
  if (diffMins < 1) {
108
- return "Just now";
108
+ return 'Just now';
109
109
  }
110
110
  if (diffMins < 60) {
111
111
  return `${diffMins}m ago`;
@@ -116,41 +116,41 @@
116
116
  if (diffDays < 7) {
117
117
  return `${diffDays}d ago`;
118
118
  }
119
- return date.toLocaleDateString("en-US", {
120
- month: "short",
121
- day: "numeric",
119
+ return date.toLocaleDateString('en-US', {
120
+ month: 'short',
121
+ day: 'numeric'
122
122
  });
123
123
  }
124
124
 
125
125
  /**
126
126
  * Get status icon
127
127
  */
128
- function getStatusIcon(status: PlaygroundSession["status"]): string {
128
+ function getStatusIcon(status: PlaygroundSession['status']): string {
129
129
  switch (status) {
130
- case "running":
131
- return "mdi:loading";
132
- case "completed":
133
- return "mdi:check-circle";
134
- case "failed":
135
- return "mdi:alert-circle";
130
+ case 'running':
131
+ return 'mdi:loading';
132
+ case 'completed':
133
+ return 'mdi:check-circle';
134
+ case 'failed':
135
+ return 'mdi:alert-circle';
136
136
  default:
137
- return "mdi:circle-outline";
137
+ return 'mdi:circle-outline';
138
138
  }
139
139
  }
140
140
 
141
141
  /**
142
142
  * Get status color class
143
143
  */
144
- function getStatusClass(status: PlaygroundSession["status"]): string {
144
+ function getStatusClass(status: PlaygroundSession['status']): string {
145
145
  switch (status) {
146
- case "running":
147
- return "session-manager__status--running";
148
- case "completed":
149
- return "session-manager__status--completed";
150
- case "failed":
151
- return "session-manager__status--failed";
146
+ case 'running':
147
+ return 'session-manager__status--running';
148
+ case 'completed':
149
+ return 'session-manager__status--completed';
150
+ case 'failed':
151
+ return 'session-manager__status--failed';
152
152
  default:
153
- return "session-manager__status--idle";
153
+ return 'session-manager__status--idle';
154
154
  }
155
155
  }
156
156
  </script>
@@ -158,8 +158,8 @@
158
158
  <div
159
159
  class="session-manager"
160
160
  class:session-manager--expanded={isExpanded}
161
- class:session-manager--sidebar={mode === "sidebar"}
162
- class:session-manager--dropdown={mode === "dropdown"}
161
+ class:session-manager--sidebar={mode === 'sidebar'}
162
+ class:session-manager--dropdown={mode === 'dropdown'}
163
163
  >
164
164
  <!-- Header / Toggle -->
165
165
  <button
@@ -177,9 +177,7 @@
177
177
  </div>
178
178
  <Icon
179
179
  icon="mdi:chevron-down"
180
- class="session-manager__chevron {isExpanded
181
- ? 'session-manager__chevron--expanded'
182
- : ''}"
180
+ class="session-manager__chevron {isExpanded ? 'session-manager__chevron--expanded' : ''}"
183
181
  />
184
182
  </button>
185
183
 
@@ -208,13 +206,11 @@
208
206
  {#each getSessions() as session (session.id)}
209
207
  <div
210
208
  class="session-manager__item"
211
- class:session-manager__item--active={getCurrentSession()?.id ===
212
- session.id}
209
+ class:session-manager__item--active={getCurrentSession()?.id === session.id}
213
210
  role="button"
214
211
  tabindex="0"
215
212
  onclick={() => handleSelectSession(session.id)}
216
- onkeydown={(e) =>
217
- e.key === "Enter" && handleSelectSession(session.id)}
213
+ onkeydown={(e) => e.key === 'Enter' && handleSelectSession(session.id)}
218
214
  >
219
215
  <div class="session-manager__item-info">
220
216
  <div class="session-manager__item-header">
@@ -222,9 +218,7 @@
222
218
  {session.name}
223
219
  </span>
224
220
  <span
225
- class="session-manager__status {getStatusClass(
226
- session.status,
227
- )}"
221
+ class="session-manager__status {getStatusClass(session.status)}"
228
222
  title={session.status}
229
223
  >
230
224
  <Icon icon={getStatusIcon(session.status)} />
@@ -13,7 +13,7 @@ interface Props {
13
13
  /** Callback when user wants to delete a session */
14
14
  onDeleteSession?: (sessionId: string) => void;
15
15
  /** Display mode: sidebar or dropdown */
16
- mode?: "sidebar" | "dropdown";
16
+ mode?: 'sidebar' | 'dropdown';
17
17
  }
18
18
  declare const SessionManager: import("svelte").Component<Props, {}, "isExpanded">;
19
19
  type SessionManager = ReturnType<typeof SessionManager>;
@@ -44,7 +44,7 @@ export interface AgentSpecEndpointConfig {
44
44
  };
45
45
  /** Authentication for the runtime */
46
46
  auth?: {
47
- type: "none" | "bearer" | "api_key";
47
+ type: 'none' | 'bearer' | 'api_key';
48
48
  token?: string;
49
49
  apiKey?: string;
50
50
  };