windmill-components 1.596.1 → 1.613.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
  2. package/dist/sharedUtils/base.d.ts +1 -0
  3. package/dist/sharedUtils/cloud.d.ts +1 -0
  4. package/dist/sharedUtils/common.d.ts +111 -0
  5. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
  6. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
  7. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  8. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
  9. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
  10. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
  11. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
  12. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
  13. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
  14. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
  15. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
  16. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
  17. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
  18. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
  19. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  20. package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
  21. package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
  22. package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
  23. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
  24. package/dist/sharedUtils/components/apps/types.d.ts +274 -0
  25. package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
  26. package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
  27. package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
  28. package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
  29. package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
  30. package/dist/sharedUtils/components/common/index.d.ts +24 -0
  31. package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
  32. package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
  33. package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
  34. package/dist/sharedUtils/components/ducklake.d.ts +1 -0
  35. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
  36. package/dist/sharedUtils/components/icons/index.d.ts +101 -0
  37. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
  38. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
  39. package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
  40. package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
  41. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
  42. package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
  43. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
  44. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
  45. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
  46. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
  47. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
  48. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
  49. package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
  50. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
  51. package/dist/sharedUtils/components/triggers.d.ts +20 -0
  52. package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
  53. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
  54. package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
  55. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
  56. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
  57. package/dist/sharedUtils/gen/core/request.d.ts +29 -0
  58. package/dist/sharedUtils/gen/index.d.ts +6 -0
  59. package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
  60. package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
  61. package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
  62. package/dist/sharedUtils/history.svelte.d.ts +9 -0
  63. package/dist/sharedUtils/hub.d.ts +49 -0
  64. package/dist/sharedUtils/jsr.json +6 -0
  65. package/dist/sharedUtils/lib.d.ts +5 -0
  66. package/dist/sharedUtils/lib.es.js +1588 -0
  67. package/dist/sharedUtils/package.json +12 -0
  68. package/dist/sharedUtils/schema.d.ts +3 -0
  69. package/dist/sharedUtils/stores.d.ts +97 -0
  70. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
  71. package/dist/sharedUtils/toast.d.ts +8 -0
  72. package/dist/sharedUtils/utils.d.ts +265 -0
  73. package/package/assets/tokens/tokens.json +11 -1
  74. package/package/ata/apis.js +78 -5
  75. package/package/components/AddUser.svelte +1 -1
  76. package/package/components/CenteredModal.svelte +32 -24
  77. package/package/components/CenteredModal.svelte.d.ts +7 -27
  78. package/package/components/CenteredPage.svelte +5 -2
  79. package/package/components/CenteredPage.svelte.d.ts +2 -0
  80. package/package/components/ConcurrentJobsChart.svelte +3 -2
  81. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  82. package/package/components/CustomPopover.svelte +20 -23
  83. package/package/components/CustomPopover.svelte.d.ts +14 -39
  84. package/package/components/DBManager.svelte +105 -17
  85. package/package/components/DBManager.svelte.d.ts +2 -1
  86. package/package/components/DBManagerContent.svelte +4 -3
  87. package/package/components/DBManagerContent.svelte.d.ts +1 -1
  88. package/package/components/DBTableEditor.svelte +210 -171
  89. package/package/components/DBTableEditor.svelte.d.ts +22 -3
  90. package/package/components/Description.svelte +3 -2
  91. package/package/components/Dev.svelte +36 -2
  92. package/package/components/DiffDrawer.svelte +8 -29
  93. package/package/components/DiffEditor.svelte +32 -2
  94. package/package/components/DisplayResult.svelte +32 -24
  95. package/package/components/Editor.svelte +70 -16
  96. package/package/components/Editor.svelte.d.ts +3 -0
  97. package/package/components/EditorBar.svelte +1 -1
  98. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  99. package/package/components/FlowBuilder.svelte +17 -11
  100. package/package/components/FlowDiffViewer.svelte +37 -0
  101. package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
  102. package/package/components/FlowPreviewContent.svelte +3 -2
  103. package/package/components/FlowPreviewResult.svelte +0 -4
  104. package/package/components/FlowStatusViewerInner.svelte +50 -33
  105. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  106. package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
  107. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
  108. package/package/components/FlowViewer.svelte +103 -2
  109. package/package/components/FlowViewer.svelte.d.ts +9 -3
  110. package/package/components/ForkWorkspaceBanner.svelte +16 -13
  111. package/package/components/GraphqlSchemaViewer.svelte +8 -1
  112. package/package/components/HistoricInputs.svelte +25 -27
  113. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  114. package/package/components/InstanceSetting.svelte +38 -0
  115. package/package/components/InviteUser.svelte +16 -42
  116. package/package/components/InviteUser.svelte.d.ts +4 -18
  117. package/package/components/JobOtelTraces.svelte +287 -0
  118. package/package/components/JobOtelTraces.svelte.d.ts +6 -0
  119. package/package/components/JsonInputs.svelte +6 -8
  120. package/package/components/JsonInputs.svelte.d.ts +7 -8
  121. package/package/components/LogViewer.svelte +91 -33
  122. package/package/components/Login.svelte +21 -0
  123. package/package/components/ManualPopover.svelte +5 -6
  124. package/package/components/ManualPopover.svelte.d.ts +9 -35
  125. package/package/components/MemoryFootprintViewer.svelte +2 -6
  126. package/package/components/ModulePreview.svelte +23 -21
  127. package/package/components/ModulePreview.svelte.d.ts +1 -0
  128. package/package/components/Path.svelte +2 -2
  129. package/package/components/Path.svelte.d.ts +1 -1
  130. package/package/components/ResourcePicker.svelte +3 -0
  131. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  132. package/package/components/RunButton.svelte +5 -15
  133. package/package/components/RunButton.svelte.d.ts +7 -19
  134. package/package/components/RunChart.svelte +8 -4
  135. package/package/components/RunChart.svelte.d.ts +2 -2
  136. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  137. package/package/components/RunsPage.svelte +169 -539
  138. package/package/components/RunsPage.svelte.d.ts +5 -5
  139. package/package/components/S3FilePicker.svelte +7 -11
  140. package/package/components/S3FilePickerInner.svelte +2 -3
  141. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  142. package/package/components/SchemaForm.svelte +26 -19
  143. package/package/components/SchemaFormWithArgPicker.svelte +4 -3
  144. package/package/components/ScriptBuilder.svelte +1 -1
  145. package/package/components/ScriptEditor.svelte +575 -101
  146. package/package/components/Section.svelte +3 -1
  147. package/package/components/ServiceLogsInner.svelte +4 -4
  148. package/package/components/SimpleEditor.svelte +46 -2
  149. package/package/components/SuperadminSettingsInner.svelte +1 -1
  150. package/package/components/TemplateEditor.svelte +54 -29
  151. package/package/components/TemplateEditor.svelte.d.ts +13 -102
  152. package/package/components/UserSettings.svelte +1 -1
  153. package/package/components/WorkerTagPicker.svelte +1 -1
  154. package/package/components/WorkerTagSelect.svelte +5 -2
  155. package/package/components/WorkspaceTutorials.svelte +5 -0
  156. package/package/components/apps/components/buttons/AppButton.svelte +21 -6
  157. package/package/components/apps/components/buttons/AppForm.svelte +2 -1
  158. package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
  159. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +0 -4
  160. package/package/components/apps/components/display/dbtable/metadata.js +69 -30
  161. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
  162. package/package/components/apps/components/display/dbtable/queries/alterTable.js +314 -0
  163. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
  164. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
  165. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
  166. package/package/components/apps/components/display/dbtable/queries/createTable.js +11 -25
  167. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
  168. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
  169. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +47 -0
  170. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +402 -0
  171. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
  172. package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
  173. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
  174. package/package/components/apps/components/display/dbtable/tableEditor.js +49 -0
  175. package/package/components/apps/components/display/dbtable/utils.d.ts +10 -1
  176. package/package/components/apps/components/display/dbtable/utils.js +52 -20
  177. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  178. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  179. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  180. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
  181. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  182. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  183. package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
  184. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
  185. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  186. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  187. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  188. package/package/components/apps/editor/PublicApp.svelte +49 -30
  189. package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
  190. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
  191. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  192. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  193. package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
  194. package/package/components/apps/inputType.d.ts +6 -1
  195. package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
  196. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  197. package/package/components/common/button/model.js +1 -1
  198. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  199. package/package/components/common/languageIcons/TypeScript.svelte +5 -3
  200. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
  201. package/package/components/common/modal/Modal.svelte +3 -3
  202. package/package/components/copilot/autocomplete/Autocompletor.js +3 -2
  203. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  204. package/package/components/copilot/chat/AIButtonStyle.js +2 -1
  205. package/package/components/copilot/chat/AIChat.svelte +3 -1
  206. package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
  207. package/package/components/copilot/chat/AIChatInput.svelte +275 -0
  208. package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
  209. package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
  210. package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
  211. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
  212. package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
  213. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
  214. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  215. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
  216. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
  217. package/package/components/copilot/chat/app/core.d.ts +56 -15
  218. package/package/components/copilot/chat/app/core.js +141 -22
  219. package/package/components/copilot/chat/context.d.ts +59 -2
  220. package/package/components/copilot/chat/context.js +6 -2
  221. package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
  222. package/package/components/copilot/chat/flow/core.d.ts +3 -1
  223. package/package/components/copilot/chat/flow/core.js +29 -2
  224. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  225. package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
  226. package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
  227. package/package/components/copilot/chat/script/core.d.ts +4 -1
  228. package/package/components/copilot/chat/script/core.js +38 -2
  229. package/package/components/copilot/chat/shared.d.ts +10 -0
  230. package/package/components/copilot/chat/shared.js +24 -0
  231. package/package/components/copilot/lib.d.ts +1 -1
  232. package/package/components/custom_ui.d.ts +2 -0
  233. package/package/components/dbOps.d.ts +18 -4
  234. package/package/components/dbOps.js +25 -3
  235. package/package/components/debug/DebugConsole.svelte +277 -0
  236. package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
  237. package/package/components/debug/DebugPanel.svelte +97 -0
  238. package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
  239. package/package/components/debug/DebugToolbar.svelte +148 -0
  240. package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
  241. package/package/components/debug/DebugVariableViewer.svelte +115 -0
  242. package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
  243. package/package/components/debug/MonacoDebugger.svelte +384 -0
  244. package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
  245. package/package/components/debug/dapClient.d.ts +192 -0
  246. package/package/components/debug/dapClient.js +426 -0
  247. package/package/components/debug/debugUtils.d.ts +30 -0
  248. package/package/components/debug/debugUtils.js +131 -0
  249. package/package/components/debug/index.d.ts +75 -0
  250. package/package/components/debug/index.js +82 -0
  251. package/package/components/flows/CreateActionsApp.svelte +6 -4
  252. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  253. package/package/components/flows/FlowHistoryInner.svelte +15 -4
  254. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  255. package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
  256. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
  257. package/package/components/flows/content/FlowInput.svelte +211 -37
  258. package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
  259. package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
  260. package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
  261. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  262. package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
  263. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
  264. package/package/components/flows/content/McpToolEditor.svelte +50 -37
  265. package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
  266. package/package/components/flows/conversations/FlowChat.svelte +16 -2
  267. package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
  268. package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
  269. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
  270. package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
  271. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  272. package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
  273. package/package/components/flows/types.d.ts +2 -0
  274. package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
  275. package/package/components/home/ItemsList.svelte +5 -5
  276. package/package/components/home/TutorialBanner.svelte +34 -18
  277. package/package/components/icons/CssIcon.svelte +20 -0
  278. package/package/components/icons/CssIcon.svelte.d.ts +7 -25
  279. package/package/components/icons/HtmlIcon.svelte +20 -0
  280. package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
  281. package/package/components/icons/JavaScriptIcon.svelte +10 -2
  282. package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
  283. package/package/components/icons/JsonIcon.svelte +8 -2
  284. package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
  285. package/package/components/icons/LessIcon.svelte +16 -0
  286. package/package/components/icons/LessIcon.svelte.d.ts +8 -0
  287. package/package/components/icons/MarkdownIcon.svelte +20 -0
  288. package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
  289. package/package/components/icons/ReactIcon.svelte +10 -2
  290. package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
  291. package/package/components/icons/SassIcon.svelte +28 -0
  292. package/package/components/icons/SassIcon.svelte.d.ts +8 -0
  293. package/package/components/icons/SvelteIcon.svelte +10 -2
  294. package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
  295. package/package/components/icons/VueIcon.svelte +10 -2
  296. package/package/components/icons/VueIcon.svelte.d.ts +1 -0
  297. package/package/components/icons/YamlIcon.svelte +20 -0
  298. package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
  299. package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
  300. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
  301. package/package/components/instanceSettings.d.ts +2 -1
  302. package/package/components/instanceSettings.js +32 -1
  303. package/package/components/jobs/JobPreview.svelte +46 -39
  304. package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
  305. package/package/components/monacoLanguagesOptions.js +16 -15
  306. package/package/components/propertyPicker/PropPicker.svelte +16 -2
  307. package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
  308. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
  309. package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
  310. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
  311. package/package/components/raw_apps/FileTreeNode.svelte +119 -83
  312. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
  313. package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
  314. package/package/components/raw_apps/RawAppEditor.svelte +218 -68
  315. package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
  316. package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
  317. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
  318. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
  319. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
  320. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
  321. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
  322. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
  323. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
  324. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
  325. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
  326. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
  327. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
  328. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
  329. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  330. package/package/components/raw_apps/RawAppModules.svelte +13 -7
  331. package/package/components/raw_apps/RawAppPreview.svelte +48 -6
  332. package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
  333. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
  334. package/package/components/raw_apps/RunnableRow.svelte +41 -0
  335. package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
  336. package/package/components/raw_apps/utils.d.ts +1 -1
  337. package/package/components/raw_apps/utils.js +76 -18
  338. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  339. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  340. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  341. package/package/components/runs/RunsFilter.svelte +75 -63
  342. package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
  343. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  344. package/package/components/runs/RunsTable.svelte +1 -1
  345. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  346. package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
  347. package/package/components/runs/useJobsLoader.svelte.js +507 -0
  348. package/package/components/scriptEditor/LogPanel.svelte +17 -2
  349. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  350. package/package/components/select/SelectDropdown.svelte +2 -2
  351. package/package/components/settings/AIPromptsModal.svelte +88 -0
  352. package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
  353. package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
  354. package/package/components/settings/ChangeWorkspaceId.svelte +14 -10
  355. package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
  356. package/package/components/settings/CreateToken.svelte +1 -1
  357. package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
  358. package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
  359. package/package/components/settings/WorkspaceUserSettings.svelte +531 -406
  360. package/package/components/sidebar/MenuButton.svelte +46 -24
  361. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  362. package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
  363. package/package/components/sidebar/OperatorMenu.svelte +62 -87
  364. package/package/components/sidebar/SidebarContent.svelte +7 -2
  365. package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
  366. package/package/components/sqlTypeService.js +4 -3
  367. package/package/components/table/DataTable.svelte +3 -2
  368. package/package/components/table/DataTable.svelte.d.ts +1 -0
  369. package/package/components/text_input/TextInput.svelte +3 -0
  370. package/package/components/text_input/TextInput.svelte.d.ts +2 -0
  371. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
  372. package/package/components/tutorials/RunsTutorial.svelte +399 -0
  373. package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
  374. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
  375. package/package/components/tutorials/utils.d.ts +16 -0
  376. package/package/components/tutorials/utils.js +96 -0
  377. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
  378. package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
  379. package/package/components/vscode.js +6 -6
  380. package/package/components/workspace/WorkspaceCard.svelte +184 -0
  381. package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
  382. package/package/components/workspace/WorkspaceIcon.svelte +21 -0
  383. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
  384. package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
  385. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
  386. package/package/components/workspaceSettings/AISettings.svelte +146 -108
  387. package/package/components/workspaceSettings/CreateWorkspace.svelte +25 -11
  388. package/package/components/workspaceSettings/DucklakeSettings.svelte +46 -23
  389. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
  390. package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
  391. package/package/components/workspaceSettings/StorageSettings.svelte +280 -241
  392. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  393. package/package/consts.js +4 -1
  394. package/package/gen/core/OpenAPI.js +1 -1
  395. package/package/gen/schemas.gen.d.ts +126 -0
  396. package/package/gen/schemas.gen.js +126 -0
  397. package/package/gen/services.gen.d.ts +151 -2
  398. package/package/gen/services.gen.js +301 -4
  399. package/package/gen/types.gen.d.ts +584 -2
  400. package/package/hubPaths.json +3 -2
  401. package/package/infer.js +2 -0
  402. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  403. package/package/rawAppWmillTs.d.ts +11 -0
  404. package/package/rawAppWmillTs.js +38 -1
  405. package/package/svelte5Utils.svelte.d.ts +9 -0
  406. package/package/svelte5Utils.svelte.js +51 -1
  407. package/package/tutorialUtils.js +0 -4
  408. package/package/tutorials/config.js +31 -3
  409. package/package/tutorials/roleUtils.d.ts +1 -1
  410. package/package/tutorials/roleUtils.js +6 -2
  411. package/package/utils.js +159 -1
  412. package/package.json +16 -17
  413. package/package/components/SavedInputs.svelte +0 -416
  414. package/package/components/runs/JobsLoader.svelte +0 -468
  415. package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
  416. package/package/components/schema/SchemaPicker.svelte +0 -92
@@ -1,9 +1,11 @@
1
1
  <script lang="ts" module>"use strict";
2
2
  const s3LogPrefixes = [
3
- '\n[windmill] Previous logs have been saved to object storage at logs/',
4
- '\n[windmill] Previous logs have been saved to disk at logs/',
5
- '\n[windmill] No object storage set in instance settings. Previous logs have been saved to disk at logs/'
3
+ '[windmill] Previous logs have been saved to object storage at logs/',
4
+ '[windmill] Previous logs have been saved to disk at logs/',
5
+ '[windmill] No object storage set in instance settings. Previous logs have been saved to disk at logs/'
6
6
  ];
7
+ // Only search within first N characters to avoid expensive full-content scans
8
+ const S3_LOG_SEARCH_LIMIT = 2000;
7
9
  </script>
8
10
 
9
11
  <script lang="ts">import { ClipboardCopy, Download, Expand, Loader2 } from 'lucide-svelte';
@@ -28,33 +30,60 @@ let LOG_INC = 10000;
28
30
  let LOG_LIMIT = $state(LOG_INC);
29
31
  let lastJobId = $state(jobId);
30
32
  let loadedFromObjectStore = $state('');
31
- function findPrefixIndex(truncateContent) {
32
- let index = s3LogPrefixes.findIndex((x) => truncateContent.startsWith(x));
33
- if (index == -1) {
33
+ function findPrefixInfo(truncateContent) {
34
+ // Quick check - [windmill] is rare, so bail early in the common case
35
+ // This is much faster than doing 3 long string indexOf searches
36
+ const windmillPos = truncateContent.indexOf('[windmill]');
37
+ if (windmillPos === -1 || windmillPos >= S3_LOG_SEARCH_LIMIT) {
34
38
  return undefined;
35
39
  }
36
- return index;
40
+ // Found [windmill] marker, now determine which specific prefix matches
41
+ for (let i = 0; i < s3LogPrefixes.length; i++) {
42
+ const prefix = s3LogPrefixes[i];
43
+ if (truncateContent.length >= windmillPos + prefix.length &&
44
+ truncateContent.startsWith(prefix, windmillPos)) {
45
+ return { prefixIndex: i, position: windmillPos };
46
+ }
47
+ }
48
+ return undefined;
37
49
  }
38
- function findStartUrl(truncateContent, prefixIndex = undefined) {
39
- if (prefixIndex == undefined) {
50
+ function findStartUrl(truncateContent, prefixInfo) {
51
+ if (!prefixInfo) {
40
52
  return undefined;
41
53
  }
42
- const end = truncateContent.substring(1).indexOf('\n');
43
- return prefixIndex != undefined && truncateContent
44
- ? truncateContent.substring(s3LogPrefixes[prefixIndex]?.length, end == -1 ? undefined : end + 1)
45
- : undefined;
54
+ const { prefixIndex, position } = prefixInfo;
55
+ const prefix = s3LogPrefixes[prefixIndex];
56
+ const startOfPath = position + prefix.length;
57
+ const endOfLine = truncateContent.indexOf('\n', startOfPath);
58
+ return truncateContent.substring(startOfPath, endOfLine === -1 ? undefined : endOfLine);
59
+ }
60
+ function splitAtWindmillLine(content, prefixInfo) {
61
+ const { prefixIndex, position } = prefixInfo;
62
+ const prefix = s3LogPrefixes[prefixIndex];
63
+ // Find line boundaries
64
+ const lineStart = position > 0 && content[position - 1] === '\n' ? position - 1 : position;
65
+ const pathStart = position + prefix.length;
66
+ const lineEnd = content.indexOf('\n', pathStart);
67
+ if (lineEnd === -1) {
68
+ // [windmill] line is at the end
69
+ return { before: content.substring(0, lineStart), after: '' };
70
+ }
71
+ return {
72
+ before: content.substring(0, lineStart),
73
+ after: content.substring(lineEnd)
74
+ };
46
75
  }
47
- function tooltipText(prefixIndex) {
48
- if (prefixIndex == undefined) {
76
+ function tooltipText(prefixInfo) {
77
+ if (prefixInfo == undefined) {
49
78
  return 'No path/file detected to download from';
50
79
  }
51
- else if (prefixIndex == 0) {
80
+ else if (prefixInfo.prefixIndex == 0) {
52
81
  return 'Download the previous logs from the instance configured object store';
53
82
  }
54
- else if (prefixIndex == 1) {
83
+ else if (prefixInfo.prefixIndex == 1) {
55
84
  return 'Attempt to download the logs from disk. Assume there is a shared disk between the workers and the server at /tmp/windmill/logs. Upgrade to EE to use an object store such as S3 instead of a shared volume.';
56
85
  }
57
- else if (prefixIndex == 2) {
86
+ else if (prefixInfo.prefixIndex == 2) {
58
87
  return 'Attempt to download the logs from disk. Assume there is a shared disk between the workers and the server at /tmp/windmill/logs. Since you are on EE, you can alternatively use an object store such as S3 configured in the instance settings instead of a shared volume..';
59
88
  }
60
89
  }
@@ -77,7 +106,6 @@ async function getStoreLogs() {
77
106
  workspace: $workspaceStore ?? '',
78
107
  path: downloadStartUrl
79
108
  }));
80
- downloadStartUrl = undefined;
81
109
  LOG_LIMIT += Math.min(LOG_INC, res.length);
82
110
  loadedFromObjectStore = res + loadedFromObjectStore;
83
111
  let newC = truncateContent(content, loadedFromObjectStore, LOG_LIMIT);
@@ -105,14 +133,36 @@ $effect.pre(() => {
105
133
  }
106
134
  });
107
135
  let truncatedContent = $derived(truncateContent(content, loadedFromObjectStore, LOG_LIMIT));
108
- let prefixIndex = $derived(findPrefixIndex(truncatedContent));
109
- let downloadStartUrl = $derived(findStartUrl(truncatedContent, prefixIndex));
136
+ let prefixInfo = $derived(findPrefixInfo(truncatedContent));
137
+ let downloadStartUrl = $derived(findStartUrl(truncatedContent, prefixInfo));
110
138
  $effect.pre(() => {
111
139
  truncatedContent && scrollToBottom();
112
140
  });
113
- let html = $derived(ansi_up.ansi_to_html(downloadStartUrl && prefixIndex != undefined
114
- ? truncatedContent.substring(truncatedContent.substring(1).indexOf('\n') + 2, truncatedContent.length)
115
- : truncatedContent));
141
+ // When [windmill] line is NOT at start, split into before/after to render button inline
142
+ let splitHtml = $derived.by(() => {
143
+ if (prefixInfo == undefined || prefixInfo.position === 0) {
144
+ return undefined;
145
+ }
146
+ const { before, after } = splitAtWindmillLine(truncatedContent, prefixInfo);
147
+ return {
148
+ before: ansi_up.ansi_to_html(before),
149
+ after: ansi_up.ansi_to_html(after)
150
+ };
151
+ });
152
+ // Only compute html when splitHtml won't be used (avoids wasteful ansi_to_html call)
153
+ let html = $derived.by(() => {
154
+ if (splitHtml) {
155
+ // splitHtml is active - skip expensive computation
156
+ return '';
157
+ }
158
+ if (prefixInfo == undefined) {
159
+ // No [windmill] line - return full content
160
+ return ansi_up.ansi_to_html(truncatedContent);
161
+ }
162
+ // [windmill] at start - strip the line and return the rest
163
+ const { after } = splitAtWindmillLine(truncatedContent, prefixInfo);
164
+ return ansi_up.ansi_to_html(after);
165
+ });
116
166
  </script>
117
167
 
118
168
  <Drawer bind:this={logViewer} bind:open={drawerOpen} size="900px">
@@ -148,12 +198,15 @@ let html = $derived(ansi_up.ansi_to_html(downloadStartUrl && prefixIndex != unde
148
198
  class="bg-surface-secondary text-primary text-xs w-full p-2 whitespace-pre-wrap border rounded-md"
149
199
  >{#if content}{@const len =
150
200
  (content?.length ?? 0) +
151
- (loadedFromObjectStore?.length ?? 0)}{#if downloadStartUrl}<button
201
+ (loadedFromObjectStore?.length ?? 0)}{#if splitHtml}{@html splitHtml.before}<button
202
+ onclick={getStoreLogs}
203
+ >Show more... <Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
204
+ >{@html splitHtml.after}{:else if downloadStartUrl}<button
152
205
  onclick={getStoreLogs}
153
- >Show more... <Tooltip>{tooltipText(prefixIndex)}</Tooltip></button
154
- ><br />{:else if len > LOG_LIMIT}(truncated to the last {LOG_LIMIT} characters)...<br
206
+ >Show more... <Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
207
+ ><br />{@html html}{:else if len > LOG_LIMIT}(truncated to the last {LOG_LIMIT} characters)...<br
155
208
  /><button onclick={() => showMoreTruncate(len)}>Show more..</button><br
156
- />{/if}{@html html}{:else if isLoading}Waiting for job to start...{:else}No logs are available yet{/if}</pre
209
+ />{@html html}{:else}{@html html}{/if}{:else if isLoading}Waiting for job to start...{:else}No logs are available yet{/if}</pre
157
210
  >
158
211
  </div>
159
212
  </DrawerContent>
@@ -230,13 +283,18 @@ let html = $derived(ansi_up.ansi_to_html(downloadStartUrl && prefixIndex != unde
230
283
  )}
231
284
  >{#if content}{@const len =
232
285
  (content?.length ?? 0) +
233
- (loadedFromObjectStore?.length ?? 0)}{#if downloadStartUrl}<button
286
+ (loadedFromObjectStore?.length ?? 0)}{#if splitHtml}<span>{@html splitHtml.before}</span><button
287
+ onclick={getStoreLogs}
288
+ >Show more... &nbsp;<Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
289
+ ><span>{@html splitHtml.after}</span
290
+ >{:else if downloadStartUrl}<button
234
291
  onclick={getStoreLogs}
235
- >Show more... &nbsp;<Tooltip>{tooltipText(prefixIndex)}</Tooltip></button
236
- ><br />{:else if len > LOG_LIMIT}<button onclick={() => showMoreTruncate(len)}
292
+ >Show more... &nbsp;<Tooltip>{tooltipText(prefixInfo)}</Tooltip></button
293
+ ><br /><span>{@html html}</span
294
+ >{:else if len > LOG_LIMIT}<button onclick={() => showMoreTruncate(len)}
237
295
  >Show more..</button
238
- >&nbsp;({LOG_LIMIT}/{len} chars)<br />{/if}<span>{@html html}</span
239
- >{:else if !isLoading}<span>{customEmptyMessage}</span>{/if}</pre
296
+ >&nbsp;({LOG_LIMIT}/{len} chars)<br /><span>{@html html}</span
297
+ >{:else}<span>{@html html}</span>{/if}{:else if !isLoading}<span>{customEmptyMessage}</span>{/if}</pre
240
298
  >
241
299
  </div>
242
300
  </div>
@@ -60,6 +60,7 @@ const providersType = providers.map((p) => p.type);
60
60
  let showPassword = $state(false);
61
61
  let logins = $state(undefined);
62
62
  let saml = $state(undefined);
63
+ let smtpConfigured = $state(undefined);
63
64
  async function login() {
64
65
  if (!email || !password) {
65
66
  sendUserToast('Please fill in both email and password', true);
@@ -159,6 +160,16 @@ async function loadLogins() {
159
160
  }
160
161
  }
161
162
  loadLogins();
163
+ async function checkSmtpConfigured() {
164
+ try {
165
+ smtpConfigured = await UserService.isSmtpConfigured();
166
+ }
167
+ catch (err) {
168
+ console.error('Could not check if SMTP is configured', err);
169
+ smtpConfigured = false;
170
+ }
171
+ }
172
+ checkSmtpConfigured();
162
173
  function handleKeyUp(event) {
163
174
  const key = event.key;
164
175
  if (key === 'Enter') {
@@ -333,6 +344,16 @@ $effect(() => {
333
344
  autocomplete="current-password"
334
345
  />
335
346
  </div>
347
+ {#if smtpConfigured}
348
+ <div class="text-right pt-1">
349
+ <a
350
+ href="{base}/user/forgot-password"
351
+ class="text-2xs text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300"
352
+ >
353
+ Forgot password?
354
+ </a>
355
+ </div>
356
+ {/if}
336
357
  </div>
337
358
 
338
359
  <div class="pt-2">
@@ -2,12 +2,11 @@
2
2
  import Portal from './Portal.svelte';
3
3
  import { fade } from 'svelte/transition';
4
4
  import { twMerge } from 'tailwind-merge';
5
- export let placement = 'bottom';
6
- const [popperRef, popperContent, getInstance] = createPopperActions({ placement });
7
5
  export async function refresh() {
8
6
  await getInstance()?.update();
9
7
  }
10
- export let showTooltip = false;
8
+ let { placement = 'bottom', class: clazz = '', showTooltip = $bindable(false), children, content } = $props();
9
+ const [popperRef, popperContent, getInstance] = createPopperActions({ placement });
11
10
  export function open() {
12
11
  showTooltip = true;
13
12
  }
@@ -17,16 +16,16 @@ export function close() {
17
16
  </script>
18
17
 
19
18
  <fragment use:popperRef>
20
- <slot />
19
+ {@render children?.()}
21
20
  </fragment>
22
21
  {#if showTooltip}
23
22
  <Portal name="manual-popover">
24
23
  <div
25
24
  use:popperContent
26
- class={twMerge('z-[901] rounded-lg shadow-md border p-4 bg-surface', $$props.class)}
25
+ class={twMerge('z-[901] rounded-lg shadow-md border p-4 bg-surface', clazz)}
27
26
  transition:fade={{ duration: 200 }}
28
27
  >
29
- <slot name="content" />
28
+ {@render content?.()}
30
29
  </div>
31
30
  </Portal>
32
31
  {/if}
@@ -1,41 +1,15 @@
1
1
  import type { PopoverPlacement } from './Popover.model';
2
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
- $$bindings?: Bindings;
5
- } & Exports;
6
- (internal: unknown, props: Props & {
7
- $$events?: Events;
8
- $$slots?: Slots;
9
- }): Exports & {
10
- $set?: any;
11
- $on?: any;
12
- };
13
- z_$$bindings?: Bindings;
2
+ interface Props {
3
+ placement?: PopoverPlacement;
4
+ class?: string;
5
+ showTooltip?: boolean;
6
+ children?: import('svelte').Snippet;
7
+ content?: import('svelte').Snippet;
14
8
  }
15
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
16
- default: any;
17
- } ? Props extends Record<string, never> ? any : {
18
- children?: any;
19
- } : {});
20
- declare const ManualPopover: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
21
- [x: string]: any;
22
- placement?: PopoverPlacement | undefined;
23
- refresh?: (() => Promise<void>) | undefined;
24
- showTooltip?: boolean | undefined;
25
- open?: (() => void) | undefined;
26
- close?: (() => void) | undefined;
27
- }, {
28
- default: {};
29
- content: {};
30
- }>, {
31
- [evt: string]: CustomEvent<any>;
32
- }, {
33
- default: {};
34
- content: {};
35
- }, {
9
+ declare const ManualPopover: import("svelte").Component<Props, {
36
10
  refresh: () => Promise<void>;
37
11
  open: () => void;
38
12
  close: () => void;
39
- }, string>;
40
- type ManualPopover = InstanceType<typeof ManualPopover>;
13
+ }, "showTooltip">;
14
+ type ManualPopover = ReturnType<typeof ManualPopover>;
41
15
  export default ManualPopover;
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">import { MetricsService } from '../gen';
2
2
  import { displayTime } from '../utils';
3
- import { enterpriseLicense, workspaceStore } from '../stores';
3
+ import { workspaceStore } from '../stores';
4
4
  import { CategoryScale, Chart as ChartJS, Legend, LinearScale, LineElement, PointElement, Title, Tooltip } from 'chart.js';
5
5
  import { Line } from './chartjs-wrappers/chartJs';
6
6
  import { Alert } from './common';
@@ -48,11 +48,7 @@ $: jobUpdateLastFetch && loadMetricsData();
48
48
  </script>
49
49
 
50
50
  <div class="relative max-h-100">
51
- {#if !$enterpriseLicense}
52
- <Alert type="warning" title="Enterprise Edition only feature">
53
- Job metrics are only available on Windmill Enterprise Edition.
54
- </Alert>
55
- {:else if (jobMemoryStats?.length ?? 0) === 0}
51
+ {#if (jobMemoryStats?.length ?? 0) === 0}
56
52
  <Alert type="info" title="No metric available"
57
53
  >No data points available for this job. Metrics are recorded only for jobs running for more
58
54
  than 500ms.</Alert
@@ -4,7 +4,7 @@ import Button from './common/button/Button.svelte';
4
4
  import ModulePreviewForm from './ModulePreviewForm.svelte';
5
5
  import ModuleTest from './ModuleTest.svelte';
6
6
  import { getContext } from 'svelte';
7
- let { mod, schema, pickableProperties, testJob = $bindable(undefined), testIsLoading = $bindable(false), noEditor = false, scriptProgress = $bindable(undefined), focusArg = undefined, class: className = '', onJobDone } = $props();
7
+ let { mod, schema, pickableProperties, testJob = $bindable(undefined), testIsLoading = $bindable(false), noEditor = false, scriptProgress = $bindable(undefined), focusArg = undefined, class: className = '', onJobDone, hideRunButton = false } = $props();
8
8
  const { flowStore } = getContext('FlowEditorContext');
9
9
  let moduleTest = $state();
10
10
  export function runTestWithStepArgs() {
@@ -29,26 +29,28 @@ export function runTestWithStepArgs() {
29
29
  >
30
30
  {/if}
31
31
 
32
- <div class="w-full justify-center flex">
33
- {#if testIsLoading}
34
- <Button size="sm" on:click={moduleTest?.cancelJob} btnClasses="w-full" color="red">
35
- <Loader2 size={16} class="animate-spin mr-1" />
36
- Cancel
37
- </Button>
38
- {:else}
39
- <Button
40
- variant="accent"
41
- btnClasses="truncate"
42
- size="sm"
43
- on:click={runTestWithStepArgs}
44
- shortCut={{
45
- Icon: CornerDownLeft
46
- }}
47
- >
48
- Run
49
- </Button>
50
- {/if}
51
- </div>
32
+ {#if !hideRunButton}
33
+ <div class="w-full justify-center flex">
34
+ {#if testIsLoading}
35
+ <Button size="sm" on:click={moduleTest?.cancelJob} btnClasses="w-full" color="red">
36
+ <Loader2 size={16} class="animate-spin mr-1" />
37
+ Cancel
38
+ </Button>
39
+ {:else}
40
+ <Button
41
+ variant="accent"
42
+ btnClasses="truncate"
43
+ size="sm"
44
+ on:click={runTestWithStepArgs}
45
+ shortCut={{
46
+ Icon: CornerDownLeft
47
+ }}
48
+ >
49
+ Run
50
+ </Button>
51
+ {/if}
52
+ </div>
53
+ {/if}
52
54
 
53
55
  <ModulePreviewForm {pickableProperties} {mod} {schema} {focusArg} />
54
56
  </div>
@@ -14,6 +14,7 @@ interface Props {
14
14
  focusArg?: string;
15
15
  class?: string;
16
16
  onJobDone?: () => void;
17
+ hideRunButton?: boolean;
17
18
  }
18
19
  declare const ModulePreview: import("svelte").Component<Props, {
19
20
  runTestWithStepArgs: () => void;
@@ -318,7 +318,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
318
318
  </script>
319
319
 
320
320
  <div>
321
- <div class="flex flex-col sm:flex-row sm:items-center gap-2 pb-0 mb-1">
321
+ <div class="flex flex-col flex-wrap sm:flex-row sm:items-center gap-2 pb-0 mb-1">
322
322
  {#if meta != undefined}
323
323
  <!-- svelte-ignore a11y_label_has_associated_control -->
324
324
  {#if !hideUser}
@@ -386,7 +386,7 @@ let pathUsageInScriptsPromise = $derived(kind == 'script' &&
386
386
  {/if}
387
387
  </div>
388
388
  <div class="text-sm text-secondary">/</div>
389
- <label class="block grow w-full max-w-md">
389
+ <label class="block grow min-w-32 max-w-md">
390
390
  <!-- svelte-ignore a11y_autofocus -->
391
391
  <TextInput
392
392
  bind:this={inputP}
@@ -34,6 +34,6 @@ declare const Path: $$__sveltets_2_IsomorphicComponent<Props, {
34
34
  focus: () => void;
35
35
  setName: (x: string) => void;
36
36
  reset: () => Promise<void>;
37
- }, "path" | "disabled" | "error" | "dirty">;
37
+ }, "path" | "error" | "disabled" | "dirty">;
38
38
  type Path = InstanceType<typeof Path>;
39
39
  export default Path;
@@ -47,6 +47,9 @@ let collection = $state(value ? [{ value, label: value, type: valueType }] : [])
47
47
  export async function askNewResource() {
48
48
  appConnect?.open?.(resourceType);
49
49
  }
50
+ export async function refreshResources() {
51
+ await loadResources(resourceType);
52
+ }
50
53
  let loading = $state(true);
51
54
  async function loadResources(resourceType) {
52
55
  loading = true;
@@ -17,6 +17,7 @@ interface Props {
17
17
  }
18
18
  declare const ResourcePicker: import("svelte").Component<Props, {
19
19
  askNewResource: () => Promise<void>;
20
+ refreshResources: () => Promise<void>;
20
21
  }, "value" | "initialValue" | "valueType">;
21
22
  type ResourcePicker = ReturnType<typeof ResourcePicker>;
22
23
  export default ResourcePicker;
@@ -1,30 +1,20 @@
1
- <script lang="ts">import { Button } from './common';
1
+ <script lang="ts">import { Button, ButtonType } from './common';
2
2
  import { CornerDownLeft, Loader2 } from 'lucide-svelte';
3
- export let isLoading;
4
- export let hideShortcut = false;
5
- export let onRun;
6
- export let onCancel;
3
+ let { isLoading, hideShortcut = false, onRun, onCancel, size = 'sm' } = $props();
7
4
  </script>
8
5
 
9
6
  {#if !isLoading}
10
7
  <Button
11
8
  loading={isLoading}
12
- size="sm"
9
+ unifiedSize={size}
13
10
  variant="accent"
14
- btnClasses="!px-2 !py-1"
15
- on:click={() => onRun()}
11
+ onClick={() => onRun()}
16
12
  shortCut={{ Icon: CornerDownLeft, hide: hideShortcut }}
17
13
  >
18
14
  Run
19
15
  </Button>
20
16
  {:else}
21
- <Button
22
- size="sm"
23
- variant="accent"
24
- destructive
25
- btnClasses="!px-2 !py-1"
26
- on:click={() => onCancel()}
27
- >
17
+ <Button unifiedSize={size} variant="accent" destructive onClick={() => onCancel()}>
28
18
  <Loader2 size={14} class="animate-spin mr-2" />
29
19
  Cancel
30
20
  </Button>
@@ -1,23 +1,11 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const RunButton: $$__sveltets_2_IsomorphicComponent<{
15
- isLoading: any;
1
+ import { ButtonType } from './common';
2
+ interface Props {
3
+ isLoading: boolean;
16
4
  hideShortcut?: boolean;
17
5
  onRun: () => Promise<void>;
18
6
  onCancel: () => Promise<void>;
19
- }, {
20
- [evt: string]: CustomEvent<any>;
21
- }, {}, {}, string>;
22
- type RunButton = InstanceType<typeof RunButton>;
7
+ size?: ButtonType.UnifiedSize;
8
+ }
9
+ declare const RunButton: import("svelte").Component<Props, {}, "">;
10
+ type RunButton = ReturnType<typeof RunButton>;
23
11
  export default RunButton;
@@ -6,7 +6,7 @@ import { getDbClockNow } from '../forLater';
6
6
  import Button from './common/button/Button.svelte';
7
7
  import { Scatter } from './chartjs-wrappers/chartJs';
8
8
  import DarkModeObserver from './DarkModeObserver.svelte';
9
- let { jobs = [], maxIsNow = false, minTimeSet = undefined, maxTimeSet = undefined, selectedIds = $bindable([]), canSelect = true, lastFetchWentToEnd = false, totalRowsFetched, onPointClicked, onLoadExtra, onZoom } = $props();
9
+ let { jobs = [], maxIsNow = false, minTimeSet = null, maxTimeSet = null, selectedIds = $bindable([]), canSelect = true, lastFetchWentToEnd = false, totalRowsFetched, onPointClicked, onLoadExtra, onZoom } = $props();
10
10
  const SUCCESS_COLOR = '#4ade80';
11
11
  // const SUCCESS_COLOR_TRANSPARENT = '#c9b638'
12
12
  const SUCCESS_COLOR_TRANSPARENT = $derived(mergeColors(SUCCESS_COLOR, getBackgroundColor(), 0.8));
@@ -188,8 +188,9 @@ let scatterOptions = $derived({
188
188
  grid: {
189
189
  display: false
190
190
  },
191
- min: minMaxTime.minTime,
192
- max: minMaxTime.maxTime
191
+ min: minMaxTime.minTime.getTime(),
192
+ max: minMaxTime.maxTime.getTime(),
193
+ ticks: { maxRotation: 0, minRotation: 0 }
193
194
  },
194
195
  y: {
195
196
  grid: {
@@ -199,7 +200,10 @@ let scatterOptions = $derived({
199
200
  display: true,
200
201
  text: 'job duration (ms)'
201
202
  },
202
- type: 'logarithmic'
203
+ type: 'logarithmic',
204
+ afterFit: function (axis) {
205
+ axis.width = Math.max(axis.width, 65); // min width to prevent layout flickering
206
+ }
203
207
  }
204
208
  },
205
209
  animation: false
@@ -3,8 +3,8 @@ import type { CompletedJob } from '../gen';
3
3
  interface Props {
4
4
  jobs?: CompletedJob[] | undefined;
5
5
  maxIsNow?: boolean;
6
- minTimeSet?: string | undefined;
7
- maxTimeSet?: string | undefined;
6
+ minTimeSet?: string | null;
7
+ maxTimeSet?: string | null;
8
8
  selectedIds?: string[];
9
9
  canSelect?: boolean;
10
10
  lastFetchWentToEnd?: boolean;
@@ -13,7 +13,7 @@ export let overrideTag;
13
13
  loadWorkerGroups();
14
14
  async function loadWorkerGroups() {
15
15
  if (!$workerTags) {
16
- $workerTags = await WorkerService.getCustomTags({ workspace: $workspaceStore });
16
+ $workerTags = await WorkerService.getCustomTagsForWorkspace({ workspace: $workspaceStore });
17
17
  }
18
18
  }
19
19
  </script>