windmill-components 1.623.2 → 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 (599) 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/components/AIAgentLogViewer.svelte +2 -2
  75. package/package/components/AIAgentLogViewer.svelte.d.ts +1 -0
  76. package/package/components/AIProviderPicker.svelte +20 -80
  77. package/package/components/AIProviderPicker.svelte.d.ts +2 -7
  78. package/package/components/AddUser.svelte +2 -2
  79. package/package/components/ApiConnectForm.svelte +7 -1
  80. package/package/components/AppConnectInner.svelte.d.ts +1 -1
  81. package/package/components/ArgInput.svelte +15 -5
  82. package/package/components/ArgInput.svelte.d.ts +3 -4
  83. package/package/components/Auth0Setting.svelte +6 -2
  84. package/package/components/AuthSettings.svelte +68 -39
  85. package/package/components/AuthSettings.svelte.d.ts +3 -1
  86. package/package/components/AutheliaSetting.svelte +3 -2
  87. package/package/components/AuthentikSetting.svelte +3 -2
  88. package/package/components/AutoscalingConfigEditor.svelte +2 -1
  89. package/package/components/AutoscalingConfigEditor.svelte.d.ts +1 -0
  90. package/package/components/CenteredModal.svelte +14 -4
  91. package/package/components/CenteredModal.svelte.d.ts +1 -0
  92. package/package/components/ChangeInstanceUsernameInner.svelte +1 -1
  93. package/package/components/CompareWorkspaces.svelte +29 -57
  94. package/package/components/ConcurrentJobsChart.svelte +1 -1
  95. package/package/components/ConnectionSection.svelte +69 -73
  96. package/package/components/CustomSso.svelte +7 -7
  97. package/package/components/DBManager.svelte +15 -4
  98. package/package/components/DBManager.svelte.d.ts +2 -0
  99. package/package/components/DBManagerContent.svelte +5 -0
  100. package/package/components/DBManagerContent.svelte.d.ts +1 -0
  101. package/package/components/DBManagerDrawer.svelte +2 -0
  102. package/package/components/DatatablePicker.svelte +29 -0
  103. package/package/components/DatatablePicker.svelte.d.ts +13 -0
  104. package/package/components/DateTimeInput.svelte +3 -3
  105. package/package/components/DedicatedWorkersSelector.svelte +39 -42
  106. package/package/components/DeployToSetting.svelte +183 -123
  107. package/package/components/DeployToSetting.svelte.d.ts +19 -28
  108. package/package/components/DeployWorkspace.svelte +6 -44
  109. package/package/components/DeployWorkspace.svelte.d.ts +2 -1
  110. package/package/components/DeployWorkspaceDrawer.svelte +18 -7
  111. package/package/components/DeployWorkspaceDrawer.svelte.d.ts +3 -20
  112. package/package/components/Description.svelte +3 -1
  113. package/package/components/Dev.svelte +1 -0
  114. package/package/components/DiffEditor.svelte +7 -6
  115. package/package/components/DiffEditor.svelte.d.ts +2 -6
  116. package/package/components/DisplayResult.svelte +2 -2
  117. package/package/components/DropdownMenu.svelte +39 -0
  118. package/package/components/DropdownMenu.svelte.d.ts +14 -0
  119. package/package/components/DropdownSubmenuItem.svelte +68 -0
  120. package/package/components/DropdownSubmenuItem.svelte.d.ts +10 -0
  121. package/package/components/DropdownV2.svelte +3 -3
  122. package/package/components/DropdownV2Inner.svelte +42 -34
  123. package/package/components/DropdownV2Inner.svelte.d.ts +2 -1
  124. package/package/components/DucklakePicker.svelte +2 -5
  125. package/package/components/EEOnly.svelte +4 -14
  126. package/package/components/EEOnly.svelte.d.ts +0 -1
  127. package/package/components/Editor.svelte +2 -2
  128. package/package/components/Editor.svelte.d.ts +1 -0
  129. package/package/components/EditorBar.svelte +2 -4
  130. package/package/components/ErrorOrRecoveryHandler.svelte +62 -53
  131. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +1 -0
  132. package/package/components/ExploreAssetButton.svelte +1 -2
  133. package/package/components/FileExplorer.svelte +249 -0
  134. package/package/components/FileExplorer.svelte.d.ts +21 -0
  135. package/package/components/FilesetEditor.svelte +103 -0
  136. package/package/components/FilesetEditor.svelte.d.ts +6 -0
  137. package/package/components/FilterSearchbar.svelte +628 -0
  138. package/package/components/FilterSearchbar.svelte.d.ts +86 -0
  139. package/package/components/FlowBuilder.svelte +123 -79
  140. package/package/components/FlowGraphViewerStep.svelte +49 -33
  141. package/package/components/FlowHistoryJobPicker.svelte +2 -1
  142. package/package/components/FlowJobResult.svelte +31 -23
  143. package/package/components/FlowJobResult.svelte.d.ts +0 -1
  144. package/package/components/FlowLogRow.svelte +1 -1
  145. package/package/components/FlowLogViewer.svelte +8 -3
  146. package/package/components/FlowPreviewContent.svelte +65 -49
  147. package/package/components/FlowPreviewContent.svelte.d.ts +4 -0
  148. package/package/components/FlowRestartButton.svelte +47 -47
  149. package/package/components/FlowRestartButton.svelte.d.ts +2 -0
  150. package/package/components/FlowStatusViewer.svelte +2 -3
  151. package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
  152. package/package/components/FlowStatusViewerInner.svelte +380 -297
  153. package/package/components/FlowStatusViewerInner.svelte.d.ts +2 -2
  154. package/package/components/FlowStatusWaitingForEvents.svelte +11 -10
  155. package/package/components/FolderPicker.svelte +195 -65
  156. package/package/components/FolderPicker.svelte.d.ts +2 -0
  157. package/package/components/HistoricInputs.svelte +3 -4
  158. package/package/components/IconedResourceType.svelte +8 -2
  159. package/package/components/IconedResourceType.svelte.d.ts +2 -0
  160. package/package/components/InputError.svelte +9 -0
  161. package/package/components/InputError.svelte.d.ts +6 -0
  162. package/package/components/InputTransformForm.svelte +46 -39
  163. package/package/components/InputTransformForm.svelte.d.ts +1 -0
  164. package/package/components/InputTransformSchemaForm.svelte +2 -1
  165. package/package/components/InputTransformSchemaForm.svelte.d.ts +1 -0
  166. package/package/components/InputTransformsViewer.svelte +37 -20
  167. package/package/components/InstanceNameEditor.svelte +3 -1
  168. package/package/components/InstanceSetting.svelte +150 -374
  169. package/package/components/InstanceSetting.svelte.d.ts +1 -0
  170. package/package/components/InstanceSettings.svelte +804 -193
  171. package/package/components/InstanceSettings.svelte.d.ts +17 -2
  172. package/package/components/IntegerInput.svelte +58 -0
  173. package/package/components/IntegerInput.svelte.d.ts +14 -0
  174. package/package/components/InviteGlobalUser.svelte +25 -25
  175. package/package/components/InviteGlobalUser.svelte.d.ts +4 -2
  176. package/package/components/JobArgs.svelte +14 -10
  177. package/package/components/JobLoader.svelte +6 -4
  178. package/package/components/JobLoader.svelte.d.ts +2 -2
  179. package/package/components/JobStatus.svelte +29 -26
  180. package/package/components/JobStatus.svelte.d.ts +1 -0
  181. package/package/components/KanidmSetting.svelte +3 -2
  182. package/package/components/KeycloakSetting.svelte +3 -2
  183. package/package/components/Login.svelte +9 -3
  184. package/package/components/ModuleStatus.svelte +5 -5
  185. package/package/components/ModuleTest.svelte +3 -3
  186. package/package/components/MoveDrawer.svelte +47 -76
  187. package/package/components/MoveDrawer.svelte.d.ts +4 -6
  188. package/package/components/NextcloudSetting.svelte +3 -2
  189. package/package/components/NoDirectDeployAlert.svelte +31 -0
  190. package/package/components/NoDirectDeployAlert.svelte.d.ts +6 -0
  191. package/package/components/NumberTypeNarrowing.svelte +65 -67
  192. package/package/components/NumberTypeNarrowing.svelte.d.ts +2 -1
  193. package/package/components/OAuthSetting.svelte +6 -14
  194. package/package/components/ObjectStoreConfigSettings.svelte +150 -55
  195. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +34 -44
  196. package/package/components/OktaSetting.svelte +3 -2
  197. package/package/components/PageHeader.svelte +1 -1
  198. package/package/components/ParentWorkspaceProtectionAlert.svelte +48 -0
  199. package/package/components/ParentWorkspaceProtectionAlert.svelte.d.ts +7 -0
  200. package/package/components/Path.svelte +40 -28
  201. package/package/components/Path.svelte.d.ts +3 -0
  202. package/package/components/PocketIdSetting.svelte +3 -2
  203. package/package/components/ResourceEditor.svelte +9 -3
  204. package/package/components/ResourcePicker.svelte +2 -5
  205. package/package/components/RightClickPopover.svelte +37 -0
  206. package/package/components/RightClickPopover.svelte.d.ts +11 -0
  207. package/package/components/RunChart.svelte +2 -21
  208. package/package/components/RunChart.svelte.d.ts +0 -3
  209. package/package/components/RunsPage.svelte +458 -560
  210. package/package/components/SaveButton.svelte +78 -0
  211. package/package/components/SaveButton.svelte.d.ts +12 -0
  212. package/package/components/SaveInputsButton.svelte +1 -1
  213. package/package/components/SavedInputsV2.svelte +1 -3
  214. package/package/components/SchemaFormWithArgPicker.svelte +34 -30
  215. package/package/components/SchemaFormWithArgPicker.svelte.d.ts +12 -21
  216. package/package/components/SchemaViewer.svelte +56 -53
  217. package/package/components/ScriptBuilder.svelte +12 -12
  218. package/package/components/ScriptEditor.svelte +30 -28
  219. package/package/components/Section.svelte +2 -2
  220. package/package/components/ServiceLogsInner.svelte +21 -82
  221. package/package/components/Star.svelte +8 -22
  222. package/package/components/Star.svelte.d.ts +4 -4
  223. package/package/components/StringTypeNarrowing.svelte +1 -0
  224. package/package/components/SummaryPathDisplay.svelte +177 -0
  225. package/package/components/SummaryPathDisplay.svelte.d.ts +10 -0
  226. package/package/components/SuperadminSettings.svelte +185 -4
  227. package/package/components/SuperadminSettings.svelte.d.ts +4 -1
  228. package/package/components/SuperadminSettingsInner.svelte +307 -192
  229. package/package/components/SuperadminSettingsInner.svelte.d.ts +12 -1
  230. package/package/components/TaggedTextInput.svelte +449 -0
  231. package/package/components/TaggedTextInput.svelte.d.ts +28 -0
  232. package/package/components/Toast.svelte +69 -51
  233. package/package/components/Toast.svelte.d.ts +2 -2
  234. package/package/components/Tooltip.svelte +2 -2
  235. package/package/components/Tooltip.svelte.d.ts +2 -0
  236. package/package/components/TooltipInner.svelte +6 -1
  237. package/package/components/TooltipInner.svelte.d.ts +1 -0
  238. package/package/components/Uptodate.svelte +3 -2
  239. package/package/components/UserSettings.svelte +2 -2
  240. package/package/components/UserSettings.svelte.d.ts +1 -0
  241. package/package/components/WorkerGroup.svelte +320 -192
  242. package/package/components/WorkerGroup.svelte.d.ts +2 -0
  243. package/package/components/WorkspaceDependenciesEditor.svelte +33 -17
  244. package/package/components/ZitadelSetting.svelte +3 -2
  245. package/package/components/aiProviderStorage.d.ts +5 -0
  246. package/package/components/aiProviderStorage.js +50 -0
  247. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +24 -13
  248. package/package/components/apps/components/display/dbtable/metadata.d.ts +1 -0
  249. package/package/components/apps/components/display/dbtable/metadata.js +1 -0
  250. package/package/components/apps/components/display/dbtable/queries/count.js +3 -1
  251. package/package/components/apps/components/display/dbtable/queries/delete.js +3 -1
  252. package/package/components/apps/components/display/dbtable/queries/insert.js +3 -1
  253. package/package/components/apps/components/display/dbtable/queries/select.js +15 -1
  254. package/package/components/apps/components/display/dbtable/queries/update.js +3 -1
  255. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
  256. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
  257. package/package/components/apps/components/display/table/AppAggridTable.svelte +7 -0
  258. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -3
  259. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  260. package/package/components/apps/components/display/table/theme/windmill-theme.css +8 -7
  261. package/package/components/apps/components/helpers/eval.js +5 -2
  262. package/package/components/apps/components/layout/AppModal.svelte +2 -1
  263. package/package/components/apps/components/layout/AppModal.svelte.d.ts +1 -0
  264. package/package/components/apps/editor/appPolicy.js +5 -4
  265. package/package/components/apps/editor/appUtils.d.ts +1 -1
  266. package/package/components/apps/editor/component/components.d.ts +11 -0
  267. package/package/components/apps/editor/component/components.js +19 -2
  268. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +3 -1
  269. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
  270. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
  271. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +1 -1
  272. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +66 -29
  273. package/package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +2 -17
  274. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +10 -0
  275. package/package/components/apps/inputType.d.ts +2 -2
  276. package/package/components/assets/AssetButtons.svelte +3 -7
  277. package/package/components/assets/AssetButtons.svelte.d.ts +2 -4
  278. package/package/components/assets/AssetColumnBadges.svelte +35 -0
  279. package/package/components/assets/AssetColumnBadges.svelte.d.ts +10 -0
  280. package/package/components/assets/AssetsDropdownButton.svelte +8 -6
  281. package/package/components/assets/AssetsUsageDrawer.svelte +16 -14
  282. package/package/components/assets/JobAssetsViewer.svelte +4 -6
  283. package/package/components/assets/assetsFilter.d.ts +50 -0
  284. package/package/components/assets/assetsFilter.js +43 -0
  285. package/package/components/assets/lib.d.ts +3 -2
  286. package/package/components/assets/lib.js +8 -1
  287. package/package/components/auditLogs/AuditLogsFilters.svelte +30 -1
  288. package/package/components/common/InlineCalendarInput.svelte +580 -0
  289. package/package/components/common/InlineCalendarInput.svelte.d.ts +31 -0
  290. package/package/components/common/alert/Alert.svelte +2 -8
  291. package/package/components/common/alert/model.d.ts +1 -0
  292. package/package/components/common/alert/model.js +7 -0
  293. package/package/components/common/badge/Badge.svelte +7 -3
  294. package/package/components/common/badge/Badge.svelte.d.ts +1 -0
  295. package/package/components/common/breadcrumb/Breadcrumb.svelte +10 -14
  296. package/package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +8 -23
  297. package/package/components/common/drawer/DrawerContent.svelte +1 -1
  298. package/package/components/common/seconds/SecondsInput.svelte +158 -67
  299. package/package/components/common/seconds/SecondsInput.svelte.d.ts +9 -21
  300. package/package/components/common/sidebar/SidebarNavigation.svelte +50 -0
  301. package/package/components/common/sidebar/SidebarNavigation.svelte.d.ts +25 -0
  302. package/package/components/common/table/AppRow.svelte +7 -10
  303. package/package/components/common/table/AppRow.svelte.d.ts +2 -2
  304. package/package/components/common/table/FlowRow.svelte +12 -15
  305. package/package/components/common/table/FlowRow.svelte.d.ts +2 -2
  306. package/package/components/common/table/RawAppRow.svelte +5 -82
  307. package/package/components/common/table/RawAppRow.svelte.d.ts +2 -23
  308. package/package/components/common/table/Row.svelte +2 -2
  309. package/package/components/common/table/Row.svelte.d.ts +0 -2
  310. package/package/components/common/table/ScriptRow.svelte +8 -11
  311. package/package/components/common/table/ScriptRow.svelte.d.ts +2 -2
  312. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  313. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -1
  314. package/package/components/copilot/TestAIKey.svelte +1 -1
  315. package/package/components/copilot/chat/AIChatInput.svelte +22 -11
  316. package/package/components/copilot/chat/AIChatManager.svelte.js +15 -17
  317. package/package/components/copilot/chat/AvailableContextList.svelte +215 -12
  318. package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +1 -0
  319. package/package/components/copilot/chat/ContextTextarea.svelte +15 -2
  320. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +1 -1
  321. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +4 -2
  322. package/package/components/copilot/chat/app/core.js +7 -86
  323. package/package/components/copilot/chat/context.js +4 -1
  324. package/package/components/copilot/chat/flow/core.js +193 -61
  325. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  326. package/package/components/copilot/chat/flow/openFlowZod.d.ts +2 -2
  327. package/package/components/copilot/chat/flow/openFlowZod.js +6 -8
  328. package/package/components/copilot/chat/navigator/core.d.ts +2 -2
  329. package/package/components/copilot/chat/navigator/core.js +11 -2
  330. package/package/components/copilot/chat/script/core.js +4 -1
  331. package/package/components/copilot/chat/shared.d.ts +53 -1
  332. package/package/components/copilot/chat/shared.js +227 -1
  333. package/package/components/copilot/lib.js +42 -0
  334. package/package/components/dedicated_worker.d.ts +7 -0
  335. package/package/components/dedicated_worker.js +36 -0
  336. package/package/components/details/DetailPageHeader.svelte +8 -23
  337. package/package/components/details/DetailPageHeader.svelte.d.ts +1 -0
  338. package/package/components/details/DetailPageLayout.svelte +1 -1
  339. package/package/components/details/createAppFromScript.d.ts +136 -16
  340. package/package/components/details/createAppFromScript.js +13 -12
  341. package/package/components/diffEditorTypes.d.ts +6 -0
  342. package/package/components/diffEditorTypes.js +1 -0
  343. package/package/components/flows/CreateActionsApp.svelte +32 -82
  344. package/package/components/flows/CreateActionsFlow.svelte +28 -28
  345. package/package/components/flows/FlowAssetsHandler.svelte +1 -4
  346. package/package/components/flows/FlowProgressBar.svelte +37 -1
  347. package/package/components/flows/FlowProgressBar.svelte.d.ts +3 -0
  348. package/package/components/flows/agentToolUtils.d.ts +18 -0
  349. package/package/components/flows/agentToolUtils.js +47 -0
  350. package/package/components/flows/common/FlowCardHeader.svelte +8 -9
  351. package/package/components/flows/content/FlowEnvironmentVariables.svelte +3 -2
  352. package/package/components/flows/content/FlowLoop.svelte +3 -4
  353. package/package/components/flows/content/FlowModuleCache.svelte +1 -3
  354. package/package/components/flows/content/FlowModuleComponent.svelte +22 -6
  355. package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
  356. package/package/components/flows/content/FlowResult.svelte +77 -25
  357. package/package/components/flows/content/FlowRetries.svelte +1 -1
  358. package/package/components/flows/content/FlowSettings.svelte +4 -7
  359. package/package/components/flows/flowState.js +6 -0
  360. package/package/components/flows/flowStateUtils.svelte.js +4 -1
  361. package/package/components/flows/flowStore.svelte.d.ts +1 -1
  362. package/package/components/flows/flowStore.svelte.js +4 -2
  363. package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
  364. package/package/components/flows/header/FlowYamlEditor.svelte +2 -2
  365. package/package/components/flows/map/FlowModuleSchemaMap.svelte +12 -6
  366. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -2
  367. package/package/components/flows/map/InsertModuleInner.svelte +7 -0
  368. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
  369. package/package/components/flows/missingInputWarnings.js +7 -0
  370. package/package/components/flows/pickers/PickHubScriptQuick.svelte +4 -4
  371. package/package/components/flows/propPicker/OutputPicker.svelte +1 -1
  372. package/package/components/flows/propPicker/PropPickerWrapper.svelte +6 -9
  373. package/package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +3 -3
  374. package/package/components/flows/scheduleUtils.js +2 -2
  375. package/package/components/flows/types.d.ts +1 -3
  376. package/package/components/flows/utils.svelte.js +5 -1
  377. package/package/components/git_sync/GitSyncRepositoryCard.svelte +23 -21
  378. package/package/components/git_sync/GitSyncSection.svelte +24 -27
  379. package/package/components/graph/FlowGraphV2.svelte +1 -1
  380. package/package/components/graph/graphBuilder.svelte.d.ts +3 -1
  381. package/package/components/graph/model.d.ts +1 -1
  382. package/package/components/graph/renderers/nodes/AIToolNode.svelte +3 -1
  383. package/package/components/graph/renderers/nodes/AssetNode.svelte +25 -13
  384. package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte +1 -1
  385. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +8 -0
  386. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +5 -2
  387. package/package/components/home/Item.svelte +9 -15
  388. package/package/components/home/Item.svelte.d.ts +8 -7
  389. package/package/components/home/ItemsList.svelte +4 -10
  390. package/package/components/home/ItemsList.svelte.d.ts +1 -0
  391. package/package/components/icons/GoogleCalendarIcon.svelte +41 -0
  392. package/package/components/icons/GoogleCalendarIcon.svelte.d.ts +7 -0
  393. package/package/components/icons/GoogleDriveIcon.svelte +30 -0
  394. package/package/components/icons/GoogleDriveIcon.svelte.d.ts +7 -0
  395. package/package/components/icons/GoogleIcon.svelte +15 -6
  396. package/package/components/icons/GoogleIcon.svelte.d.ts +5 -2
  397. package/package/components/icons/MSSqlServerIcon.svelte +111 -47
  398. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte +94 -0
  399. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte.d.ts +9 -0
  400. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte +67 -0
  401. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte.d.ts +9 -0
  402. package/package/components/instanceSettings/IndexerMemorySettings.svelte +109 -0
  403. package/package/components/instanceSettings/IndexerMemorySettings.svelte.d.ts +9 -0
  404. package/package/components/instanceSettings/SecretBackendConfig.svelte +15 -16
  405. package/package/components/instanceSettings/SettingCard.svelte +47 -0
  406. package/package/components/instanceSettings/SettingCard.svelte.d.ts +19 -0
  407. package/package/components/instanceSettings/SettingsSearchInput.svelte +66 -0
  408. package/package/components/instanceSettings/SettingsSearchInput.svelte.d.ts +9 -0
  409. package/package/components/instanceSettings.d.ts +52 -0
  410. package/package/components/instanceSettings.js +413 -69
  411. package/package/components/meltComponents/MenuItem.svelte +1 -0
  412. package/package/components/meltComponents/Popover.svelte +10 -1
  413. package/package/components/meltComponents/Popover.svelte.d.ts +2 -0
  414. package/package/components/meltComponents/Tooltip.svelte +2 -1
  415. package/package/components/meltComponents/Tooltip.svelte.d.ts +1 -0
  416. package/package/components/moveRenameManager.d.ts +21 -0
  417. package/package/components/moveRenameManager.js +61 -0
  418. package/package/components/progressBar/ProgressBar.svelte +69 -27
  419. package/package/components/progressBar/ProgressBar.svelte.d.ts +7 -0
  420. package/package/components/prop_picker.d.ts +0 -3
  421. package/package/components/propertyPicker/PropPicker.svelte +34 -49
  422. package/package/components/propertyPicker/PropPicker.svelte.d.ts +12 -11
  423. package/package/components/raw_apps/FileTreeNode.svelte +1 -0
  424. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +3 -2
  425. package/package/components/raw_apps/RawAppEditor.svelte +20 -16
  426. package/package/components/raw_apps/RawAppEditor.svelte.d.ts +4 -4
  427. package/package/components/raw_apps/RawAppEditorHeader.svelte +73 -7
  428. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -1
  429. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +1 -2
  430. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +41 -1
  431. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +0 -1
  432. package/package/components/raw_apps/RawAppSidebar.svelte +32 -284
  433. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -1
  434. package/package/components/raw_apps/RunnableRow.svelte +88 -34
  435. package/package/components/raw_apps/RunnableRow.svelte.d.ts +4 -0
  436. package/package/components/resources/resourcesFilter.d.ts +70 -0
  437. package/package/components/resources/resourcesFilter.js +61 -0
  438. package/package/components/runs/BatchReRunOptionsPane.svelte +130 -121
  439. package/package/components/runs/BatchReRunOptionsPane.svelte.d.ts +3 -2
  440. package/package/components/runs/FlowExecutionStatus.svelte +30 -0
  441. package/package/components/runs/FlowExecutionStatus.svelte.d.ts +15 -0
  442. package/package/components/runs/JobDetailFieldConfig.d.ts +47 -0
  443. package/package/components/runs/JobDetailFieldConfig.js +433 -0
  444. package/package/components/runs/JobDetailHeader.svelte +551 -0
  445. package/package/components/runs/JobDetailHeader.svelte.d.ts +17 -0
  446. package/package/components/runs/JobRunsPreview.svelte +174 -218
  447. package/package/components/runs/JobRunsPreview.svelte.d.ts +0 -1
  448. package/package/components/runs/JobStatusIcon.svelte +47 -0
  449. package/package/components/runs/JobStatusIcon.svelte.d.ts +9 -0
  450. package/package/components/runs/RunBadges.svelte +39 -34
  451. package/package/components/runs/RunBadges.svelte.d.ts +2 -1
  452. package/package/components/runs/RunRow.svelte +24 -64
  453. package/package/components/runs/RunRow.svelte.d.ts +1 -2
  454. package/package/components/runs/RunsTable.svelte +312 -131
  455. package/package/components/runs/RunsTable.svelte.d.ts +4 -3
  456. package/package/components/runs/TimeframeSelect.svelte +189 -0
  457. package/package/components/runs/TimeframeSelect.svelte.d.ts +44 -0
  458. package/package/components/runs/runsFilter.d.ts +201 -0
  459. package/package/components/runs/runsFilter.js +182 -0
  460. package/package/components/runs/useJobsLoader.svelte.d.ts +5 -7
  461. package/package/components/runs/useJobsLoader.svelte.js +27 -30
  462. package/package/components/schedules/schedulesFilter.d.ts +65 -0
  463. package/package/components/schedules/schedulesFilter.js +60 -0
  464. package/package/components/schema/EditableSchemaWrapper.svelte +43 -22
  465. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -1
  466. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  467. package/package/components/schema/PropertyEditor.svelte +1 -0
  468. package/package/components/schema/RunningJobSchemaPicker.svelte +1 -1
  469. package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
  470. package/package/components/scripts/CreateActionsScript.svelte +0 -1
  471. package/package/components/search/GlobalSearchModal.svelte +1 -8
  472. package/package/components/select/GenericDropdown.svelte +113 -0
  473. package/package/components/select/GenericDropdown.svelte.d.ts +37 -0
  474. package/package/components/select/Select.svelte +17 -4
  475. package/package/components/select/Select.svelte.d.ts +2 -1
  476. package/package/components/select/SelectDropdown.svelte +76 -155
  477. package/package/components/select/SelectDropdown.svelte.d.ts +4 -1
  478. package/package/components/settings/ChangeWorkspaceColor.svelte +7 -8
  479. package/package/components/settings/ChangeWorkspaceId.svelte +4 -6
  480. package/package/components/settings/ChangeWorkspaceName.svelte +6 -8
  481. package/package/components/settings/PremiumInfo.svelte +268 -128
  482. package/package/components/settings/SettingsPageHeader.svelte +22 -0
  483. package/package/components/settings/SettingsPageHeader.svelte.d.ts +10 -0
  484. package/package/components/settings/WorkspaceUserSettings.svelte +13 -23
  485. package/package/components/sidebar/CriticalAlertModalInner.svelte +28 -22
  486. package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +5 -20
  487. package/package/components/sidebar/DarkModeToggle.svelte +2 -2
  488. package/package/components/sidebar/FavoriteMenu.svelte +101 -20
  489. package/package/components/sidebar/FavoriteMenu.svelte.d.ts +29 -1
  490. package/package/components/sidebar/MenuButton.svelte +10 -7
  491. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  492. package/package/components/sidebar/MenuLink.svelte +4 -3
  493. package/package/components/sidebar/OperatorMenu.svelte +3 -1
  494. package/package/components/sidebar/OperatorMenu.svelte.d.ts +6 -1
  495. package/package/components/sidebar/SidebarContent.svelte +3 -3
  496. package/package/components/sidebar/WorkspaceMenu.svelte +3 -2
  497. package/package/components/table/AutoDataTable.svelte +2 -2
  498. package/package/components/toast.js +1 -2
  499. package/package/components/triggers/AddTriggersButton.svelte +11 -0
  500. package/package/components/triggers/TriggerFilters.svelte +71 -0
  501. package/package/components/triggers/TriggerFilters.svelte.d.ts +10 -0
  502. package/package/components/triggers/TriggersEditor.svelte +31 -11
  503. package/package/components/triggers/TriggersWrapper.svelte +10 -0
  504. package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
  505. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +7 -0
  506. package/package/components/triggers/kafka/utils.js +1 -0
  507. package/package/components/triggers/native/NativeTriggerEditor.svelte +22 -17
  508. package/package/components/triggers/native/NativeTriggerTable.svelte +16 -0
  509. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte +112 -0
  510. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte.d.ts +8 -0
  511. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte +323 -0
  512. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte.d.ts +8 -0
  513. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte +116 -0
  514. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte.d.ts +12 -0
  515. package/package/components/triggers/native/utils.d.ts +0 -1
  516. package/package/components/triggers/native/utils.js +15 -1
  517. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +3 -3
  518. package/package/components/triggers/triggers.svelte.d.ts +1 -1
  519. package/package/components/triggers/triggers.svelte.js +11 -3
  520. package/package/components/triggers/utils.js +33 -6
  521. package/package/components/triggers/websocket/WebsocketEditorConfigSection.svelte +1 -1
  522. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +3 -81
  523. package/package/components/triggers.d.ts +1 -1
  524. package/package/components/variables/variablesFilter.d.ts +56 -0
  525. package/package/components/variables/variablesFilter.js +51 -0
  526. package/package/components/waitJob.d.ts +1 -1
  527. package/package/components/waitJob.js +3 -2
  528. package/package/components/worker_group.d.ts +2 -0
  529. package/package/components/worker_group.js +15 -0
  530. package/package/components/workspaceSettings/AISettings.svelte +36 -42
  531. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -0
  532. package/package/components/workspaceSettings/CreateWorkspace.svelte +4 -4
  533. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte.d.ts +1 -2
  534. package/package/components/workspaceSettings/DataTableSettings.svelte +27 -16
  535. package/package/components/workspaceSettings/DataTableSettings.svelte.d.ts +1 -0
  536. package/package/components/workspaceSettings/DucklakeSettings.svelte +21 -15
  537. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +1 -0
  538. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +24 -66
  539. package/package/components/workspaceSettings/ModelTokenLimits.svelte +6 -10
  540. package/package/components/workspaceSettings/OAuthClientConfig.svelte +46 -75
  541. package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +8 -1
  542. package/package/components/workspaceSettings/RulesetEditor.svelte +280 -0
  543. package/package/components/workspaceSettings/RulesetEditor.svelte.d.ts +9 -0
  544. package/package/components/workspaceSettings/SettingsFooter.svelte +35 -0
  545. package/package/components/workspaceSettings/SettingsFooter.svelte.d.ts +12 -0
  546. package/package/components/workspaceSettings/StorageSettings.svelte +48 -34
  547. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  548. package/package/components/workspaceSettings/WorkspaceDependenciesSettings.svelte +66 -27
  549. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +237 -73
  550. package/package/components/workspaceSettings/WorkspaceRulesets.svelte +183 -0
  551. package/package/components/workspaceSettings/WorkspaceRulesets.svelte.d.ts +3 -0
  552. package/package/editorLangUtils.d.ts +1 -1
  553. package/package/gen/core/OpenAPI.js +1 -1
  554. package/package/gen/schemas.gen.d.ts +996 -70
  555. package/package/gen/schemas.gen.js +1352 -378
  556. package/package/gen/services.gen.d.ts +156 -41
  557. package/package/gen/services.gen.js +319 -83
  558. package/package/gen/types.gen.d.ts +1896 -317
  559. package/package/hub.d.ts +1 -0
  560. package/package/hub.js +7 -0
  561. package/package/hubPaths.json +2 -1
  562. package/package/infer.d.ts +2 -0
  563. package/package/mcpEndpointTools.d.ts +3 -0
  564. package/package/mcpEndpointTools.js +574 -147
  565. package/package/rawAppWmillTs.js +12 -11
  566. package/package/scripts.d.ts +1 -1
  567. package/package/scripts.js +1 -1
  568. package/package/storeUtils.js +8 -0
  569. package/package/stores.d.ts +1 -1
  570. package/package/stores.js +4 -2
  571. package/package/svelte5Utils.svelte.d.ts +40 -0
  572. package/package/svelte5Utils.svelte.js +158 -0
  573. package/package/svelte5UtilsKit.svelte.d.ts +13 -3
  574. package/package/svelte5UtilsKit.svelte.js +96 -20
  575. package/package/system_prompts/prompts.d.ts +5 -5
  576. package/package/system_prompts/prompts.js +94 -21
  577. package/package/toast.d.ts +5 -1
  578. package/package/toast.js +14 -5
  579. package/package/utils.js +214 -7
  580. package/package/utils_deployable.d.ts +25 -25
  581. package/package/utils_deployable.js +2 -1
  582. package/package/validators/workspaceSettings.d.ts +12 -0
  583. package/package/validators/workspaceSettings.js +72 -0
  584. package/package/workspaceProtectionRules.svelte.d.ts +73 -0
  585. package/package/workspaceProtectionRules.svelte.js +176 -0
  586. package/package.json +8 -5
  587. package/package/components/DropdownSelect.svelte +0 -26
  588. package/package/components/DropdownSelect.svelte.d.ts +0 -11
  589. package/package/components/FlowPreviewResult.svelte +0 -84
  590. package/package/components/FlowPreviewResult.svelte.d.ts +0 -20
  591. package/package/components/copilot/chat/context.d.ts +0 -119
  592. package/package/components/flows/propPicker/FlowPropPicker.svelte +0 -72
  593. package/package/components/flows/propPicker/FlowPropPicker.svelte.d.ts +0 -23
  594. package/package/components/runs/ManuelDatePicker.svelte +0 -96
  595. package/package/components/runs/ManuelDatePicker.svelte.d.ts +0 -35
  596. package/package/components/runs/RunsBatchActionsDropdown.svelte +0 -82
  597. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +0 -15
  598. package/package/components/runs/RunsFilter.svelte +0 -966
  599. package/package/components/runs/RunsFilter.svelte.d.ts +0 -80
@@ -7,6 +7,7 @@ import Badge from './common/badge/Badge.svelte';
7
7
  import { SvelteMap } from 'svelte/reactivity';
8
8
  import { untrack } from 'svelte';
9
9
  import BarsStaggered from './icons/BarsStaggered.svelte';
10
+ import { parseTag } from './dedicated_worker';
10
11
  let { selectedTags = $bindable([]), disabled = false, onchange } = $props();
11
12
  let selectedWorkspace = $state(undefined);
12
13
  let runnables = $state([]);
@@ -16,21 +17,7 @@ let workspacesLoading = $state(true);
16
17
  let selectorExpanded = $state(false);
17
18
  let selectedTagsInfo = $state(new SvelteMap());
18
19
  // Languages that support dedicated workers
19
- const DEDICATED_WORKER_LANGUAGES = ['python3', 'bun', 'deno'];
20
- // Parse a tag to extract workspace, type (script/flow), and path
21
- function parseTag(tag) {
22
- const colonIndex = tag.indexOf(':');
23
- if (colonIndex === -1)
24
- return null;
25
- const workspace = tag.substring(0, colonIndex);
26
- const rest = tag.substring(colonIndex + 1);
27
- if (rest.startsWith('flow/')) {
28
- return { workspace, type: 'flow', path: rest.substring(5) };
29
- }
30
- else {
31
- return { workspace, type: 'script', path: rest };
32
- }
33
- }
20
+ const DEDICATED_WORKER_LANGUAGES = ['python3', 'bun', 'bunnative', 'deno'];
34
21
  // Resolve workspace script languages and filter to supported languages
35
22
  async function resolveAndFilterRunners(workspace, preliminaryRunners) {
36
23
  const runnersWithLanguage = await Promise.all(preliminaryRunners.map(async (runner) => {
@@ -362,25 +349,27 @@ let selectedCount = $derived(runnables.filter((r) => r.selected).length);
362
349
  {:else}
363
350
  <div class="w-7"></div>
364
351
  {/if}
365
- <div class="flex-1 flex items-center gap-2 px-2 py-1.5 min-w-0">
366
- {#if info}
367
- {#if info.type === 'flow'}
368
- <BarsStaggered size={14} class="flex-shrink-0 text-secondary" />
352
+ <div class="flex-1 flex flex-col gap-0.5 px-2 py-1.5 min-w-0">
353
+ <div class="flex items-center gap-2 min-w-0">
354
+ {#if info}
355
+ {#if info.type === 'flow'}
356
+ <BarsStaggered size={14} class="flex-shrink-0 text-secondary" />
357
+ {:else}
358
+ <CodeXml size={14} class="flex-shrink-0 text-secondary" />
359
+ {/if}
360
+ <span class="text-xs truncate flex-1 min-w-0">{info.path}</span>
361
+ <span class="text-xs text-tertiary flex-shrink-0">({info.workspace})</span>
362
+ {#if info.type === 'flow' && info.runners}
363
+ <Badge color="indigo" small>
364
+ {info.runners.length} runner{info.runners.length !== 1 ? 's' : ''}
365
+ </Badge>
366
+ {:else if info.type === 'script'}
367
+ <Badge color="blue" small>1 runner</Badge>
368
+ {/if}
369
369
  {:else}
370
- <CodeXml size={14} class="flex-shrink-0 text-secondary" />
370
+ <span class="text-xs text-tertiary truncate">{tag}</span>
371
371
  {/if}
372
- <span class="text-xs truncate flex-1">{info.path}</span>
373
- <span class="text-xs text-tertiary flex-shrink-0">({info.workspace})</span>
374
- {#if info.type === 'flow' && info.runners}
375
- <Badge color="indigo" small>
376
- {info.runners.length} runner{info.runners.length !== 1 ? 's' : ''}
377
- </Badge>
378
- {:else if info.type === 'script'}
379
- <Badge color="blue" small>1 runner</Badge>
380
- {/if}
381
- {:else}
382
- <span class="text-xs text-tertiary truncate">{tag}</span>
383
- {/if}
372
+ </div>
384
373
  </div>
385
374
  {#if !disabled}
386
375
  <button
@@ -398,10 +387,14 @@ let selectedCount = $derived(runnables.filter((r) => r.selected).length);
398
387
  {#if info?.type === 'flow' && info.expanded && info.runners}
399
388
  <div class="bg-surface-secondary border-t">
400
389
  {#each info.runners as runner (runner.stepId)}
401
- <div class="flex items-center gap-2 px-9 py-1 text-xs border-t first:border-t-0">
402
- <span class="font-mono text-tertiary">{runner.stepId}</span>
390
+ <div
391
+ class="flex items-center gap-2 px-9 py-1 text-xs border-t first:border-t-0 min-w-0"
392
+ >
393
+ <span class="font-mono text-tertiary flex-shrink-0">{runner.stepId}</span>
403
394
  {#if runner.stepSummary}
404
- <span class="text-secondary truncate flex-1">{runner.stepSummary}</span>
395
+ <span class="text-secondary truncate flex-1 min-w-0"
396
+ >{runner.stepSummary}</span
397
+ >
405
398
  {/if}
406
399
  <Badge color="gray" small>
407
400
  {runner.isInline ? runner.language : runner.scriptPath}
@@ -501,7 +494,7 @@ let selectedCount = $derived(runnables.filter((r) => r.selected).length);
501
494
  <div class="w-7"></div>
502
495
  {/if}
503
496
  <button
504
- class="flex-1 flex items-center gap-2 px-2 py-1.5 hover:bg-surface-hover transition-colors text-left"
497
+ class="flex-1 flex items-center gap-2 px-2 py-1.5 hover:bg-surface-hover transition-colors text-left min-w-0"
505
498
  onclick={(e) => {
506
499
  e.stopPropagation()
507
500
  if (!disabled) toggleRunnable(runnable)
@@ -517,9 +510,11 @@ let selectedCount = $derived(runnables.filter((r) => r.selected).length);
517
510
  <Check class="h-3 w-3 text-white" />
518
511
  {/if}
519
512
  </div>
520
- <span class="flex-1 text-xs truncate">{runnable.displayName}</span>
513
+ <span class="flex-1 text-xs truncate min-w-0"
514
+ >{runnable.displayName}</span
515
+ >
521
516
  {#if runnable.type === 'flow' && runnable.runners}
522
- <span class="text-xs text-tertiary">
517
+ <span class="text-xs text-tertiary flex-shrink-0">
523
518
  {runnable.runners.length}
524
519
  </span>
525
520
  {/if}
@@ -533,16 +528,18 @@ let selectedCount = $derived(runnables.filter((r) => r.selected).length);
533
528
  <div class="bg-surface-secondary border-t">
534
529
  {#if runnable.runners.length === 0}
535
530
  <div class="px-9 py-1.5 text-xs text-tertiary italic">
536
- No eligible steps (python3/bun/deno)
531
+ No eligible steps (python3/bun/bunnative/deno)
537
532
  </div>
538
533
  {:else}
539
534
  {#each runnable.runners as runner (runner.stepId)}
540
535
  <div
541
- class="flex items-center gap-2 px-9 py-1 text-xs border-t first:border-t-0"
536
+ class="flex items-center gap-2 px-9 py-1 text-xs border-t first:border-t-0 min-w-0"
542
537
  >
543
- <span class="font-mono text-tertiary">{runner.stepId}</span>
538
+ <span class="font-mono text-tertiary flex-shrink-0"
539
+ >{runner.stepId}</span
540
+ >
544
541
  {#if runner.stepSummary}
545
- <span class="text-secondary truncate flex-1">
542
+ <span class="text-secondary truncate flex-1 min-w-0">
546
543
  {runner.stepSummary}
547
544
  </span>
548
545
  {/if}
@@ -7,9 +7,12 @@ import { Plus, X } from 'lucide-svelte';
7
7
  import { Button } from './common';
8
8
  import Toggle from './Toggle.svelte';
9
9
  import { emptyString } from '../utils';
10
- $: deployableWorkspaces = $usersWorkspaceStore?.workspaces
11
- .map((w) => w.id)
12
- .filter((w) => w != $workspaceStore);
10
+ import { validateDeployPathFilters } from '../validators/workspaceSettings';
11
+ import Alert from './common/alert/Alert.svelte';
12
+ import SettingsFooter from './workspaceSettings/SettingsFooter.svelte';
13
+ import SettingCard from './instanceSettings/SettingCard.svelte';
14
+ import Select from './select/Select.svelte';
15
+ let deployableWorkspaces = $derived($usersWorkspaceStore?.workspaces.map((w) => w.id).filter((w) => w != $workspaceStore));
13
16
  const all_ok = {
14
17
  scripts: true,
15
18
  flows: true,
@@ -19,11 +22,20 @@ const all_ok = {
19
22
  secrets: true,
20
23
  triggers: true
21
24
  };
22
- export let workspaceToDeployTo;
23
- export let deployUiSettings = {
25
+ let { workspaceToDeployTo = $bindable(), deployUiSettings = $bindable({
24
26
  include_path: [],
25
27
  include_type: all_ok
26
- };
28
+ }), hasUnsavedChanges = false, onSave, onDiscard, onWorkspaceToDeployToSave } = $props();
29
+ // Validation state
30
+ let pathValidationErrors = $state({});
31
+ let hasValidationErrors = $derived(Object.keys(pathValidationErrors).length > 0);
32
+ // Validate path filters whenever they change
33
+ $effect(() => {
34
+ if (deployUiSettings?.include_path) {
35
+ const validationResult = validateDeployPathFilters(deployUiSettings.include_path);
36
+ pathValidationErrors = validationResult.errors;
37
+ }
38
+ });
27
39
  function deployUITypeMapToArray(typesMap, expectedValue) {
28
40
  let result = [];
29
41
  if (typesMap.scripts == expectedValue) {
@@ -49,140 +61,188 @@ function deployUITypeMapToArray(typesMap, expectedValue) {
49
61
  }
50
62
  return result;
51
63
  }
64
+ async function editWorkspaceToDeployTo() {
65
+ try {
66
+ await WorkspaceService.editDeployTo({
67
+ workspace: $workspaceStore ?? '',
68
+ requestBody: { deploy_to: workspaceToDeployTo === '' ? undefined : workspaceToDeployTo }
69
+ });
70
+ if (workspaceToDeployTo === '' || workspaceToDeployTo === undefined) {
71
+ sendUserToast('Disabled setting deployable workspace');
72
+ onWorkspaceToDeployToSave?.(undefined);
73
+ }
74
+ else {
75
+ sendUserToast('Set deployable workspace to ' + workspaceToDeployTo);
76
+ onWorkspaceToDeployToSave?.(workspaceToDeployTo);
77
+ }
78
+ }
79
+ catch (error) {
80
+ sendUserToast(`Failed to save workspace deployment setting: ${error}`, true);
81
+ }
82
+ }
52
83
  async function editWindmillDeploymentUISettings() {
84
+ // Validate before saving
85
+ const validationResult = validateDeployPathFilters(deployUiSettings.include_path);
86
+ if (!validationResult.isValid) {
87
+ sendUserToast('Please fix validation errors before saving', true);
88
+ return;
89
+ }
53
90
  let include_path = deployUiSettings.include_path.filter((elmt) => !emptyString(elmt));
54
91
  let include_type = deployUITypeMapToArray(deployUiSettings.include_type, true);
55
- await WorkspaceService.editWorkspaceDeployUiSettings({
56
- workspace: $workspaceStore,
57
- requestBody: {
58
- deploy_ui_settings: {
59
- include_path: include_path,
60
- include_type: include_type
92
+ try {
93
+ // Save workspace to deploy to first
94
+ await editWorkspaceToDeployTo();
95
+ // Then save deployment UI settings
96
+ await WorkspaceService.editWorkspaceDeployUiSettings({
97
+ workspace: $workspaceStore,
98
+ requestBody: {
99
+ deploy_ui_settings: {
100
+ include_path: include_path,
101
+ include_type: include_type
102
+ }
61
103
  }
62
- }
63
- });
64
- sendUserToast('Workspace Deployment UI settings updated');
104
+ });
105
+ sendUserToast('Workspace Deployment UI settings updated');
106
+ onSave?.();
107
+ }
108
+ catch (error) {
109
+ sendUserToast(`Failed to save deployment settings: ${error}`, true);
110
+ }
65
111
  }
66
112
  </script>
67
113
 
68
- <h3 class="mt-6 text-xs font-semibold text-emphasis">Workspace to link to</h3>
69
- <div class="flex min-w-0 mt-1">
70
- <select
114
+ <SettingCard label="Workspace to link to" class="mt-6">
115
+ <Select
116
+ items={[
117
+ { label: 'Disable deployment', value: '' },
118
+ ...(deployableWorkspaces ?? []).map((w) => ({ label: w, value: w }))
119
+ ]}
71
120
  bind:value={workspaceToDeployTo}
72
- on:change={async (e) => {
73
- await WorkspaceService.editDeployTo({
74
- workspace: $workspaceStore ?? '',
75
- requestBody: { deploy_to: workspaceToDeployTo == '' ? undefined : workspaceToDeployTo }
76
- })
77
- if (workspaceToDeployTo == '') {
78
- workspaceToDeployTo = undefined
79
- sendUserToast('Disabled setting deployable workspace')
80
- } else {
81
- sendUserToast('Set deployable workspace to ' + workspaceToDeployTo)
82
- }
83
- }}
84
- >
85
- {#if deployableWorkspaces?.length == 0}
86
- <option disabled>No workspace deployable to</option>
87
- {/if}
88
- <option value="">Disable deployment</option>
89
- {#each deployableWorkspaces ?? [] as name}
90
- <option value={name}>{name}</option>
91
- {/each}
92
- </select>
93
- </div>
94
- <h3 class="mt-6 mb-3 text-sm font-semibold text-emphasis">Deployable items</h3>
95
- <div class="flex flex-wrap gap-20">
96
- <div class="max-w-md w-full">
97
- {#if Array.isArray(deployUiSettings?.include_path)}
121
+ placeholder={deployableWorkspaces?.length === 0
122
+ ? 'No workspace deployable to'
123
+ : 'Select workspace'}
124
+ />
125
+ </SettingCard>
126
+ <SettingCard
127
+ label="Deployable items"
128
+ description="You can filter which items can be deployed to the production workspace. By default everything is deployable."
129
+ class="mt-6"
130
+ >
131
+ <div class="flex flex-wrap gap-6 mt-2">
132
+ <div class="max-w-md w-full">
133
+ {#if Array.isArray(deployUiSettings?.include_path)}
134
+ <h4 class="flex gap-2 mb-2 text-xs font-semibold text-emphasis"
135
+ >Filter on path<Tooltip>
136
+ Only scripts, flows and apps with their path matching one of those filters will be
137
+ allowed to be deployed in the deploy UI. The filters allow '*'' and '**' characters,
138
+ with '*'' matching any character allowed in paths until the next slash (/) and '**'
139
+ matching anything including slashes.
140
+ </Tooltip></h4
141
+ >
142
+ {#each deployUiSettings.include_path ?? [] as _, idx}
143
+ <div class="flex flex-col mt-1">
144
+ <div class="flex items-center">
145
+ <input
146
+ type="text"
147
+ bind:value={deployUiSettings.include_path[idx]}
148
+ id="arg-input-array-{idx}"
149
+ class="flex-1 {pathValidationErrors[idx] ? 'border-red-500' : ''}"
150
+ placeholder="e.g., f/*, u/admin/**"
151
+ />
152
+ <button
153
+ transition:fade|local={{ duration: 100 }}
154
+ class="rounded-full p-1 bg-surface-secondary duration-200 hover:bg-surface-hover ml-2"
155
+ aria-label="Clear"
156
+ onclick={() => {
157
+ deployUiSettings.include_path.splice(idx, 1)
158
+ deployUiSettings.include_path = [...deployUiSettings.include_path]
159
+ // Clear validation error for this index
160
+ delete pathValidationErrors[idx]
161
+ pathValidationErrors = { ...pathValidationErrors }
162
+ }}
163
+ >
164
+ <X size={14} />
165
+ </button>
166
+ </div>
167
+ {#if pathValidationErrors[idx]}
168
+ <div class="text-xs text-red-600 dark:text-red-400 mt-1"
169
+ >{pathValidationErrors[idx]}</div
170
+ >
171
+ {/if}
172
+ </div>
173
+ {/each}
174
+ {/if}
175
+ <div class="flex mt-2">
176
+ <Button
177
+ variant="default"
178
+ size="xs"
179
+ btnClasses="mt-1"
180
+ on:click={() => {
181
+ deployUiSettings.include_path = [...deployUiSettings.include_path, '']
182
+ }}
183
+ id="deploy-ui-add-path-filter"
184
+ startIcon={{ icon: Plus }}
185
+ >
186
+ Add filter
187
+ </Button>
188
+ </div>
189
+ </div>
190
+
191
+ <div class="max-w-md w-full">
98
192
  <h4 class="flex gap-2 mb-2 text-xs font-semibold text-emphasis"
99
- >Filter on path<Tooltip>
100
- Only scripts, flows and apps with their path matching one of those filters will be allowed
101
- to be deployed in the deploy UI. The filters allow '*'' and '**' characters, with '*''
102
- matching any character allowed in paths until the next slash (/) and '**' matching
103
- anything including slashes.
193
+ >Filter on type<Tooltip>
194
+ You can filter which types of item can be deployed to the production workspace. By default
195
+ everything is deployable.
104
196
  </Tooltip></h4
105
197
  >
106
- {#each deployUiSettings.include_path ?? [] as regexpPath, idx}
107
- <div class="flex mt-1 items-center">
108
- <input type="text" bind:value={regexpPath} id="arg-input-array" />
109
- <button
110
- transition:fade|local={{ duration: 100 }}
111
- class="rounded-full p-1 bg-surface-secondary duration-200 hover:bg-surface-hover ml-2"
112
- aria-label="Clear"
113
- on:click={() => {
114
- deployUiSettings.include_path.splice(idx, 1)
115
- deployUiSettings.include_path = [...deployUiSettings.include_path]
116
- }}
117
- >
118
- <X size={14} />
119
- </button>
120
- </div>
121
- {/each}
122
- {/if}
123
- <div class="flex mt-2">
124
- <Button
125
- variant="default"
126
- size="xs"
127
- btnClasses="mt-1"
128
- on:click={() => {
129
- deployUiSettings.include_path = [...deployUiSettings.include_path, '']
130
- }}
131
- id="deploy-ui-add-path-filter"
132
- startIcon={{ icon: Plus }}
133
- >
134
- Add filter
135
- </Button>
136
- </div>
137
- </div>
138
-
139
- <div class="max-w-md w-full">
140
- <h4 class="flex gap-2 mb-2 text-xs font-semibold text-emphasis"
141
- >Filter on type<Tooltip>
142
- You can filter which types of item can be deployed to the production workspace. By default
143
- everything is deployable.
144
- </Tooltip></h4
145
- >
146
- <div class="flex flex-col gap-2 mt-1">
147
- <Toggle bind:checked={deployUiSettings.include_type.scripts} options={{ right: 'Scripts' }} />
148
- <Toggle bind:checked={deployUiSettings.include_type.flows} options={{ right: 'Flows' }} />
149
- <Toggle bind:checked={deployUiSettings.include_type.apps} options={{ right: 'Apps' }} />
150
- <Toggle
151
- bind:checked={deployUiSettings.include_type.resources}
152
- options={{ right: 'Resources' }}
153
- />
154
- <div class="flex gap-3">
198
+ <div class="flex flex-col gap-2 mt-1">
155
199
  <Toggle
156
- bind:checked={deployUiSettings.include_type.variables}
157
- on:change={(ev) => {
158
- if (!ev.detail) {
159
- deployUiSettings.include_type.secrets = false
160
- }
161
- }}
162
- options={{ right: 'Variables ' }}
200
+ bind:checked={deployUiSettings.include_type.scripts}
201
+ options={{ right: 'Scripts' }}
163
202
  />
164
- <span>-</span>
203
+ <Toggle bind:checked={deployUiSettings.include_type.flows} options={{ right: 'Flows' }} />
204
+ <Toggle bind:checked={deployUiSettings.include_type.apps} options={{ right: 'Apps' }} />
165
205
  <Toggle
166
- disabled={!deployUiSettings.include_type.variables}
167
- bind:checked={deployUiSettings.include_type.secrets}
168
- options={{ left: 'Include secrets' }}
206
+ bind:checked={deployUiSettings.include_type.resources}
207
+ options={{ right: 'Resources' }}
208
+ />
209
+ <div class="flex gap-3">
210
+ <Toggle
211
+ bind:checked={deployUiSettings.include_type.variables}
212
+ on:change={(ev) => {
213
+ if (!ev.detail) {
214
+ deployUiSettings.include_type.secrets = false
215
+ }
216
+ }}
217
+ options={{ right: 'Variables ' }}
218
+ />
219
+ <span>-</span>
220
+ <Toggle
221
+ disabled={!deployUiSettings.include_type.variables}
222
+ bind:checked={deployUiSettings.include_type.secrets}
223
+ options={{ left: 'Include secrets' }}
224
+ />
225
+ </div>
226
+ <Toggle
227
+ bind:checked={deployUiSettings.include_type.triggers}
228
+ options={{ right: 'Trigger' }}
169
229
  />
170
230
  </div>
171
- <Toggle
172
- bind:checked={deployUiSettings.include_type.triggers}
173
- options={{ right: 'Trigger' }}
174
- />
175
231
  </div>
176
232
  </div>
177
- </div>
233
+ </SettingCard>
234
+ {#if hasValidationErrors}
235
+ <Alert type="error" title="Validation Errors" class="mt-4">
236
+ Please fix the validation errors in the path filters before saving.
237
+ </Alert>
238
+ {/if}
178
239
  {#if $enterpriseLicense}
179
- <div class="flex mt-5 mb-5 gap-1">
180
- <Button
181
- variant="accent"
182
- disabled={workspaceToDeployTo == undefined}
183
- on:click={() => {
184
- editWindmillDeploymentUISettings()
185
- }}>Save Deployment UI settings</Button
186
- >
187
- </div>
240
+ <SettingsFooter
241
+ {hasUnsavedChanges}
242
+ onSave={editWindmillDeploymentUISettings}
243
+ {onDiscard}
244
+ saveLabel="Save deployment UI"
245
+ disabled={workspaceToDeployTo == undefined || hasValidationErrors}
246
+ class="mt-8"
247
+ />
188
248
  {/if}
@@ -1,32 +1,23 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: Props & {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const DeployToSetting: $$__sveltets_2_IsomorphicComponent<{
1
+ type DeployUITypeMap = {
2
+ scripts: boolean;
3
+ flows: boolean;
4
+ apps: boolean;
5
+ resources: boolean;
6
+ variables: boolean;
7
+ secrets: boolean;
8
+ triggers: boolean;
9
+ };
10
+ type $$ComponentProps = {
15
11
  workspaceToDeployTo: string | undefined;
16
- deployUiSettings?: {
12
+ deployUiSettings: {
17
13
  include_path: string[];
18
- include_type: {
19
- scripts: boolean;
20
- flows: boolean;
21
- apps: boolean;
22
- resources: boolean;
23
- variables: boolean;
24
- secrets: boolean;
25
- triggers: boolean;
26
- };
14
+ include_type: DeployUITypeMap;
27
15
  };
28
- }, {
29
- [evt: string]: CustomEvent<any>;
30
- }, {}, {}, string>;
31
- type DeployToSetting = InstanceType<typeof DeployToSetting>;
16
+ hasUnsavedChanges?: boolean;
17
+ onSave?: () => void;
18
+ onDiscard: () => void;
19
+ onWorkspaceToDeployToSave?: (workspaceToDeployTo: string | undefined) => void;
20
+ };
21
+ declare const DeployToSetting: import("svelte").Component<$$ComponentProps, {}, "workspaceToDeployTo" | "deployUiSettings">;
22
+ type DeployToSetting = ReturnType<typeof DeployToSetting>;
32
23
  export default DeployToSetting;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">import { createEventDispatcher, untrack } from 'svelte';
2
2
  import { base } from '../base';
3
3
  import { enterpriseLicense, superadmin, workspaceStore } from '../stores';
4
- import { AppService, FlowService, FolderService, RawAppService, ResourceService, ScheduleService, ScriptService, UserService, VariableService, WorkspaceService } from '../gen';
4
+ import { AppService, FlowService, FolderService, ResourceService, ScheduleService, ScriptService, UserService, VariableService, WorkspaceService } from '../gen';
5
5
  import { getAllModules } from './flows/flowExplorer';
6
6
  import Button from './common/button/Button.svelte';
7
7
  import Tooltip from './Tooltip.svelte';
@@ -14,7 +14,7 @@ import { existsTrigger, getTriggerDependency, getTriggersDeployData, getTriggerV
14
14
  import { getAllGridItems } from './apps/editor/appUtils';
15
15
  import { isRunnableByPath } from './apps/inputType';
16
16
  const dispatch = createEventDispatcher();
17
- let { kind, initialPath = '', additionalInformation = undefined, workspaceToDeployTo = $bindable(undefined), hideButton = false } = $props();
17
+ let { kind, initialPath = '', additionalInformation = undefined, workspaceToDeployTo = $bindable(undefined), hideButton = false, canDeployToWorkspace = $bindable(false) } = $props();
18
18
  let canSeeTarget = $state(undefined);
19
19
  let dependencies = $state(undefined);
20
20
  const allAlreadyExists = $state({});
@@ -104,10 +104,10 @@ async function getDependencies(kind, path) {
104
104
  }
105
105
  else if (kind == 'app') {
106
106
  const app = await AppService.getAppByPath({ workspace: $workspaceStore, path });
107
- console.log('app', app);
108
107
  let result = [];
109
108
  if (app.raw_app) {
110
- for (const runnable of Object.values(app.value.runnables)) {
109
+ const rawAppValue = app.value;
110
+ for (const runnable of Object.values(rawAppValue.runnables ?? {})) {
111
111
  if (isRunnableByPath(runnable)) {
112
112
  if (runnable.runType == 'script') {
113
113
  result.push({ kind: 'script', path: runnable.path });
@@ -194,12 +194,6 @@ async function checkAlreadyExists(kind, path) {
194
194
  path: path
195
195
  });
196
196
  }
197
- else if (kind == 'raw_app') {
198
- exists = await RawAppService.existsRawApp({
199
- workspace: workspaceToDeployTo,
200
- path: path
201
- });
202
- }
203
197
  else if (kind == 'variable') {
204
198
  exists = await VariableService.existsVariable({
205
199
  workspace: workspaceToDeployTo,
@@ -465,22 +459,6 @@ async function deploy(kind, path) {
465
459
  });
466
460
  }
467
461
  }
468
- else if (kind == 'raw_app') {
469
- throw new Error('Raw app deploy not implemented yet');
470
- // const app = await RawAppService.getRawAppData({
471
- // workspace: $workspaceStore!,
472
- // path: path
473
- // })
474
- // if (alreadyExists) {
475
- // }
476
- // await RawAppService.updateRawApp({
477
- // workspace: $workspaceStore!,
478
- // path: path,
479
- // requestBody: {
480
- // path: path
481
- // }
482
- // })
483
- }
484
462
  else if (kind == 'folder') {
485
463
  await FolderService.createFolder({
486
464
  workspace: workspaceToDeployTo,
@@ -587,22 +565,6 @@ async function getValue(kind, path, workspace) {
587
565
  });
588
566
  return resource.schema;
589
567
  }
590
- else if (kind == 'raw_app') {
591
- throw new Error('Raw app deploy not implemented yet');
592
- // const app = await RawAppService.getRawAppData({
593
- // workspace: workspace,
594
- // path: path
595
- // })
596
- // if (alreadyExists) {
597
- // }
598
- // await RawAppService.updateRawApp({
599
- // workspace: workspace,
600
- // path: path,
601
- // requestBody: {
602
- // path: path
603
- // }
604
- // })
605
- }
606
568
  else if (kind == 'folder') {
607
569
  const folder = await FolderService.getFolder({
608
570
  workspace: workspace,
@@ -746,7 +708,7 @@ $effect(() => {
746
708
  >
747
709
  {/if}
748
710
  {:else}
749
- <Button color="light" size="xs" on:click={() => deploy(kind, path)}>Deploy</Button>
711
+ <Button color="light" size="xs" disabled={!canDeployToWorkspace} on:click={() => deploy(kind, path)}>Deploy</Button>
750
712
  {/if}
751
713
  </div>
752
714
  {/each}
@@ -754,7 +716,7 @@ $effect(() => {
754
716
 
755
717
  {#if !hideButton}
756
718
  <div class="mt-16 flex flex-row-reverse max-w-3xl"
757
- ><Button on:click={deployAll}>Deploy all toggled</Button></div
719
+ ><Button on:click={deployAll} disabled={!canDeployToWorkspace}>Deploy all toggled</Button></div
758
720
  >
759
721
  {/if}
760
722
  {:else if canSeeTarget == 'cant-see-all-deps'}
@@ -5,6 +5,7 @@ interface Props {
5
5
  additionalInformation?: AdditionalInformation | undefined;
6
6
  workspaceToDeployTo?: string | undefined;
7
7
  hideButton?: boolean;
8
+ canDeployToWorkspace?: boolean;
8
9
  }
9
10
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
10
11
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -25,6 +26,6 @@ declare const DeployWorkspace: $$__sveltets_2_IsomorphicComponent<Props, {
25
26
  [evt: string]: CustomEvent<any>;
26
27
  }, {}, {
27
28
  deployAll: () => void;
28
- }, "workspaceToDeployTo">;
29
+ }, "workspaceToDeployTo" | "canDeployToWorkspace">;
29
30
  type DeployWorkspace = InstanceType<typeof DeployWorkspace>;
30
31
  export default DeployWorkspace;