windmill-components 1.613.5 → 1.623.1

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 (429) hide show
  1. package/package/assets/tokens/tokens.json +1 -11
  2. package/package/ata/apis.js +5 -78
  3. package/package/components/AddUser.svelte +1 -1
  4. package/package/components/CenteredModal.svelte +24 -32
  5. package/package/components/CenteredModal.svelte.d.ts +27 -7
  6. package/package/components/CenteredPage.svelte +2 -5
  7. package/package/components/CenteredPage.svelte.d.ts +0 -2
  8. package/package/components/ConcurrentJobsChart.svelte +2 -3
  9. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  10. package/package/components/CustomPopover.svelte +23 -20
  11. package/package/components/CustomPopover.svelte.d.ts +39 -14
  12. package/package/components/DBManager.svelte +17 -105
  13. package/package/components/DBManager.svelte.d.ts +1 -2
  14. package/package/components/DBManagerContent.svelte +3 -4
  15. package/package/components/DBManagerContent.svelte.d.ts +1 -1
  16. package/package/components/DBTableEditor.svelte +171 -210
  17. package/package/components/DBTableEditor.svelte.d.ts +3 -22
  18. package/package/components/Description.svelte +2 -3
  19. package/package/components/Dev.svelte +2 -36
  20. package/package/components/DiffDrawer.svelte +29 -8
  21. package/package/components/DiffEditor.svelte +2 -32
  22. package/package/components/DisplayResult.svelte +24 -32
  23. package/package/components/Editor.svelte +16 -70
  24. package/package/components/Editor.svelte.d.ts +0 -3
  25. package/package/components/EditorBar.svelte +1 -1
  26. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  27. package/package/components/FlowBuilder.svelte +11 -17
  28. package/package/components/FlowPreviewContent.svelte +2 -3
  29. package/package/components/FlowPreviewResult.svelte +4 -0
  30. package/package/components/FlowRestartButton.svelte +3 -2
  31. package/package/components/FlowRestartButton.svelte.d.ts +0 -3
  32. package/package/components/FlowStatusViewerInner.svelte +33 -50
  33. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  34. package/package/components/FlowStatusWaitingForEvents.svelte +23 -27
  35. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +18 -4
  36. package/package/components/FlowViewer.svelte +2 -103
  37. package/package/components/FlowViewer.svelte.d.ts +3 -9
  38. package/package/components/ForkWorkspaceBanner.svelte +13 -16
  39. package/package/components/GraphqlSchemaViewer.svelte +1 -8
  40. package/package/components/HistoricInputs.svelte +27 -25
  41. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  42. package/package/components/InstanceSetting.svelte +0 -38
  43. package/package/components/InviteUser.svelte +42 -16
  44. package/package/components/InviteUser.svelte.d.ts +18 -4
  45. package/package/components/JsonInputs.svelte +8 -6
  46. package/package/components/JsonInputs.svelte.d.ts +8 -7
  47. package/package/components/LogViewer.svelte +33 -91
  48. package/package/components/Login.svelte +0 -21
  49. package/package/components/ManualPopover.svelte +6 -5
  50. package/package/components/ManualPopover.svelte.d.ts +35 -9
  51. package/package/components/MemoryFootprintViewer.svelte +6 -2
  52. package/package/components/ModulePreview.svelte +21 -23
  53. package/package/components/ModulePreview.svelte.d.ts +0 -1
  54. package/package/components/OAuthSetting.svelte +11 -23
  55. package/package/components/Path.svelte +2 -2
  56. package/package/components/Path.svelte.d.ts +1 -1
  57. package/package/components/ResourcePicker.svelte +0 -3
  58. package/package/components/ResourcePicker.svelte.d.ts +0 -1
  59. package/package/components/RunButton.svelte +15 -5
  60. package/package/components/RunButton.svelte.d.ts +19 -7
  61. package/package/components/RunChart.svelte +4 -8
  62. package/package/components/RunChart.svelte.d.ts +2 -2
  63. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  64. package/package/components/RunsPage.svelte +539 -170
  65. package/package/components/RunsPage.svelte.d.ts +5 -5
  66. package/package/components/S3FilePicker.svelte +11 -7
  67. package/package/components/S3FilePickerInner.svelte +3 -2
  68. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  69. package/package/components/SavedInputs.svelte +416 -0
  70. package/package/components/{tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts → SavedInputs.svelte.d.ts} +11 -8
  71. package/package/components/SchemaForm.svelte +19 -26
  72. package/package/components/SchemaFormWithArgPicker.svelte +3 -4
  73. package/package/components/ScriptBuilder.svelte +1 -1
  74. package/package/components/ScriptEditor.svelte +101 -575
  75. package/package/components/Section.svelte +1 -3
  76. package/package/components/ServiceLogsInner.svelte +4 -4
  77. package/package/components/ShareModal.svelte.d.ts +1 -1
  78. package/package/components/SimpleEditor.svelte +2 -46
  79. package/package/components/SuperadminSettingsInner.svelte +1 -1
  80. package/package/components/TemplateEditor.svelte +29 -54
  81. package/package/components/TemplateEditor.svelte.d.ts +102 -13
  82. package/package/components/UserSettings.svelte +1 -1
  83. package/package/components/WorkerTagPicker.svelte +1 -1
  84. package/package/components/WorkerTagSelect.svelte +2 -5
  85. package/package/components/WorkspaceTutorials.svelte +0 -5
  86. package/package/components/apps/components/buttons/AppButton.svelte +6 -21
  87. package/package/components/apps/components/buttons/AppForm.svelte +1 -2
  88. package/package/components/apps/components/buttons/AppFormButton.svelte +1 -2
  89. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +4 -0
  90. package/package/components/apps/components/display/dbtable/metadata.js +30 -69
  91. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +24 -2
  92. package/package/components/apps/components/display/dbtable/queries/createTable.js +25 -11
  93. package/package/components/apps/components/display/dbtable/queries/select.d.ts +0 -2
  94. package/package/components/apps/components/display/dbtable/queries/select.js +6 -37
  95. package/package/components/apps/components/display/dbtable/utils.d.ts +1 -10
  96. package/package/components/apps/components/display/dbtable/utils.js +20 -52
  97. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  98. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  99. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  100. package/package/components/apps/components/helpers/RunnableComponent.svelte +2 -3
  101. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  102. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  103. package/package/components/apps/editor/AppEditorHeader.svelte +1 -8
  104. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +29 -32
  105. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  106. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  107. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  108. package/package/components/apps/editor/PublicApp.svelte +30 -49
  109. package/package/components/apps/editor/PublicApp.svelte.d.ts +0 -1
  110. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +7 -77
  111. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  112. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  113. package/package/components/apps/editor/inlineScriptsPanel/utils.js +1 -10
  114. package/package/components/apps/inputType.d.ts +1 -6
  115. package/package/components/auditLogs/AuditLogsFilters.svelte +17 -9
  116. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  117. package/package/components/common/button/model.js +1 -1
  118. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  119. package/package/components/common/languageIcons/TypeScript.svelte +3 -5
  120. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +0 -1
  121. package/package/components/common/modal/Modal.svelte +3 -3
  122. package/package/components/copilot/autocomplete/Autocompletor.js +2 -3
  123. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  124. package/package/components/copilot/chat/AIButtonStyle.js +1 -2
  125. package/package/components/copilot/chat/AIChat.svelte +1 -3
  126. package/package/components/copilot/chat/AIChatDisplay.svelte +4 -89
  127. package/package/components/copilot/chat/AIChatInput.svelte +0 -275
  128. package/package/components/copilot/chat/AIChatManager.svelte.js +1 -107
  129. package/package/components/copilot/chat/AiChatLayout.svelte +30 -15
  130. package/package/components/copilot/chat/ContextElementBadge.svelte +0 -44
  131. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +33 -32
  132. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  133. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -3
  134. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -4
  135. package/package/components/copilot/chat/app/core.d.ts +15 -56
  136. package/package/components/copilot/chat/app/core.js +22 -141
  137. package/package/components/copilot/chat/context.d.ts +2 -59
  138. package/package/components/copilot/chat/context.js +2 -6
  139. package/package/components/copilot/chat/flow/FlowAIChat.svelte +0 -22
  140. package/package/components/copilot/chat/flow/core.d.ts +1 -3
  141. package/package/components/copilot/chat/flow/core.js +2 -29
  142. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  143. package/package/components/copilot/chat/flow/openFlowZod.d.ts +0 -1
  144. package/package/components/copilot/chat/flow/openFlowZod.js +2 -14
  145. package/package/components/copilot/chat/script/core.d.ts +1 -4
  146. package/package/components/copilot/chat/script/core.js +2 -38
  147. package/package/components/copilot/chat/shared.d.ts +0 -10
  148. package/package/components/copilot/chat/shared.js +0 -24
  149. package/package/components/copilot/lib.d.ts +1 -1
  150. package/package/components/custom_ui.d.ts +0 -2
  151. package/package/components/dbOps.d.ts +4 -18
  152. package/package/components/dbOps.js +3 -25
  153. package/package/components/flows/CreateActionsApp.svelte +4 -6
  154. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  155. package/package/components/flows/FlowHistoryInner.svelte +4 -15
  156. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  157. package/package/components/flows/content/FlowInput.svelte +37 -211
  158. package/package/components/flows/content/FlowModuleComponent.svelte +67 -553
  159. package/package/components/flows/content/FlowModuleEarlyStop.svelte +10 -8
  160. package/package/components/flows/content/FlowModuleHeader.svelte +4 -7
  161. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  162. package/package/components/flows/content/McpToolEditor.svelte +37 -50
  163. package/package/components/flows/content/McpToolEditor.svelte.d.ts +1 -0
  164. package/package/components/flows/conversations/FlowChat.svelte +2 -16
  165. package/package/components/flows/conversations/FlowChat.svelte.d.ts +1 -2
  166. package/package/components/flows/conversations/FlowChatInterface.svelte +6 -103
  167. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +0 -2
  168. package/package/components/flows/conversations/FlowChatManager.svelte.js +21 -53
  169. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  170. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -3
  171. package/package/components/flows/types.d.ts +0 -2
  172. package/package/components/git_sync/GitSyncRepositoryCard.svelte +8 -16
  173. package/package/components/home/ItemsList.svelte +5 -5
  174. package/package/components/home/TutorialBanner.svelte +18 -34
  175. package/package/components/icons/CssIcon.svelte +0 -20
  176. package/package/components/icons/CssIcon.svelte.d.ts +25 -7
  177. package/package/components/icons/JavaScriptIcon.svelte +2 -10
  178. package/package/components/icons/JavaScriptIcon.svelte.d.ts +0 -1
  179. package/package/components/icons/JsonIcon.svelte +2 -8
  180. package/package/components/icons/JsonIcon.svelte.d.ts +0 -1
  181. package/package/components/icons/ReactIcon.svelte +2 -10
  182. package/package/components/icons/ReactIcon.svelte.d.ts +0 -1
  183. package/package/components/icons/SvelteIcon.svelte +2 -10
  184. package/package/components/icons/SvelteIcon.svelte.d.ts +0 -1
  185. package/package/components/icons/VueIcon.svelte +2 -10
  186. package/package/components/icons/VueIcon.svelte.d.ts +0 -1
  187. package/package/components/instanceSettings.d.ts +1 -2
  188. package/package/components/instanceSettings.js +1 -32
  189. package/package/components/jobs/JobPreview.svelte +39 -46
  190. package/package/components/jobs/JobPreview.svelte.d.ts +0 -1
  191. package/package/components/monacoLanguagesOptions.js +15 -16
  192. package/package/components/propertyPicker/PropPicker.svelte +2 -16
  193. package/package/components/propertyPicker/PropPicker.svelte.d.ts +0 -2
  194. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +5 -9
  195. package/package/components/raw_apps/FileEditorIcon.svelte +7 -12
  196. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +0 -2
  197. package/package/components/raw_apps/FileTreeNode.svelte +83 -119
  198. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +8 -88
  199. package/package/components/raw_apps/RawAppDataTableList.svelte +9 -12
  200. package/package/components/raw_apps/RawAppEditor.svelte +68 -218
  201. package/package/components/raw_apps/RawAppEditorHeader.svelte +16 -33
  202. package/package/components/raw_apps/RawAppHistoryList.svelte +80 -264
  203. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +0 -1
  204. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +1 -15
  205. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +12 -46
  206. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +47 -549
  207. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +5 -31
  208. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +18 -25
  209. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +0 -1
  210. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +10 -141
  211. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +0 -8
  212. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +1 -2
  213. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +1 -9
  214. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +3 -47
  215. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  216. package/package/components/raw_apps/RawAppModules.svelte +7 -13
  217. package/package/components/raw_apps/RawAppPreview.svelte +6 -48
  218. package/package/components/raw_apps/RawAppSidebar.svelte +125 -194
  219. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +0 -1
  220. package/package/components/raw_apps/utils.d.ts +1 -1
  221. package/package/components/raw_apps/utils.js +18 -76
  222. package/package/components/runs/JobsLoader.svelte +468 -0
  223. package/package/components/runs/JobsLoader.svelte.d.ts +49 -0
  224. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  225. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  226. package/package/components/runs/NoWorkerWithTagWarning.svelte +1 -5
  227. package/package/components/runs/RunsFilter.svelte +63 -75
  228. package/package/components/runs/RunsFilter.svelte.d.ts +4 -35
  229. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  230. package/package/components/runs/RunsTable.svelte +1 -1
  231. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  232. package/package/components/schema/SchemaPicker.svelte +92 -0
  233. package/package/components/{tutorials/RunsTutorial.svelte.d.ts → schema/SchemaPicker.svelte.d.ts} +12 -11
  234. package/package/components/scriptEditor/LogPanel.svelte +2 -17
  235. package/package/components/scriptEditor/LogPanel.svelte.d.ts +0 -2
  236. package/package/components/select/SelectDropdown.svelte +2 -2
  237. package/package/components/settings/ChangeWorkspaceColor.svelte +3 -4
  238. package/package/components/settings/ChangeWorkspaceId.svelte +10 -14
  239. package/package/components/settings/ChangeWorkspaceName.svelte +6 -7
  240. package/package/components/settings/CreateToken.svelte +1 -1
  241. package/package/components/settings/UserAIPromptsSettings.svelte +15 -56
  242. package/package/components/settings/WorkspaceOperatorSettings.svelte +85 -68
  243. package/package/components/settings/WorkspaceUserSettings.svelte +406 -531
  244. package/package/components/sidebar/MenuButton.svelte +24 -46
  245. package/package/components/sidebar/MenuButton.svelte.d.ts +0 -2
  246. package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
  247. package/package/components/sidebar/OperatorMenu.svelte +88 -63
  248. package/package/components/sidebar/SidebarContent.svelte +2 -7
  249. package/package/components/sidebar/UserMenu.svelte +1 -1
  250. package/package/components/sidebar/WorkspaceMenu.svelte +85 -35
  251. package/package/components/sqlTypeService.js +3 -4
  252. package/package/components/table/DataTable.svelte +2 -3
  253. package/package/components/table/DataTable.svelte.d.ts +0 -1
  254. package/package/components/text_input/TextInput.svelte +0 -3
  255. package/package/components/text_input/TextInput.svelte.d.ts +0 -2
  256. package/package/components/triggers/utils.js +1 -0
  257. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +35 -6
  258. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +20 -5
  259. package/package/components/tutorials/utils.d.ts +0 -16
  260. package/package/components/tutorials/utils.js +0 -96
  261. package/package/components/vscode.js +6 -6
  262. package/package/components/workspaceSettings/AISettings.svelte +108 -146
  263. package/package/components/workspaceSettings/CreateWorkspace.svelte +12 -26
  264. package/package/components/workspaceSettings/DucklakeSettings.svelte +23 -46
  265. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +1 -2
  266. package/package/components/workspaceSettings/ModelTokenLimits.svelte +18 -14
  267. package/package/components/workspaceSettings/StorageSettings.svelte +241 -280
  268. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +0 -1
  269. package/package/consts.js +1 -4
  270. package/package/gen/core/OpenAPI.js +1 -1
  271. package/package/gen/schemas.gen.d.ts +1 -133
  272. package/package/gen/schemas.gen.js +1 -133
  273. package/package/gen/services.gen.d.ts +10 -160
  274. package/package/gen/services.gen.js +20 -319
  275. package/package/gen/types.gen.d.ts +19 -609
  276. package/package/hubPaths.json +2 -3
  277. package/package/infer.js +0 -2
  278. package/package/logout.d.ts +2 -0
  279. package/package/logout.js +23 -2
  280. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  281. package/package/navigation.d.ts +1 -1
  282. package/package/rawAppWmillTs.d.ts +0 -11
  283. package/package/rawAppWmillTs.js +1 -38
  284. package/package/svelte5Utils.svelte.d.ts +1 -7
  285. package/package/svelte5Utils.svelte.js +2 -23
  286. package/package/tutorialUtils.js +4 -0
  287. package/package/tutorials/config.js +3 -31
  288. package/package/tutorials/roleUtils.d.ts +1 -1
  289. package/package/tutorials/roleUtils.js +2 -6
  290. package/package/utils.js +1 -159
  291. package/package.json +4 -6
  292. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  293. package/dist/sharedUtils/base.d.ts +0 -1
  294. package/dist/sharedUtils/cloud.d.ts +0 -1
  295. package/dist/sharedUtils/common.d.ts +0 -111
  296. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  297. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  298. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  299. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  300. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  301. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  302. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  303. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  304. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  305. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  306. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  307. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  308. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  309. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  310. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  311. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  312. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  313. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  314. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  315. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  316. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  317. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  318. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  319. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  320. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  321. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  322. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  323. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  324. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  325. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  326. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  327. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  328. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  329. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  330. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  331. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  332. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  333. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  334. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
  335. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  336. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  337. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  338. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  339. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  340. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  341. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  342. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  343. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  344. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  345. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  346. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  347. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  348. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  349. package/dist/sharedUtils/gen/index.d.ts +0 -6
  350. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  351. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  352. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  353. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  354. package/dist/sharedUtils/hub.d.ts +0 -49
  355. package/dist/sharedUtils/jsr.json +0 -6
  356. package/dist/sharedUtils/lib.d.ts +0 -5
  357. package/dist/sharedUtils/lib.es.js +0 -1588
  358. package/dist/sharedUtils/package.json +0 -12
  359. package/dist/sharedUtils/schema.d.ts +0 -3
  360. package/dist/sharedUtils/stores.d.ts +0 -97
  361. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  362. package/dist/sharedUtils/toast.d.ts +0 -8
  363. package/dist/sharedUtils/utils.d.ts +0 -265
  364. package/package/components/FlowDiffViewer.svelte +0 -37
  365. package/package/components/FlowDiffViewer.svelte.d.ts +0 -7
  366. package/package/components/JobOtelTraces.svelte +0 -287
  367. package/package/components/JobOtelTraces.svelte.d.ts +0 -6
  368. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +0 -46
  369. package/package/components/apps/components/display/dbtable/queries/alterTable.js +0 -314
  370. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +0 -1
  371. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +0 -867
  372. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +0 -9
  373. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +0 -45
  374. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +0 -47
  375. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +0 -402
  376. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +0 -35
  377. package/package/components/apps/components/display/dbtable/tableEditor.js +0 -49
  378. package/package/components/copilot/chat/AppAvailableContextList.svelte +0 -263
  379. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +0 -13
  380. package/package/components/debug/DebugConsole.svelte +0 -277
  381. package/package/components/debug/DebugConsole.svelte.d.ts +0 -13
  382. package/package/components/debug/DebugPanel.svelte +0 -97
  383. package/package/components/debug/DebugPanel.svelte.d.ts +0 -11
  384. package/package/components/debug/DebugToolbar.svelte +0 -148
  385. package/package/components/debug/DebugToolbar.svelte.d.ts +0 -17
  386. package/package/components/debug/DebugVariableViewer.svelte +0 -115
  387. package/package/components/debug/DebugVariableViewer.svelte.d.ts +0 -11
  388. package/package/components/debug/MonacoDebugger.svelte +0 -384
  389. package/package/components/debug/MonacoDebugger.svelte.d.ts +0 -15
  390. package/package/components/debug/dapClient.d.ts +0 -192
  391. package/package/components/debug/dapClient.js +0 -426
  392. package/package/components/debug/debugUtils.d.ts +0 -30
  393. package/package/components/debug/debugUtils.js +0 -131
  394. package/package/components/debug/index.d.ts +0 -75
  395. package/package/components/debug/index.js +0 -82
  396. package/package/components/flows/content/FlowEditorDrawer.svelte +0 -124
  397. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +0 -22
  398. package/package/components/flows/content/McpOAuthConnect.svelte +0 -217
  399. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +0 -7
  400. package/package/components/icons/HtmlIcon.svelte +0 -20
  401. package/package/components/icons/HtmlIcon.svelte.d.ts +0 -8
  402. package/package/components/icons/LessIcon.svelte +0 -16
  403. package/package/components/icons/LessIcon.svelte.d.ts +0 -8
  404. package/package/components/icons/MarkdownIcon.svelte +0 -20
  405. package/package/components/icons/MarkdownIcon.svelte.d.ts +0 -8
  406. package/package/components/icons/SassIcon.svelte +0 -28
  407. package/package/components/icons/SassIcon.svelte.d.ts +0 -8
  408. package/package/components/icons/YamlIcon.svelte +0 -20
  409. package/package/components/icons/YamlIcon.svelte.d.ts +0 -8
  410. package/package/components/instanceSettings/SecretBackendConfig.svelte +0 -514
  411. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +0 -8
  412. package/package/components/raw_apps/RunnableRow.svelte +0 -41
  413. package/package/components/raw_apps/RunnableRow.svelte.d.ts +0 -11
  414. package/package/components/runs/useJobsLoader.svelte.d.ts +0 -34
  415. package/package/components/runs/useJobsLoader.svelte.js +0 -507
  416. package/package/components/settings/AIPromptsModal.svelte +0 -88
  417. package/package/components/settings/AIPromptsModal.svelte.d.ts +0 -11
  418. package/package/components/tutorials/RunsTutorial.svelte +0 -399
  419. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +0 -133
  420. package/package/components/workspace/WorkspaceCard.svelte +0 -184
  421. package/package/components/workspace/WorkspaceCard.svelte.d.ts +0 -24
  422. package/package/components/workspace/WorkspaceIcon.svelte +0 -21
  423. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +0 -9
  424. package/package/components/workspace/WorkspaceTreeView.svelte +0 -331
  425. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +0 -15
  426. package/package/logoutKit.d.ts +0 -2
  427. package/package/logoutKit.js +0 -26
  428. package/package/svelte5UtilsKit.svelte.d.ts +0 -3
  429. package/package/svelte5UtilsKit.svelte.js +0 -30
@@ -24,8 +24,8 @@ function checkIfBreakableParent(flowStoreValue) {
24
24
  }
25
25
  return null;
26
26
  }
27
- let raise_error_message_stop_after_all_if = $state(flowModule.stop_after_all_iters_if?.error_message != undefined);
28
- let raise_error_message_stop_after_if = $state(flowModule.stop_after_if?.error_message != undefined);
27
+ let raise_error_message_stop_after_all_if = $state(flowModule.stop_after_all_iters_if?.error_message !== undefined);
28
+ let raise_error_message_stop_after_if = $state(flowModule.stop_after_if?.error_message !== undefined);
29
29
  let { isLoop, isParallelLoop } = $derived(flowModule.value.type === 'forloopflow' || flowModule.value.type === 'whileloopflow'
30
30
  ? { isLoop: true, isParallelLoop: flowModule.value.parallel ?? false }
31
31
  : { isLoop: false, isParallelLoop: false });
@@ -134,7 +134,8 @@ let breakableParent = $derived(checkIfBreakableParent(flowStore.val));
134
134
  <PropPickerWrapper
135
135
  noPadding
136
136
  notSelectable
137
- pickableProperties={stepPropPicker.pickableProperties}
137
+ flow_input={stepPropPicker.pickableProperties.flow_input}
138
+ pickableProperties={undefined}
138
139
  result={earlyStopResult}
139
140
  extraResults={isLoop ? { all_iters: result } : undefined}
140
141
  on:select={({ detail }) => {
@@ -147,8 +148,8 @@ let breakableParent = $derived(checkIfBreakableParent(flowStore.val));
147
148
  lang="javascript"
148
149
  bind:code={flowModule.stop_after_if.expr}
149
150
  class="h-full"
150
- extraLib={`declare const result = ${JSON.stringify(earlyStopResult)};\n` +
151
- stepPropPicker.extraLib +
151
+ extraLib={`declare const result = ${JSON.stringify(earlyStopResult)};` +
152
+ `\n declare const flow_input = ${JSON.stringify(stepPropPicker.pickableProperties.flow_input)};` +
152
153
  (isLoop ? `\ndeclare const all_iters = ${JSON.stringify(result)};` : '')}
153
154
  />
154
155
  </PropPickerWrapper>
@@ -270,7 +271,8 @@ let breakableParent = $derived(checkIfBreakableParent(flowStore.val));
270
271
  <PropPickerWrapper
271
272
  notSelectable
272
273
  noPadding
273
- pickableProperties={stepPropPicker.pickableProperties}
274
+ flow_input={stepPropPicker.pickableProperties.flow_input}
275
+ pickableProperties={undefined}
274
276
  {result}
275
277
  on:select={({ detail }) => {
276
278
  editor?.insertAtCursor(detail)
@@ -282,8 +284,8 @@ let breakableParent = $derived(checkIfBreakableParent(flowStore.val));
282
284
  lang="javascript"
283
285
  bind:code={flowModule.stop_after_all_iters_if.expr}
284
286
  class="h-full"
285
- extraLib={`declare const result = ${JSON.stringify(result)};\n` +
286
- stepPropPicker.extraLib}
287
+ extraLib={`declare const result = ${JSON.stringify(result)};` +
288
+ `\ndeclare const flow_input = ${JSON.stringify(stepPropPicker.pickableProperties.flow_input)};`}
287
289
  />
288
290
  </PropPickerWrapper>
289
291
  </div>
@@ -1,13 +1,13 @@
1
1
  <script lang="ts">import Button from '../../common/button/Button.svelte';
2
2
  import {} from '../../../gen';
3
3
  import { createEventDispatcher, getContext } from 'svelte';
4
- import { Bed, Database, Gauge, GitFork, Pen, PhoneIncoming, RefreshCcw, Repeat, Square, Pin, Save } from 'lucide-svelte';
4
+ import { Bed, Database, ExternalLink, Gauge, GitFork, Pen, PhoneIncoming, RefreshCcw, Repeat, Square, Pin, Save } from 'lucide-svelte';
5
5
  import Popover from '../../Popover.svelte';
6
6
  import { sendUserToast } from '../../../utils';
7
7
  import { getLatestHashForScript } from '../../../scripts';
8
8
  import FlowModuleWorkerTagSelect from './FlowModuleWorkerTagSelect.svelte';
9
9
  let { module, tag } = $props();
10
- const { scriptEditorDrawer, flowEditorDrawer } = getContext('FlowEditorContext');
10
+ const { scriptEditorDrawer } = getContext('FlowEditorContext');
11
11
  const dispatch = createEventDispatcher();
12
12
  let customUi = getContext('customUi');
13
13
  let popoverClasses = 'center-center rounded p-2 bg-blue-100 text-blue-800 border border-blue-300 hover:bg-blue-200 dark:bg-frost-700 dark:text-frost-100 dark:border-frost-600';
@@ -128,16 +128,13 @@ let popoverClasses = 'center-center rounded p-2 bg-blue-100 text-blue-800 border
128
128
  variant="subtle"
129
129
  on:click={async () => {
130
130
  if (module.value.type == 'flow') {
131
- $flowEditorDrawer?.openDrawer(module.value.path, () => {
132
- dispatch('reload')
133
- sendUserToast('Flow has been updated')
134
- })
131
+ window.open(`/flows/edit/${module.value.path}`, '_blank', 'noopener,noreferrer')
135
132
  }
136
133
  }}
137
134
  startIcon={{ icon: Pen }}
138
135
  iconOnly={false}
139
136
  >
140
- Edit
137
+ Edit <ExternalLink size={12} />
141
138
  </Button>
142
139
  <Button
143
140
  unifiedSize="sm"
@@ -8,7 +8,7 @@ const dispatch = createEventDispatcher();
8
8
  loadWorkerGroups();
9
9
  async function loadWorkerGroups() {
10
10
  if (!$workerTags) {
11
- $workerTags = await WorkerService.getCustomTagsForWorkspace({ workspace: $workspaceStore });
11
+ $workerTags = await WorkerService.getCustomTags({ workspace: $workspaceStore });
12
12
  }
13
13
  }
14
14
  </script>
@@ -7,7 +7,8 @@ let loadToolsCached = createCache(({ workspace, path }) => workspace && path &&
7
7
  : undefined, {
8
8
  initial: { workspace: get(workspaceStore), path: undefined, refreshCount: 0 },
9
9
  invalidateMs: 1000 * 60
10
- });
10
+ } // Cache for 60 seconds
11
+ );
11
12
  </script>
12
13
 
13
14
  <script lang="ts">import Section from '../../Section.svelte';
@@ -20,25 +21,24 @@ import ResourcePicker from '../../ResourcePicker.svelte';
20
21
  import { usePromise } from '../../../svelte5Utils.svelte';
21
22
  import { untrack } from 'svelte';
22
23
  import Alert from '../../common/alert/Alert.svelte';
23
- import McpOAuthConnect from './McpOAuthConnect.svelte';
24
24
  let { tool = $bindable() } = $props();
25
- let showOAuthForm = $state(false);
26
25
  let refreshCount = $state(0);
27
- let resourcePicker = $state();
28
26
  let tools = usePromise(async () => await loadToolsCached({
29
27
  workspace: $workspaceStore,
30
28
  path: tool.value.resource_path,
31
29
  refreshCount
32
30
  }), { loadInit: false, clearValueOnRefresh: false });
31
+ // Options for the multiselect
33
32
  let toolOptions = $derived(safeSelectItems((tools.value ?? []).map((t) => t.name)));
34
- let resourcePath = $derived(tool.value.resource_path);
35
- let error = $derived(tools.error?.body?.message || tools.error?.message);
33
+ // Watch for resource_path changes and refresh tools
36
34
  $effect(() => {
37
- resourcePath;
35
+ // Track reactive dependencies
36
+ tool.value.resource_path;
38
37
  $workspaceStore;
39
38
  refreshCount;
39
+ // Trigger refresh when resource_path or workspace changes
40
40
  untrack(() => {
41
- if (resourcePath?.length > 0) {
41
+ if (tool.value.resource_path?.length > 0) {
42
42
  tools.refresh();
43
43
  }
44
44
  });
@@ -52,19 +52,14 @@ $effect(() => {
52
52
  }
53
53
  });
54
54
  $effect(() => {
55
- if (resourcePath?.length > 0 && tool.summary?.length === 0) {
55
+ if (tool.value.resource_path?.length > 0 && tool.summary?.length === 0) {
56
56
  tool.summary = `MCP: ${tool.value.resource_path}`;
57
57
  }
58
58
  });
59
- async function handleOAuthConnected(resourcePath, resourceName) {
60
- await resourcePicker?.refreshResources();
61
- tool.value.resource_path = resourcePath;
62
- tool.summary = `MCP: ${resourceName}`;
63
- showOAuthForm = false;
64
- }
65
59
  </script>
66
60
 
67
61
  <div class="flex flex-col gap-4 p-4">
62
+ <!-- Explanatory Section -->
68
63
  <Alert type="info" title="MCP Client Configuration">
69
64
  {#snippet children()}
70
65
  <p class="mb-2 text-sm">
@@ -79,26 +74,15 @@ async function handleOAuthConnected(resourcePath, resourceName) {
79
74
  {/snippet}
80
75
  </Alert>
81
76
 
77
+ <!-- Resource Path Section -->
82
78
  <div class="w-full">
83
79
  <Label label="MCP Resource">
84
- <ResourcePicker bind:this={resourcePicker} resourceType="mcp" bind:value={tool.value.resource_path} />
80
+ <ResourcePicker resourceType="mcp" bind:value={tool.value.resource_path} />
85
81
  </Label>
86
82
  </div>
87
83
 
88
- {#if !resourcePath}
89
- {#if !showOAuthForm}
90
- <Button size="xs" color="light" onClick={() => (showOAuthForm = true)}>
91
- Connect with OAuth
92
- </Button>
93
- {:else}
94
- <McpOAuthConnect
95
- onConnected={handleOAuthConnected}
96
- onCancel={() => (showOAuthForm = false)}
97
- />
98
- {/if}
99
- {/if}
100
-
101
- {#if resourcePath?.length > 0}
84
+ {#if tool.value.resource_path?.length > 0}
85
+ <!-- Summary Section -->
102
86
  <div class="w-full">
103
87
  <Label label="Summary">
104
88
  <input
@@ -110,12 +94,13 @@ async function handleOAuthConnected(resourcePath, resourceName) {
110
94
  </Label>
111
95
  </div>
112
96
 
97
+ <!-- Available Tools Section -->
113
98
  <Section label="Available Tools">
114
99
  {#snippet action()}
115
100
  <Button
116
101
  size="xs"
117
102
  color="light"
118
- onClick={() => (refreshCount += 1)}
103
+ on:click={() => (refreshCount += 1)}
119
104
  startIcon={{ icon: RefreshCw }}
120
105
  disabled={tools.status === 'loading'}
121
106
  >
@@ -123,37 +108,39 @@ async function handleOAuthConnected(resourcePath, resourceName) {
123
108
  </Button>
124
109
  {/snippet}
125
110
  <div class="w-full flex flex-col gap-2">
126
- {#if error}
127
- <div class="text-xs text-red-600 dark:text-red-400 mb-4"
128
- >{`Failed to load tools from MCP server: ${error}`}</div
129
- >
130
- {:else if tools.status === 'loading'}
131
- <div class="max-h-48 overflow-y-auto border rounded p-2 bg-surface-secondary">
132
- <div class="text-xs text-secondary italic">Loading tools...</div>
111
+ {#if tools.error}
112
+ <div class="text-xs text-red-600 p-2 border border-red-300 rounded bg-red-50">
113
+ {tools.error?.body?.message ||
114
+ tools.error?.message ||
115
+ 'Failed to load tools from MCP server'}
133
116
  </div>
134
- {:else if (tools.value ?? []).length === 0 && !error}
135
- <div class="max-h-48 overflow-y-auto border rounded p-2 bg-surface-secondary">
117
+ {/if}
118
+ <div class="max-h-48 overflow-y-auto border rounded p-2 bg-surface-secondary">
119
+ {#if tools.status === 'loading'}
120
+ <div class="text-xs text-secondary italic">Loading tools...</div>
121
+ {:else if (tools.value ?? []).length === 0}
136
122
  <div class="text-xs text-secondary italic">
137
- No tools loaded yet. Click "Refresh Tools" to fetch tools from the MCP server.
123
+ {tools.error
124
+ ? 'Failed to load tools. Please check the resource path and try again.'
125
+ : 'No tools loaded yet. Click "Refresh Tools" to fetch tools from the MCP server.'}
138
126
  </div>
139
- </div>
140
- {:else if (tools.value ?? []).length > 0}
141
- <div class="max-h-48 overflow-y-auto border rounded p-2 bg-surface-secondary">
127
+ {:else}
142
128
  <div class="flex flex-col gap-1">
143
- {#each tools.value ?? [] as mcpTool}
129
+ {#each tools.value ?? [] as tool}
144
130
  <div class="text-xs">
145
- <span class="font-semibold">{mcpTool.name}</span>
146
- {#if mcpTool.description}
147
- <span class="text-secondary">— {mcpTool.description}</span>
131
+ <span class="font-semibold">{tool.name}</span>
132
+ {#if tool.description}
133
+ <span class="text-secondary">— {tool.description}</span>
148
134
  {/if}
149
135
  </div>
150
136
  {/each}
151
137
  </div>
152
- </div>
153
- {/if}
138
+ {/if}
139
+ </div>
154
140
  </div>
155
141
  </Section>
156
142
 
143
+ <!-- Tool Filtering Section -->
157
144
  {#if tool.value.include_tools && tool.value.exclude_tools}
158
145
  <Section label="Tool Filtering">
159
146
  <div class="w-full flex flex-col gap-3">
@@ -1,6 +1,7 @@
1
1
  import type { McpTool } from '../agentToolUtils';
2
2
  interface Props {
3
3
  tool: McpTool;
4
+ noEditor: boolean;
4
5
  }
5
6
  declare const McpToolEditor: import("svelte").Component<Props, {}, "tool">;
6
7
  type McpToolEditor = ReturnType<typeof McpToolEditor>;
@@ -3,7 +3,7 @@ import { createFlowChatManager } from './FlowChatManager.svelte';
3
3
  import FlowConversationsSidebar from './FlowConversationsSidebar.svelte';
4
4
  import FlowChatInterface from './FlowChatInterface.svelte';
5
5
  import { untrack } from 'svelte';
6
- let { onRunFlow, deploymentInProgress = false, useStreaming = false, path, hideSidebar = false, inputSchema = undefined, } = $props();
6
+ let { onRunFlow, deploymentInProgress = false, useStreaming = false, path, hideSidebar = false } = $props();
7
7
  const manager = createFlowChatManager();
8
8
  // Initialize manager when component mounts
9
9
  $effect(() => {
@@ -22,25 +22,11 @@ $effect(() => {
22
22
  });
23
23
  }
24
24
  });
25
- // Derive additional inputs schema (excluding user_message) for chat mode
26
- const additionalInputsSchema = $derived.by(() => {
27
- const props = inputSchema?.properties ?? {};
28
- const filtered = Object.fromEntries(Object.entries(props).filter(([k]) => k !== 'user_message'));
29
- if (Object.keys(filtered).length === 0)
30
- return undefined;
31
- const required = inputSchema?.required;
32
- const requiredArray = Array.isArray(required) ? required : [];
33
- return {
34
- ...inputSchema,
35
- properties: filtered,
36
- required: requiredArray.filter((k) => k !== 'user_message')
37
- };
38
- });
39
25
  </script>
40
26
 
41
27
  <div class="flex border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden flex-1">
42
28
  {#if !hideSidebar}
43
29
  <FlowConversationsSidebar {manager} />
44
30
  {/if}
45
- <FlowChatInterface {manager} {deploymentInProgress} {additionalInputsSchema} {path} />
31
+ <FlowChatInterface {manager} {deploymentInProgress} />
46
32
  </div>
@@ -1,10 +1,9 @@
1
1
  interface Props {
2
- onRunFlow: (userMessage: string, conversationId: string, additionalInputs?: Record<string, any>) => Promise<string | undefined>;
2
+ onRunFlow: (userMessage: string, conversationId: string) => Promise<string | undefined>;
3
3
  useStreaming?: boolean;
4
4
  deploymentInProgress?: boolean;
5
5
  path: string;
6
6
  hideSidebar?: boolean;
7
- inputSchema?: Record<string, any>;
8
7
  }
9
8
  declare const FlowChat: import("svelte").Component<Props, {}, "">;
10
9
  type FlowChat = ReturnType<typeof FlowChat>;
@@ -1,85 +1,11 @@
1
- <script lang="ts">import { Alert, Button } from '../../common';
2
- import { MessageCircle, Loader2, Settings2 } from 'lucide-svelte';
1
+ <script lang="ts">import { Alert } from '../../common';
2
+ import { MessageCircle, Loader2 } from 'lucide-svelte';
3
3
  import ChatMessage from '../../chat/ChatMessage.svelte';
4
4
  import ChatInput from '../../chat/ChatInput.svelte';
5
5
  import { FlowChatManager } from './FlowChatManager.svelte';
6
- import Modal from '../../common/modal/Modal.svelte';
7
- import SchemaForm from '../../SchemaForm.svelte';
8
- import {} from '../../../utils';
9
- let { manager, deploymentInProgress = false, additionalInputsSchema, path } = $props();
10
- // Derive helperScript for dynamic inputs from schema
11
- const dynamicInputHelperScript = $derived.by(() => {
12
- const dynCode = additionalInputsSchema?.['x-windmill-dyn-select-code'];
13
- const dynLang = additionalInputsSchema?.['x-windmill-dyn-select-lang'];
14
- if (dynCode && dynLang) {
15
- return { source: 'inline', code: dynCode, lang: dynLang };
16
- }
17
- return undefined;
18
- });
19
- // LocalStorage helpers
20
- const STORAGE_KEY_PREFIX = 'windmill_flow_chat_inputs_';
21
- // State for additional inputs modal
22
- let showInputsModal = $state(false);
23
- let additionalInputsValues = $state(loadInputsFromStorage() ?? undefined);
24
- function getStorageKey() {
25
- return `${STORAGE_KEY_PREFIX}${path}`;
26
- }
27
- function loadInputsFromStorage() {
28
- try {
29
- const stored = localStorage.getItem(getStorageKey());
30
- return stored ? JSON.parse(stored) : null;
31
- }
32
- catch (e) {
33
- console.error('Failed to load inputs from localStorage:', e);
34
- return null;
35
- }
36
- }
37
- function saveInputsToStorage(values) {
38
- try {
39
- localStorage.setItem(getStorageKey(), JSON.stringify(values));
40
- }
41
- catch (e) {
42
- console.error('Failed to save inputs to localStorage:', e);
43
- }
44
- }
45
- function handleModalConfirm() {
46
- saveInputsToStorage(additionalInputsValues ?? {});
47
- showInputsModal = false;
48
- }
49
- function handleSendMessage() {
50
- const inputs = additionalInputsSchema
51
- ? (loadInputsFromStorage() ?? additionalInputsValues)
52
- : undefined;
53
- manager.sendMessage(inputs);
54
- }
55
- function openInputsModal() {
56
- const stored = loadInputsFromStorage();
57
- if (stored)
58
- additionalInputsValues = stored;
59
- showInputsModal = true;
60
- }
61
- const hasMissingRequired = $derived.by(() => {
62
- if (!additionalInputsSchema?.required?.length)
63
- return false;
64
- const values = additionalInputsValues ?? {};
65
- return additionalInputsSchema.required.some((field) => values[field] === undefined || values[field] === '' || values[field] === null);
66
- });
6
+ let { manager, deploymentInProgress = false } = $props();
67
7
  </script>
68
8
 
69
- <!-- Additional Inputs Modal -->
70
- {#if additionalInputsSchema}
71
- <Modal title="Configure inputs" bind:open={showInputsModal}>
72
- <SchemaForm
73
- schema={additionalInputsSchema}
74
- bind:args={additionalInputsValues}
75
- helperScript={dynamicInputHelperScript}
76
- />
77
- {#snippet actions()}
78
- <Button onClick={handleModalConfirm} variant="accent">Save</Button>
79
- {/snippet}
80
- </Modal>
81
- {/if}
82
-
83
9
  <div class="flex flex-col h-full flex-1 min-w-0">
84
10
  <!-- Messages Container -->
85
11
  <div
@@ -122,37 +48,14 @@ const hasMissingRequired = $derived.by(() => {
122
48
  </div>
123
49
 
124
50
  <!-- Chat Input -->
125
- <div class="flex flex-col items-center p-2 xl:max-w-7xl mx-auto w-full gap-2">
126
- {#if additionalInputsSchema}
127
- <div class="flex items-center justify-end w-full">
128
- <div class="relative">
129
- <Button
130
- size="xs"
131
- variant="default"
132
- startIcon={{ icon: Settings2 }}
133
- title="Inputs"
134
- onClick={openInputsModal}
135
- >
136
- Inputs
137
- </Button>
138
- {#if hasMissingRequired}
139
- <span class="absolute -top-1 -right-1 w-2 h-2 bg-yellow-500 rounded-full"></span>
140
- {/if}
141
- </div>
142
- </div>
143
- {/if}
51
+ <div class="flex flex-row justify-center py-2 xl:max-w-7xl mx-auto w-full">
144
52
  <div class="w-full" class:opacity-50={deploymentInProgress}>
145
53
  <ChatInput
146
54
  bind:value={manager.inputMessage}
147
55
  bind:bindTextarea={manager.inputElement}
148
56
  disabled={manager.isLoading || deploymentInProgress}
149
- onSend={handleSendMessage}
150
- onKeydown={(e) => {
151
- if (e.key === 'Enter' && !e.shiftKey && !e.isComposing) {
152
- e.preventDefault()
153
- handleSendMessage()
154
- }
155
- }}
57
+ onSend={() => manager.sendMessage()}
58
+ onKeydown={manager.handleKeyDown}
156
59
  showCancelButton={manager.isWaitingForResponse || manager.isLoading}
157
60
  onCancel={() => manager.cancelCurrentJob()}
158
61
  sendTitle={deploymentInProgress ? 'Deployment in progress' : 'Send message (Enter)'}
@@ -2,8 +2,6 @@ import { FlowChatManager } from './FlowChatManager.svelte';
2
2
  interface Props {
3
3
  manager: FlowChatManager;
4
4
  deploymentInProgress?: boolean;
5
- additionalInputsSchema?: Record<string, any>;
6
- path: string;
7
5
  }
8
6
  declare const FlowChatInterface: import("svelte").Component<Props, {}, "">;
9
7
  type FlowChatInterface = ReturnType<typeof FlowChatInterface>;
@@ -278,16 +278,14 @@ export class FlowChatManager {
278
278
  // Do a final poll to get all messages from database
279
279
  try {
280
280
  if (this.selectedConversationId) {
281
- await this.pollConversationMessages(this.selectedConversationId, {
282
- removeTempMessages: true
283
- });
281
+ await this.pollConversationMessages(this.selectedConversationId);
284
282
  }
285
283
  }
286
284
  catch { }
287
285
  this.cleanup();
288
286
  }
289
287
  }
290
- async pollConversationMessages(conversationId, options) {
288
+ async pollConversationMessages(conversationId, isNewConversation) {
291
289
  if (!get(workspaceStore))
292
290
  return;
293
291
  try {
@@ -299,7 +297,7 @@ export class FlowChatManager {
299
297
  perPage: 50,
300
298
  afterId: lastId
301
299
  });
302
- if (options?.isNewConversation) {
300
+ if (isNewConversation) {
303
301
  await this.refreshConversations();
304
302
  }
305
303
  const filteredResponse = response.filter((msg) => msg.message_type !== 'user');
@@ -309,11 +307,8 @@ export class FlowChatManager {
309
307
  this.messages = [...this.messages, msg];
310
308
  }
311
309
  }
312
- // Only remove temporary messages when explicitly requested (e.g., after job completion)
313
- // During streaming, we keep temp messages to avoid them disappearing due to race conditions
314
- if (options?.removeTempMessages) {
315
- this.messages = this.messages.filter((msg) => !msg.id.startsWith('temp-'));
316
- }
310
+ // Remove temporary messages
311
+ this.messages = this.messages.filter((msg) => !msg.id.startsWith('temp-'));
317
312
  }
318
313
  catch (error) {
319
314
  console.error('Polling error:', error);
@@ -323,7 +318,7 @@ export class FlowChatManager {
323
318
  if (this.pollingInterval)
324
319
  return;
325
320
  this.pollingInterval = setInterval(() => {
326
- this.pollConversationMessages(conversationId, { isNewConversation });
321
+ this.pollConversationMessages(conversationId, isNewConversation);
327
322
  }, 500); // Poll every 0.5 seconds
328
323
  setTimeout(() => {
329
324
  this.stopPolling();
@@ -336,7 +331,7 @@ export class FlowChatManager {
336
331
  }
337
332
  }
338
333
  // Message sending
339
- async sendMessage(additionalInputs) {
334
+ async sendMessage() {
340
335
  if (!this.inputMessage.trim() || this.isLoading)
341
336
  return;
342
337
  const isNewConversation = this.messages.length === 0;
@@ -370,10 +365,10 @@ export class FlowChatManager {
370
365
  await tick();
371
366
  this.scrollToUserMessage(userMessage.id);
372
367
  if (this.#useStreaming && this.#path) {
373
- await this.handleStreamingMessage(messageContent, currentConversationId, isNewConversation, additionalInputs);
368
+ await this.handleStreamingMessage(messageContent, currentConversationId, isNewConversation);
374
369
  }
375
370
  else {
376
- await this.handlePollingMessage(messageContent, currentConversationId, isNewConversation, additionalInputs);
371
+ await this.handlePollingMessage(messageContent, currentConversationId, isNewConversation);
377
372
  }
378
373
  }
379
374
  catch (error) {
@@ -388,7 +383,7 @@ export class FlowChatManager {
388
383
  await tick();
389
384
  this.focusInput();
390
385
  }
391
- async handleStreamingMessage(messageContent, currentConversationId, isNewConversation, additionalInputs) {
386
+ async handleStreamingMessage(messageContent, currentConversationId, isNewConversation) {
392
387
  // Close any existing EventSource
393
388
  if (this.currentEventSource) {
394
389
  this.currentEventSource.close();
@@ -398,7 +393,7 @@ export class FlowChatManager {
398
393
  let assistantMessageId = '';
399
394
  let isCompleted = false;
400
395
  try {
401
- const jobId = await this.#onRunFlow?.(messageContent, currentConversationId, additionalInputs);
396
+ const jobId = await this.#onRunFlow?.(messageContent, currentConversationId);
402
397
  if (!jobId) {
403
398
  console.error('No jobId returned from onRunFlow');
404
399
  return;
@@ -417,38 +412,7 @@ export class FlowChatManager {
417
412
  eventSource.onmessage = async (event) => {
418
413
  try {
419
414
  const data = JSON.parse(event.data);
420
- const type = data.type;
421
- // Handle timeout - reconnect to SSE
422
- if (type === 'timeout') {
423
- eventSource.close();
424
- this.currentEventSource = undefined;
425
- // Reconnect
426
- this.handleStreamingMessage(messageContent, currentConversationId, isNewConversation, additionalInputs);
427
- return;
428
- }
429
- // Handle ping - just ignore
430
- if (type === 'ping') {
431
- return;
432
- }
433
- // Handle error
434
- if (type === 'error') {
435
- eventSource.close();
436
- this.currentEventSource = undefined;
437
- console.error('SSE error:', data);
438
- sendUserToast('Stream error: ' + (data.error || 'Unknown error'), true);
439
- this.cleanup();
440
- return;
441
- }
442
- // Handle not found
443
- if (type === 'not_found') {
444
- eventSource.close();
445
- this.currentEventSource = undefined;
446
- console.error('Job not found');
447
- sendUserToast('Job not found', true);
448
- this.cleanup();
449
- return;
450
- }
451
- if (type === 'update') {
415
+ if (data.type === 'update') {
452
416
  if (data.flow_stream_job_id) {
453
417
  this.currentJobId = data.flow_stream_job_id;
454
418
  }
@@ -511,9 +475,7 @@ export class FlowChatManager {
511
475
  isCompleted = true;
512
476
  // Do a final poll to get all messages from database
513
477
  if (this.selectedConversationId) {
514
- await this.pollConversationMessages(this.selectedConversationId, {
515
- removeTempMessages: true
516
- });
478
+ await this.pollConversationMessages(this.selectedConversationId);
517
479
  }
518
480
  this.cleanup();
519
481
  }
@@ -537,8 +499,8 @@ export class FlowChatManager {
537
499
  this.cleanup();
538
500
  }
539
501
  }
540
- async handlePollingMessage(messageContent, currentConversationId, isNewConversation, additionalInputs) {
541
- const jobId = await this.#onRunFlow?.(messageContent, currentConversationId, additionalInputs);
502
+ async handlePollingMessage(messageContent, currentConversationId, isNewConversation) {
503
+ const jobId = await this.#onRunFlow?.(messageContent, currentConversationId);
542
504
  if (!jobId) {
543
505
  console.error('No jobId returned from onRunFlow');
544
506
  return;
@@ -552,5 +514,11 @@ export class FlowChatManager {
552
514
  this.startPolling(currentConversationId);
553
515
  this.pollJobResult(jobId);
554
516
  }
517
+ handleKeyDown = (event) => {
518
+ if (event.key === 'Enter' && !event.shiftKey) {
519
+ event.preventDefault();
520
+ this.sendMessage();
521
+ }
522
+ };
555
523
  }
556
524
  export const createFlowChatManager = () => new FlowChatManager();
@@ -11,7 +11,7 @@ let flow = $derived(flowStore.val);
11
11
  <Drawer bind:this={drawer} size="800px">
12
12
  <DrawerContent title="OpenFlow" on:close={() => drawer?.toggleDrawer()}>
13
13
  {#if flow}
14
- <FlowViewer flow={cleanFlow(flow)} initTab="raw" />
14
+ <FlowViewer flow={cleanFlow(flow)} tab="raw" />
15
15
  {/if}
16
16
  </DrawerContent>
17
17
  </Drawer>
@@ -82,7 +82,7 @@ let rightPaneHeight = $state(0);
82
82
  : 'transparent'}
83
83
  animationDuration="4s"
84
84
  >
85
- {#if result != undefined && !pickableProperties}
85
+ {#if result != undefined}
86
86
  <PropPickerResult
87
87
  {result}
88
88
  {extraResults}
@@ -97,8 +97,6 @@ let rightPaneHeight = $state(0);
97
97
  />
98
98
  {:else if pickableProperties}
99
99
  <PropPicker
100
- {result}
101
- {extraResults}
102
100
  {displayContext}
103
101
  {error}
104
102
  {flow_env}