windmill-components 1.623.1 → 1.642.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 (903) 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/app.css +32 -13
  74. package/package/assets/tokens/tokens.json +11 -1
  75. package/package/ata/apis.js +78 -5
  76. package/package/cancelable-promise-utils.js +4 -2
  77. package/package/components/AIAgentLogViewer.svelte +2 -2
  78. package/package/components/AIAgentLogViewer.svelte.d.ts +1 -0
  79. package/package/components/AIProviderPicker.svelte +20 -80
  80. package/package/components/AIProviderPicker.svelte.d.ts +2 -7
  81. package/package/components/AddUser.svelte +3 -3
  82. package/package/components/ApiConnectForm.svelte +13 -1
  83. package/package/components/AppConnectDrawer.svelte +1 -0
  84. package/package/components/AppConnectInner.svelte +1 -0
  85. package/package/components/AppConnectInner.svelte.d.ts +1 -1
  86. package/package/components/ArgInput.svelte +15 -5
  87. package/package/components/ArgInput.svelte.d.ts +3 -4
  88. package/package/components/Auth0Setting.svelte +6 -2
  89. package/package/components/AuthSettings.svelte +71 -40
  90. package/package/components/AuthSettings.svelte.d.ts +3 -1
  91. package/package/components/AutheliaSetting.svelte +3 -2
  92. package/package/components/AuthentikSetting.svelte +3 -2
  93. package/package/components/AutoscalingConfigEditor.svelte +2 -1
  94. package/package/components/AutoscalingConfigEditor.svelte.d.ts +1 -0
  95. package/package/components/BedrockCredentialsCheck.svelte +241 -0
  96. package/package/components/BedrockCredentialsCheck.svelte.d.ts +3 -0
  97. package/package/components/CenteredModal.svelte +42 -24
  98. package/package/components/CenteredModal.svelte.d.ts +8 -27
  99. package/package/components/CenteredPage.svelte +6 -2
  100. package/package/components/CenteredPage.svelte.d.ts +3 -0
  101. package/package/components/ChangeInstanceUsernameInner.svelte +1 -1
  102. package/package/components/CompareWorkspaces.svelte +103 -73
  103. package/package/components/ConcurrentJobsChart.svelte +4 -3
  104. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  105. package/package/components/ConnectionSection.svelte +69 -73
  106. package/package/components/CustomPopover.svelte +20 -23
  107. package/package/components/CustomPopover.svelte.d.ts +14 -39
  108. package/package/components/CustomSso.svelte +7 -7
  109. package/package/components/DBManager.svelte +147 -44
  110. package/package/components/DBManager.svelte.d.ts +15 -2
  111. package/package/components/DBManagerContent.svelte +30 -63
  112. package/package/components/DBManagerContent.svelte.d.ts +39 -4
  113. package/package/components/DBManagerDrawer.svelte +9 -9
  114. package/package/components/DBTable.svelte +1 -1
  115. package/package/components/DBTable.svelte.d.ts +3 -1
  116. package/package/components/DBTableEditor.svelte +234 -178
  117. package/package/components/DBTableEditor.svelte.d.ts +22 -3
  118. package/package/components/DatatablePicker.svelte +29 -0
  119. package/package/components/DatatablePicker.svelte.d.ts +13 -0
  120. package/package/components/DateInput.svelte +29 -35
  121. package/package/components/DateInput.svelte.d.ts +10 -11
  122. package/package/components/DateTimeInput.svelte +3 -3
  123. package/package/components/DedicatedWorkersSelector.svelte +566 -0
  124. package/package/components/DedicatedWorkersSelector.svelte.d.ts +8 -0
  125. package/package/components/DeployToSetting.svelte +183 -123
  126. package/package/components/DeployToSetting.svelte.d.ts +19 -28
  127. package/package/components/DeployWorkspace.svelte +111 -72
  128. package/package/components/DeployWorkspace.svelte.d.ts +2 -1
  129. package/package/components/DeployWorkspaceDrawer.svelte +18 -7
  130. package/package/components/DeployWorkspaceDrawer.svelte.d.ts +3 -20
  131. package/package/components/Description.svelte +5 -2
  132. package/package/components/Dev.svelte +37 -2
  133. package/package/components/DiffDrawer.svelte +8 -29
  134. package/package/components/DiffEditor.svelte +39 -8
  135. package/package/components/DiffEditor.svelte.d.ts +2 -6
  136. package/package/components/DisplayResult.svelte +34 -26
  137. package/package/components/DropdownMenu.svelte +39 -0
  138. package/package/components/DropdownMenu.svelte.d.ts +14 -0
  139. package/package/components/DropdownSubmenuItem.svelte +68 -0
  140. package/package/components/DropdownSubmenuItem.svelte.d.ts +10 -0
  141. package/package/components/DropdownV2.svelte +5 -4
  142. package/package/components/DropdownV2.svelte.d.ts +1 -0
  143. package/package/components/DropdownV2Inner.svelte +42 -34
  144. package/package/components/DropdownV2Inner.svelte.d.ts +2 -1
  145. package/package/components/DucklakePicker.svelte +2 -5
  146. package/package/components/EEOnly.svelte +4 -14
  147. package/package/components/EEOnly.svelte.d.ts +0 -1
  148. package/package/components/Editor.svelte +72 -27
  149. package/package/components/Editor.svelte.d.ts +4 -0
  150. package/package/components/EditorBar.svelte +3 -5
  151. package/package/components/ErrorOrRecoveryHandler.svelte +62 -53
  152. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +1 -0
  153. package/package/components/ExploreAssetButton.svelte +1 -2
  154. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  155. package/package/components/FileExplorer.svelte +249 -0
  156. package/package/components/FileExplorer.svelte.d.ts +21 -0
  157. package/package/components/FilesetEditor.svelte +103 -0
  158. package/package/components/FilesetEditor.svelte.d.ts +6 -0
  159. package/package/components/FilterSearchbar.svelte +628 -0
  160. package/package/components/FilterSearchbar.svelte.d.ts +86 -0
  161. package/package/components/FlowBuilder.svelte +140 -90
  162. package/package/components/FlowDiffViewer.svelte +37 -0
  163. package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
  164. package/package/components/FlowGraphViewer.svelte +5 -2
  165. package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
  166. package/package/components/FlowGraphViewerStep.svelte +49 -33
  167. package/package/components/FlowHistoryJobPicker.svelte +2 -1
  168. package/package/components/FlowJobResult.svelte +31 -23
  169. package/package/components/FlowJobResult.svelte.d.ts +0 -1
  170. package/package/components/FlowLogRow.svelte +1 -1
  171. package/package/components/FlowLogViewer.svelte +8 -3
  172. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  173. package/package/components/FlowPreviewContent.svelte +67 -50
  174. package/package/components/FlowPreviewContent.svelte.d.ts +5 -1
  175. package/package/components/FlowRestartButton.svelte +48 -49
  176. package/package/components/FlowRestartButton.svelte.d.ts +5 -0
  177. package/package/components/FlowStatusViewer.svelte +2 -3
  178. package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
  179. package/package/components/FlowStatusViewerInner.svelte +411 -308
  180. package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -3
  181. package/package/components/FlowStatusWaitingForEvents.svelte +34 -29
  182. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
  183. package/package/components/FlowViewer.svelte +103 -2
  184. package/package/components/FlowViewer.svelte.d.ts +9 -3
  185. package/package/components/FolderPicker.svelte +195 -65
  186. package/package/components/FolderPicker.svelte.d.ts +2 -0
  187. package/package/components/ForkWorkspaceBanner.svelte +32 -13
  188. package/package/components/GraphqlSchemaViewer.svelte +8 -1
  189. package/package/components/HistoricInputs.svelte +24 -27
  190. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  191. package/package/components/IconedResourceType.svelte +8 -2
  192. package/package/components/IconedResourceType.svelte.d.ts +2 -0
  193. package/package/components/InfiniteList.svelte +27 -20
  194. package/package/components/InfiniteList.svelte.d.ts +2 -0
  195. package/package/components/InputError.svelte +9 -0
  196. package/package/components/InputError.svelte.d.ts +6 -0
  197. package/package/components/InputTransformForm.svelte +46 -39
  198. package/package/components/InputTransformForm.svelte.d.ts +1 -0
  199. package/package/components/InputTransformSchemaForm.svelte +2 -1
  200. package/package/components/InputTransformSchemaForm.svelte.d.ts +1 -0
  201. package/package/components/InputTransformsViewer.svelte +37 -20
  202. package/package/components/InstanceNameEditor.svelte +3 -1
  203. package/package/components/InstanceSetting.svelte +187 -373
  204. package/package/components/InstanceSetting.svelte.d.ts +1 -0
  205. package/package/components/InstanceSettings.svelte +804 -193
  206. package/package/components/InstanceSettings.svelte.d.ts +17 -2
  207. package/package/components/IntegerInput.svelte +58 -0
  208. package/package/components/IntegerInput.svelte.d.ts +14 -0
  209. package/package/components/InviteGlobalUser.svelte +25 -25
  210. package/package/components/InviteGlobalUser.svelte.d.ts +4 -2
  211. package/package/components/InviteUser.svelte +16 -42
  212. package/package/components/InviteUser.svelte.d.ts +4 -18
  213. package/package/components/JobArgs.svelte +14 -10
  214. package/package/components/JobLoader.svelte +6 -4
  215. package/package/components/JobLoader.svelte.d.ts +3 -3
  216. package/package/components/JobOtelTraces.svelte +287 -0
  217. package/package/components/JobOtelTraces.svelte.d.ts +6 -0
  218. package/package/components/JobStatus.svelte +29 -26
  219. package/package/components/JobStatus.svelte.d.ts +1 -0
  220. package/package/components/JsonInputs.svelte +6 -8
  221. package/package/components/JsonInputs.svelte.d.ts +7 -8
  222. package/package/components/KanidmSetting.svelte +3 -2
  223. package/package/components/KeycloakSetting.svelte +3 -2
  224. package/package/components/LogViewer.svelte +91 -33
  225. package/package/components/Login.svelte +36 -3
  226. package/package/components/ManualPopover.svelte +5 -6
  227. package/package/components/ManualPopover.svelte.d.ts +9 -35
  228. package/package/components/MemoryFootprintViewer.svelte +2 -6
  229. package/package/components/ModulePreview.svelte +23 -21
  230. package/package/components/ModulePreview.svelte.d.ts +1 -0
  231. package/package/components/ModuleStatus.svelte +5 -5
  232. package/package/components/ModuleTest.svelte +3 -3
  233. package/package/components/MoveDrawer.svelte +47 -76
  234. package/package/components/MoveDrawer.svelte.d.ts +4 -6
  235. package/package/components/NextcloudSetting.svelte +4 -3
  236. package/package/components/NoDirectDeployAlert.svelte +31 -0
  237. package/package/components/NoDirectDeployAlert.svelte.d.ts +6 -0
  238. package/package/components/NumberTypeNarrowing.svelte +65 -67
  239. package/package/components/NumberTypeNarrowing.svelte.d.ts +2 -1
  240. package/package/components/OAuthSetting.svelte +7 -14
  241. package/package/components/ObjectStoreConfigSettings.svelte +150 -55
  242. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +34 -44
  243. package/package/components/OktaSetting.svelte +3 -2
  244. package/package/components/PageHeader.svelte +1 -1
  245. package/package/components/ParentWorkspaceProtectionAlert.svelte +48 -0
  246. package/package/components/ParentWorkspaceProtectionAlert.svelte.d.ts +7 -0
  247. package/package/components/Path.svelte +41 -29
  248. package/package/components/Path.svelte.d.ts +4 -1
  249. package/package/components/PocketIdSetting.svelte +83 -0
  250. package/package/components/PocketIdSetting.svelte.d.ts +6 -0
  251. package/package/components/ResourceEditor.svelte +13 -7
  252. package/package/components/ResourcePicker.svelte +6 -5
  253. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  254. package/package/components/RightClickPopover.svelte +37 -0
  255. package/package/components/RightClickPopover.svelte.d.ts +11 -0
  256. package/package/components/RunButton.svelte +5 -15
  257. package/package/components/RunButton.svelte.d.ts +7 -19
  258. package/package/components/RunChart.svelte +9 -24
  259. package/package/components/RunChart.svelte.d.ts +2 -5
  260. package/package/components/RunForm.svelte +9 -17
  261. package/package/components/RunForm.svelte.d.ts +0 -1
  262. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  263. package/package/components/RunsPage.svelte +489 -926
  264. package/package/components/RunsPage.svelte.d.ts +5 -5
  265. package/package/components/S3FilePicker.svelte +7 -11
  266. package/package/components/S3FilePickerInner.svelte +2 -3
  267. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  268. package/package/components/SaveButton.svelte +78 -0
  269. package/package/components/SaveButton.svelte.d.ts +12 -0
  270. package/package/components/SaveInputsButton.svelte +1 -1
  271. package/package/components/SavedInputsPicker.svelte +1 -1
  272. package/package/components/SavedInputsV2.svelte +36 -39
  273. package/package/components/SchemaForm.svelte +26 -19
  274. package/package/components/SchemaFormWithArgPicker.svelte +34 -29
  275. package/package/components/SchemaFormWithArgPicker.svelte.d.ts +12 -21
  276. package/package/components/SchemaViewer.svelte +56 -53
  277. package/package/components/ScriptBuilder.svelte +13 -13
  278. package/package/components/ScriptEditor.svelte +574 -98
  279. package/package/components/Section.svelte +5 -3
  280. package/package/components/ServiceLogsInner.svelte +21 -82
  281. package/package/components/ShareModal.svelte.d.ts +1 -1
  282. package/package/components/SimpleEditor.svelte +46 -2
  283. package/package/components/Star.svelte +13 -31
  284. package/package/components/Star.svelte.d.ts +8 -21
  285. package/package/components/StringTypeNarrowing.svelte +1 -0
  286. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  287. package/package/components/SummaryPathDisplay.svelte +177 -0
  288. package/package/components/SummaryPathDisplay.svelte.d.ts +10 -0
  289. package/package/components/SuperadminSettings.svelte +185 -4
  290. package/package/components/SuperadminSettings.svelte.d.ts +4 -1
  291. package/package/components/SuperadminSettingsInner.svelte +307 -192
  292. package/package/components/SuperadminSettingsInner.svelte.d.ts +12 -1
  293. package/package/components/TaggedTextInput.svelte +449 -0
  294. package/package/components/TaggedTextInput.svelte.d.ts +28 -0
  295. package/package/components/TemplateEditor.svelte +54 -29
  296. package/package/components/TemplateEditor.svelte.d.ts +13 -102
  297. package/package/components/TimeAgo.svelte +49 -7
  298. package/package/components/TimeAgo.svelte.d.ts +1 -0
  299. package/package/components/Toast.svelte +72 -50
  300. package/package/components/Toast.svelte.d.ts +2 -2
  301. package/package/components/Tooltip.svelte +2 -2
  302. package/package/components/Tooltip.svelte.d.ts +2 -0
  303. package/package/components/TooltipInner.svelte +6 -1
  304. package/package/components/TooltipInner.svelte.d.ts +1 -0
  305. package/package/components/Uptodate.svelte +3 -2
  306. package/package/components/UserSettings.svelte +3 -3
  307. package/package/components/UserSettings.svelte.d.ts +1 -0
  308. package/package/components/WorkerGroup.svelte +353 -210
  309. package/package/components/WorkerGroup.svelte.d.ts +3 -0
  310. package/package/components/WorkerTagPicker.svelte +1 -1
  311. package/package/components/WorkerTagSelect.svelte +5 -2
  312. package/package/components/WorkspaceDependenciesEditor.svelte +33 -17
  313. package/package/components/WorkspaceTutorials.svelte +5 -0
  314. package/package/components/ZitadelSetting.svelte +3 -2
  315. package/package/components/aiProviderStorage.d.ts +5 -0
  316. package/package/components/aiProviderStorage.js +50 -0
  317. package/package/components/apps/components/buttons/AppButton.svelte +21 -6
  318. package/package/components/apps/components/buttons/AppForm.svelte +2 -1
  319. package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
  320. package/package/components/apps/components/display/InsertRowDrawerButton.svelte +1 -1
  321. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +24 -16
  322. package/package/components/apps/components/display/dbtable/dbFeatures.d.ts +9 -0
  323. package/package/components/apps/components/display/dbtable/dbFeatures.js +32 -0
  324. package/package/components/apps/components/display/dbtable/metadata.d.ts +4 -3
  325. package/package/components/apps/components/display/dbtable/metadata.js +178 -148
  326. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
  327. package/package/components/apps/components/display/dbtable/queries/alterTable.js +322 -0
  328. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
  329. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
  330. package/package/components/apps/components/display/dbtable/queries/count.js +3 -1
  331. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
  332. package/package/components/apps/components/display/dbtable/queries/createTable.js +13 -25
  333. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
  334. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
  335. package/package/components/apps/components/display/dbtable/queries/delete.js +3 -1
  336. package/package/components/apps/components/display/dbtable/queries/insert.js +3 -1
  337. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +45 -0
  338. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +401 -0
  339. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
  340. package/package/components/apps/components/display/dbtable/queries/select.js +52 -7
  341. package/package/components/apps/components/display/dbtable/queries/update.js +3 -1
  342. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
  343. package/package/components/apps/components/display/dbtable/tableEditor.js +67 -0
  344. package/package/components/apps/components/display/dbtable/utils.d.ts +2 -0
  345. package/package/components/apps/components/display/dbtable/utils.js +61 -36
  346. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
  347. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
  348. package/package/components/apps/components/display/table/AppAggridTable.svelte +15 -0
  349. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +16 -10
  350. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +2 -1
  351. package/package/components/apps/components/display/table/theme/windmill-theme.css +8 -7
  352. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  353. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  354. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  355. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
  356. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  357. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  358. package/package/components/apps/components/helpers/eval.js +5 -2
  359. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +2 -4
  360. package/package/components/apps/components/layout/AppModal.svelte +2 -1
  361. package/package/components/apps/components/layout/AppModal.svelte.d.ts +1 -0
  362. package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
  363. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
  364. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  365. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  366. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  367. package/package/components/apps/editor/PublicApp.svelte +49 -30
  368. package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
  369. package/package/components/apps/editor/appPolicy.js +5 -4
  370. package/package/components/apps/editor/appUtils.d.ts +1 -1
  371. package/package/components/apps/editor/component/components.d.ts +11 -0
  372. package/package/components/apps/editor/component/components.js +19 -2
  373. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +3 -1
  374. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
  375. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
  376. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  377. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  378. package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
  379. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
  380. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +1 -1
  381. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +66 -29
  382. package/package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +2 -17
  383. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +10 -0
  384. package/package/components/apps/inputType.d.ts +8 -3
  385. package/package/components/assets/AssetButtons.svelte +3 -7
  386. package/package/components/assets/AssetButtons.svelte.d.ts +2 -4
  387. package/package/components/assets/AssetColumnBadges.svelte +35 -0
  388. package/package/components/assets/AssetColumnBadges.svelte.d.ts +10 -0
  389. package/package/components/assets/AssetsDropdownButton.svelte +9 -7
  390. package/package/components/assets/AssetsUsageDrawer.svelte +100 -27
  391. package/package/components/assets/AssetsUsageDrawer.svelte.d.ts +5 -6
  392. package/package/components/assets/JobAssetsViewer.svelte +4 -6
  393. package/package/components/assets/assetsFilter.d.ts +50 -0
  394. package/package/components/assets/assetsFilter.js +43 -0
  395. package/package/components/assets/lib.d.ts +6 -4
  396. package/package/components/assets/lib.js +11 -2
  397. package/package/components/auditLogs/AuditLogsFilters.svelte +39 -18
  398. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  399. package/package/components/common/CloseButton.svelte +2 -1
  400. package/package/components/common/CloseButton.svelte.d.ts +1 -0
  401. package/package/components/common/InlineCalendarInput.svelte +580 -0
  402. package/package/components/common/InlineCalendarInput.svelte.d.ts +31 -0
  403. package/package/components/common/alert/Alert.svelte +2 -8
  404. package/package/components/common/alert/model.d.ts +1 -0
  405. package/package/components/common/alert/model.js +7 -0
  406. package/package/components/common/badge/Badge.svelte +7 -3
  407. package/package/components/common/badge/Badge.svelte.d.ts +1 -0
  408. package/package/components/common/badge/CountBadge.svelte +4 -3
  409. package/package/components/common/badge/CountBadge.svelte.d.ts +1 -0
  410. package/package/components/common/breadcrumb/Breadcrumb.svelte +10 -14
  411. package/package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +8 -23
  412. package/package/components/common/button/Button.svelte +1 -1
  413. package/package/components/common/button/model.js +1 -1
  414. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  415. package/package/components/common/confirmationModal/ConfirmationModal.svelte +2 -1
  416. package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
  417. package/package/components/common/drawer/Drawer.svelte +4 -1
  418. package/package/components/common/drawer/DrawerContent.svelte +7 -4
  419. package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
  420. package/package/components/common/languageIcons/TypeScript.svelte +5 -3
  421. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
  422. package/package/components/common/modal/Modal.svelte +3 -3
  423. package/package/components/common/modal/Modal2.svelte +1 -0
  424. package/package/components/common/seconds/SecondsInput.svelte +158 -67
  425. package/package/components/common/seconds/SecondsInput.svelte.d.ts +9 -21
  426. package/package/components/common/sidebar/SidebarNavigation.svelte +50 -0
  427. package/package/components/common/sidebar/SidebarNavigation.svelte.d.ts +25 -0
  428. package/package/components/common/table/AppRow.svelte +7 -7
  429. package/package/components/common/table/AppRow.svelte.d.ts +2 -2
  430. package/package/components/common/table/FlowRow.svelte +12 -12
  431. package/package/components/common/table/FlowRow.svelte.d.ts +2 -2
  432. package/package/components/common/table/RawAppRow.svelte +5 -79
  433. package/package/components/common/table/RawAppRow.svelte.d.ts +2 -23
  434. package/package/components/common/table/Row.svelte +11 -21
  435. package/package/components/common/table/Row.svelte.d.ts +3 -21
  436. package/package/components/common/table/RowIcon.svelte +6 -2
  437. package/package/components/common/table/RowIcon.svelte.d.ts +1 -1
  438. package/package/components/common/table/ScriptRow.svelte +8 -8
  439. package/package/components/common/table/ScriptRow.svelte.d.ts +2 -2
  440. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  441. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -1
  442. package/package/components/copilot/TestAIKey.svelte +1 -1
  443. package/package/components/copilot/autocomplete/Autocompletor.d.ts +1 -1
  444. package/package/components/copilot/autocomplete/Autocompletor.js +7 -6
  445. package/package/components/copilot/autocomplete/request.js +13 -9
  446. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  447. package/package/components/copilot/chat/AIButtonStyle.js +2 -1
  448. package/package/components/copilot/chat/AIChat.svelte +3 -1
  449. package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
  450. package/package/components/copilot/chat/AIChatInput.svelte +291 -5
  451. package/package/components/copilot/chat/AIChatManager.svelte.js +122 -18
  452. package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
  453. package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
  454. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
  455. package/package/components/copilot/chat/AvailableContextList.svelte +215 -12
  456. package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +1 -0
  457. package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
  458. package/package/components/copilot/chat/ContextTextarea.svelte +15 -2
  459. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
  460. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  461. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
  462. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +1 -1
  463. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
  464. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +4 -2
  465. package/package/components/copilot/chat/app/core.d.ts +56 -15
  466. package/package/components/copilot/chat/app/core.js +148 -108
  467. package/package/components/copilot/chat/context.js +9 -2
  468. package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
  469. package/package/components/copilot/chat/flow/core.d.ts +3 -1
  470. package/package/components/copilot/chat/flow/core.js +221 -62
  471. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  472. package/package/components/copilot/chat/flow/openFlowZod.d.ts +3 -2
  473. package/package/components/copilot/chat/flow/openFlowZod.js +16 -6
  474. package/package/components/copilot/chat/navigator/core.d.ts +2 -2
  475. package/package/components/copilot/chat/navigator/core.js +11 -2
  476. package/package/components/copilot/chat/script/core.d.ts +4 -1
  477. package/package/components/copilot/chat/script/core.js +46 -6
  478. package/package/components/copilot/chat/shared.d.ts +63 -1
  479. package/package/components/copilot/chat/shared.js +251 -1
  480. package/package/components/copilot/lib.d.ts +1 -1
  481. package/package/components/copilot/lib.js +44 -9
  482. package/package/components/copilot/utils.d.ts +5 -0
  483. package/package/components/copilot/utils.js +8 -0
  484. package/package/components/custom_ui.d.ts +2 -0
  485. package/package/components/dbOps.d.ts +18 -4
  486. package/package/components/dbOps.js +25 -3
  487. package/package/components/debug/DebugConsole.svelte +277 -0
  488. package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
  489. package/package/components/debug/DebugPanel.svelte +97 -0
  490. package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
  491. package/package/components/debug/DebugToolbar.svelte +148 -0
  492. package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
  493. package/package/components/debug/DebugVariableViewer.svelte +115 -0
  494. package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
  495. package/package/components/debug/MonacoDebugger.svelte +384 -0
  496. package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
  497. package/package/components/debug/dapClient.d.ts +192 -0
  498. package/package/components/debug/dapClient.js +426 -0
  499. package/package/components/debug/debugUtils.d.ts +30 -0
  500. package/package/components/debug/debugUtils.js +131 -0
  501. package/package/components/debug/index.d.ts +75 -0
  502. package/package/components/debug/index.js +82 -0
  503. package/package/components/dedicated_worker.d.ts +7 -0
  504. package/package/components/dedicated_worker.js +36 -0
  505. package/package/components/details/DetailPageHeader.svelte +11 -12
  506. package/package/components/details/DetailPageHeader.svelte.d.ts +3 -1
  507. package/package/components/details/DetailPageLayout.svelte +11 -2
  508. package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
  509. package/package/components/details/createAppFromScript.d.ts +136 -16
  510. package/package/components/details/createAppFromScript.js +13 -12
  511. package/package/components/diffEditorTypes.d.ts +6 -0
  512. package/package/components/diffEditorTypes.js +1 -0
  513. package/package/components/flows/CreateActionsApp.svelte +32 -80
  514. package/package/components/flows/CreateActionsFlow.svelte +28 -28
  515. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  516. package/package/components/flows/FlowAssetsHandler.svelte +1 -4
  517. package/package/components/flows/FlowHistoryInner.svelte +15 -4
  518. package/package/components/flows/FlowProgressBar.svelte +37 -1
  519. package/package/components/flows/FlowProgressBar.svelte.d.ts +3 -0
  520. package/package/components/flows/agentToolUtils.d.ts +18 -0
  521. package/package/components/flows/agentToolUtils.js +47 -0
  522. package/package/components/flows/common/FlowCardHeader.svelte +8 -9
  523. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  524. package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
  525. package/package/components/{schema/SchemaPicker.svelte.d.ts → flows/content/FlowEditorDrawer.svelte.d.ts} +8 -13
  526. package/package/components/flows/content/FlowEnvironmentVariables.svelte +3 -2
  527. package/package/components/flows/content/FlowInput.svelte +211 -37
  528. package/package/components/flows/content/FlowLoop.svelte +3 -4
  529. package/package/components/flows/content/FlowModuleCache.svelte +1 -3
  530. package/package/components/flows/content/FlowModuleComponent.svelte +571 -69
  531. package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
  532. package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
  533. package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
  534. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  535. package/package/components/flows/content/FlowResult.svelte +77 -25
  536. package/package/components/flows/content/FlowRetries.svelte +1 -1
  537. package/package/components/flows/content/FlowSettings.svelte +4 -7
  538. package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
  539. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
  540. package/package/components/flows/content/McpToolEditor.svelte +50 -37
  541. package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
  542. package/package/components/flows/conversations/FlowChat.svelte +16 -2
  543. package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
  544. package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
  545. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
  546. package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
  547. package/package/components/flows/conversations/FlowConversationsSidebar.svelte +79 -77
  548. package/package/components/flows/flowState.js +6 -0
  549. package/package/components/flows/flowStateUtils.svelte.js +4 -1
  550. package/package/components/flows/flowStore.svelte.d.ts +1 -1
  551. package/package/components/flows/flowStore.svelte.js +4 -2
  552. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  553. package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
  554. package/package/components/flows/header/FlowYamlEditor.svelte +2 -2
  555. package/package/components/flows/map/FlowModuleSchemaMap.svelte +12 -6
  556. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -2
  557. package/package/components/flows/map/InsertModuleInner.svelte +7 -0
  558. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
  559. package/package/components/flows/missingInputWarnings.js +7 -0
  560. package/package/components/flows/pickers/PickHubScriptQuick.svelte +4 -4
  561. package/package/components/flows/propPicker/OutputPicker.svelte +1 -1
  562. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
  563. package/package/components/flows/propPicker/PropPickerWrapper.svelte +9 -10
  564. package/package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +3 -3
  565. package/package/components/flows/scheduleUtils.js +2 -2
  566. package/package/components/flows/types.d.ts +3 -3
  567. package/package/components/flows/utils.svelte.js +5 -1
  568. package/package/components/git_sync/GitSyncRepositoryCard.svelte +33 -23
  569. package/package/components/git_sync/GitSyncSection.svelte +24 -27
  570. package/package/components/graph/FlowGraphV2.svelte +8 -2
  571. package/package/components/graph/graphBuilder.svelte.d.ts +3 -1
  572. package/package/components/graph/model.d.ts +1 -1
  573. package/package/components/graph/renderers/nodes/AIToolNode.svelte +3 -1
  574. package/package/components/graph/renderers/nodes/AssetNode.svelte +25 -13
  575. package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte +1 -1
  576. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +8 -0
  577. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +44 -24
  578. package/package/components/home/Item.svelte +9 -15
  579. package/package/components/home/Item.svelte.d.ts +8 -7
  580. package/package/components/home/ItemsList.svelte +11 -16
  581. package/package/components/home/ItemsList.svelte.d.ts +1 -0
  582. package/package/components/home/TutorialBanner.svelte +34 -18
  583. package/package/components/home/treeViewUtils.js +1 -1
  584. package/package/components/icons/CssIcon.svelte +20 -0
  585. package/package/components/icons/CssIcon.svelte.d.ts +7 -25
  586. package/package/components/icons/GoogleCalendarIcon.svelte +41 -0
  587. package/package/components/icons/GoogleCalendarIcon.svelte.d.ts +7 -0
  588. package/package/components/icons/GoogleDriveIcon.svelte +30 -0
  589. package/package/components/icons/GoogleDriveIcon.svelte.d.ts +7 -0
  590. package/package/components/icons/GoogleIcon.svelte +15 -6
  591. package/package/components/icons/GoogleIcon.svelte.d.ts +5 -2
  592. package/package/components/icons/HtmlIcon.svelte +20 -0
  593. package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
  594. package/package/components/icons/JavaScriptIcon.svelte +10 -2
  595. package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
  596. package/package/components/icons/JsonIcon.svelte +8 -2
  597. package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
  598. package/package/components/icons/LessIcon.svelte +16 -0
  599. package/package/components/icons/LessIcon.svelte.d.ts +8 -0
  600. package/package/components/icons/MSSqlServerIcon.svelte +111 -47
  601. package/package/components/icons/MarkdownIcon.svelte +20 -0
  602. package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
  603. package/package/components/icons/NextcloudIcon.svelte +3 -2
  604. package/package/components/icons/NextcloudIcon.svelte.d.ts +2 -0
  605. package/package/components/icons/PocketIdIcon.svelte +9 -0
  606. package/package/components/icons/PocketIdIcon.svelte.d.ts +9 -0
  607. package/package/components/icons/ReactIcon.svelte +10 -2
  608. package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
  609. package/package/components/icons/SassIcon.svelte +28 -0
  610. package/package/components/icons/SassIcon.svelte.d.ts +8 -0
  611. package/package/components/icons/SvelteIcon.svelte +10 -2
  612. package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
  613. package/package/components/icons/VueIcon.svelte +10 -2
  614. package/package/components/icons/VueIcon.svelte.d.ts +1 -0
  615. package/package/components/icons/YamlIcon.svelte +20 -0
  616. package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
  617. package/package/components/icons/index.js +3 -1
  618. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte +94 -0
  619. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte.d.ts +9 -0
  620. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte +67 -0
  621. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte.d.ts +9 -0
  622. package/package/components/instanceSettings/IndexerMemorySettings.svelte +109 -0
  623. package/package/components/instanceSettings/IndexerMemorySettings.svelte.d.ts +9 -0
  624. package/package/components/instanceSettings/SecretBackendConfig.svelte +513 -0
  625. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
  626. package/package/components/instanceSettings/SettingCard.svelte +47 -0
  627. package/package/components/instanceSettings/SettingCard.svelte.d.ts +19 -0
  628. package/package/components/instanceSettings/SettingsSearchInput.svelte +66 -0
  629. package/package/components/instanceSettings/SettingsSearchInput.svelte.d.ts +9 -0
  630. package/package/components/instanceSettings.d.ts +54 -1
  631. package/package/components/instanceSettings.js +444 -68
  632. package/package/components/jobs/JobPreview.svelte +46 -39
  633. package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
  634. package/package/components/meltComponents/MenuItem.svelte +1 -0
  635. package/package/components/meltComponents/Popover.svelte +10 -1
  636. package/package/components/meltComponents/Popover.svelte.d.ts +2 -0
  637. package/package/components/meltComponents/Tooltip.svelte +2 -1
  638. package/package/components/meltComponents/Tooltip.svelte.d.ts +1 -0
  639. package/package/components/monacoLanguagesOptions.js +16 -15
  640. package/package/components/moveRenameManager.d.ts +21 -0
  641. package/package/components/moveRenameManager.js +61 -0
  642. package/package/components/progressBar/ProgressBar.svelte +69 -27
  643. package/package/components/progressBar/ProgressBar.svelte.d.ts +7 -0
  644. package/package/components/prop_picker.d.ts +0 -3
  645. package/package/components/propertyPicker/PropPicker.svelte +47 -48
  646. package/package/components/propertyPicker/PropPicker.svelte.d.ts +12 -9
  647. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
  648. package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
  649. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
  650. package/package/components/raw_apps/FileTreeNode.svelte +120 -83
  651. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +91 -10
  652. package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -3
  653. package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
  654. package/package/components/raw_apps/RawAppEditor.svelte +237 -83
  655. package/package/components/raw_apps/RawAppEditor.svelte.d.ts +4 -4
  656. package/package/components/raw_apps/RawAppEditorHeader.svelte +105 -22
  657. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -1
  658. package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
  659. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
  660. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
  661. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
  662. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
  663. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +32 -7
  664. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +66 -19
  665. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
  666. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
  667. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
  668. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
  669. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -2
  670. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
  671. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  672. package/package/components/raw_apps/RawAppModules.svelte +13 -7
  673. package/package/components/raw_apps/RawAppPreview.svelte +48 -6
  674. package/package/components/raw_apps/RawAppSidebar.svelte +52 -235
  675. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +2 -1
  676. package/package/components/raw_apps/RunnableRow.svelte +95 -0
  677. package/package/components/raw_apps/RunnableRow.svelte.d.ts +15 -0
  678. package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
  679. package/package/components/raw_apps/utils.d.ts +1 -1
  680. package/package/components/raw_apps/utils.js +76 -18
  681. package/package/components/resources/resourcesFilter.d.ts +70 -0
  682. package/package/components/resources/resourcesFilter.js +61 -0
  683. package/package/components/runs/BatchReRunOptionsPane.svelte +130 -121
  684. package/package/components/runs/BatchReRunOptionsPane.svelte.d.ts +3 -2
  685. package/package/components/runs/FlowExecutionStatus.svelte +30 -0
  686. package/package/components/runs/FlowExecutionStatus.svelte.d.ts +15 -0
  687. package/package/components/runs/JobDetailFieldConfig.d.ts +47 -0
  688. package/package/components/runs/JobDetailFieldConfig.js +433 -0
  689. package/package/components/runs/JobDetailHeader.svelte +551 -0
  690. package/package/components/runs/JobDetailHeader.svelte.d.ts +17 -0
  691. package/package/components/runs/JobRunsPreview.svelte +174 -218
  692. package/package/components/runs/JobRunsPreview.svelte.d.ts +0 -1
  693. package/package/components/runs/JobStatusIcon.svelte +47 -0
  694. package/package/components/runs/JobStatusIcon.svelte.d.ts +9 -0
  695. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  696. package/package/components/runs/RunBadges.svelte +39 -34
  697. package/package/components/runs/RunBadges.svelte.d.ts +2 -1
  698. package/package/components/runs/RunRow.svelte +24 -64
  699. package/package/components/runs/RunRow.svelte.d.ts +1 -2
  700. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  701. package/package/components/runs/RunsTable.svelte +312 -131
  702. package/package/components/runs/RunsTable.svelte.d.ts +4 -3
  703. package/package/components/runs/TimeframeSelect.svelte +189 -0
  704. package/package/components/runs/TimeframeSelect.svelte.d.ts +44 -0
  705. package/package/components/runs/runsFilter.d.ts +201 -0
  706. package/package/components/runs/runsFilter.js +182 -0
  707. package/package/components/runs/useJobsLoader.svelte.d.ts +32 -0
  708. package/package/components/runs/useJobsLoader.svelte.js +504 -0
  709. package/package/components/schedules/schedulesFilter.d.ts +65 -0
  710. package/package/components/schedules/schedulesFilter.js +60 -0
  711. package/package/components/schema/EditableSchemaWrapper.svelte +45 -24
  712. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -1
  713. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  714. package/package/components/schema/PropertyEditor.svelte +1 -0
  715. package/package/components/schema/RunningJobSchemaPicker.svelte +1 -1
  716. package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
  717. package/package/components/scriptEditor/LogPanel.svelte +17 -2
  718. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  719. package/package/components/scripts/CreateActionsScript.svelte +0 -1
  720. package/package/components/search/GlobalSearchModal.svelte +1 -8
  721. package/package/components/select/GenericDropdown.svelte +113 -0
  722. package/package/components/select/GenericDropdown.svelte.d.ts +37 -0
  723. package/package/components/select/MultiSelect.svelte +1 -1
  724. package/package/components/select/Select.svelte +17 -4
  725. package/package/components/select/Select.svelte.d.ts +2 -1
  726. package/package/components/select/SelectDropdown.svelte +76 -143
  727. package/package/components/select/SelectDropdown.svelte.d.ts +4 -1
  728. package/package/components/settings/AIPromptsModal.svelte +88 -0
  729. package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
  730. package/package/components/settings/ChangeWorkspaceColor.svelte +11 -11
  731. package/package/components/settings/ChangeWorkspaceId.svelte +20 -17
  732. package/package/components/settings/ChangeWorkspaceName.svelte +13 -14
  733. package/package/components/settings/CreateToken.svelte +4 -4
  734. package/package/components/settings/PremiumInfo.svelte +268 -128
  735. package/package/components/settings/SettingsPageHeader.svelte +22 -0
  736. package/package/components/settings/SettingsPageHeader.svelte.d.ts +10 -0
  737. package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
  738. package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
  739. package/package/components/settings/WorkspaceUserSettings.svelte +543 -427
  740. package/package/components/sidebar/CriticalAlertModalInner.svelte +28 -22
  741. package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +5 -20
  742. package/package/components/sidebar/DarkModeToggle.svelte +2 -2
  743. package/package/components/sidebar/FavoriteMenu.svelte +101 -20
  744. package/package/components/sidebar/FavoriteMenu.svelte.d.ts +29 -1
  745. package/package/components/sidebar/MenuButton.svelte +60 -27
  746. package/package/components/sidebar/MenuButton.svelte.d.ts +4 -0
  747. package/package/components/sidebar/MenuLink.svelte +4 -3
  748. package/package/components/sidebar/MultiplayerMenu.svelte +4 -4
  749. package/package/components/sidebar/OperatorMenu.svelte +66 -89
  750. package/package/components/sidebar/OperatorMenu.svelte.d.ts +6 -1
  751. package/package/components/sidebar/SidebarContent.svelte +42 -9
  752. package/package/components/sidebar/UserMenu.svelte +3 -3
  753. package/package/components/sidebar/WorkspaceMenu.svelte +37 -86
  754. package/package/components/sqlTypeService.js +4 -3
  755. package/package/components/table/AutoDataTable.svelte +2 -2
  756. package/package/components/table/DataTable.svelte +8 -3
  757. package/package/components/table/DataTable.svelte.d.ts +2 -0
  758. package/package/components/text_input/TextInput.svelte +3 -0
  759. package/package/components/text_input/TextInput.svelte.d.ts +2 -0
  760. package/package/components/toast.js +1 -2
  761. package/package/components/triggers/AddTriggersButton.svelte +28 -4
  762. package/package/components/triggers/TriggerFilters.svelte +71 -0
  763. package/package/components/triggers/TriggerFilters.svelte.d.ts +10 -0
  764. package/package/components/triggers/TriggersEditor.svelte +34 -10
  765. package/package/components/triggers/TriggersWrapper.svelte +24 -0
  766. package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
  767. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +7 -0
  768. package/package/components/triggers/kafka/utils.js +1 -0
  769. package/package/components/triggers/native/NativeTriggerEditor.svelte +384 -0
  770. package/package/components/triggers/native/NativeTriggerEditor.svelte.d.ts +26 -0
  771. package/package/components/triggers/native/NativeTriggerTable.svelte +171 -0
  772. package/package/components/triggers/native/NativeTriggerTable.svelte.d.ts +16 -0
  773. package/package/components/triggers/native/NativeTriggersPanel.svelte +40 -0
  774. package/package/components/triggers/native/NativeTriggersPanel.svelte.d.ts +15 -0
  775. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte +112 -0
  776. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte.d.ts +8 -0
  777. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte +323 -0
  778. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte.d.ts +8 -0
  779. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte +116 -0
  780. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte.d.ts +12 -0
  781. package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte +104 -0
  782. package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte.d.ts +18 -0
  783. package/package/components/triggers/native/utils.d.ts +73 -0
  784. package/package/components/triggers/native/utils.js +166 -0
  785. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +3 -3
  786. package/package/components/triggers/triggers.svelte.d.ts +2 -1
  787. package/package/components/triggers/triggers.svelte.js +44 -8
  788. package/package/components/triggers/utils.js +46 -7
  789. package/package/components/triggers/websocket/WebsocketEditorConfigSection.svelte +1 -1
  790. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +3 -81
  791. package/package/components/triggers.d.ts +1 -1
  792. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
  793. package/package/components/tutorials/RunsTutorial.svelte +399 -0
  794. package/package/components/{flows/propPicker/FlowPropPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -8
  795. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
  796. package/package/components/tutorials/utils.d.ts +16 -0
  797. package/package/components/tutorials/utils.js +96 -0
  798. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
  799. package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
  800. package/package/components/variables/variablesFilter.d.ts +56 -0
  801. package/package/components/variables/variablesFilter.js +51 -0
  802. package/package/components/vscode.js +6 -6
  803. package/package/components/waitJob.d.ts +1 -1
  804. package/package/components/waitJob.js +3 -2
  805. package/package/components/worker_group.d.ts +2 -0
  806. package/package/components/worker_group.js +15 -0
  807. package/package/components/workspace/WorkspaceCard.svelte +184 -0
  808. package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
  809. package/package/components/workspace/WorkspaceIcon.svelte +21 -0
  810. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
  811. package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
  812. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
  813. package/package/components/workspaceSettings/AISettings.svelte +149 -116
  814. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -0
  815. package/package/components/workspaceSettings/CreateWorkspace.svelte +30 -16
  816. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +1 -0
  817. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +3 -1
  818. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte.d.ts +1 -2
  819. package/package/components/workspaceSettings/DataTableSettings.svelte +29 -17
  820. package/package/components/workspaceSettings/DataTableSettings.svelte.d.ts +1 -0
  821. package/package/components/workspaceSettings/DucklakeSettings.svelte +75 -41
  822. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +3 -1
  823. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +24 -66
  824. package/package/components/workspaceSettings/ModelTokenLimits.svelte +18 -26
  825. package/package/components/workspaceSettings/OAuthClientConfig.svelte +151 -0
  826. package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +21 -0
  827. package/package/components/workspaceSettings/RulesetEditor.svelte +280 -0
  828. package/package/components/workspaceSettings/RulesetEditor.svelte.d.ts +9 -0
  829. package/package/components/workspaceSettings/SettingsFooter.svelte +35 -0
  830. package/package/components/workspaceSettings/SettingsFooter.svelte.d.ts +12 -0
  831. package/package/components/workspaceSettings/StorageSettings.svelte +322 -264
  832. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +2 -0
  833. package/package/components/workspaceSettings/WorkspaceDependenciesSettings.svelte +66 -27
  834. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +466 -0
  835. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte.d.ts +3 -0
  836. package/package/components/workspaceSettings/WorkspaceRulesets.svelte +183 -0
  837. package/package/components/workspaceSettings/WorkspaceRulesets.svelte.d.ts +3 -0
  838. package/package/consts.js +4 -3
  839. package/package/editorLangUtils.d.ts +1 -1
  840. package/package/gen/core/OpenAPI.js +1 -1
  841. package/package/gen/schemas.gen.d.ts +1654 -215
  842. package/package/gen/schemas.gen.js +1987 -494
  843. package/package/gen/services.gen.d.ts +511 -59
  844. package/package/gen/services.gen.js +1064 -170
  845. package/package/gen/types.gen.d.ts +3687 -728
  846. package/package/hub.d.ts +1 -0
  847. package/package/hub.js +9 -2
  848. package/package/hubPaths.json +4 -2
  849. package/package/infer.d.ts +2 -0
  850. package/package/infer.js +2 -0
  851. package/package/logout.d.ts +0 -2
  852. package/package/logout.js +2 -23
  853. package/package/logoutKit.d.ts +2 -0
  854. package/package/logoutKit.js +26 -0
  855. package/package/mcpEndpointTools.d.ts +3 -0
  856. package/package/mcpEndpointTools.js +574 -147
  857. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  858. package/package/navigation.d.ts +1 -1
  859. package/package/rawAppWmillTs.d.ts +11 -0
  860. package/package/rawAppWmillTs.js +42 -4
  861. package/package/refreshUser.d.ts +5 -1
  862. package/package/refreshUser.js +20 -30
  863. package/package/scripts.d.ts +1 -1
  864. package/package/scripts.js +1 -1
  865. package/package/storeUtils.js +10 -0
  866. package/package/stores.d.ts +1 -1
  867. package/package/stores.js +4 -2
  868. package/package/svelte5Utils.svelte.d.ts +108 -1
  869. package/package/svelte5Utils.svelte.js +351 -2
  870. package/package/svelte5UtilsKit.svelte.d.ts +13 -0
  871. package/package/svelte5UtilsKit.svelte.js +106 -0
  872. package/package/system_prompts/prompts.d.ts +5 -5
  873. package/package/system_prompts/prompts.js +94 -21
  874. package/package/toast.d.ts +5 -1
  875. package/package/toast.js +14 -5
  876. package/package/tutorialUtils.js +0 -4
  877. package/package/tutorials/config.js +31 -3
  878. package/package/tutorials/roleUtils.d.ts +1 -1
  879. package/package/tutorials/roleUtils.js +6 -2
  880. package/package/utils.js +376 -8
  881. package/package/utils_deployable.d.ts +25 -25
  882. package/package/utils_deployable.js +2 -1
  883. package/package/validators/workspaceSettings.d.ts +12 -0
  884. package/package/validators/workspaceSettings.js +72 -0
  885. package/package/workspaceProtectionRules.svelte.d.ts +73 -0
  886. package/package/workspaceProtectionRules.svelte.js +176 -0
  887. package/package.json +8 -5
  888. package/package/components/DropdownSelect.svelte +0 -26
  889. package/package/components/DropdownSelect.svelte.d.ts +0 -11
  890. package/package/components/FlowPreviewResult.svelte +0 -88
  891. package/package/components/FlowPreviewResult.svelte.d.ts +0 -20
  892. package/package/components/SavedInputs.svelte +0 -416
  893. package/package/components/copilot/chat/context.d.ts +0 -62
  894. package/package/components/flows/propPicker/FlowPropPicker.svelte +0 -72
  895. package/package/components/runs/JobsLoader.svelte +0 -468
  896. package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
  897. package/package/components/runs/ManuelDatePicker.svelte +0 -96
  898. package/package/components/runs/ManuelDatePicker.svelte.d.ts +0 -35
  899. package/package/components/runs/RunsBatchActionsDropdown.svelte +0 -82
  900. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +0 -15
  901. package/package/components/runs/RunsFilter.svelte +0 -954
  902. package/package/components/runs/RunsFilter.svelte.d.ts +0 -49
  903. package/package/components/schema/SchemaPicker.svelte +0 -92
@@ -1,19 +1,19 @@
1
1
  <script lang="ts">import AddUser from '../AddUser.svelte';
2
- import { Badge, Button, Skeleton } from '../common';
2
+ import { Alert, Badge, Button, Section, Skeleton } from '../common';
3
3
  import Popover from '../meltComponents/Popover.svelte';
4
4
  import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
5
5
  import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
6
6
  import WorkspaceOperatorSettings from './WorkspaceOperatorSettings.svelte';
7
7
  import InviteUser from '../InviteUser.svelte';
8
- import PageHeader from '../PageHeader.svelte';
8
+ import SettingsPageHeader from './SettingsPageHeader.svelte';
9
9
  import DataTable from '../table/DataTable.svelte';
10
10
  import Head from '../table/Head.svelte';
11
11
  import Toggle from '../Toggle.svelte';
12
12
  import Tooltip from '../Tooltip.svelte';
13
13
  import { UserService, WorkspaceService, GroupService } from '../../gen';
14
- import { userStore, workspaceStore } from '../../stores';
14
+ import { userStore, workspaceStore, superadmin, globalEmailInvite } from '../../stores';
15
15
  import { sendUserToast } from '../../toast';
16
- import { Loader2, Mails, Search, Plus } from 'lucide-svelte';
16
+ import { Loader2, Mails, Search, Plus, UserMinus, X } from 'lucide-svelte';
17
17
  import Select from '../select/Select.svelte';
18
18
  import SearchItems from '../SearchItems.svelte';
19
19
  import Cell from '../table/Cell.svelte';
@@ -22,13 +22,14 @@ import ConfirmationModal from '../common/confirmationModal/ConfirmationModal.sve
22
22
  import { isCloudHosted } from '../../cloud';
23
23
  import { truncate } from '../../utils';
24
24
  import { onDestroy, untrack } from 'svelte';
25
+ import { goto } from '../../navigation';
25
26
  let users = $state(undefined);
26
27
  let invites = $state([]);
27
28
  let filteredUsers = $state(undefined);
28
29
  let userFilter = $state('');
29
30
  let auto_invite_domain = $state();
30
31
  let operatorOnly = $state(undefined);
31
- let autoAdd = $state(undefined);
32
+ let autoAdd = $state(false);
32
33
  let nbDisplayed = $state(30);
33
34
  // Instance group auto-add settings
34
35
  let instanceGroups = $state([]);
@@ -72,11 +73,12 @@ function canConvertToGroup(user) {
72
73
  }
73
74
  async function loadSettings() {
74
75
  const settings = await WorkspaceService.getSettings({ workspace: $workspaceStore });
75
- auto_invite_domain = settings.auto_invite_domain;
76
- operatorOnly = settings.auto_invite_operator;
77
- autoAdd = settings.auto_add;
78
- autoAddInstanceGroups = settings.auto_add_instance_groups || [];
79
- autoAddInstanceGroupsRoles = settings.auto_add_instance_groups_roles || {};
76
+ const autoInvite = settings.auto_invite;
77
+ auto_invite_domain = autoInvite?.enabled ? (autoInvite?.domain ?? '*') : undefined;
78
+ operatorOnly = autoInvite?.operator ?? false;
79
+ autoAdd = autoInvite?.mode === 'add';
80
+ autoAddInstanceGroups = autoInvite?.instance_groups || [];
81
+ autoAddInstanceGroupsRoles = autoInvite?.instance_groups_roles || {};
80
82
  }
81
83
  let getUsagePromise = undefined;
82
84
  let usage = $state(undefined);
@@ -219,6 +221,10 @@ onDestroy(() => {
219
221
  let deleteConfirmedCallback = $state(undefined);
220
222
  let removeInstanceGroupConfirmedCallback = $state(undefined);
221
223
  let convertConfirmedCallback = $state(undefined);
224
+ // Auto-add/invite confirmation modal states
225
+ let autoAddConfirmCallback = $state(undefined);
226
+ let autoInviteDisableConfirmCallback = $state(undefined);
227
+ let switchToAutoAddConfirmCallback = $state(undefined);
222
228
  async function removeAllInvitesFromDomain() {
223
229
  await Promise.all(invites
224
230
  .filter((x) => isCloudHosted() ? x.email.endsWith('@' + (auto_invite_domain ?? '')) : true)
@@ -232,9 +238,93 @@ async function removeAllInvitesFromDomain() {
232
238
  })));
233
239
  }
234
240
  let nbInviteDisplayed = $state(50);
235
- let showInvites = $state(false);
236
- $effect(() => {
237
- showInvites = invites?.length > 0 || (auto_invite_domain != undefined && !autoAdd);
241
+ async function inviteUser(email, selected) {
242
+ try {
243
+ await WorkspaceService.inviteUser({
244
+ workspace: $workspaceStore,
245
+ requestBody: {
246
+ email,
247
+ is_admin: selected == 'admin',
248
+ operator: selected == 'operator'
249
+ }
250
+ });
251
+ sendUserToast(`Invited ${email}`);
252
+ }
253
+ catch (e) {
254
+ console.error('Failed to invite user:', e);
255
+ sendUserToast('Failed to invite user', true);
256
+ }
257
+ if (!(await UserService.existsEmail({ email }))) {
258
+ let isSuperadmin = $superadmin;
259
+ if (!isCloudHosted()) {
260
+ sendUserToast(`User ${email} is not registered yet on the instance. ${!isSuperadmin
261
+ ? `If not using SSO, ask an administrator to add ${email} to the instance`
262
+ : ''}`, true, isSuperadmin
263
+ ? [
264
+ {
265
+ label: 'Add user to the instance',
266
+ callback: () => {
267
+ $globalEmailInvite = email;
268
+ goto('#superadmin-settings');
269
+ }
270
+ }
271
+ ]
272
+ : []);
273
+ }
274
+ }
275
+ listInvites();
276
+ }
277
+ async function updateAutoInvite(enable) {
278
+ // Cleanup invites if auto add is enabled
279
+ if (enable && autoAdd) {
280
+ await removeAllInvitesFromDomain();
281
+ }
282
+ const updateType = enable ? (autoInviteOrAddEnabled ? 'update' : 'enable') : 'disable';
283
+ try {
284
+ // await removeAllInvitesFromDomain()
285
+ await WorkspaceService.editAutoInvite({
286
+ workspace: $workspaceStore ?? '',
287
+ requestBody: enable
288
+ ? {
289
+ operator: operatorOnly ?? false,
290
+ invite_all: !isCloudHosted(),
291
+ auto_add: autoAdd
292
+ }
293
+ : {
294
+ operator: undefined,
295
+ auto_add: undefined
296
+ }
297
+ });
298
+ const message = updateType === 'update'
299
+ ? `Auto-${autoAdd ? 'add' : 'invite'} updated`
300
+ : updateType === 'enable'
301
+ ? `Auto-${autoAdd ? 'add' : 'invite'} enabled`
302
+ : `Auto-${autoAdd ? 'add' : 'invite'} disabled`;
303
+ sendUserToast(message);
304
+ }
305
+ catch (e) {
306
+ console.error('Failed to update auto invite:', e);
307
+ sendUserToast('Failed to update auto invite', true);
308
+ }
309
+ loadSettings();
310
+ listInvites();
311
+ listUsers();
312
+ }
313
+ const autoInviteOrAddEnabled = $derived(auto_invite_domain != undefined);
314
+ // Legacy auto-invite: user already has auto-invite enabled (not auto-add) on a non-cloud instance
315
+ // This preserves their existing setup even though auto-invite is deprecated for new setups
316
+ const isLegacyAutoInvite = $derived(autoInviteOrAddEnabled && !autoAdd && !isCloudHosted());
317
+ // Show auto-invite toggle only for:
318
+ // - Cloud hosted users (always available)
319
+ // - Legacy users who already have auto-invite enabled (preserve existing setup)
320
+ const showAutoInviteToggle = $derived(isCloudHosted() || isLegacyAutoInvite);
321
+ // Display mode for labels: for non-cloud, non-legacy users, always show "add"
322
+ // For cloud or legacy users, show based on actual autoAdd setting
323
+ const displayMode = $derived.by(() => {
324
+ if (!isCloudHosted() && !isLegacyAutoInvite) {
325
+ return 'add';
326
+ }
327
+ return autoAdd ? 'add' : 'invite';
238
328
  });
239
329
  </script>
240
330
 
@@ -244,349 +334,336 @@ $effect(() => {
244
334
  bind:filteredItems={filteredUsers}
245
335
  f={(x) => x.email + ' ' + x.name + ' ' + x.company}
246
336
  />
247
- <div class="flex flex-col gap-4 my-8">
248
- <div class="flex flex-col gap-1">
249
- <div class="text-primary text-xs">
250
- Add members to your workspace and manage their roles. You can also auto-add users to join your
251
- workspace.
252
- <a
253
- href="https://www.windmill.dev/docs/core_concepts/roles_and_permissions"
254
- target="_blank"
255
- class="text-blue-500">Learn more</a
256
- >.
257
- </div>
258
- </div>
259
- </div>
260
- <div class="flex flex-row justify-between items-center pt-2">
261
- <PageHeader
262
- title="Members {(filteredUsers?.length ?? users?.length) != undefined
263
- ? `(${filteredUsers?.length ?? users?.length})`
264
- : ''}"
265
- primary={false}
266
- tooltip="Manage users manually or enable SSO authentication."
267
- documentationLink="https://www.windmill.dev/docs/core_concepts/authentification"
268
- />
269
-
270
- <div class="flex flex-row items-center gap-2 relative whitespace-nowrap">
271
- <input placeholder="Filter members" bind:value={userFilter} class="input !pl-8" />
272
- <Search class="absolute left-2" size={14} />
273
-
274
- <Popover
275
- floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }}
276
- usePointerDownOutside
277
- >
278
- {#snippet trigger()}
279
- <Button
280
- color={'accent'}
281
- destructive={auto_invite_domain === undefined}
282
- variant="default"
283
- size="xs"
284
- nonCaptureEvent={true}
285
- startIcon={{ icon: Mails }}
286
- >Auto-{showInvites && !autoAdd ? 'invite' : 'add'}: {auto_invite_domain != undefined
287
- ? 'ON'
288
- : 'OFF'}
289
- </Button>
290
- {/snippet}
291
- {#snippet content()}
292
- <div class="flex flex-col items-start p-4">
293
- <span class="text-sm leading-6 font-semibold">
294
- {isCloudHosted()
295
- ? `Auto-add anyone from ${
296
- auto_invite_domain != undefined ? auto_invite_domain : domain
297
- }`
298
- : `Auto-add anyone joining the instance`}
299
- </span>
300
-
301
- {#if showInvites}
302
- <span class="text-xs mb-1 leading-6 pt-2"
303
- >Mode <Tooltip>Whether to invite or add users directly to the workspace.</Tooltip>
304
- </span>
305
- <ToggleButtonGroup
306
- selected={autoAdd ? 'add' : 'invite'}
307
- on:selected={async (e) => {
308
- if (auto_invite_domain != undefined) {
309
- await removeAllInvitesFromDomain()
310
- await WorkspaceService.editAutoInvite({
311
- workspace: $workspaceStore ?? '',
312
- requestBody: {
313
- operator: operatorOnly ?? false,
314
- invite_all: !isCloudHosted(),
315
- auto_add: e.detail === 'add'
316
- }
317
- })
318
- loadSettings()
319
- listInvites()
320
- listUsers()
321
- autoAdd = e.detail === 'add'
322
- } else {
323
- autoAdd = e.detail === 'add'
324
- }
325
- }}
326
- >
327
- {#snippet children({ item })}
328
- <ToggleButton value="invite" small label="Auto-invite" {item} />
329
- <ToggleButton value="add" small label="Auto-add" {item} />
330
- {/snippet}
331
- </ToggleButtonGroup>
332
- {/if}
333
337
 
334
- <span class="text-xs mb-1 leading-6 pt-2"
335
- >Role <Tooltip>Role of the auto-added users</Tooltip></span
336
- >
337
- <ToggleButtonGroup
338
- selected={operatorOnly ? 'operator' : 'developer'}
339
- on:selected={async (e) => {
340
- if (auto_invite_domain != undefined) {
341
- await removeAllInvitesFromDomain()
342
- await WorkspaceService.editAutoInvite({
343
- workspace: $workspaceStore ?? '',
344
- requestBody: {
345
- operator: e.detail === 'operator',
346
- invite_all: !isCloudHosted(),
347
- auto_add: showInvites ? (autoAdd ?? false) : true
348
- }
349
- })
350
- operatorOnly = e.detail === 'operator'
351
- loadSettings()
352
- listInvites()
353
- listUsers()
354
- } else {
355
- operatorOnly = e.detail === 'operator'
356
- }
357
- }}
358
- >
359
- {#snippet children({ item })}
360
- <ToggleButton
361
- value="operator"
362
- label="Operator"
363
- tooltip="An operator can only execute and view scripts/flows/apps from your workspace, and only those that he has visibility on."
364
- {item}
365
- />
366
- <ToggleButton
367
- value="developer"
368
- label="Developer"
369
- tooltip="A Developer can execute and view scripts/flows/apps, but they can also create new ones and edit those they are allowed to by their path (either u/ or Writer or Admin of their folder found at /f)."
370
- {item}
371
- />
372
- {/snippet}
373
- </ToggleButtonGroup>
374
- <div class="pt-2">
375
- <Toggle
376
- size="xs"
377
- checked={auto_invite_domain != undefined}
378
- on:change={async (e) => {
379
- await removeAllInvitesFromDomain()
380
- await WorkspaceService.editAutoInvite({
381
- workspace: $workspaceStore ?? '',
382
- requestBody: e.detail
383
- ? {
384
- operator: operatorOnly ?? false,
385
- invite_all: !isCloudHosted(),
386
- auto_add: showInvites ? (autoAdd ?? false) : true
387
- }
388
- : {
389
- operator: undefined,
390
- auto_add: undefined
391
- }
392
- })
393
- loadSettings()
394
- listInvites()
395
- listUsers()
396
- }}
397
- disabled={isCloudHosted() && !allowedAutoDomain}
398
- options={{
399
- right: 'Enabled'
400
- }}
401
- />
402
- </div>
403
- {#if isCloudHosted() && !allowedAutoDomain}
404
- <div class="text-red-400 text-xs">{domain} domain not allowed for auto-add</div>
405
- {/if}
406
- </div>
407
- {/snippet}
408
- </Popover>
338
+ <SettingsPageHeader
339
+ title="Members {(filteredUsers?.length ?? users?.length) != undefined
340
+ ? `(${filteredUsers?.length ?? users?.length})`
341
+ : ''}"
342
+ description="Add members to your workspace and manage their roles. You can also auto-add users to join your workspace."
343
+ link="https://www.windmill.dev/docs/core_concepts/roles_and_permissions"
344
+ />
345
+
346
+ <Section>
347
+ {#snippet action()}
348
+ <div class="flex flex-row items-center gap-2 relative whitespace-nowrap w-full">
349
+ <input placeholder="Filter members" bind:value={userFilter} class="input !pl-8 !w-56" />
350
+ <Search class="absolute left-2" size={14} />
409
351
 
410
- {#if instanceGroups.length > 0}
411
352
  <Popover
412
353
  floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }}
413
354
  usePointerDownOutside
414
- floatingClass="!z-20"
415
355
  >
416
356
  {#snippet trigger()}
417
357
  <Button
418
- color={autoAddInstanceGroups.length > 0 ? 'green' : 'gray'}
419
- variant="border"
420
- size="xs"
358
+ variant="default"
359
+ unifiedSize="md"
421
360
  nonCaptureEvent={true}
422
361
  startIcon={{ icon: Mails }}
423
- >Instance groups: {autoAddInstanceGroups.length}
362
+ >Auto-{displayMode}: {autoInviteOrAddEnabled ? 'ON' : 'OFF'}
424
363
  </Button>
425
364
  {/snippet}
426
365
  {#snippet content()}
427
- <div class="flex flex-col p-4 min-w-[500px]">
428
- <div class="flex flex-col gap-4">
429
- <span class="text-sm leading-6 font-semibold"> Auto-add instance groups </span>
430
-
431
- <!-- Add new instance group form -->
432
- {#if availableGroupItems.length > 0}
433
- <div class="flex w-full mt-1 gap-2 items-end justify-between">
434
- <div class="flex gap-2 items-end">
435
- <div class="flex flex-col gap-1">
436
- <span class="text-xs text-primary">Instance group</span>
437
- <Select
438
- items={availableGroupItems}
439
- placeholder="Select group"
440
- bind:value={selectedNewInstanceGroup}
441
- class="max-w-[160px]"
442
- disablePortal={true}
443
- />
444
- </div>
366
+ <div class="flex flex-col items-start p-4 min-w-[320px] max-w-sm">
367
+ {#if showAutoInviteToggle}
368
+ <div class="text-xs mb-1 text-primary"
369
+ >Mode <Tooltip>Whether to invite or add users directly to the workspace.</Tooltip>
370
+ </div>
371
+ <ToggleButtonGroup
372
+ selected={displayMode}
373
+ on:selected={async (e) => {
374
+ const switchingToAdd = e.detail === 'add' && !autoAdd
445
375
 
446
- <div class="flex flex-col gap-1">
447
- <span class="text-xs text-primary">Role</span>
448
- <ToggleButtonGroup
449
- selected={selectedNewRole}
450
- on:selected={(e) => {
451
- selectedNewRole = e.detail
452
- }}
453
- >
454
- {#snippet children({ item })}
455
- <ToggleButton
456
- value="operator"
457
- label="Operator"
458
- tooltip="An operator can only execute and view scripts/flows/apps from your workspace, and only those that he has visibility on."
459
- {item}
460
- />
461
- <ToggleButton
462
- value="developer"
463
- label="Developer"
464
- tooltip="A Developer can execute and view scripts/flows/apps, but they can also create new ones and edit those they are allowed to by their path (either u/ or Writer or Admin of their folder found at /f)."
465
- {item}
466
- />
467
- <ToggleButton
468
- value="admin"
469
- label="Admin"
470
- tooltip="An admin has full control over a specific Windmill workspace, including the ability to manage users, edit entities, and control permissions within the workspace."
471
- {item}
472
- />
473
- {/snippet}
474
- </ToggleButtonGroup>
475
- </div>
476
- </div>
376
+ // If switching from invite to add on non-cloud, show confirmation with warning
377
+ if (switchingToAdd && isLegacyAutoInvite) {
378
+ switchToAutoAddConfirmCallback = async () => {
379
+ autoAdd = true
380
+ if (autoInviteOrAddEnabled) {
381
+ await updateAutoInvite(true)
382
+ }
383
+ }
384
+ } else {
385
+ autoAdd = e.detail === 'add'
386
+ if (autoInviteOrAddEnabled) {
387
+ await updateAutoInvite(true)
388
+ }
389
+ }
390
+ }}
391
+ >
392
+ {#snippet children({ item })}
393
+ <ToggleButton value="invite" small label="Auto-invite" {item} />
394
+ <ToggleButton value="add" small label="Auto-add" {item} />
395
+ {/snippet}
396
+ </ToggleButtonGroup>
477
397
 
478
- <Button
479
- color="blue"
480
- size="xs"
481
- startIcon={{ icon: Plus }}
482
- disabled={!selectedNewInstanceGroup || !selectedNewRole}
483
- onclick={addInstanceGroup}
484
- >
485
- Add
486
- </Button>
398
+ {#if isLegacyAutoInvite && !autoAdd}
399
+ <div class="mt-3 w-full">
400
+ <Alert type="warning" size="xs" title="Legacy mode">
401
+ Auto-invite is deprecated. Switching to auto-add will permanently disable
402
+ auto-invite for this workspace.
403
+ </Alert>
487
404
  </div>
488
405
  {/if}
489
406
 
490
- <!-- Configured groups table -->
491
- {#if autoAddInstanceGroups.length > 0}
492
- <div class="flex flex-col gap-2">
493
- <p class="text-sm font-medium text-secondary">Configured groups:</p>
494
- <div class="flex flex-col gap-1">
495
- <table class="w-full text-sm">
496
- <thead>
497
- <tr class="text-left text-xs text-primary">
498
- <th class="pb-2 w-1/2">Group</th>
499
- <th class="pb-2 w-1/4">Role</th>
500
- <th class="pb-2 w-1/4"></th>
501
- </tr>
502
- </thead>
503
- <tbody>
504
- {#each autoAddInstanceGroups as groupName (groupName)}
505
- {@const group = instanceGroups.find((g) => g.name === groupName)}
506
- <tr class="border-t border-gray-200 dark:border-gray-700">
507
- <td class="py-2">
508
- <div class="font-medium">{groupName}</div>
509
- {#if group?.summary}
510
- <div class="text-xs text-primary">{group.summary}</div>
511
- {/if}
512
- </td>
513
- <td class="py-2">
514
- <div>
515
- <ToggleButtonGroup
516
- selected={autoAddInstanceGroupsRoles[groupName] || 'developer'}
517
- on:selected={async (e) => {
518
- autoAddInstanceGroupsRoles[groupName] = e.detail
519
- await updateGroupRole(groupName, e.detail)
520
- }}
521
- >
522
- {#snippet children({ item })}
523
- <ToggleButton
524
- value="operator"
525
- label="Operator"
526
- tooltip="An operator can only execute and view scripts/flows/apps from your workspace, and only those that he has visibility on."
527
- {item}
528
- />
529
- <ToggleButton
530
- value="developer"
531
- label="Developer"
532
- tooltip="A Developer can execute and view scripts/flows/apps, but they can also create new ones and edit those they are allowed to by their path (either u/ or Writer or Admin of their folder found at /f)."
533
- {item}
534
- />
535
- <ToggleButton
536
- value="admin"
537
- label="Admin"
538
- tooltip="An admin has full control over a specific Windmill workspace, including the ability to manage users, edit entities, and control permissions within the workspace."
539
- {item}
540
- />
541
- {/snippet}
542
- </ToggleButtonGroup>
543
- </div>
544
- </td>
545
- <td class="py-2">
546
- <div class="flex justify-end">
547
- <Button
548
- color="light"
549
- variant="contained"
550
- btnClasses="text-red-500"
551
- size="xs"
552
- spacingSize="xs2"
553
- onclick={() => {
554
- removeInstanceGroupConfirmedCallback = async () => {
555
- await removeInstanceGroup(groupName)
556
- }
557
- }}
558
- >
559
- Remove
560
- </Button>
561
- </div>
562
- </td>
563
- </tr>
564
- {/each}
565
- </tbody>
566
- </table>
567
- </div>
568
- </div>
569
- {:else}
570
- <div class="text-center text-primary text-sm py-4">
571
- No instance groups configured for auto-add
572
- </div>
573
- {/if}
407
+ <div class="mt-6"></div>
408
+ {/if}
409
+
410
+ <span class="text-xs mb-1">Role <Tooltip>Role of the auto-added users</Tooltip></span>
411
+ <ToggleButtonGroup
412
+ selected={operatorOnly ? 'operator' : 'developer'}
413
+ on:selected={async (e) => {
414
+ operatorOnly = e.detail === 'operator'
415
+ if (auto_invite_domain != undefined) {
416
+ await updateAutoInvite(true)
417
+ }
418
+ }}
419
+ >
420
+ {#snippet children({ item })}
421
+ <ToggleButton
422
+ value="operator"
423
+ label="Operator"
424
+ tooltip="An operator can only execute and view scripts/flows/apps from your workspace, and only those that he has visibility on."
425
+ {item}
426
+ />
427
+ <ToggleButton
428
+ value="developer"
429
+ label="Developer"
430
+ tooltip="A Developer can execute and view scripts/flows/apps, but they can also create new ones and edit those they are allowed to by their path (either u/ or Writer or Admin of their folder found at /f)."
431
+ {item}
432
+ />
433
+ {/snippet}
434
+ </ToggleButtonGroup>
435
+
436
+ <div class="mt-6">
437
+ <Toggle
438
+ checked={autoInviteOrAddEnabled}
439
+ on:change={async (e) => {
440
+ const enabling = e.detail
441
+
442
+ if (enabling) {
443
+ // Non-cloud users without legacy auto-invite: force auto-add mode
444
+ if (!isCloudHosted() && !isLegacyAutoInvite) {
445
+ autoAdd = true
446
+ }
447
+
448
+ // Show confirmation when enabling auto-add
449
+ if (autoAdd || (!isCloudHosted() && !showAutoInviteToggle)) {
450
+ autoAddConfirmCallback = async () => {
451
+ await updateAutoInvite(true)
452
+ }
453
+ } else {
454
+ await updateAutoInvite(true)
455
+ }
456
+ } else {
457
+ // Disabling: show confirmation if currently using auto-invite (legacy)
458
+ if (isLegacyAutoInvite) {
459
+ autoInviteDisableConfirmCallback = async () => {
460
+ await updateAutoInvite(false)
461
+ }
462
+ } else {
463
+ await updateAutoInvite(false)
464
+ }
465
+ }
466
+ }}
467
+ disabled={isCloudHosted() && !allowedAutoDomain}
468
+ options={{
469
+ right: isCloudHosted()
470
+ ? `Auto-${displayMode} anyone from ${
471
+ autoInviteOrAddEnabled ? auto_invite_domain : domain
472
+ }`
473
+ : `Auto-${displayMode} anyone joining the instance`
474
+ }}
475
+ />
574
476
  </div>
477
+ {#if isCloudHosted() && !allowedAutoDomain}
478
+ <div class="text-red-400 text-xs">{domain} domain not allowed for auto-add</div>
479
+ {/if}
575
480
  </div>
576
481
  {/snippet}
577
482
  </Popover>
578
- {/if}
579
483
 
580
- <AddUser
581
- on:new={() => {
582
- listUsers()
583
- listInvites()
584
- }}
585
- />
586
- </div>
587
- </div>
484
+ {#if instanceGroups.length > 0}
485
+ <Popover
486
+ floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }}
487
+ usePointerDownOutside
488
+ floatingClass="!z-20"
489
+ >
490
+ {#snippet trigger()}
491
+ <Button
492
+ color={autoAddInstanceGroups.length > 0 ? 'green' : 'gray'}
493
+ variant="border"
494
+ size="xs"
495
+ nonCaptureEvent={true}
496
+ startIcon={{ icon: Mails }}
497
+ >Instance groups: {autoAddInstanceGroups.length}
498
+ </Button>
499
+ {/snippet}
500
+ {#snippet content()}
501
+ <div class="flex flex-col p-4 min-w-[500px]">
502
+ <div class="flex flex-col gap-4">
503
+ <span class="text-sm leading-6 font-semibold"> Auto-add instance groups </span>
504
+
505
+ <!-- Add new instance group form -->
506
+ {#if availableGroupItems.length > 0}
507
+ <div class="flex w-full mt-1 gap-2 items-end justify-between">
508
+ <div class="flex gap-2 items-end">
509
+ <div class="flex flex-col gap-1">
510
+ <span class="text-xs text-primary">Instance group</span>
511
+ <Select
512
+ items={availableGroupItems}
513
+ placeholder="Select group"
514
+ bind:value={selectedNewInstanceGroup}
515
+ class="max-w-[160px]"
516
+ disablePortal={true}
517
+ />
518
+ </div>
519
+
520
+ <div class="flex flex-col gap-1">
521
+ <span class="text-xs text-primary">Role</span>
522
+ <ToggleButtonGroup
523
+ selected={selectedNewRole}
524
+ on:selected={(e) => {
525
+ selectedNewRole = e.detail
526
+ }}
527
+ >
528
+ {#snippet children({ item })}
529
+ <ToggleButton
530
+ value="operator"
531
+ label="Operator"
532
+ tooltip="An operator can only execute and view scripts/flows/apps from your workspace, and only those that he has visibility on."
533
+ {item}
534
+ />
535
+ <ToggleButton
536
+ value="developer"
537
+ label="Developer"
538
+ tooltip="A Developer can execute and view scripts/flows/apps, but they can also create new ones and edit those they are allowed to by their path (either u/ or Writer or Admin of their folder found at /f)."
539
+ {item}
540
+ />
541
+ <ToggleButton
542
+ value="admin"
543
+ label="Admin"
544
+ tooltip="An admin has full control over a specific Windmill workspace, including the ability to manage users, edit entities, and control permissions within the workspace."
545
+ {item}
546
+ />
547
+ {/snippet}
548
+ </ToggleButtonGroup>
549
+ </div>
550
+ </div>
551
+
552
+ <Button
553
+ color="blue"
554
+ size="xs"
555
+ startIcon={{ icon: Plus }}
556
+ disabled={!selectedNewInstanceGroup || !selectedNewRole}
557
+ onclick={addInstanceGroup}
558
+ >
559
+ Add
560
+ </Button>
561
+ </div>
562
+ {/if}
563
+
564
+ <!-- Configured groups table -->
565
+ {#if autoAddInstanceGroups.length > 0}
566
+ <div class="flex flex-col gap-2">
567
+ <p class="text-sm font-medium text-secondary">Configured groups:</p>
568
+ <div class="flex flex-col gap-1">
569
+ <table class="w-full text-sm">
570
+ <thead>
571
+ <tr class="text-left text-xs text-primary">
572
+ <th class="pb-2 w-1/2">Group</th>
573
+ <th class="pb-2 w-1/4">Role</th>
574
+ <th class="pb-2 w-1/4"></th>
575
+ </tr>
576
+ </thead>
577
+ <tbody>
578
+ {#each autoAddInstanceGroups as groupName (groupName)}
579
+ {@const group = instanceGroups.find((g) => g.name === groupName)}
580
+ <tr class="border-t border-gray-200 dark:border-gray-700">
581
+ <td class="py-2">
582
+ <div class="font-medium">{groupName}</div>
583
+ {#if group?.summary}
584
+ <div class="text-xs text-primary">{group.summary}</div>
585
+ {/if}
586
+ </td>
587
+ <td class="py-2">
588
+ <div>
589
+ <ToggleButtonGroup
590
+ selected={autoAddInstanceGroupsRoles[groupName] || 'developer'}
591
+ on:selected={async (e) => {
592
+ autoAddInstanceGroupsRoles[groupName] = e.detail
593
+ await updateGroupRole(groupName, e.detail)
594
+ }}
595
+ >
596
+ {#snippet children({ item })}
597
+ <ToggleButton
598
+ value="operator"
599
+ label="Operator"
600
+ tooltip="An operator can only execute and view scripts/flows/apps from your workspace, and only those that he has visibility on."
601
+ {item}
602
+ />
603
+ <ToggleButton
604
+ value="developer"
605
+ label="Developer"
606
+ tooltip="A Developer can execute and view scripts/flows/apps, but they can also create new ones and edit those they are allowed to by their path (either u/ or Writer or Admin of their folder found at /f)."
607
+ {item}
608
+ />
609
+ <ToggleButton
610
+ value="admin"
611
+ label="Admin"
612
+ tooltip="An admin has full control over a specific Windmill workspace, including the ability to manage users, edit entities, and control permissions within the workspace."
613
+ {item}
614
+ />
615
+ {/snippet}
616
+ </ToggleButtonGroup>
617
+ </div>
618
+ </td>
619
+ <td class="py-2">
620
+ <div class="flex justify-end">
621
+ <Button
622
+ color="light"
623
+ variant="contained"
624
+ btnClasses="text-red-500"
625
+ size="xs"
626
+ spacingSize="xs2"
627
+ onclick={() => {
628
+ removeInstanceGroupConfirmedCallback = async () => {
629
+ await removeInstanceGroup(groupName)
630
+ }
631
+ }}
632
+ >
633
+ Remove
634
+ </Button>
635
+ </div>
636
+ </td>
637
+ </tr>
638
+ {/each}
639
+ </tbody>
640
+ </table>
641
+ </div>
642
+ </div>
643
+ {:else}
644
+ <div class="text-center text-primary text-sm py-4">
645
+ No instance groups configured for auto-add
646
+ </div>
647
+ {/if}
648
+ </div>
649
+ </div>
650
+ {/snippet}
651
+ </Popover>
652
+ {/if}
653
+
654
+ {#if showAutoInviteToggle}
655
+ <InviteUser {inviteUser} />
656
+ {/if}
657
+
658
+ <AddUser
659
+ on:new={() => {
660
+ listUsers()
661
+ listInvites()
662
+ }}
663
+ />
664
+ </div>
665
+ {/snippet}
588
666
 
589
- <div class="">
590
667
  <DataTable
591
668
  shouldLoadMore={(filteredUsers?.length ?? 0) > 30}
592
669
  loadMore={30}
@@ -615,14 +692,14 @@ $effect(() => {
615
692
  first one
616
693
  </Tooltip>
617
694
  </Cell>
618
- <Cell head>Status</Cell>
619
695
  <Cell head>Role</Cell>
696
+ <Cell head>Enabled</Cell>
620
697
  <Cell head last>
621
698
  <span class="sr-only">Actions</span>
622
699
  </Cell>
623
700
  </tr>
624
701
  </Head>
625
- <tbody class="divide-y bg-surface">
702
+ <tbody>
626
703
  {#if filteredUsers}
627
704
  {#each sortedUsers().slice(0, nbDisplayed) as user, index (user.email)}
628
705
  {@const { email, username, is_admin, operator, disabled, added_via } = user}
@@ -630,11 +707,11 @@ $effect(() => {
630
707
  {#if hasNonManualUsers && index > 0 && sortedUsers()[index - 1]?.added_via?.source !== 'instance_group' && added_via?.source === 'instance_group'}
631
708
  <tr class="bg-surface-secondary">
632
709
  <td colspan={hasNonManualUsers ? 8 : 7} class="px-4 py-2">
633
- <div class="text-xs text-primary font-bold"> Instance group users </div>
710
+ <div class="text-xs text-emphasis font-semibold"> Instance group users </div>
634
711
  </td>
635
712
  </tr>
636
713
  {/if}
637
- <tr class="!hover:bg-surface-hover">
714
+ <tr class={index % 2 === 0 ? 'bg-surface-tertiary' : 'bg-surface'}>
638
715
  <Cell first><a href="mailto:{email}">{truncate(email, 20)}</a></Cell>
639
716
  <Cell>{truncate(username, 30)}</Cell>
640
717
  {#if hasNonManualUsers}
@@ -657,15 +734,6 @@ $effect(() => {
657
734
  class="animate-spin"
658
735
  />{/if}</Cell
659
736
  >
660
- <Cell>
661
- <div class="flex gap-1">
662
- {#if disabled}
663
- <Badge color="red">Disabled</Badge>
664
- {:else}
665
- <Badge color="green">Enabled</Badge>
666
- {/if}
667
- </div>
668
- </Cell>
669
737
  <Cell>
670
738
  <div>
671
739
  {#if added_via?.source === 'instance_group'}
@@ -729,13 +797,10 @@ $effect(() => {
729
797
  </div>
730
798
  </Cell>
731
799
  <Cell>
732
- <div class="flex gap-1">
733
- <Button
734
- color="light"
735
- variant="contained"
736
- size="xs"
737
- spacingSize="xs2"
738
- on:click={async () => {
800
+ <Toggle
801
+ checked={!disabled}
802
+ on:change={async (e) => {
803
+ try {
739
804
  await UserService.updateUser({
740
805
  workspace: $workspaceStore ?? '',
741
806
  username,
@@ -743,51 +808,25 @@ $effect(() => {
743
808
  disabled: !disabled
744
809
  }
745
810
  })
811
+ sendUserToast(`User ${username} ${disabled ? 'enabled' : 'disabled'}`)
746
812
  listUsers()
747
- }}
748
- >
749
- {disabled ? 'Enable' : 'Disable'}
750
- </Button>
751
-
752
- {#if added_via?.source === 'instance_group'}
753
- <div class="flex items-center gap-1">
754
- <Button
755
- color="light"
756
- variant="contained"
757
- btnClasses="text-gray-400"
758
- size="xs"
759
- spacingSize="xs2"
760
- disabled={true}
761
- >
762
- Remove
763
- </Button>
764
- <Tooltip
765
- >Cannot remove users synced from instance groups. Either disable the user or
766
- remove them from the SCIM group.</Tooltip
767
- >
768
- </div>
769
- {:else if canConvertToGroup(user)}
770
- <Button
771
- color="light"
772
- variant="contained"
773
- btnClasses="text-blue-500"
774
- size="xs"
775
- spacingSize="xs2"
776
- on:click={() => {
777
- convertConfirmedCallback = async () => {
778
- await convertUserToGroup(username)
779
- }
780
- }}
781
- >
782
- Convert
783
- </Button>
813
+ } catch (e) {
814
+ console.error('Failed to update user status:', e)
815
+ sendUserToast('Failed to update user status', true)
816
+ }
817
+ }}
818
+ size="xs"
819
+ />
820
+ </Cell>
821
+ <Cell>
822
+ <div class="flex gap-1">
823
+ {#snippet removeUserButton(disabled: boolean)}
784
824
  <Button
785
- color="light"
786
- variant="contained"
787
- btnClasses="text-red-500"
788
- size="xs"
789
- spacingSize="xs2"
790
- on:click={() => {
825
+ unifiedSize="sm"
826
+ variant="subtle"
827
+ destructive
828
+ {disabled}
829
+ onClick={() => {
791
830
  deleteConfirmedCallback = async () => {
792
831
  await UserService.deleteUser({
793
832
  workspace: $workspaceStore ?? '',
@@ -797,29 +836,34 @@ $effect(() => {
797
836
  listUsers()
798
837
  }
799
838
  }}
839
+ startIcon={{ icon: UserMinus }}
800
840
  >
801
841
  Remove
802
842
  </Button>
803
- {:else}
843
+ {/snippet}
844
+
845
+ {#if added_via?.source === 'instance_group'}
846
+ <div class="flex items-center gap-1">
847
+ {@render removeUserButton(true)}
848
+ <Tooltip
849
+ >Cannot remove users synced from instance groups. Either disable the user or
850
+ remove them from the SCIM group.</Tooltip
851
+ >
852
+ </div>
853
+ {:else if canConvertToGroup(user)}
804
854
  <Button
805
- color="light"
806
- variant="contained"
807
- btnClasses="text-red-500"
808
- size="xs"
809
- spacingSize="xs2"
855
+ variant="accent"
856
+ unifiedSize="sm"
810
857
  on:click={() => {
811
- deleteConfirmedCallback = async () => {
812
- await UserService.deleteUser({
813
- workspace: $workspaceStore ?? '',
814
- username
815
- })
816
- sendUserToast('User removed')
817
- listUsers()
858
+ convertConfirmedCallback = async () => {
859
+ await convertUserToGroup(username)
818
860
  }
819
861
  }}
820
862
  >
821
- Remove
863
+ Convert
822
864
  </Button>
865
+ {:else}
866
+ {@render removeUserButton(false)}
823
867
  {/if}
824
868
  </div>
825
869
  </Cell>
@@ -836,23 +880,27 @@ $effect(() => {
836
880
  {/if}
837
881
  </tbody>
838
882
  </DataTable>
839
- </div>
883
+ </Section>
884
+
885
+ <div class="pt-12"></div>
840
886
 
841
887
  <WorkspaceOperatorSettings />
842
888
 
843
- {#if showInvites}
844
- <PageHeader
845
- title="Invites ({invites.length ?? ''})"
846
- primary={false}
889
+ <div class="pt-12"></div>
890
+
891
+ {#if invites?.length > 0}
892
+ <Section
893
+ label="Invites ({invites.length ?? ''})"
847
894
  tooltip="Manage invites on your workspace."
848
895
  documentationLink="https://www.windmill.dev/docs/core_concepts/authentification#adding-users-to-a-workspace"
849
896
  >
850
- <div class="flex gap-2 items-center">
851
- <InviteUser on:new={listInvites} />
852
- </div>
853
- </PageHeader>
854
-
855
- <div>
897
+ {#snippet action()}
898
+ {#if showAutoInviteToggle}
899
+ <div class="flex gap-2 items-center">
900
+ <InviteUser {inviteUser} />
901
+ </div>
902
+ {/if}
903
+ {/snippet}
856
904
  <DataTable>
857
905
  <Head>
858
906
  <tr>
@@ -913,9 +961,13 @@ $effect(() => {
913
961
  </div>
914
962
  </Cell>
915
963
  <Cell last>
916
- <button
917
- class="ml-2 text-red-500"
918
- onclick={async () => {
964
+ <Button
965
+ variant="default"
966
+ destructive
967
+ unifiedSize="sm"
968
+ startIcon={{ icon: X }}
969
+ btnClasses="w-fit"
970
+ onClick={async () => {
919
971
  await WorkspaceService.deleteInvite({
920
972
  workspace: $workspaceStore ?? '',
921
973
  requestBody: {
@@ -927,8 +979,8 @@ $effect(() => {
927
979
  listInvites()
928
980
  }}
929
981
  >
930
- Cancel
931
- </button>
982
+ Cancel invite
983
+ </Button>
932
984
  </Cell>
933
985
  </Row>
934
986
  {/each}
@@ -947,9 +999,8 @@ $effect(() => {
947
999
  <button class="ml-4" onclick={() => (nbInviteDisplayed += 50)}>load 50 more</button></span
948
1000
  >
949
1001
  {/if}
950
- </div>
1002
+ </Section>
951
1003
  {/if}
952
-
953
1004
  <ConfirmationModal
954
1005
  open={Boolean(deleteConfirmedCallback)}
955
1006
  title="Remove user"
@@ -1017,3 +1068,68 @@ $effect(() => {
1017
1068
  </ul>
1018
1069
  </div>
1019
1070
  </ConfirmationModal>
1071
+
1072
+ <!-- Auto-add/invite confirmation modals - z-index to appear above popover -->
1073
+ <div class="[&>div]:!z-[5002]">
1074
+ <ConfirmationModal
1075
+ open={Boolean(autoAddConfirmCallback)}
1076
+ title="Enable Auto-add"
1077
+ confirmationText="Enable"
1078
+ on:canceled={() => {
1079
+ autoAddConfirmCallback = undefined
1080
+ }}
1081
+ on:confirmed={() => {
1082
+ if (autoAddConfirmCallback) {
1083
+ autoAddConfirmCallback()
1084
+ }
1085
+ autoAddConfirmCallback = undefined
1086
+ }}
1087
+ >
1088
+ Are you sure you want to enable auto-add?<br />
1089
+ Anyone added to the instance will automatically join this workspace.
1090
+ </ConfirmationModal>
1091
+ </div>
1092
+
1093
+ <div class="[&>div]:!z-[5002]">
1094
+ <ConfirmationModal
1095
+ open={Boolean(autoInviteDisableConfirmCallback)}
1096
+ title="Disable Auto-invite"
1097
+ confirmationText="Disable"
1098
+ on:canceled={() => {
1099
+ autoInviteDisableConfirmCallback = undefined
1100
+ }}
1101
+ on:confirmed={() => {
1102
+ if (autoInviteDisableConfirmCallback) {
1103
+ autoInviteDisableConfirmCallback()
1104
+ }
1105
+ autoInviteDisableConfirmCallback = undefined
1106
+ }}
1107
+ >
1108
+ Are you sure you want to disable auto-invite? Auto-invite is a legacy feature. After disabling,
1109
+ it will no longer be available for this workspace. You will only be able to use auto-add. <br />
1110
+ Anyone added to the instance will automatically join this workspace.
1111
+ </ConfirmationModal>
1112
+ </div>
1113
+
1114
+ <div class="[&>div]:!z-[5002]">
1115
+ <ConfirmationModal
1116
+ open={Boolean(switchToAutoAddConfirmCallback)}
1117
+ title="Switch to Auto-add"
1118
+ confirmationText="Switch"
1119
+ on:canceled={() => {
1120
+ switchToAutoAddConfirmCallback = undefined
1121
+ }}
1122
+ on:confirmed={() => {
1123
+ if (switchToAutoAddConfirmCallback) {
1124
+ switchToAutoAddConfirmCallback()
1125
+ }
1126
+ switchToAutoAddConfirmCallback = undefined
1127
+ }}
1128
+ >
1129
+ Are you sure you want to switch from auto-invite to auto-add?<br />
1130
+ Auto-invite is a legacy feature. After switching to auto-add, auto-invite will no longer be available
1131
+ for this workspace. <br />
1132
+ With auto-add, anyone added to the instance will automatically join this workspace without needing
1133
+ to accept an invitation.
1134
+ </ConfirmationModal>
1135
+ </div>