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,7 +24,6 @@ declare function $$render<UnderlyingInputElT extends 'input' | 'textarea' = 'inp
24
24
  props: Props<UnderlyingInputElT>;
25
25
  exports: {
26
26
  focus: () => void;
27
- select: () => void;
28
27
  };
29
28
  bindings: "value";
30
29
  slots: {};
@@ -37,7 +36,6 @@ declare class __sveltets_Render<UnderlyingInputElT extends 'input' | 'textarea'
37
36
  bindings(): "value";
38
37
  exports(): {
39
38
  focus: () => void;
40
- select: () => void;
41
39
  };
42
40
  }
43
41
  interface $$IsomorphicComponent {
@@ -5,6 +5,7 @@ import MqttIcon from '../icons/MqttIcon.svelte';
5
5
  import AwsIcon from '../icons/AwsIcon.svelte';
6
6
  import GoogleCloudIcon from '../icons/GoogleCloudIcon.svelte';
7
7
  import SchedulePollIcon from '../icons/SchedulePollIcon.svelte';
8
+ import {} from './';
8
9
  import { saveScheduleFromCfg } from '../flows/scheduleUtils';
9
10
  import { saveHttpRouteFromCfg } from './http/utils';
10
11
  import { saveWebsocketTriggerFromCfg } from './websocket/utils';
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">import { getContext } from 'svelte';
2
- import { isFlowTainted, triggerPointerDown, clickButtonBySelector, DELAY_SHORT, DELAY_MEDIUM, DELAY_LONG, DELAY_ANIMATION, DELAY_ANIMATION_LONG, DELAY_TYPING, DELAY_CODE_CHAR, DELAY_CODE_NEWLINE, moveCursorToElement, createFakeCursor } from './utils';
2
+ import { isFlowTainted, triggerPointerDown, clickButtonBySelector } from './utils';
3
3
  import Tutorial from './Tutorial.svelte';
4
4
  import { initFlow } from '../flows/flowStore.svelte';
5
5
  import { loadFlowModuleState } from '../flows/flowStateUtils.svelte';
@@ -16,6 +16,15 @@ let step3Complete = $state(false);
16
16
  let step4Complete = $state(false);
17
17
  let step5Complete = $state(false);
18
18
  let step6Complete = $state(false);
19
+ // Constants for delays
20
+ const DELAY_SHORT = 100;
21
+ const DELAY_MEDIUM = 300;
22
+ const DELAY_LONG = 500;
23
+ const DELAY_ANIMATION = 1500;
24
+ const DELAY_ANIMATION_LONG = 2500;
25
+ const DELAY_TYPING = 50;
26
+ const DELAY_CODE_CHAR = 2;
27
+ const DELAY_CODE_NEWLINE = 5;
19
28
  // Helper function to get driver overlay
20
29
  function getDriverOverlay() {
21
30
  return document.querySelector('.driver-overlay');
@@ -61,9 +70,29 @@ function cleanupCustomOverlay() {
61
70
  customOverlay.remove();
62
71
  }
63
72
  }
64
- // Helper function to create and animate a fake cursor (extended version with start element support)
65
- async function createFakeCursorWithStart(startElement, endElement, transitionDuration = 1.5) {
66
- const fakeCursor = createFakeCursor();
73
+ // Helper function to move cursor to element (for continuous cursor movement)
74
+ async function moveCursorToElement(cursor, element, duration = DELAY_ANIMATION) {
75
+ const rect = element.getBoundingClientRect();
76
+ cursor.style.transition = `all ${duration / 1000}s ease-in-out`;
77
+ cursor.style.left = `${rect.left + rect.width / 2}px`;
78
+ cursor.style.top = `${rect.top + rect.height / 2}px`;
79
+ await wait(duration);
80
+ }
81
+ // Helper function to create and animate a fake cursor
82
+ async function createFakeCursor(startElement, endElement, transitionDuration = 1.5) {
83
+ const fakeCursor = document.createElement('div');
84
+ fakeCursor.style.cssText = `
85
+ position: fixed;
86
+ width: 20px;
87
+ height: 20px;
88
+ border-radius: 50%;
89
+ background-color: rgba(59, 130, 246, 0.8);
90
+ border: 2px solid white;
91
+ pointer-events: none;
92
+ z-index: 10000;
93
+ transition: all ${transitionDuration}s ease-in-out;
94
+ `;
95
+ document.body.appendChild(fakeCursor);
67
96
  const endRect = endElement.getBoundingClientRect();
68
97
  let startX, startY;
69
98
  if (startElement) {
@@ -252,7 +281,7 @@ const flowJson = {
252
281
  // Animate cursor to the add step button
253
282
  const button = document.querySelector('#flow-editor-add-step-0') as HTMLElement
254
283
  if (button) {
255
- const fakeCursor1 = await createFakeCursorWithStart(null, button, 1.5)
284
+ const fakeCursor1 = await createFakeCursor(null, button, 1.5)
256
285
  await wait(DELAY_SHORT)
257
286
  button.click()
258
287
  fakeCursor1.remove()
@@ -270,7 +299,7 @@ const flowJson = {
270
299
 
271
300
  if (bunSpan) {
272
301
  // Animate cursor from add step button to TypeScript (Bun) span
273
- const fakeCursor2 = await createFakeCursorWithStart(button, bunSpan, 1.5)
302
+ const fakeCursor2 = await createFakeCursor(button, bunSpan, 1.5)
274
303
  await wait(DELAY_MEDIUM)
275
304
  fakeCursor2.remove()
276
305
 
@@ -4,7 +4,6 @@ import { initFlow } from '../flows/flowStore.svelte';
4
4
  import { wait } from '../../utils';
5
5
  import { sendUserToast } from '../../toast';
6
6
  import { updateProgress } from '../../tutorialUtils';
7
- import { DELAY_SHORT, DELAY_MEDIUM, DELAY_LONG, createFakeCursor } from './utils';
8
7
  let { index } = $props();
9
8
  const { flowStore, flowStateStore } = getContext('FlowEditorContext');
10
9
  let tutorial = undefined;
@@ -18,6 +17,10 @@ let stepComplete = $state({
18
17
  6: false,
19
18
  7: false
20
19
  });
20
+ // Constants for delays
21
+ const DELAY_SHORT = 100;
22
+ const DELAY_MEDIUM = 300;
23
+ const DELAY_LONG = 500;
21
24
  // Constants for cursor animation
22
25
  const CURSOR_START_OFFSET = -100;
23
26
  const CURSOR_CLICK_SCALE = 0.8;
@@ -40,9 +43,21 @@ function checkStepComplete(step) {
40
43
  }
41
44
  return true;
42
45
  }
43
- // Helper function to create and animate a fake cursor with start position
44
- async function createFakeCursorWithStart(startElement, endElement, transitionDuration = 1.5) {
45
- const fakeCursor = createFakeCursor();
46
+ // Helper function to create and animate a fake cursor
47
+ async function createFakeCursor(startElement, endElement, transitionDuration = 1.5) {
48
+ const fakeCursor = document.createElement('div');
49
+ fakeCursor.style.cssText = `
50
+ position: fixed;
51
+ width: 20px;
52
+ height: 20px;
53
+ border-radius: 50%;
54
+ background-color: rgba(59, 130, 246, 0.8);
55
+ border: 2px solid white;
56
+ pointer-events: none;
57
+ z-index: 10000;
58
+ transition: all ${transitionDuration}s ease-in-out;
59
+ `;
60
+ document.body.appendChild(fakeCursor);
46
61
  const endRect = endElement.getBoundingClientRect();
47
62
  let startX, startY;
48
63
  if (startElement) {
@@ -73,7 +88,7 @@ function getElementBySelector(selector) {
73
88
  }
74
89
  // Helper function to animate a fake cursor click
75
90
  async function animateFakeCursorClick(element, transitionDuration = 1.5, options) {
76
- const fakeCursor = await createFakeCursorWithStart(null, element, transitionDuration);
91
+ const fakeCursor = await createFakeCursor(null, element, transitionDuration);
77
92
  await wait(DELAY_MEDIUM);
78
93
  // Animate click (shrink cursor briefly)
79
94
  fakeCursor.style.transform = `scale(${CURSOR_CLICK_SCALE})`;
@@ -1,13 +1,5 @@
1
1
  import type { FlowModule, OpenFlow } from '../../gen';
2
2
  import type { App } from '../apps/types';
3
- export declare const DELAY_SHORT = 100;
4
- export declare const DELAY_MEDIUM = 300;
5
- export declare const DELAY_LONG = 500;
6
- export declare const DELAY_ANIMATION = 1500;
7
- export declare const DELAY_ANIMATION_LONG = 2500;
8
- export declare const DELAY_TYPING = 50;
9
- export declare const DELAY_CODE_CHAR = 2;
10
- export declare const DELAY_CODE_NEWLINE = 5;
11
3
  export declare function setInputBySelector(selector: string, value: string): void;
12
4
  export declare function clickButtonBySelector(selector: string): void;
13
5
  export declare function clickFirstButtonBySelector(selector: string): void;
@@ -21,11 +13,3 @@ export declare function updateInlineRunnableCode(app: App, componentId: string,
21
13
  export declare function connectComponentSourceToOutput(app: App, componentId: string, targetId: string): void;
22
14
  export declare function connectInlineRunnableInputToComponentOutput(app: App, sourceComponentId: string, sourceField: string, targetComponentId: string, targetField: string, fieldType?: string): void;
23
15
  export declare function waitForElementLoading(selector: string, callback: () => void, interval?: number, maxAttempts?: number): void;
24
- export declare function moveCursorToElement(cursor: HTMLElement, element: HTMLElement, duration?: number): Promise<void>;
25
- export declare function createFakeCursor(): HTMLElement;
26
- export declare function createFakeCursorWithStart(startElement: HTMLElement | null, endElement: HTMLElement, transitionDuration?: number): Promise<HTMLElement>;
27
- export declare function animateFakeCursorClick(element: HTMLElement, transitionDuration?: number, options?: {
28
- usePointerEvents?: boolean;
29
- startElement?: HTMLElement | null;
30
- }): Promise<void>;
31
- export declare function animateCursorToElementAndClick(cursor: HTMLElement, element: HTMLElement, startOffset?: number): Promise<void>;
@@ -2,16 +2,6 @@ import { deepEqual } from 'fast-equals';
2
2
  import { emptyApp } from '../apps/editor/appUtils';
3
3
  import { findGridItem } from '../apps/editor/appUtilsCore';
4
4
  import { isRunnableByName } from '../apps/inputType';
5
- import { wait } from '../../utils';
6
- // Tutorial animation delay constants
7
- export const DELAY_SHORT = 100;
8
- export const DELAY_MEDIUM = 300;
9
- export const DELAY_LONG = 500;
10
- export const DELAY_ANIMATION = 1500;
11
- export const DELAY_ANIMATION_LONG = 2500;
12
- export const DELAY_TYPING = 50;
13
- export const DELAY_CODE_CHAR = 2;
14
- export const DELAY_CODE_NEWLINE = 5;
15
5
  export function setInputBySelector(selector, value) {
16
6
  const input = document.querySelector(selector);
17
7
  if (input) {
@@ -154,89 +144,3 @@ export function waitForElementLoading(selector, callback, interval = 50, maxAtte
154
144
  attempts++;
155
145
  }, interval);
156
146
  }
157
- // Helper function to move cursor to element (for continuous cursor movement in tutorials)
158
- export async function moveCursorToElement(cursor, element, duration = DELAY_ANIMATION) {
159
- const rect = element.getBoundingClientRect();
160
- cursor.style.transition = `all ${duration / 1000}s ease-in-out`;
161
- cursor.style.left = `${rect.left + rect.width / 2}px`;
162
- cursor.style.top = `${rect.top + rect.height / 2}px`;
163
- await wait(duration);
164
- }
165
- // Helper function to create a fake cursor element for tutorial animations
166
- export function createFakeCursor() {
167
- const fakeCursor = document.createElement('div');
168
- fakeCursor.style.cssText = `
169
- position: fixed;
170
- width: 20px;
171
- height: 20px;
172
- border-radius: 50%;
173
- background-color: rgba(59, 130, 246, 0.8);
174
- border: 2px solid white;
175
- pointer-events: none;
176
- z-index: 10000;
177
- transition: all 1.5s ease-in-out;
178
- `;
179
- document.body.appendChild(fakeCursor);
180
- return fakeCursor;
181
- }
182
- // Constants for cursor animation
183
- const CURSOR_START_OFFSET = -100;
184
- const CURSOR_CLICK_SCALE = 0.8;
185
- // Helper function to create and animate a fake cursor with start position
186
- export async function createFakeCursorWithStart(startElement, endElement, transitionDuration = 1.5) {
187
- const fakeCursor = createFakeCursor();
188
- const endRect = endElement.getBoundingClientRect();
189
- let startX, startY;
190
- if (startElement) {
191
- const startRect = startElement.getBoundingClientRect();
192
- startX = startRect.left + startRect.width / 2;
193
- startY = startRect.top + startRect.height / 2;
194
- }
195
- else {
196
- startX = endRect.left + CURSOR_START_OFFSET;
197
- startY = endRect.top + endRect.height / 2;
198
- }
199
- fakeCursor.style.left = `${startX}px`;
200
- fakeCursor.style.top = `${startY}px`;
201
- await wait(DELAY_SHORT);
202
- fakeCursor.style.left = `${endRect.left + endRect.width / 2}px`;
203
- fakeCursor.style.top = `${endRect.top + endRect.height / 2}px`;
204
- await wait(transitionDuration * 1000);
205
- return fakeCursor;
206
- }
207
- // Helper function to animate a fake cursor click
208
- export async function animateFakeCursorClick(element, transitionDuration = 1.5, options) {
209
- const fakeCursor = await createFakeCursorWithStart(options?.startElement ?? null, element, transitionDuration);
210
- await wait(DELAY_MEDIUM);
211
- // Animate click (shrink cursor briefly)
212
- fakeCursor.style.transform = `scale(${CURSOR_CLICK_SCALE})`;
213
- await wait(DELAY_SHORT);
214
- fakeCursor.style.transform = 'scale(1)';
215
- await wait(DELAY_SHORT);
216
- // Trigger pointer events if needed (flow graph uses pointer events instead of click)
217
- if (options?.usePointerEvents) {
218
- element.dispatchEvent(new PointerEvent('pointerdown', { bubbles: true }));
219
- element.dispatchEvent(new PointerEvent('pointerup', { bubbles: true }));
220
- }
221
- // Click the element
222
- element.click();
223
- await wait(DELAY_SHORT);
224
- // Remove fake cursor
225
- fakeCursor.remove();
226
- }
227
- // Helper function to animate cursor to element and click (for reusing a cursor across multiple clicks)
228
- export async function animateCursorToElementAndClick(cursor, element, startOffset = CURSOR_START_OFFSET) {
229
- const rect = element.getBoundingClientRect();
230
- // Set initial position (off-screen to the left)
231
- cursor.style.left = `${rect.left + startOffset}px`;
232
- cursor.style.top = `${rect.top + rect.height / 2}px`;
233
- await wait(DELAY_SHORT);
234
- // Animate to target position
235
- cursor.style.left = `${rect.left + rect.width / 2}px`;
236
- cursor.style.top = `${rect.top + rect.height / 2}px`;
237
- await wait(DELAY_ANIMATION);
238
- await wait(DELAY_MEDIUM);
239
- // Click on the element
240
- element.click();
241
- await wait(DELAY_SHORT);
242
- }
@@ -55,13 +55,13 @@ export function buildWorkerDefinition() {
55
55
  return new Worker(new URL('@codingame/monaco-vscode-standalone-css-language-features/worker', import.meta.url), {
56
56
  type: 'module'
57
57
  });
58
+ },
59
+ graphql: () => {
60
+ console.log('Creating graphql worker');
61
+ return new Worker(new URL(`../monaco_workers/graphql.worker.bundle.js`, import.meta.url), {
62
+ name: 'graphql'
63
+ });
58
64
  }
59
- // graphql: () => {
60
- // console.log('Creating graphql worker')
61
- // return new Worker(new URL(`../monaco_workers/graphql.worker.bundle.js`, import.meta.url), {
62
- // name: 'graphql'
63
- // })
64
- // }
65
65
  };
66
66
  const workerFunc = workerLoaders[selector];
67
67
  if (workerFunc !== undefined) {
@@ -7,7 +7,7 @@ import Description from '../Description.svelte';
7
7
  import Label from '../Label.svelte';
8
8
  import ResourcePicker from '../ResourcePicker.svelte';
9
9
  import Toggle from '../Toggle.svelte';
10
- import Select from '../select/Select.svelte';
10
+ import ArgEnum from '../ArgEnum.svelte';
11
11
  import Button from '../common/button/Button.svelte';
12
12
  import MultiSelect from '../select/MultiSelect.svelte';
13
13
  import { safeSelectItems } from '../select/utils.svelte';
@@ -15,20 +15,10 @@ import Badge from '../common/badge/Badge.svelte';
15
15
  import Tooltip from '../Tooltip.svelte';
16
16
  import ModelTokenLimits from './ModelTokenLimits.svelte';
17
17
  import { setCopilotInfo } from '../../aiStore';
18
- import AIPromptsModal from '../settings/AIPromptsModal.svelte';
19
- import { Save, Settings } from 'lucide-svelte';
20
- import { slide } from 'svelte/transition';
18
+ import CustomAIPrompts from '../copilot/CustomAIPrompts.svelte';
21
19
  let { aiProviders = $bindable(), codeCompletionModel = $bindable(), defaultModel = $bindable(), customPrompts = $bindable(), maxTokensPerModel = $bindable(), usingOpenaiClientCredentialsOauth = $bindable(), onSave } = $props();
22
20
  let fetchedAiModels = $state(false);
23
21
  let availableAiModels = $state(Object.fromEntries(Object.keys(AI_PROVIDERS).map((provider) => [provider, AI_PROVIDERS[provider].defaultModels])));
24
- let modalOpen = $state(false);
25
- let initialPrompts = $state($state.snapshot(customPrompts));
26
- let hasPromptsChanges = $derived(Array.from(new Set([...Object.keys(customPrompts), ...Object.keys(initialPrompts)])).some((key) => {
27
- const currentValue = customPrompts[key] || '';
28
- const initialValue = initialPrompts[key] || '';
29
- return currentValue !== initialValue;
30
- }));
31
- let promptCount = $derived(Object.values(customPrompts).filter((p) => p?.trim().length > 0).length);
32
22
  let selectedAiModels = $derived(Object.values(aiProviders).flatMap((p) => p.models));
33
23
  let modelProviderMap = $derived(Object.fromEntries(Object.entries(aiProviders).flatMap(([provider, config]) => config.models.map((m) => [m, provider]))));
34
24
  $effect(() => {
@@ -56,10 +46,6 @@ $effect(() => {
56
46
  fetchedAiModels = true;
57
47
  })();
58
48
  });
59
- function resetPrompts() {
60
- customPrompts = { ...initialPrompts };
61
- sendUserToast('Reset to last saved state');
62
- }
63
49
  async function editCopilotConfig() {
64
50
  if (Object.keys(aiProviders ?? {}).length > 0) {
65
51
  const code_completion_model = codeCompletionModel && modelProviderMap[codeCompletionModel]
@@ -92,8 +78,7 @@ async function editCopilotConfig() {
92
78
  });
93
79
  setCopilotInfo({});
94
80
  }
95
- sendUserToast(`AI settings updated`);
96
- initialPrompts = { ...customPrompts }; // Update initial prompts after successful save
81
+ sendUserToast(`Copilot settings updated`);
97
82
  onSave?.();
98
83
  }
99
84
  async function onAiProviderChange(provider) {
@@ -113,36 +98,37 @@ async function onAiProviderChange(provider) {
113
98
  aiProviders[provider].models = availableAiModels[provider].slice(0, 1);
114
99
  }
115
100
  }
116
- const autocompleteModels = $derived(selectedAiModels.filter((m) => m.startsWith('codestral-') && !m.startsWith('codestral-embed')));
117
101
  </script>
118
102
 
119
- <div class="flex flex-col gap-4 mt-4">
103
+ <div class="flex flex-col gap-4 my-8">
120
104
  <div class="flex flex-col gap-1">
121
- <div class="text-emphasis text-sm font-semibold flex flex-row gap-2 justify-between">
122
- Windmill AI <Button
123
- variant="accent"
124
- unifiedSize="md"
125
- wrapperClasses="self-start"
126
- disabled={!Object.values(aiProviders).every((p) => p.resource_path) ||
127
- (codeCompletionModel != undefined && codeCompletionModel.length === 0) ||
128
- (Object.keys(aiProviders).length > 0 && !defaultModel)}
129
- onClick={editCopilotConfig}
130
- startIcon={{ icon: Save }}
131
- >
132
- Save AI settings
133
- </Button></div
134
- >
105
+ <div class="text-emphasis text-sm font-semibold"> Windmill AI</div>
135
106
  <Description link="https://www.windmill.dev/docs/core_concepts/ai_generation">
136
107
  Windmill AI integrates with your favorite AI providers and models.
137
108
  </Description>
138
109
  </div>
139
110
  </div>
140
111
 
141
- <div class="flex flex-col gap-8 mt-4">
142
- <Label label="AI Providers">
143
- <div class="flex flex-col gap-4 p-4 rounded-md border bg-surface-tertiary">
112
+ <div class="flex flex-row-reverse gap-2 pb-4">
113
+ <Button
114
+ variant="accent"
115
+ size="xl"
116
+ wrapperClasses="self-start"
117
+ disabled={!Object.values(aiProviders).every((p) => p.resource_path) ||
118
+ (codeCompletionModel != undefined && codeCompletionModel.length === 0) ||
119
+ (Object.keys(aiProviders).length > 0 && !defaultModel)}
120
+ on:click={editCopilotConfig}
121
+ >
122
+ Save
123
+ </Button>
124
+ </div>
125
+
126
+ <div class="flex flex-col gap-8">
127
+ <div class="flex flex-col gap-2">
128
+ <p class="font-semibold text-xs text-emphasis">AI Providers</p>
129
+ <div class="flex flex-col gap-4">
144
130
  {#each Object.entries(AI_PROVIDERS) as [provider, details]}
145
- <div class="flex flex-col">
131
+ <div class="flex flex-col gap-2">
146
132
  <div class="flex flex-row gap-2">
147
133
  <Toggle
148
134
  options={{
@@ -200,33 +186,28 @@ const autocompleteModels = $derived(selectedAiModels.filter((m) => m.startsWith(
200
186
  </div>
201
187
 
202
188
  {#if aiProviders[provider]}
203
- <div
204
- class="mb-4 flex flex-col gap-6 border p-4 rounded-md mt-2"
205
- transition:slide|local={{ duration: 150 }}
206
- >
207
- <Label label="Resource">
208
- <div class="flex flex-row gap-1">
209
- <ResourcePicker
210
- selectFirst
211
- resourceType={provider === 'openai' && usingOpenaiClientCredentialsOauth
212
- ? 'openai_client_credentials_oauth'
213
- : provider}
214
- initialValue={aiProviders[provider].resource_path}
215
- bind:value={
216
- () => aiProviders[provider].resource_path || undefined,
217
- (v) => {
218
- aiProviders[provider].resource_path = v ?? ''
219
- onAiProviderChange(provider as AIProvider)
220
- }
189
+ <div class="mb-4 flex flex-col gap-2">
190
+ <div class="flex flex-row gap-1">
191
+ <ResourcePicker
192
+ selectFirst
193
+ resourceType={provider === 'openai' && usingOpenaiClientCredentialsOauth
194
+ ? 'openai_client_credentials_oauth'
195
+ : provider}
196
+ initialValue={aiProviders[provider].resource_path}
197
+ bind:value={
198
+ () => aiProviders[provider].resource_path || undefined,
199
+ (v) => {
200
+ aiProviders[provider].resource_path = v ?? ''
201
+ onAiProviderChange(provider as AIProvider)
221
202
  }
222
- />
223
- <TestAiKey
224
- aiProvider={provider as AIProvider}
225
- resourcePath={aiProviders[provider].resource_path}
226
- model={aiProviders[provider].models[0]}
227
- />
228
- </div>
229
- </Label>
203
+ }
204
+ />
205
+ <TestAiKey
206
+ aiProvider={provider as AIProvider}
207
+ resourcePath={aiProviders[provider].resource_path}
208
+ model={aiProviders[provider].models[0]}
209
+ />
210
+ </div>
230
211
 
231
212
  <Label label="Enabled models">
232
213
  <MultiSelect
@@ -239,98 +220,79 @@ const autocompleteModels = $derived(selectedAiModels.filter((m) => m.startsWith(
239
220
  onCreateItem={(item) =>
240
221
  (aiProviders[provider].models = [...aiProviders[provider].models, item])}
241
222
  />
242
- <p class="text-2xs text-hint">
243
- If you don't see the model you want, you can type it manually in the selector.
244
- </p>
245
223
  </Label>
224
+ <p class="text-xs">
225
+ If you don't see the model you want, you can type it manually in the selector.
226
+ </p>
246
227
  </div>
247
228
  {/if}
248
229
  </div>
249
230
  {/each}
250
231
  </div>
251
- </Label>
252
-
253
- <Label label="Default chat model">
254
- {#key Object.keys(aiProviders).length}
255
- <Select
256
- items={safeSelectItems(selectedAiModels)}
257
- bind:value={defaultModel}
258
- disabled={false}
259
- placeholder="Select a default model"
260
- size="sm"
261
- />
262
- {/key}
263
- </Label>
264
-
265
- <!-- Code completion group for animation purposes -->
266
- <div>
267
- <Label label="Code completion">
268
- <Toggle
269
- on:change={(e) => {
270
- if (e.detail) {
271
- codeCompletionModel = autocompleteModels[0] ?? ''
272
- } else {
273
- codeCompletionModel = undefined
274
- }
275
- }}
276
- checked={codeCompletionModel != undefined}
277
- disabled={autocompleteModels.length == 0}
278
- options={{
279
- right: 'Enable code completion',
280
- rightTooltip: 'We currently only support Mistral Codestral models for code completion.'
281
- }}
282
- />
283
- </Label>
284
-
285
- {#if codeCompletionModel != undefined}
286
- <div transition:slide|local={{ duration: 150 }} class="mt-6">
287
- <Label label="Code completion model">
288
- <Select
289
- items={safeSelectItems(autocompleteModels)}
290
- bind:value={codeCompletionModel}
291
- disabled={false}
292
- placeholder="Select a code completion model"
293
- size="sm"
294
- />
295
- </Label>
296
- </div>
297
- {/if}
298
232
  </div>
299
233
 
300
- <ModelTokenLimits {aiProviders} bind:maxTokensPerModel />
234
+ {#if Object.keys(aiProviders).length > 0}
235
+ {@const autocompleteModels = selectedAiModels.filter(
236
+ (m) => m.startsWith('codestral-') && !m.startsWith('codestral-embed')
237
+ )}
238
+ <div class="flex flex-col gap-2">
239
+ <p class="font-semibold">Settings</p>
240
+ <div class="flex flex-col gap-4">
241
+ <Label label="Default chat model">
242
+ {#key Object.keys(aiProviders).length}
243
+ <ArgEnum
244
+ enum_={selectedAiModels}
245
+ bind:value={defaultModel}
246
+ disabled={false}
247
+ autofocus={false}
248
+ defaultValue={undefined}
249
+ valid={true}
250
+ create={false}
251
+ />
252
+ {/key}
253
+ </Label>
301
254
 
302
- <Label label="Custom system prompts">
303
- <p class="text-xs text-secondary">
304
- Customize AI behavior with workspace-level system prompts. These apply to all workspace
305
- members.
306
- </p>
255
+ <div class="flex flex-col gap-2">
256
+ <Toggle
257
+ on:change={(e) => {
258
+ if (e.detail) {
259
+ codeCompletionModel = autocompleteModels[0] ?? ''
260
+ } else {
261
+ codeCompletionModel = undefined
262
+ }
263
+ }}
264
+ checked={codeCompletionModel != undefined}
265
+ disabled={autocompleteModels.length == 0}
266
+ options={{
267
+ right: 'Code completion (Codestral only)',
268
+ rightTooltip:
269
+ 'We currently only support Mistral Codestral models for code completion.'
270
+ }}
271
+ />
307
272
 
308
- <div class="flex items-center gap-2 pt-1">
309
- <Button
310
- onclick={() => (modalOpen = true)}
311
- variant="default"
312
- unifiedSize="sm"
313
- startIcon={{ icon: Settings }}
314
- disabled={Object.keys(aiProviders ?? {}).length === 0}
315
- >
316
- Configure AI prompts
317
- </Button>
318
- {#if promptCount > 0}
319
- <span class="text-xs text-secondary">({promptCount} configured)</span>
320
- {/if}
321
- {#if hasPromptsChanges}
322
- <Badge color="yellow">Unsaved changes</Badge>
323
- {/if}
273
+ {#if codeCompletionModel != undefined}
274
+ <Label label="Code completion model">
275
+ <ArgEnum
276
+ enum_={autocompleteModels}
277
+ bind:value={codeCompletionModel}
278
+ disabled={false}
279
+ autofocus={false}
280
+ defaultValue={undefined}
281
+ valid={true}
282
+ create={false}
283
+ />
284
+ </Label>
285
+ {/if}
286
+ </div>
287
+ </div>
324
288
  </div>
325
- </Label>
289
+ {/if}
326
290
 
327
- <div class="py-6"></div>
328
- </div>
291
+ {#if Object.keys(aiProviders).length > 0}
292
+ <ModelTokenLimits {aiProviders} bind:maxTokensPerModel />
293
+ {/if}
329
294
 
330
- <AIPromptsModal
331
- bind:open={modalOpen}
332
- bind:customPrompts
333
- onReset={resetPrompts}
334
- hasChanges={hasPromptsChanges}
335
- isWorkspaceSettings={true}
336
- />
295
+ {#if Object.keys(aiProviders).length > 0}
296
+ <CustomAIPrompts bind:customPrompts title="Custom system prompts" />
297
+ {/if}
298
+ </div>