windmill-components 1.623.2 → 1.655.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 (1233) hide show
  1. package/dist/appPolicy/myFunction.es.js +1337 -0
  2. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
  3. package/dist/sharedUtils/base.d.ts +1 -0
  4. package/dist/sharedUtils/cloud.d.ts +1 -0
  5. package/dist/sharedUtils/common.d.ts +108 -0
  6. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
  7. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
  8. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  9. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +11 -0
  10. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
  11. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +84 -0
  12. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
  13. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
  14. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +22 -0
  15. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
  16. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5305 -0
  17. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
  18. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
  19. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
  20. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  21. package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
  22. package/dist/sharedUtils/components/apps/inputType.d.ts +176 -0
  23. package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
  24. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +19 -0
  25. package/dist/sharedUtils/components/apps/types.d.ts +274 -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 +11 -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/random_positive_adjetive.d.ts +1 -0
  37. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
  38. package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
  39. package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
  40. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
  41. package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
  42. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
  43. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
  44. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
  45. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
  46. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
  47. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
  48. package/dist/sharedUtils/components/triggers/utils.d.ts +81 -0
  49. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
  50. package/dist/sharedUtils/components/triggers.d.ts +20 -0
  51. package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
  52. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
  53. package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
  54. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
  55. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
  56. package/dist/sharedUtils/gen/core/request.d.ts +29 -0
  57. package/dist/sharedUtils/gen/index.d.ts +6 -0
  58. package/dist/sharedUtils/gen/schemas.gen.d.ts +6192 -0
  59. package/dist/sharedUtils/gen/services.gen.d.ts +5741 -0
  60. package/dist/sharedUtils/gen/types.gen.d.ts +20152 -0
  61. package/dist/sharedUtils/history.svelte.d.ts +9 -0
  62. package/dist/sharedUtils/hub.d.ts +48 -0
  63. package/dist/sharedUtils/jsr.json +6 -0
  64. package/dist/sharedUtils/lib.d.ts +5 -0
  65. package/dist/sharedUtils/lib.es.js +1426 -0
  66. package/dist/sharedUtils/package.json +12 -0
  67. package/dist/sharedUtils/schema.d.ts +3 -0
  68. package/dist/sharedUtils/stores.d.ts +96 -0
  69. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +49 -0
  70. package/dist/sharedUtils/toast.d.ts +8 -0
  71. package/dist/sharedUtils/utils.d.ts +250 -0
  72. package/package/aiStore.d.ts +1 -0
  73. package/package/aiStore.js +3 -0
  74. package/package/assets/app.css +32 -13
  75. package/package/components/AIAgentLogViewer.svelte +2 -2
  76. package/package/components/AIAgentLogViewer.svelte.d.ts +1 -0
  77. package/package/components/AIProviderPicker.svelte +20 -80
  78. package/package/components/AIProviderPicker.svelte.d.ts +2 -7
  79. package/package/components/AddUser.svelte +2 -2
  80. package/package/components/ApiConnectForm.svelte +14 -1
  81. package/package/components/ApiConnectForm.svelte.d.ts +1 -1
  82. package/package/components/AppConnectDrawer.svelte +18 -15
  83. package/package/components/AppConnectDrawer.svelte.d.ts +5 -5
  84. package/package/components/AppConnectInner.svelte +2 -0
  85. package/package/components/AppConnectInner.svelte.d.ts +1 -1
  86. package/package/components/AppConnectLightweightResourcePicker.svelte +3 -3
  87. package/package/components/AppWrapper.svelte +3 -2
  88. package/package/components/ArgInput.svelte +16 -5
  89. package/package/components/ArgInput.svelte.d.ts +3 -4
  90. package/package/components/Auth0Setting.svelte +6 -2
  91. package/package/components/AuthSettings.svelte +68 -39
  92. package/package/components/AuthSettings.svelte.d.ts +3 -1
  93. package/package/components/AutheliaSetting.svelte +12 -8
  94. package/package/components/AutheliaSetting.svelte.d.ts +4 -18
  95. package/package/components/AuthentikSetting.svelte +13 -9
  96. package/package/components/AuthentikSetting.svelte.d.ts +4 -18
  97. package/package/components/AutoscalingConfigEditor.svelte +2 -1
  98. package/package/components/AutoscalingConfigEditor.svelte.d.ts +1 -0
  99. package/package/components/AzureOauthSettings.svelte +23 -23
  100. package/package/components/AzureOauthSettings.svelte.d.ts +4 -18
  101. package/package/components/Badge.svelte +2 -4
  102. package/package/components/Badge.svelte.d.ts +5 -27
  103. package/package/components/CenteredModal.svelte +14 -4
  104. package/package/components/CenteredModal.svelte.d.ts +1 -0
  105. package/package/components/ChangeInstanceUsernameInner.svelte +5 -8
  106. package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +8 -7
  107. package/package/components/ChannelSelector.svelte +19 -15
  108. package/package/components/CompareWorkspaces.svelte +634 -694
  109. package/package/components/ConcurrentJobsChart.svelte +1 -1
  110. package/package/components/ConnectionSection.svelte +69 -73
  111. package/package/components/ContextualVariableEditor.svelte +8 -8
  112. package/package/components/ContextualVariableEditor.svelte.d.ts +3 -6
  113. package/package/components/CustomOauth.svelte +19 -23
  114. package/package/components/CustomOauth.svelte.d.ts +4 -26
  115. package/package/components/CustomPopover.svelte +3 -2
  116. package/package/components/CustomSso.svelte +27 -32
  117. package/package/components/CustomSso.svelte.d.ts +4 -27
  118. package/package/components/DBManager.svelte +15 -4
  119. package/package/components/DBManager.svelte.d.ts +2 -0
  120. package/package/components/DBManagerContent.svelte +5 -0
  121. package/package/components/DBManagerContent.svelte.d.ts +1 -0
  122. package/package/components/DBManagerDrawer.svelte +26 -42
  123. package/package/components/DBManagerDrawer.svelte.d.ts +3 -5
  124. package/package/components/DBSchemaExplorer.svelte +3 -3
  125. package/package/components/DBTableEditor.svelte +6 -6
  126. package/package/components/DatatablePicker.svelte +27 -0
  127. package/package/components/DatatablePicker.svelte.d.ts +13 -0
  128. package/package/components/DateInput.svelte +1 -0
  129. package/package/components/DateTimeInput.svelte +4 -3
  130. package/package/components/DedicatedWorkersSelector.svelte +39 -42
  131. package/package/components/DefaultScripts.svelte +3 -5
  132. package/package/components/DefaultScripts.svelte.d.ts +6 -20
  133. package/package/components/DefaultScriptsInner.svelte +4 -4
  134. package/package/components/DefaultScriptsInner.svelte.d.ts +4 -18
  135. package/package/components/DeployToSetting.svelte +183 -123
  136. package/package/components/DeployToSetting.svelte.d.ts +19 -28
  137. package/package/components/DeployWorkspace.svelte +224 -510
  138. package/package/components/DeployWorkspace.svelte.d.ts +2 -1
  139. package/package/components/DeployWorkspaceDrawer.svelte +10 -8
  140. package/package/components/DeployWorkspaceDrawer.svelte.d.ts +3 -20
  141. package/package/components/Description.svelte +6 -4
  142. package/package/components/Description.svelte.d.ts +6 -28
  143. package/package/components/Dev.svelte +16 -14
  144. package/package/components/DiffEditor.svelte +9 -8
  145. package/package/components/DiffEditor.svelte.d.ts +2 -6
  146. package/package/components/DisplayResult.svelte +2 -2
  147. package/package/components/DisplayResult.svelte.d.ts +1 -1
  148. package/package/components/DropdownMenu.svelte +39 -0
  149. package/package/components/DropdownMenu.svelte.d.ts +14 -0
  150. package/package/components/DropdownSubmenuItem.svelte +69 -0
  151. package/package/components/DropdownSubmenuItem.svelte.d.ts +10 -0
  152. package/package/components/DropdownV2.svelte +4 -4
  153. package/package/components/DropdownV2.svelte.d.ts +2 -2
  154. package/package/components/DropdownV2Inner.svelte +45 -34
  155. package/package/components/DropdownV2Inner.svelte.d.ts +2 -1
  156. package/package/components/DucklakePicker.svelte +0 -5
  157. package/package/components/DurationMs.svelte +1 -3
  158. package/package/components/DurationMs.svelte.d.ts +4 -18
  159. package/package/components/DynamicInput.svelte +2 -2
  160. package/package/components/EEOnly.svelte +4 -14
  161. package/package/components/EEOnly.svelte.d.ts +0 -1
  162. package/package/components/EditableSchemaForm.svelte +4 -4
  163. package/package/components/Editor.svelte +11 -13
  164. package/package/components/Editor.svelte.d.ts +1 -0
  165. package/package/components/EditorBar.svelte +4 -6
  166. package/package/components/EditorBar.svelte.d.ts +1 -1
  167. package/package/components/ErrorOrRecoveryHandler.svelte +62 -53
  168. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +1 -0
  169. package/package/components/ExecutionDuration.svelte +12 -20
  170. package/package/components/ExecutionDuration.svelte.d.ts +14 -24
  171. package/package/components/ExploreAssetButton.svelte +14 -8
  172. package/package/components/ExploreAssetButton.svelte.d.ts +0 -2
  173. package/package/components/FakeMonacoPlaceHolder.svelte +3 -2
  174. package/package/components/FieldHeader.svelte +6 -16
  175. package/package/components/FieldHeader.svelte.d.ts +5 -20
  176. package/package/components/FileExplorer.svelte +249 -0
  177. package/package/components/FileExplorer.svelte.d.ts +21 -0
  178. package/package/components/FilesetEditor.svelte +126 -0
  179. package/package/components/FilesetEditor.svelte.d.ts +6 -0
  180. package/package/components/FilterSearchbar.svelte +661 -0
  181. package/package/components/FilterSearchbar.svelte.d.ts +87 -0
  182. package/package/components/FlowBuilder.svelte +161 -98
  183. package/package/components/FlowGraphViewer.svelte +1 -10
  184. package/package/components/FlowGraphViewer.svelte.d.ts +17 -16
  185. package/package/components/FlowGraphViewerStep.svelte +52 -38
  186. package/package/components/FlowGraphViewerStep.svelte.d.ts +4 -18
  187. package/package/components/FlowHistoryJobPicker.svelte +6 -3
  188. package/package/components/FlowHistoryJobPicker.svelte.d.ts +1 -0
  189. package/package/components/FlowInputViewer.svelte +1 -1
  190. package/package/components/FlowInputViewer.svelte.d.ts +4 -18
  191. package/package/components/FlowJobResult.svelte +31 -23
  192. package/package/components/FlowJobResult.svelte.d.ts +0 -1
  193. package/package/components/FlowLogRow.svelte +1 -1
  194. package/package/components/FlowLogViewer.svelte +14 -7
  195. package/package/components/FlowLogViewerWrapper.svelte +2 -2
  196. package/package/components/FlowPlugConnect.svelte +1 -3
  197. package/package/components/FlowPlugConnect.svelte.d.ts +7 -6
  198. package/package/components/FlowPreviewContent.svelte +174 -53
  199. package/package/components/FlowPreviewContent.svelte.d.ts +5 -0
  200. package/package/components/FlowRestartButton.svelte +47 -47
  201. package/package/components/FlowRestartButton.svelte.d.ts +2 -0
  202. package/package/components/FlowStatusViewer.svelte +8 -9
  203. package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
  204. package/package/components/FlowStatusViewerInner.svelte +463 -367
  205. package/package/components/FlowStatusViewerInner.svelte.d.ts +2 -2
  206. package/package/components/FlowStatusWaitingForEvents.svelte +11 -10
  207. package/package/components/FlowViewer.svelte +6 -4
  208. package/package/components/FlowWrapper.svelte +5 -4
  209. package/package/components/FolderEditor.svelte +9 -7
  210. package/package/components/FolderPicker.svelte +195 -65
  211. package/package/components/FolderPicker.svelte.d.ts +2 -0
  212. package/package/components/FolderUsageInfo.svelte +7 -6
  213. package/package/components/FolderUsageInfo.svelte.d.ts +5 -19
  214. package/package/components/GraphqlSchemaViewer.svelte +3 -3
  215. package/package/components/GraphqlSchemaViewer.svelte.d.ts +5 -19
  216. package/package/components/GroupEditor.svelte +22 -10
  217. package/package/components/HistoricInputs.svelte +3 -4
  218. package/package/components/IconedResourceType.svelte +8 -2
  219. package/package/components/IconedResourceType.svelte.d.ts +2 -0
  220. package/package/components/IdEditorInput.svelte +3 -2
  221. package/package/components/InputError.svelte +9 -0
  222. package/package/components/InputError.svelte.d.ts +6 -0
  223. package/package/components/InputTransformForm.svelte +48 -39
  224. package/package/components/InputTransformForm.svelte.d.ts +1 -0
  225. package/package/components/InputTransformSchemaForm.svelte +2 -1
  226. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -1
  227. package/package/components/InputTransformsViewer.svelte +39 -22
  228. package/package/components/InputTransformsViewer.svelte.d.ts +4 -18
  229. package/package/components/InstanceGroupEditor.svelte +28 -23
  230. package/package/components/InstanceGroupEditor.svelte.d.ts +5 -4
  231. package/package/components/InstanceNameEditor.svelte +22 -20
  232. package/package/components/InstanceNameEditor.svelte.d.ts +9 -9
  233. package/package/components/InstanceSetting.svelte +156 -374
  234. package/package/components/InstanceSetting.svelte.d.ts +1 -0
  235. package/package/components/InstanceSettings.svelte +818 -193
  236. package/package/components/InstanceSettings.svelte.d.ts +17 -2
  237. package/package/components/IntegerInput.svelte +58 -0
  238. package/package/components/IntegerInput.svelte.d.ts +14 -0
  239. package/package/components/InviteGlobalUser.svelte +28 -28
  240. package/package/components/InviteGlobalUser.svelte.d.ts +6 -3
  241. package/package/components/JobArgs.svelte +14 -10
  242. package/package/components/JobLoader.svelte +57 -5
  243. package/package/components/JobLoader.svelte.d.ts +2 -2
  244. package/package/components/JobStatus.svelte +29 -26
  245. package/package/components/JobStatus.svelte.d.ts +1 -0
  246. package/package/components/KanidmSetting.svelte +18 -14
  247. package/package/components/KanidmSetting.svelte.d.ts +4 -18
  248. package/package/components/KeycloakSetting.svelte +21 -11
  249. package/package/components/KeycloakSetting.svelte.d.ts +4 -18
  250. package/package/components/LogId.svelte +5 -2
  251. package/package/components/LogId.svelte.d.ts +4 -18
  252. package/package/components/LogSnippetViewer.svelte +5 -5
  253. package/package/components/LogSnippetViewer.svelte.d.ts +5 -20
  254. package/package/components/LogViewer.svelte +2 -2
  255. package/package/components/Login.svelte +9 -3
  256. package/package/components/ManualPopover.svelte +4 -1
  257. package/package/components/MapResult.svelte +33 -33
  258. package/package/components/MapResult.svelte.d.ts +13 -26
  259. package/package/components/MemoryFootprintViewer.svelte +8 -6
  260. package/package/components/MemoryFootprintViewer.svelte.d.ts +4 -18
  261. package/package/components/ModulePreview.svelte.d.ts +1 -1
  262. package/package/components/ModuleStatus.svelte +6 -8
  263. package/package/components/ModuleStatus.svelte.d.ts +5 -19
  264. package/package/components/ModuleTest.svelte +6 -6
  265. package/package/components/ModuleTest.svelte.d.ts +1 -1
  266. package/package/components/MoveDrawer.svelte +47 -76
  267. package/package/components/MoveDrawer.svelte.d.ts +4 -6
  268. package/package/components/NextcloudSetting.svelte +3 -2
  269. package/package/components/NoDirectDeployAlert.svelte +31 -0
  270. package/package/components/NoDirectDeployAlert.svelte.d.ts +6 -0
  271. package/package/components/NumberTypeNarrowing.svelte +65 -67
  272. package/package/components/NumberTypeNarrowing.svelte.d.ts +2 -1
  273. package/package/components/OAuthSetting.svelte +63 -55
  274. package/package/components/OauthExtraParams.svelte +9 -4
  275. package/package/components/OauthExtraParams.svelte.d.ts +4 -18
  276. package/package/components/OauthScopes.svelte +9 -4
  277. package/package/components/OauthScopes.svelte.d.ts +4 -18
  278. package/package/components/ObjectResourceInput.svelte +10 -3
  279. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  280. package/package/components/ObjectStoreConfigSettings.svelte +150 -55
  281. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +34 -44
  282. package/package/components/OktaSetting.svelte +3 -2
  283. package/package/components/OnBehalfOfSelector.svelte +191 -0
  284. package/package/components/OnBehalfOfSelector.svelte.d.ts +21 -0
  285. package/package/components/PageHeader.svelte +4 -8
  286. package/package/components/PageHeader.svelte.d.ts +5 -27
  287. package/package/components/ParentWorkspaceProtectionAlert.svelte +48 -0
  288. package/package/components/ParentWorkspaceProtectionAlert.svelte.d.ts +7 -0
  289. package/package/components/ParqetCsvTableRenderer.svelte +12 -12
  290. package/package/components/ParqetCsvTableRenderer.svelte.d.ts +4 -18
  291. package/package/components/Path.svelte +40 -28
  292. package/package/components/Path.svelte.d.ts +3 -0
  293. package/package/components/PermissionHistory.svelte +8 -6
  294. package/package/components/PersistentScriptDrawer.svelte +56 -50
  295. package/package/components/PersistentScriptDrawer.svelte.d.ts +3 -5
  296. package/package/components/PocketIdSetting.svelte +3 -2
  297. package/package/components/Popover.svelte +2 -2
  298. package/package/components/PrefixedInput.svelte +2 -2
  299. package/package/components/QueueMetricsDrawer.svelte +1 -1
  300. package/package/components/QueueMetricsDrawer.svelte.d.ts +3 -20
  301. package/package/components/QueueMetricsDrawerInner.svelte +14 -9
  302. package/package/components/QueueMetricsDrawerInner.svelte.d.ts +2 -17
  303. package/package/components/RadioButton.svelte +3 -8
  304. package/package/components/RadioButton.svelte.d.ts +13 -12
  305. package/package/components/Range.svelte +15 -18
  306. package/package/components/Range.svelte.d.ts +5 -21
  307. package/package/components/RepositorySelector.svelte +3 -2
  308. package/package/components/Required.svelte +4 -4
  309. package/package/components/Required.svelte.d.ts +6 -20
  310. package/package/components/ResourceEditor.svelte +28 -5
  311. package/package/components/ResourceEditor.svelte.d.ts +0 -1
  312. package/package/components/ResourceEditorDrawer.svelte +11 -16
  313. package/package/components/ResourceEditorDrawer.svelte.d.ts +3 -6
  314. package/package/components/ResourcePicker.svelte +34 -19
  315. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  316. package/package/components/RightClickPopover.svelte +37 -0
  317. package/package/components/RightClickPopover.svelte.d.ts +11 -0
  318. package/package/components/RunChart.svelte +2 -21
  319. package/package/components/RunChart.svelte.d.ts +0 -3
  320. package/package/components/RunForm.svelte +2 -2
  321. package/package/components/RunFormAdvancedPopup.svelte +1 -4
  322. package/package/components/RunFormAdvancedPopup.svelte.d.ts +4 -18
  323. package/package/components/RunsPage.svelte +554 -557
  324. package/package/components/S3FilePicker.svelte +2 -1
  325. package/package/components/S3FilePicker.svelte.d.ts +1 -0
  326. package/package/components/S3FilePickerInner.svelte +19 -7
  327. package/package/components/S3FilePickerInner.svelte.d.ts +1 -0
  328. package/package/components/S3ObjectPicker.svelte +4 -5
  329. package/package/components/S3ObjectPicker.svelte.d.ts +6 -6
  330. package/package/components/SaveButton.svelte +80 -0
  331. package/package/components/SaveButton.svelte.d.ts +12 -0
  332. package/package/components/SaveInputsButton.svelte +3 -8
  333. package/package/components/SaveInputsButton.svelte.d.ts +10 -9
  334. package/package/components/SavedInputsPickerViewer.svelte +21 -22
  335. package/package/components/SavedInputsPickerViewer.svelte.d.ts +10 -10
  336. package/package/components/SavedInputsV2.svelte +1 -3
  337. package/package/components/SchemaEditorProperty.svelte +1 -1
  338. package/package/components/SchemaEditorProperty.svelte.d.ts +4 -18
  339. package/package/components/SchemaForm.svelte.d.ts +1 -1
  340. package/package/components/SchemaFormWithArgPicker.svelte +34 -30
  341. package/package/components/SchemaFormWithArgPicker.svelte.d.ts +12 -21
  342. package/package/components/SchemaViewer.svelte +56 -53
  343. package/package/components/ScriptBuilder.svelte +123 -40
  344. package/package/components/ScriptEditor.svelte +97 -39
  345. package/package/components/ScriptEditor.svelte.d.ts +2 -2
  346. package/package/components/ScriptPicker.svelte +1 -1
  347. package/package/components/ScriptWrapper.svelte +3 -2
  348. package/package/components/Scrollable.svelte +10 -10
  349. package/package/components/Scrollable.svelte.d.ts +6 -29
  350. package/package/components/SearchItems.svelte +1 -1
  351. package/package/components/Section.svelte +2 -2
  352. package/package/components/ServiceLogsInner.svelte +36 -91
  353. package/package/components/ShareModal.svelte +15 -8
  354. package/package/components/ShareModal.svelte.d.ts +1 -1
  355. package/package/components/SimpleEditor.svelte +1 -1
  356. package/package/components/Slider.svelte +2 -5
  357. package/package/components/Slider.svelte.d.ts +6 -28
  358. package/package/components/Star.svelte +8 -22
  359. package/package/components/Star.svelte.d.ts +4 -4
  360. package/package/components/StringTypeNarrowing.svelte +4 -2
  361. package/package/components/Subsection.svelte +3 -2
  362. package/package/components/Summary.svelte +1 -2
  363. package/package/components/Summary.svelte.d.ts +4 -18
  364. package/package/components/SummaryPathDisplay.svelte +177 -0
  365. package/package/components/SummaryPathDisplay.svelte.d.ts +10 -0
  366. package/package/components/SupabaseConnect.svelte +20 -17
  367. package/package/components/SupabaseConnect.svelte.d.ts +3 -5
  368. package/package/components/SuperadminSettings.svelte +187 -4
  369. package/package/components/SuperadminSettings.svelte.d.ts +4 -1
  370. package/package/components/SuperadminSettingsInner.svelte +310 -195
  371. package/package/components/SuperadminSettingsInner.svelte.d.ts +12 -1
  372. package/package/components/TableCustom.svelte +6 -8
  373. package/package/components/TableCustom.svelte.d.ts +10 -10
  374. package/package/components/TaggedTextInput.svelte +449 -0
  375. package/package/components/TaggedTextInput.svelte.d.ts +28 -0
  376. package/package/components/TeamSelector.svelte +20 -14
  377. package/package/components/TemplateEditor.svelte +1 -7
  378. package/package/components/TestConnection.svelte +2 -5
  379. package/package/components/TestConnection.svelte.d.ts +4 -18
  380. package/package/components/TimelineBar.svelte +5 -2
  381. package/package/components/Toast.svelte +69 -51
  382. package/package/components/Toast.svelte.d.ts +2 -2
  383. package/package/components/Toggle.svelte +2 -2
  384. package/package/components/Tooltip.svelte +4 -17
  385. package/package/components/Tooltip.svelte.d.ts +6 -1
  386. package/package/components/TooltipInner.svelte +8 -14
  387. package/package/components/TooltipInner.svelte.d.ts +6 -28
  388. package/package/components/Uptodate.svelte +4 -3
  389. package/package/components/Uptodate.svelte.d.ts +2 -17
  390. package/package/components/Urlize.svelte +2 -2
  391. package/package/components/Urlize.svelte.d.ts +4 -18
  392. package/package/components/UserSettings.svelte +2 -2
  393. package/package/components/UserSettings.svelte.d.ts +1 -0
  394. package/package/components/Version.svelte +1 -1
  395. package/package/components/Version.svelte.d.ts +2 -17
  396. package/package/components/WhitelistIp.svelte +1 -1
  397. package/package/components/WhitelistIp.svelte.d.ts +2 -17
  398. package/package/components/WorkerGroup.svelte +321 -197
  399. package/package/components/WorkerGroup.svelte.d.ts +2 -0
  400. package/package/components/WorkerRepl.svelte +1 -2
  401. package/package/components/WorkflowTimeline.svelte +10 -14
  402. package/package/components/WorkflowTimeline.svelte.d.ts +4 -18
  403. package/package/components/WorkspaceDependenciesEditor.svelte +34 -18
  404. package/package/components/WorkspaceDeployLayout.svelte +107 -0
  405. package/package/components/WorkspaceDeployLayout.svelte.d.ts +31 -0
  406. package/package/components/ZitadelSetting.svelte +12 -8
  407. package/package/components/ZitadelSetting.svelte.d.ts +4 -18
  408. package/package/components/aiProviderStorage.d.ts +5 -0
  409. package/package/components/aiProviderStorage.js +50 -0
  410. package/package/components/apps/components/GroupWrapper.svelte +5 -2
  411. package/package/components/apps/components/buttons/AppButton.svelte +6 -5
  412. package/package/components/apps/components/buttons/AppForm.svelte +5 -5
  413. package/package/components/apps/components/buttons/AppFormButton.svelte +5 -5
  414. package/package/components/apps/components/buttons/AppSchemaForm.svelte +5 -4
  415. package/package/components/apps/components/display/AppAccordionList.svelte +4 -4
  416. package/package/components/apps/components/display/AppAlert.svelte +4 -4
  417. package/package/components/apps/components/display/AppBarChart.svelte +4 -4
  418. package/package/components/apps/components/display/AppCarouselList.svelte +5 -5
  419. package/package/components/apps/components/display/AppChartJs.svelte +4 -4
  420. package/package/components/apps/components/display/AppChartJsV2.svelte +4 -4
  421. package/package/components/apps/components/display/AppChat.svelte +5 -5
  422. package/package/components/apps/components/display/AppCustomComponent.svelte +3 -3
  423. package/package/components/apps/components/display/AppDisplayComponent.svelte +5 -5
  424. package/package/components/apps/components/display/AppDisplayComponentByJobId.svelte +3 -3
  425. package/package/components/apps/components/display/AppDownload.svelte +3 -3
  426. package/package/components/apps/components/display/AppHtml.svelte +4 -3
  427. package/package/components/apps/components/display/AppIcon.svelte +4 -4
  428. package/package/components/apps/components/display/AppImage.svelte +4 -4
  429. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +4 -4
  430. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +3 -3
  431. package/package/components/apps/components/display/AppJobProgressBar.svelte +3 -3
  432. package/package/components/apps/components/display/AppMap.svelte +6 -4
  433. package/package/components/apps/components/display/AppMarkdown.svelte +5 -4
  434. package/package/components/apps/components/display/AppMenu.svelte +4 -3
  435. package/package/components/apps/components/display/AppNavbar.svelte +4 -4
  436. package/package/components/apps/components/display/AppPdf.svelte +3 -3
  437. package/package/components/apps/components/display/AppPieChart.svelte +3 -3
  438. package/package/components/apps/components/display/AppRecomputeAll.svelte +3 -3
  439. package/package/components/apps/components/display/AppScatterChart.svelte +3 -3
  440. package/package/components/apps/components/display/AppStatCard.svelte +3 -3
  441. package/package/components/apps/components/display/AppText.svelte +10 -8
  442. package/package/components/apps/components/display/AppTimeseries.svelte +3 -3
  443. package/package/components/apps/components/display/InsertRowDrawerButton.svelte +1 -1
  444. package/package/components/apps/components/display/PlotlyHtml.svelte +3 -2
  445. package/package/components/apps/components/display/PlotlyHtmlV2.svelte +3 -2
  446. package/package/components/apps/components/display/ResolveNavbarItemPath.svelte +3 -2
  447. package/package/components/apps/components/display/VegaLiteHtml.svelte +3 -2
  448. package/package/components/apps/components/display/charts/AppAgCharts.svelte +3 -3
  449. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +26 -15
  450. package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte +3 -3
  451. package/package/components/apps/components/display/dbtable/DeleteRow.svelte +2 -2
  452. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +2 -2
  453. package/package/components/apps/components/display/dbtable/UpdateCell.svelte +2 -2
  454. package/package/components/apps/components/display/dbtable/metadata.d.ts +1 -0
  455. package/package/components/apps/components/display/dbtable/metadata.js +10 -4
  456. package/package/components/apps/components/display/dbtable/queries/count.js +3 -1
  457. package/package/components/apps/components/display/dbtable/queries/delete.js +3 -1
  458. package/package/components/apps/components/display/dbtable/queries/insert.js +3 -1
  459. package/package/components/apps/components/display/dbtable/queries/select.js +15 -1
  460. package/package/components/apps/components/display/dbtable/queries/update.js +3 -1
  461. package/package/components/apps/components/display/dbtable/utils.d.ts +3 -3
  462. package/package/components/apps/components/display/dbtable/utils.js +3 -3
  463. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +14 -4
  464. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +1 -1
  465. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +4 -3
  466. package/package/components/apps/components/display/table/AppAggridTable.svelte +11 -3
  467. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +12 -6
  468. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  469. package/package/components/apps/components/display/table/AppTable.svelte +4 -4
  470. package/package/components/apps/components/display/table/theme/windmill-theme.css +8 -7
  471. package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -2
  472. package/package/components/apps/components/helpers/InputValue.svelte +3 -3
  473. package/package/components/apps/components/helpers/RunnableComponent.svelte +2 -2
  474. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  475. package/package/components/apps/components/helpers/eval.js +5 -2
  476. package/package/components/apps/components/inputs/AppCheckbox.svelte +6 -6
  477. package/package/components/apps/components/inputs/AppCodeInputComponent.svelte +6 -5
  478. package/package/components/apps/components/inputs/AppDateInput.svelte +4 -4
  479. package/package/components/apps/components/inputs/AppDateSelect.svelte +4 -4
  480. package/package/components/apps/components/inputs/AppDateSliderInput.svelte +5 -4
  481. package/package/components/apps/components/inputs/AppDateTimeInput.svelte +4 -4
  482. package/package/components/apps/components/inputs/AppFileInput.svelte +4 -4
  483. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +5 -4
  484. package/package/components/apps/components/inputs/AppNumberInput.svelte +4 -4
  485. package/package/components/apps/components/inputs/AppQuillEditor.svelte +3 -2
  486. package/package/components/apps/components/inputs/AppRangeInput.svelte +5 -4
  487. package/package/components/apps/components/inputs/AppS3FileInput.svelte +4 -4
  488. package/package/components/apps/components/inputs/AppSelect.svelte +8 -7
  489. package/package/components/apps/components/inputs/AppSelectStep.svelte +5 -4
  490. package/package/components/apps/components/inputs/AppSelectTab.svelte +4 -4
  491. package/package/components/apps/components/inputs/AppSliderInputs.svelte +5 -4
  492. package/package/components/apps/components/inputs/AppTextInput.svelte +4 -4
  493. package/package/components/apps/components/inputs/AppTimeInput.svelte +4 -4
  494. package/package/components/apps/components/inputs/AppUserResource.svelte +4 -4
  495. package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +5 -4
  496. package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +3 -1
  497. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +5 -5
  498. package/package/components/apps/components/layout/AppContainer.svelte +3 -3
  499. package/package/components/apps/components/layout/AppDecisionTree.svelte +5 -5
  500. package/package/components/apps/components/layout/AppDivider.svelte +3 -3
  501. package/package/components/apps/components/layout/AppDrawer.svelte +7 -6
  502. package/package/components/apps/components/layout/AppList.svelte +5 -5
  503. package/package/components/apps/components/layout/AppModal.svelte +9 -7
  504. package/package/components/apps/components/layout/AppModal.svelte.d.ts +1 -0
  505. package/package/components/apps/components/layout/AppSplitpanes.svelte +8 -6
  506. package/package/components/apps/components/layout/AppStepper.svelte +6 -6
  507. package/package/components/apps/components/layout/AppTabs.svelte +8 -8
  508. package/package/components/apps/components/layout/ListWrapper.svelte +6 -2
  509. package/package/components/apps/components/layout/RowWrapper.svelte +6 -2
  510. package/package/components/apps/editor/AppEditor.svelte +11 -11
  511. package/package/components/apps/editor/AppEditorHeader.svelte +21 -4
  512. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +41 -1
  513. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -1
  514. package/package/components/apps/editor/AppExportButton.svelte +4 -4
  515. package/package/components/apps/editor/AppExportButton.svelte.d.ts +3 -20
  516. package/package/components/apps/editor/AppInputs.svelte +1 -1
  517. package/package/components/apps/editor/AppInputs.svelte.d.ts +2 -17
  518. package/package/components/apps/editor/AppJsonEditor.svelte +5 -5
  519. package/package/components/apps/editor/AppJsonEditor.svelte.d.ts +3 -7
  520. package/package/components/apps/editor/AppPreview.svelte +17 -16
  521. package/package/components/apps/editor/ComponentHeader.svelte +1 -1
  522. package/package/components/apps/editor/DecisionTreeDebug.svelte +4 -4
  523. package/package/components/apps/editor/GridEditor.svelte +1 -0
  524. package/package/components/apps/editor/GridViewer.svelte +3 -3
  525. package/package/components/apps/editor/RecomputeAllComponents.svelte +13 -8
  526. package/package/components/apps/editor/RecomputeAllComponents.svelte.d.ts +2 -17
  527. package/package/components/apps/editor/SubGridEditor.svelte +4 -2
  528. package/package/components/apps/editor/appPolicy.js +6 -5
  529. package/package/components/apps/editor/appUtils.d.ts +1 -1
  530. package/package/components/apps/editor/commonAppUtils.d.ts +1 -1
  531. package/package/components/apps/editor/commonAppUtils.js +1 -1
  532. package/package/components/apps/editor/component/Component.svelte +2 -2
  533. package/package/components/apps/editor/component/components.d.ts +19 -2
  534. package/package/components/apps/editor/component/components.js +43 -39
  535. package/package/components/apps/editor/componentsPanel/CssHelperPanel.svelte +10 -7
  536. package/package/components/apps/editor/componentsPanel/CssHelperPanel.svelte.d.ts +1 -1
  537. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +3 -1
  538. package/package/components/apps/editor/componentsPanel/CustomComponentsList.svelte +7 -7
  539. package/package/components/apps/editor/componentsPanel/CustomComponentsList.svelte.d.ts +1 -1
  540. package/package/components/apps/editor/componentsPanel/NameEditor.svelte +2 -2
  541. package/package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +3 -4
  542. package/package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte +3 -3
  543. package/package/components/apps/editor/componentsPanel/ThemeList.svelte +5 -5
  544. package/package/components/apps/editor/componentsPanel/ThemeList.svelte.d.ts +1 -1
  545. package/package/components/apps/editor/componentsPanel/ThemeNameEditor.svelte +2 -2
  546. package/package/components/apps/editor/contextPanel/ComponentOutput.svelte +2 -2
  547. package/package/components/apps/editor/contextPanel/DebugPanel.svelte +4 -4
  548. package/package/components/apps/editor/contextPanel/DebugPanel.svelte.d.ts +2 -17
  549. package/package/components/apps/editor/contextPanel/components/Output.svelte +6 -1
  550. package/package/components/apps/editor/contextPanel/components/Output.svelte.d.ts +1 -0
  551. package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +14 -2
  552. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
  553. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
  554. package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +3 -2
  555. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +6 -6
  556. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +4 -4
  557. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +0 -1
  558. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -2
  559. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +1 -1
  560. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +66 -29
  561. package/package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +2 -17
  562. package/package/components/apps/editor/settingsPanel/common/PanelSection.svelte +3 -2
  563. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +10 -0
  564. package/package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +6 -5
  565. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +2 -2
  566. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +3 -2
  567. package/package/components/apps/inputType.d.ts +2 -2
  568. package/package/components/apps/svelte-grid/Grid.svelte +4 -4
  569. package/package/components/apps/svelte-grid/MoveResize.svelte +5 -5
  570. package/package/components/assets/AssetButtons.svelte +33 -33
  571. package/package/components/assets/AssetButtons.svelte.d.ts +1 -4
  572. package/package/components/assets/AssetColumnBadges.svelte +37 -0
  573. package/package/components/assets/AssetColumnBadges.svelte.d.ts +10 -0
  574. package/package/components/assets/AssetsDropdownButton.svelte +16 -16
  575. package/package/components/assets/AssetsUsageDrawer.svelte +23 -19
  576. package/package/components/assets/JobAssetsViewer.svelte +12 -8
  577. package/package/components/assets/VolumeDetailDrawer.svelte +101 -0
  578. package/package/components/assets/VolumeDetailDrawer.svelte.d.ts +9 -0
  579. package/package/components/assets/VolumesDrawer.svelte +191 -0
  580. package/package/components/assets/VolumesDrawer.svelte.d.ts +8 -0
  581. package/package/components/assets/assetsFilter.d.ts +54 -0
  582. package/package/components/assets/assetsFilter.js +47 -0
  583. package/package/components/assets/lib.d.ts +3 -2
  584. package/package/components/assets/lib.js +12 -1
  585. package/package/components/auditLogs/AuditLogsFilters.svelte +28 -2
  586. package/package/components/chartjs-wrappers/Chart.svelte +4 -4
  587. package/package/components/common/FileProgressBar.svelte +9 -7
  588. package/package/components/common/FileProgressBar.svelte.d.ts +5 -27
  589. package/package/components/common/InlineCalendarInput.svelte +584 -0
  590. package/package/components/common/InlineCalendarInput.svelte.d.ts +31 -0
  591. package/package/components/common/alert/Alert.svelte +2 -8
  592. package/package/components/common/alert/Notification.svelte +2 -2
  593. package/package/components/common/alert/Notification.svelte.d.ts +4 -18
  594. package/package/components/common/alert/model.d.ts +1 -0
  595. package/package/components/common/alert/model.js +7 -0
  596. package/package/components/common/badge/Badge.svelte +7 -3
  597. package/package/components/common/badge/Badge.svelte.d.ts +1 -0
  598. package/package/components/common/breadcrumb/Breadcrumb.svelte +10 -14
  599. package/package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +8 -23
  600. package/package/components/common/button/AnimatedButton.svelte +3 -9
  601. package/package/components/common/button/AnimatedButton.svelte.d.ts +5 -27
  602. package/package/components/common/button/AnimatedButtonInner.svelte +6 -12
  603. package/package/components/common/button/AnimatedButtonInner.svelte.d.ts +5 -27
  604. package/package/components/common/button/Button.svelte +5 -5
  605. package/package/components/common/button/PulseButton.svelte +15 -19
  606. package/package/components/common/button/PulseButton.svelte.d.ts +10 -48
  607. package/package/components/common/button/RefreshButton.svelte +3 -2
  608. package/package/components/common/button/RefreshButton.svelte.d.ts +1 -1
  609. package/package/components/common/button/RoundIconButton.svelte +5 -5
  610. package/package/components/common/button/RoundIconButton.svelte.d.ts +6 -28
  611. package/package/components/common/button/UndoRedo.svelte +1 -2
  612. package/package/components/common/button/UndoRedo.svelte.d.ts +6 -5
  613. package/package/components/common/calendarPicker/CalendarPicker.svelte +44 -43
  614. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +11 -11
  615. package/package/components/common/clearableInput/ClearableInput.svelte +28 -27
  616. package/package/components/common/clearableInput/ClearableInput.svelte.d.ts +11 -37
  617. package/package/components/common/confirmationModal/ConfirmationModal.svelte +1 -1
  618. package/package/components/common/confirmationModal/DraftTriggersConfirmationModal.svelte +2 -2
  619. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +3 -3
  620. package/package/components/common/contextmenu/ContextMenu.svelte +14 -4
  621. package/package/components/common/contextmenu/ContextMenu.svelte.d.ts +2 -0
  622. package/package/components/common/contextmenu/contextMenuStyles.d.ts +4 -0
  623. package/package/components/common/contextmenu/contextMenuStyles.js +4 -0
  624. package/package/components/common/drawer/Disposable.svelte +3 -3
  625. package/package/components/common/drawer/DrawerContent.svelte +1 -1
  626. package/package/components/common/fileInput/FileInput.svelte +16 -30
  627. package/package/components/common/fileInput/FileInput.svelte.d.ts +24 -32
  628. package/package/components/common/fileUpload/FileUploadModal.svelte +2 -4
  629. package/package/components/common/fileUpload/FileUploadModal.svelte.d.ts +7 -6
  630. package/package/components/common/kbd/Kbd.svelte +4 -3
  631. package/package/components/common/languageIcons/LanguageIcon.svelte +21 -4
  632. package/package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  633. package/package/components/common/layout/ListElement.svelte +5 -1
  634. package/package/components/common/layout/ListElement.svelte.d.ts +5 -25
  635. package/package/components/common/menu/MenuItem.svelte +9 -4
  636. package/package/components/common/menu/MenuItem.svelte.d.ts +5 -29
  637. package/package/components/common/menu/ResolveOpen.svelte +6 -3
  638. package/package/components/common/menu/ResolveOpen.svelte.d.ts +8 -4
  639. package/package/components/common/modal/AlwaysMountedModal.svelte +11 -15
  640. package/package/components/common/modal/AlwaysMountedModal.svelte.d.ts +8 -32
  641. package/package/components/common/modal/Modal2.svelte +12 -20
  642. package/package/components/common/modal/Modal2.svelte.d.ts +10 -36
  643. package/package/components/common/popup/PopupV2.svelte +3 -2
  644. package/package/components/common/seconds/SecondsInput.svelte +158 -67
  645. package/package/components/common/seconds/SecondsInput.svelte.d.ts +9 -21
  646. package/package/components/common/sidebar/SidebarNavigation.svelte +50 -0
  647. package/package/components/common/sidebar/SidebarNavigation.svelte.d.ts +25 -0
  648. package/package/components/common/stepper/Stepper.svelte +4 -9
  649. package/package/components/common/stepper/Stepper.svelte.d.ts +10 -9
  650. package/package/components/common/table/AppRow.svelte +25 -20
  651. package/package/components/common/table/AppRow.svelte.d.ts +2 -2
  652. package/package/components/common/table/FlowRow.svelte +25 -20
  653. package/package/components/common/table/FlowRow.svelte.d.ts +2 -2
  654. package/package/components/common/table/RawAppRow.svelte +5 -82
  655. package/package/components/common/table/RawAppRow.svelte.d.ts +2 -23
  656. package/package/components/common/table/Row.svelte +7 -6
  657. package/package/components/common/table/Row.svelte.d.ts +2 -3
  658. package/package/components/common/table/RowIcon.svelte +40 -11
  659. package/package/components/common/table/RowIcon.svelte.d.ts +6 -18
  660. package/package/components/common/table/ScriptRow.svelte +43 -36
  661. package/package/components/common/table/ScriptRow.svelte.d.ts +2 -2
  662. package/package/components/common/table/Table.svelte +5 -1
  663. package/package/components/common/table/Table.svelte.d.ts +5 -25
  664. package/package/components/common/tabs/Tabs.svelte +2 -2
  665. package/package/components/common/tabs/TabsV2.svelte +1 -1
  666. package/package/components/common/toggleButton-v2/ToggleButton.svelte +0 -1
  667. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  668. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -1
  669. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +10 -5
  670. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
  671. package/package/components/copilot/FlowCopilotInputsModal.svelte +14 -13
  672. package/package/components/copilot/FlowCopilotInputsModal.svelte.d.ts +6 -5
  673. package/package/components/copilot/MetadataGen.svelte +5 -5
  674. package/package/components/copilot/RegexGen.svelte +87 -80
  675. package/package/components/copilot/RegexGen.svelte.d.ts +1 -1
  676. package/package/components/copilot/ResourceGen.svelte +157 -0
  677. package/package/components/copilot/ResourceGen.svelte.d.ts +12 -0
  678. package/package/components/copilot/ScriptFix.svelte +37 -33
  679. package/package/components/copilot/ScriptGen.svelte +1 -1
  680. package/package/components/copilot/TestAIKey.svelte +1 -1
  681. package/package/components/copilot/chat/AIChat.svelte +1 -1
  682. package/package/components/copilot/chat/AIChatDisplay.svelte +52 -48
  683. package/package/components/copilot/chat/AIChatInput.svelte +64 -45
  684. package/package/components/copilot/chat/AIChatManager.svelte.js +19 -19
  685. package/package/components/copilot/chat/AssistantMessage.svelte +1 -1
  686. package/package/components/copilot/chat/AssistantMessage.svelte.d.ts +4 -18
  687. package/package/components/copilot/chat/AvailableContextList.svelte +215 -12
  688. package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +1 -0
  689. package/package/components/copilot/chat/ChatMode.svelte +37 -33
  690. package/package/components/copilot/chat/ContextElementBadge.svelte +6 -8
  691. package/package/components/copilot/chat/ContextTextarea.svelte +15 -2
  692. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +1 -1
  693. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +4 -2
  694. package/package/components/copilot/chat/app/core.js +7 -86
  695. package/package/components/copilot/chat/context.js +4 -1
  696. package/package/components/copilot/chat/flow/AIChangesWarningModal.svelte +8 -11
  697. package/package/components/copilot/chat/flow/core.js +193 -61
  698. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  699. package/package/components/copilot/chat/flow/openFlowZod.d.ts +2 -2
  700. package/package/components/copilot/chat/flow/openFlowZod.js +6 -8
  701. package/package/components/copilot/chat/navigator/core.d.ts +2 -2
  702. package/package/components/copilot/chat/navigator/core.js +11 -2
  703. package/package/components/copilot/chat/script/core.js +4 -1
  704. package/package/components/copilot/chat/shared.d.ts +53 -1
  705. package/package/components/copilot/chat/shared.js +227 -1
  706. package/package/components/copilot/lib.d.ts +3 -2
  707. package/package/components/copilot/lib.js +67 -29
  708. package/package/components/custom_ui.d.ts +3 -0
  709. package/package/components/dbManagerDrawerModel.svelte.d.ts +13 -0
  710. package/package/components/dbManagerDrawerModel.svelte.js +182 -0
  711. package/package/components/dedicated_worker.d.ts +7 -0
  712. package/package/components/dedicated_worker.js +36 -0
  713. package/package/components/details/ClipboardPanel.svelte +5 -8
  714. package/package/components/details/ClipboardPanel.svelte.d.ts +8 -22
  715. package/package/components/details/DetailPageHeader.svelte +8 -23
  716. package/package/components/details/DetailPageHeader.svelte.d.ts +1 -0
  717. package/package/components/details/DetailPageLayout.svelte +1 -1
  718. package/package/components/details/ErrorHandlerToggleButton.svelte +1 -4
  719. package/package/components/details/ErrorHandlerToggleButton.svelte.d.ts +5 -19
  720. package/package/components/details/ErrorHandlerToggleButtonV2.svelte +2 -6
  721. package/package/components/details/ErrorHandlerToggleButtonV2.svelte.d.ts +6 -20
  722. package/package/components/details/createAppFromScript.d.ts +136 -16
  723. package/package/components/details/createAppFromScript.js +13 -12
  724. package/package/components/diffEditorTypes.d.ts +6 -0
  725. package/package/components/diffEditorTypes.js +1 -0
  726. package/package/components/flows/CreateActionsApp.svelte +70 -96
  727. package/package/components/flows/CreateActionsFlow.svelte +28 -28
  728. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  729. package/package/components/flows/FlowAssetsHandler.svelte +4 -6
  730. package/package/components/flows/FlowModuleIcon.svelte +4 -3
  731. package/package/components/flows/FlowProgressBar.svelte +37 -1
  732. package/package/components/flows/FlowProgressBar.svelte.d.ts +3 -0
  733. package/package/components/flows/agentToolUtils.d.ts +18 -0
  734. package/package/components/flows/agentToolUtils.js +47 -0
  735. package/package/components/flows/common/FlowCardHeader.svelte +11 -11
  736. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  737. package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -1
  738. package/package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +2 -17
  739. package/package/components/flows/content/FlowEditorPanel.svelte +14 -1
  740. package/package/components/flows/content/FlowEnvironmentVariables.svelte +131 -34
  741. package/package/components/flows/content/FlowFailureModule.svelte +2 -3
  742. package/package/components/flows/content/FlowFailureModule.svelte.d.ts +4 -18
  743. package/package/components/flows/content/FlowInputs.svelte +20 -2
  744. package/package/components/flows/content/FlowInputsQuick.svelte +21 -0
  745. package/package/components/flows/content/FlowLoop.svelte +5 -6
  746. package/package/components/flows/content/FlowModuleCache.svelte +1 -3
  747. package/package/components/flows/content/FlowModuleComponent.svelte +24 -8
  748. package/package/components/flows/content/FlowModuleMockTransitionMessage.svelte +13 -13
  749. package/package/components/flows/content/FlowModuleMockTransitionMessage.svelte.d.ts +2 -17
  750. package/package/components/flows/content/FlowModuleScript.svelte +1 -1
  751. package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
  752. package/package/components/flows/content/FlowPathViewer.svelte +7 -5
  753. package/package/components/flows/content/FlowPathViewer.svelte.d.ts +4 -18
  754. package/package/components/flows/content/FlowPreprocessorModule.svelte +2 -3
  755. package/package/components/flows/content/FlowPreprocessorModule.svelte.d.ts +4 -18
  756. package/package/components/flows/content/FlowResult.svelte +77 -25
  757. package/package/components/flows/content/FlowRetries.svelte +1 -1
  758. package/package/components/flows/content/FlowSelectionPanel.svelte +34 -10
  759. package/package/components/flows/content/FlowSelectionPanel.svelte.d.ts +5 -0
  760. package/package/components/flows/content/FlowSettings.svelte +70 -25
  761. package/package/components/flows/content/FlowWhileLoop.svelte +2 -1
  762. package/package/components/flows/content/GenAiQuick.svelte +6 -6
  763. package/package/components/flows/content/GenAiQuick.svelte.d.ts +7 -6
  764. package/package/components/flows/content/ScriptEditorDrawer.svelte +5 -4
  765. package/package/components/flows/content/SuspendDrawer.svelte +4 -4
  766. package/package/components/flows/content/SuspendDrawer.svelte.d.ts +4 -18
  767. package/package/components/flows/flowModuleNextId.d.ts +1 -0
  768. package/package/components/flows/flowModuleNextId.js +11 -0
  769. package/package/components/flows/flowState.js +6 -0
  770. package/package/components/flows/flowStateUtils.svelte.d.ts +1 -1
  771. package/package/components/flows/flowStateUtils.svelte.js +4 -1
  772. package/package/components/flows/flowStore.svelte.d.ts +1 -1
  773. package/package/components/flows/flowStore.svelte.js +4 -2
  774. package/package/components/flows/header/FlowPreviewButtons.svelte +12 -1
  775. package/package/components/flows/header/FlowYamlEditor.svelte +6 -2
  776. package/package/components/flows/map/FlowJobsMenu.svelte +4 -0
  777. package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +2 -2
  778. package/package/components/flows/map/FlowModuleSchemaItem.svelte +65 -54
  779. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +2 -2
  780. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +11 -9
  781. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +1 -0
  782. package/package/components/flows/map/FlowModuleSchemaMap.svelte +163 -23
  783. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +5 -2
  784. package/package/components/flows/map/InsertModuleInner.svelte +53 -21
  785. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
  786. package/package/components/flows/map/MapItem.svelte +22 -9
  787. package/package/components/flows/map/MapItem.svelte.d.ts +4 -3
  788. package/package/components/flows/map/VirtualItem.svelte +5 -2
  789. package/package/components/flows/missingInputWarnings.js +7 -0
  790. package/package/components/flows/multiSelectUtils.d.ts +26 -0
  791. package/package/components/flows/multiSelectUtils.js +122 -0
  792. package/package/components/flows/pickers/FlowScriptPicker.svelte +3 -0
  793. package/package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  794. package/package/components/flows/pickers/FlowScriptPickerQuick.svelte +5 -6
  795. package/package/components/flows/pickers/FlowScriptPickerQuick.svelte.d.ts +9 -8
  796. package/package/components/flows/pickers/FlowToplevelNode.svelte +2 -3
  797. package/package/components/flows/pickers/FlowToplevelNode.svelte.d.ts +6 -5
  798. package/package/components/flows/pickers/PickHubApp.svelte +21 -2
  799. package/package/components/flows/pickers/PickHubFlow.svelte +21 -2
  800. package/package/components/flows/pickers/PickHubScript.svelte +12 -1
  801. package/package/components/flows/pickers/PickHubScriptQuick.svelte +18 -9
  802. package/package/components/flows/pickers/TopLevelNode.svelte +2 -0
  803. package/package/components/flows/previousResults.d.ts +1 -1
  804. package/package/components/flows/propPicker/JobPickerLight.svelte +1 -1
  805. package/package/components/flows/propPicker/JobPickerLight.svelte.d.ts +4 -18
  806. package/package/components/flows/propPicker/OutputBadge.svelte +2 -2
  807. package/package/components/flows/propPicker/OutputBadge.svelte.d.ts +6 -20
  808. package/package/components/flows/propPicker/OutputPicker.svelte +2 -1
  809. package/package/components/flows/propPicker/PropPickerWrapper.svelte +6 -12
  810. package/package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +3 -3
  811. package/package/components/flows/scheduleUtils.js +2 -2
  812. package/package/components/flows/types.d.ts +3 -6
  813. package/package/components/flows/utils.svelte.js +5 -1
  814. package/package/components/git_sync/GitSyncContext.svelte.js +74 -41
  815. package/package/components/git_sync/GitSyncModalManager.svelte +1 -1
  816. package/package/components/git_sync/GitSyncModalManager.svelte.d.ts +2 -17
  817. package/package/components/git_sync/GitSyncRepositoryCard.svelte +57 -38
  818. package/package/components/git_sync/GitSyncSection.svelte +24 -27
  819. package/package/components/graph/DragCoordinator.svelte +63 -0
  820. package/package/components/graph/DragCoordinator.svelte.d.ts +12 -0
  821. package/package/components/graph/DragGhost.svelte +138 -0
  822. package/package/components/graph/DragGhost.svelte.d.ts +10 -0
  823. package/package/components/graph/FlowGraphV2.svelte +86 -62
  824. package/package/components/graph/FlowGraphV2.svelte.d.ts +9 -3
  825. package/package/components/graph/MiniFlowGraph.svelte +82 -0
  826. package/package/components/graph/MiniFlowGraph.svelte.d.ts +11 -0
  827. package/package/components/graph/MoveHandleButton.svelte +47 -0
  828. package/package/components/graph/MoveHandleButton.svelte.d.ts +13 -0
  829. package/package/components/graph/SelectionBoundingBox.svelte +72 -20
  830. package/package/components/graph/SelectionBoundingBox.svelte.d.ts +7 -0
  831. package/package/components/graph/SelectionTool.svelte +3 -2
  832. package/package/components/graph/compoundLayout.d.ts +28 -0
  833. package/package/components/graph/compoundLayout.js +436 -0
  834. package/package/components/graph/graphBuilder.svelte.d.ts +12 -23
  835. package/package/components/graph/graphBuilder.svelte.js +27 -41
  836. package/package/components/graph/graphContext.d.ts +2 -0
  837. package/package/components/graph/model.d.ts +1 -1
  838. package/package/components/graph/moveManager.svelte.d.ts +74 -0
  839. package/package/components/graph/moveManager.svelte.js +176 -0
  840. package/package/components/graph/noteEditor.svelte.d.ts +0 -1
  841. package/package/components/graph/noteManager.svelte.d.ts +4 -0
  842. package/package/components/graph/noteManager.svelte.js +6 -0
  843. package/package/components/graph/noteUtils.svelte.d.ts +0 -1
  844. package/package/components/graph/noteUtils.svelte.js +0 -2
  845. package/package/components/graph/renderers/edges/BaseEdge.svelte +65 -24
  846. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +0 -1
  847. package/package/components/graph/renderers/edges/HiddenBaseEdge.svelte +1 -1
  848. package/package/components/graph/renderers/edges/HiddenBaseEdge.svelte.d.ts +4 -18
  849. package/package/components/graph/renderers/nodes/AIToolNode.svelte +7 -5
  850. package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +1 -0
  851. package/package/components/graph/renderers/nodes/AssetNode.svelte +51 -36
  852. package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +1 -0
  853. package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte +18 -14
  854. package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte.d.ts +1 -0
  855. package/package/components/graph/renderers/nodes/BranchAllEndNode.svelte +1 -1
  856. package/package/components/graph/renderers/nodes/BranchAllStart.svelte +1 -1
  857. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
  858. package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +1 -1
  859. package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +1 -1
  860. package/package/components/graph/renderers/nodes/ModuleNode.svelte +50 -9
  861. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +13 -0
  862. package/package/components/graph/renderers/nodes/NoBranchNode.svelte +2 -2
  863. package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +1 -0
  864. package/package/components/graph/renderers/nodes/NodeWrapper.svelte +21 -7
  865. package/package/components/graph/renderers/nodes/NodeWrapper.svelte.d.ts +4 -1
  866. package/package/components/graph/renderers/nodes/NoteNode.svelte +2 -2
  867. package/package/components/graph/renderers/nodes/SubflowBound.svelte +1 -1
  868. package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +1 -1
  869. package/package/components/graph/renderers/triggers/TriggerButton.svelte +6 -4
  870. package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +5 -29
  871. package/package/components/graph/renderers/triggers/TriggerCount.svelte +1 -1
  872. package/package/components/graph/renderers/triggers/TriggerCount.svelte.d.ts +4 -18
  873. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +7 -8
  874. package/package/components/graph/selectionUtils.svelte.d.ts +1 -0
  875. package/package/components/graph/selectionUtils.svelte.js +11 -1
  876. package/package/components/graph/util.d.ts +1 -4
  877. package/package/components/graph/util.js +3 -6
  878. package/package/components/graph/wacToFlow.d.ts +4 -0
  879. package/package/components/graph/wacToFlow.js +14 -0
  880. package/package/components/home/FlowIcon.svelte +2 -2
  881. package/package/components/home/FlowIcon.svelte.d.ts +5 -19
  882. package/package/components/home/Item.svelte +9 -15
  883. package/package/components/home/Item.svelte.d.ts +8 -7
  884. package/package/components/home/ItemsList.svelte +7 -13
  885. package/package/components/home/ItemsList.svelte.d.ts +1 -0
  886. package/package/components/home/ListFiltersQuick.svelte +2 -4
  887. package/package/components/home/ListFiltersQuick.svelte.d.ts +10 -9
  888. package/package/components/icons/AssetGenericIcon.svelte +3 -1
  889. package/package/components/icons/ClaudeIcon.svelte +20 -0
  890. package/package/components/icons/ClaudeIcon.svelte.d.ts +7 -0
  891. package/package/components/icons/GoogleCalendarIcon.svelte +41 -0
  892. package/package/components/icons/GoogleCalendarIcon.svelte.d.ts +7 -0
  893. package/package/components/icons/GoogleDriveIcon.svelte +30 -0
  894. package/package/components/icons/GoogleDriveIcon.svelte.d.ts +7 -0
  895. package/package/components/icons/GoogleIcon.svelte +15 -6
  896. package/package/components/icons/GoogleIcon.svelte.d.ts +5 -2
  897. package/package/components/icons/MSSqlServerIcon.svelte +111 -47
  898. package/package/components/icons/RubyIcon.svelte +2 -2
  899. package/package/components/icons/WindmillIcon2.svelte +0 -1
  900. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte +94 -0
  901. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte.d.ts +9 -0
  902. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte +67 -0
  903. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte.d.ts +9 -0
  904. package/package/components/instanceSettings/IndexerMemorySettings.svelte +242 -0
  905. package/package/components/instanceSettings/IndexerMemorySettings.svelte.d.ts +9 -0
  906. package/package/components/instanceSettings/SecretBackendConfig.svelte +15 -16
  907. package/package/components/instanceSettings/SettingCard.svelte +47 -0
  908. package/package/components/instanceSettings/SettingCard.svelte.d.ts +19 -0
  909. package/package/components/instanceSettings/SettingsSearchInput.svelte +66 -0
  910. package/package/components/instanceSettings/SettingsSearchInput.svelte.d.ts +9 -0
  911. package/package/components/instanceSettings.d.ts +52 -0
  912. package/package/components/instanceSettings.js +446 -64
  913. package/package/components/meltComponents/MeltButton.svelte +5 -10
  914. package/package/components/meltComponents/MeltButton.svelte.d.ts +12 -35
  915. package/package/components/meltComponents/Menu.svelte +6 -6
  916. package/package/components/meltComponents/Menu.svelte.d.ts +2 -2
  917. package/package/components/meltComponents/MenuItem.svelte +1 -0
  918. package/package/components/meltComponents/Menubar.svelte +3 -2
  919. package/package/components/meltComponents/Menubar.svelte.d.ts +7 -0
  920. package/package/components/meltComponents/Popover.svelte +50 -65
  921. package/package/components/meltComponents/Popover.svelte.d.ts +40 -42
  922. package/package/components/meltComponents/SideBarTab.svelte +3 -2
  923. package/package/components/meltComponents/Tooltip.svelte +15 -20
  924. package/package/components/meltComponents/Tooltip.svelte.d.ts +16 -38
  925. package/package/components/moveRenameManager.d.ts +21 -0
  926. package/package/components/moveRenameManager.js +61 -0
  927. package/package/components/progressBar/ProgressBar.svelte +69 -27
  928. package/package/components/progressBar/ProgressBar.svelte.d.ts +7 -0
  929. package/package/components/prop_picker.d.ts +0 -3
  930. package/package/components/propertyPicker/ObjectViewer.svelte +253 -165
  931. package/package/components/propertyPicker/ObjectViewerWrapper.svelte +16 -27
  932. package/package/components/propertyPicker/ObjectViewerWrapper.svelte.d.ts +16 -15
  933. package/package/components/propertyPicker/PropPicker.svelte +49 -96
  934. package/package/components/propertyPicker/PropPicker.svelte.d.ts +11 -11
  935. package/package/components/propertyPicker/PropPickerResult.svelte +1 -5
  936. package/package/components/propertyPicker/PropPickerResult.svelte.d.ts +9 -8
  937. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +40 -36
  938. package/package/components/raw_apps/FileTreeNode.svelte +3 -2
  939. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +3 -2
  940. package/package/components/raw_apps/RawAppEditor.svelte +20 -16
  941. package/package/components/raw_apps/RawAppEditor.svelte.d.ts +4 -4
  942. package/package/components/raw_apps/RawAppEditorHeader.svelte +87 -8
  943. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -1
  944. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +1 -2
  945. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +41 -1
  946. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +0 -1
  947. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +0 -1
  948. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +4 -4
  949. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +0 -1
  950. package/package/components/raw_apps/RawAppSidebar.svelte +32 -284
  951. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -1
  952. package/package/components/raw_apps/RunnableRow.svelte +88 -34
  953. package/package/components/raw_apps/RunnableRow.svelte.d.ts +4 -0
  954. package/package/components/raw_apps/fileTreeUtils.js +2 -3
  955. package/package/components/raw_apps/utils.js +6 -1
  956. package/package/components/recording/FlowRecordingReplay.svelte +210 -0
  957. package/package/components/recording/FlowRecordingReplay.svelte.d.ts +7 -0
  958. package/package/components/recording/ScriptRecordingReplay.svelte +210 -0
  959. package/package/components/recording/ScriptRecordingReplay.svelte.d.ts +7 -0
  960. package/package/components/recording/flowRecording.svelte.d.ts +22 -0
  961. package/package/components/recording/flowRecording.svelte.js +205 -0
  962. package/package/components/recording/scriptRecording.svelte.d.ts +9 -0
  963. package/package/components/recording/scriptRecording.svelte.js +88 -0
  964. package/package/components/recording/types.d.ts +39 -0
  965. package/package/components/recording/types.js +1 -0
  966. package/package/components/resources/resourcesFilter.d.ts +74 -0
  967. package/package/components/resources/resourcesFilter.js +65 -0
  968. package/package/components/runs/BatchReRunOptionsPane.svelte +130 -121
  969. package/package/components/runs/BatchReRunOptionsPane.svelte.d.ts +3 -2
  970. package/package/components/runs/FlowExecutionStatus.svelte +30 -0
  971. package/package/components/runs/FlowExecutionStatus.svelte.d.ts +15 -0
  972. package/package/components/runs/JobDetailFieldConfig.d.ts +47 -0
  973. package/package/components/runs/JobDetailFieldConfig.js +433 -0
  974. package/package/components/runs/JobDetailHeader.svelte +551 -0
  975. package/package/components/runs/JobDetailHeader.svelte.d.ts +17 -0
  976. package/package/components/runs/JobRunsPreview.svelte +182 -219
  977. package/package/components/runs/JobRunsPreview.svelte.d.ts +0 -1
  978. package/package/components/runs/JobStatusIcon.svelte +47 -0
  979. package/package/components/runs/JobStatusIcon.svelte.d.ts +9 -0
  980. package/package/components/runs/MobileFilters.svelte +15 -10
  981. package/package/components/runs/MobileFilters.svelte.d.ts +4 -18
  982. package/package/components/runs/PreprocessedArgsDisplay.svelte +2 -10
  983. package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +4 -18
  984. package/package/components/runs/QueuePopover.svelte +2 -2
  985. package/package/components/runs/QueuePopover.svelte.d.ts +4 -18
  986. package/package/components/runs/RunBadges.svelte +40 -35
  987. package/package/components/runs/RunBadges.svelte.d.ts +2 -1
  988. package/package/components/runs/RunRow.svelte +24 -64
  989. package/package/components/runs/RunRow.svelte.d.ts +1 -2
  990. package/package/components/runs/RunsTable.svelte +317 -131
  991. package/package/components/runs/RunsTable.svelte.d.ts +5 -3
  992. package/package/components/runs/TimeframeSelect.svelte +189 -0
  993. package/package/components/runs/TimeframeSelect.svelte.d.ts +44 -0
  994. package/package/components/runs/runsFilter.d.ts +217 -0
  995. package/package/components/runs/runsFilter.js +198 -0
  996. package/package/components/runs/useJobsLoader.svelte.d.ts +13 -8
  997. package/package/components/runs/useJobsLoader.svelte.js +214 -75
  998. package/package/components/schedules/schedulesFilter.d.ts +69 -0
  999. package/package/components/schedules/schedulesFilter.js +64 -0
  1000. package/package/components/schema/AddProperty.svelte +1 -1
  1001. package/package/components/schema/AddProperty.svelte.d.ts +5 -6
  1002. package/package/components/schema/AddPropertyForm.svelte +1 -1
  1003. package/package/components/schema/AddPropertyForm.svelte.d.ts +1 -1
  1004. package/package/components/schema/EditableSchemaSdkWrapper.svelte +3 -2
  1005. package/package/components/schema/EditableSchemaWrapper.svelte +43 -22
  1006. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -1
  1007. package/package/components/schema/FlowPropertyEditor.svelte +1 -5
  1008. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  1009. package/package/components/schema/PropertyEditor.svelte +1 -0
  1010. package/package/components/schema/RunningJobSchemaPicker.svelte +32 -31
  1011. package/package/components/schema/RunningJobSchemaPicker.svelte.d.ts +8 -7
  1012. package/package/components/schema/SchemaPickerRow.svelte +3 -3
  1013. package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
  1014. package/package/components/scriptEditor/LogPanel.svelte +11 -2
  1015. package/package/components/script_builder.d.ts +1 -1
  1016. package/package/components/scripts/CreateActionsScript.svelte +0 -1
  1017. package/package/components/search/GlobalSearchModal.svelte +1 -8
  1018. package/package/components/search/QuickMenuItem.svelte +2 -2
  1019. package/package/components/search/RunsSearch.svelte +5 -1
  1020. package/package/components/select/GenericDropdown.svelte +116 -0
  1021. package/package/components/select/GenericDropdown.svelte.d.ts +37 -0
  1022. package/package/components/select/MultiSelect.svelte +1 -0
  1023. package/package/components/select/Select.svelte +18 -4
  1024. package/package/components/select/Select.svelte.d.ts +2 -1
  1025. package/package/components/select/SelectDropdown.svelte +77 -156
  1026. package/package/components/select/SelectDropdown.svelte.d.ts +4 -1
  1027. package/package/components/settings/ChangeWorkspaceColor.svelte +7 -8
  1028. package/package/components/settings/ChangeWorkspaceId.svelte +18 -15
  1029. package/package/components/settings/ChangeWorkspaceId.svelte.d.ts +4 -18
  1030. package/package/components/settings/ChangeWorkspaceName.svelte +6 -8
  1031. package/package/components/settings/CreateToken.svelte +8 -20
  1032. package/package/components/settings/PremiumInfo.svelte +302 -158
  1033. package/package/components/settings/PremiumInfo.svelte.d.ts +4 -18
  1034. package/package/components/settings/SettingsPageHeader.svelte +22 -0
  1035. package/package/components/settings/SettingsPageHeader.svelte.d.ts +10 -0
  1036. package/package/components/settings/TokensTable.svelte +74 -14
  1037. package/package/components/settings/WorkspaceUserSettings.svelte +13 -24
  1038. package/package/components/sidebar/CriticalAlertModal.svelte +33 -30
  1039. package/package/components/sidebar/CriticalAlertModal.svelte.d.ts +4 -18
  1040. package/package/components/sidebar/CriticalAlertModalInner.svelte +28 -22
  1041. package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +5 -20
  1042. package/package/components/sidebar/CriticalAlertTable.svelte +4 -13
  1043. package/package/components/sidebar/CriticalAlertTable.svelte.d.ts +4 -18
  1044. package/package/components/sidebar/DarkModeToggle.svelte +4 -5
  1045. package/package/components/sidebar/DarkModeToggle.svelte.d.ts +5 -20
  1046. package/package/components/sidebar/FavoriteMenu.svelte +101 -20
  1047. package/package/components/sidebar/FavoriteMenu.svelte.d.ts +29 -1
  1048. package/package/components/sidebar/MenuButton.svelte +12 -9
  1049. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  1050. package/package/components/sidebar/MenuLink.svelte +4 -3
  1051. package/package/components/sidebar/MultiplayerMenu.svelte +12 -7
  1052. package/package/components/sidebar/MultiplayerMenu.svelte.d.ts +2 -17
  1053. package/package/components/sidebar/OperatorMenu.svelte +3 -1
  1054. package/package/components/sidebar/OperatorMenu.svelte.d.ts +6 -1
  1055. package/package/components/sidebar/SideBarNotification.svelte +1 -2
  1056. package/package/components/sidebar/SideBarNotification.svelte.d.ts +4 -18
  1057. package/package/components/sidebar/SidebarContent.svelte +6 -6
  1058. package/package/components/sidebar/WorkspaceMenu.svelte +7 -6
  1059. package/package/components/splitPanes/AnimatedPane.svelte +2 -2
  1060. package/package/components/splitPanes/SplitPanesWrapper.svelte +11 -15
  1061. package/package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +12 -28
  1062. package/package/components/sqlTypeService.d.ts +2 -2
  1063. package/package/components/sqlTypeService.js +4 -8
  1064. package/package/components/table/AutoDataTable.svelte +2 -2
  1065. package/package/components/table/Cell.svelte +2 -2
  1066. package/package/components/table/DataTable.svelte +1 -1
  1067. package/package/components/table/DownloadCsv.svelte +1 -2
  1068. package/package/components/table/DownloadCsv.svelte.d.ts +4 -18
  1069. package/package/components/table/Head.svelte +6 -2
  1070. package/package/components/table/Head.svelte.d.ts +6 -27
  1071. package/package/components/table/Row.svelte +6 -10
  1072. package/package/components/table/Row.svelte.d.ts +11 -18
  1073. package/package/components/toast.js +1 -2
  1074. package/package/components/triggers/AddTriggersButton.svelte +11 -0
  1075. package/package/components/triggers/CaptureIcon.svelte +1 -2
  1076. package/package/components/triggers/CaptureIcon.svelte.d.ts +5 -19
  1077. package/package/components/triggers/TestTriggerConnection.svelte +1 -4
  1078. package/package/components/triggers/TestTriggerConnection.svelte.d.ts +6 -21
  1079. package/package/components/triggers/TriggerAdvancedBadges.svelte +16 -0
  1080. package/package/components/triggers/TriggerAdvancedBadges.svelte.d.ts +12 -0
  1081. package/package/components/triggers/TriggerEditorToolbar.svelte +11 -9
  1082. package/package/components/triggers/TriggerFilters.svelte +71 -0
  1083. package/package/components/triggers/TriggerFilters.svelte.d.ts +10 -0
  1084. package/package/components/triggers/TriggerTokens.svelte +8 -7
  1085. package/package/components/triggers/TriggerTokens.svelte.d.ts +6 -21
  1086. package/package/components/triggers/TriggersEditor.svelte +31 -11
  1087. package/package/components/triggers/TriggersWrapper.svelte +10 -0
  1088. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +1 -1
  1089. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +7 -2
  1090. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +9 -2
  1091. package/package/components/triggers/http/RouteCapture.svelte +1 -1
  1092. package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
  1093. package/package/components/triggers/http/RouteEditorInner.svelte +11 -2
  1094. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +124 -3
  1095. package/package/components/triggers/kafka/KafkaTriggersConfigSection.svelte +1 -0
  1096. package/package/components/triggers/kafka/utils.js +3 -0
  1097. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +12 -3
  1098. package/package/components/triggers/native/NativeTriggerEditor.svelte +22 -17
  1099. package/package/components/triggers/native/NativeTriggerTable.svelte +16 -0
  1100. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte +112 -0
  1101. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte.d.ts +8 -0
  1102. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte +323 -0
  1103. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte.d.ts +8 -0
  1104. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte +116 -0
  1105. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte.d.ts +12 -0
  1106. package/package/components/triggers/native/utils.d.ts +0 -1
  1107. package/package/components/triggers/native/utils.js +15 -1
  1108. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +7 -2
  1109. package/package/components/triggers/postgres/CheckPostgresRequirement.svelte +2 -4
  1110. package/package/components/triggers/postgres/CheckPostgresRequirement.svelte.d.ts +4 -18
  1111. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +10 -4
  1112. package/package/components/triggers/postgres/PublicationPicker.svelte +9 -12
  1113. package/package/components/triggers/postgres/PublicationPicker.svelte.d.ts +4 -18
  1114. package/package/components/triggers/postgres/SlotPicker.svelte +4 -7
  1115. package/package/components/triggers/postgres/SlotPicker.svelte.d.ts +4 -18
  1116. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +13 -3
  1117. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +6 -1
  1118. package/package/components/triggers/testingBadge.svelte +3 -1
  1119. package/package/components/triggers/triggers.svelte.d.ts +1 -1
  1120. package/package/components/triggers/triggers.svelte.js +11 -3
  1121. package/package/components/triggers/utils.js +33 -6
  1122. package/package/components/triggers/webhook/WebhooksConfigSection.svelte +1 -1
  1123. package/package/components/triggers/websocket/WebsocketCapture.svelte +15 -13
  1124. package/package/components/triggers/websocket/WebsocketEditorConfigSection.svelte +1 -1
  1125. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +12 -84
  1126. package/package/components/triggers.d.ts +1 -1
  1127. package/package/components/tutorials/Tutorial.svelte +2 -6
  1128. package/package/components/tutorials/Tutorial.svelte.d.ts +14 -23
  1129. package/package/components/tutorials/TutorialControls.svelte +1 -2
  1130. package/package/components/tutorials/TutorialControls.svelte.d.ts +6 -5
  1131. package/package/components/tutorials/TutorialWrapper.svelte +3 -2
  1132. package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte +2 -3
  1133. package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte.d.ts +6 -6
  1134. package/package/components/tutorials/app/ConnectionTutorial.svelte +2 -3
  1135. package/package/components/tutorials/app/ConnectionTutorial.svelte.d.ts +6 -6
  1136. package/package/components/tutorials/app/ExpressionEvaluationTutorial.svelte +2 -3
  1137. package/package/components/tutorials/app/ExpressionEvaluationTutorial.svelte.d.ts +6 -6
  1138. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +3 -3
  1139. package/package/components/tutorials/workspace/WorkspaceOnboardingTutorial.svelte +3 -3
  1140. package/package/components/variables/variablesFilter.d.ts +60 -0
  1141. package/package/components/variables/variablesFilter.js +55 -0
  1142. package/package/components/waitJob.d.ts +1 -1
  1143. package/package/components/waitJob.js +3 -2
  1144. package/package/components/wizards/AppPicker.svelte +3 -3
  1145. package/package/components/wizards/AppPicker.svelte.d.ts +4 -18
  1146. package/package/components/wizards/DBExplorerWizard.svelte +1 -0
  1147. package/package/components/worker_group.d.ts +2 -0
  1148. package/package/components/worker_group.js +15 -0
  1149. package/package/components/workspace/WorkspaceCard.svelte +3 -2
  1150. package/package/components/workspaceSettings/AISettings.svelte +36 -42
  1151. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -0
  1152. package/package/components/workspaceSettings/CreateWorkspace.svelte +7 -7
  1153. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +1 -3
  1154. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte.d.ts +0 -2
  1155. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +3 -3
  1156. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte.d.ts +0 -2
  1157. package/package/components/workspaceSettings/DataTableSettings.svelte +31 -25
  1158. package/package/components/workspaceSettings/DataTableSettings.svelte.d.ts +1 -0
  1159. package/package/components/workspaceSettings/DucklakeSettings.svelte +140 -170
  1160. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +1 -0
  1161. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +36 -68
  1162. package/package/components/workspaceSettings/ModelTokenLimits.svelte +6 -10
  1163. package/package/components/workspaceSettings/OAuthClientConfig.svelte +46 -75
  1164. package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +8 -1
  1165. package/package/components/workspaceSettings/RulesetEditor.svelte +292 -0
  1166. package/package/components/workspaceSettings/RulesetEditor.svelte.d.ts +9 -0
  1167. package/package/components/workspaceSettings/SettingsFooter.svelte +35 -0
  1168. package/package/components/workspaceSettings/SettingsFooter.svelte.d.ts +12 -0
  1169. package/package/components/workspaceSettings/StorageSettings.svelte +115 -48
  1170. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  1171. package/package/components/workspaceSettings/WorkspaceDependenciesSettings.svelte +66 -27
  1172. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +244 -79
  1173. package/package/components/workspaceSettings/WorkspaceRulesets.svelte +183 -0
  1174. package/package/components/workspaceSettings/WorkspaceRulesets.svelte.d.ts +3 -0
  1175. package/package/editorLangUtils.d.ts +1 -1
  1176. package/package/gen/core/OpenAPI.js +1 -1
  1177. package/package/gen/schemas.gen.d.ts +1253 -79
  1178. package/package/gen/schemas.gen.js +1608 -386
  1179. package/package/gen/services.gen.d.ts +320 -98
  1180. package/package/gen/services.gen.js +597 -147
  1181. package/package/gen/types.gen.d.ts +2706 -476
  1182. package/package/hub.d.ts +1 -1
  1183. package/package/hub.js +7 -0
  1184. package/package/hubPaths.json +26 -23
  1185. package/package/infer.d.ts +2 -0
  1186. package/package/infer.js +64 -14
  1187. package/package/infer.svelte.js +88 -42
  1188. package/package/mcpEndpointTools.d.ts +3 -0
  1189. package/package/mcpEndpointTools.js +574 -147
  1190. package/package/rawAppWmillTs.js +12 -11
  1191. package/package/script_helpers.d.ts +8 -5
  1192. package/package/script_helpers.js +64 -21
  1193. package/package/scripts.d.ts +1 -1
  1194. package/package/scripts.js +1 -1
  1195. package/package/storeUtils.js +8 -0
  1196. package/package/stores.d.ts +3 -1
  1197. package/package/stores.js +3 -2
  1198. package/package/svelte5Utils.svelte.js +164 -0
  1199. package/package/svelte5UtilsKit.svelte.d.ts +13 -3
  1200. package/package/svelte5UtilsKit.svelte.js +97 -20
  1201. package/package/system_prompts/prompts.d.ts +20 -20
  1202. package/package/system_prompts/prompts.js +943 -596
  1203. package/package/templates/claude_sandbox.ts.template +85 -0
  1204. package/package/toast.d.ts +5 -1
  1205. package/package/toast.js +14 -5
  1206. package/package/utils/editInFork.d.ts +3 -0
  1207. package/package/utils/editInFork.js +19 -0
  1208. package/package/utils.js +216 -9
  1209. package/package/utils_deployable.d.ts +258 -34
  1210. package/package/utils_deployable.js +66 -11
  1211. package/package/utils_workspace_deploy.d.ts +31 -0
  1212. package/package/utils_workspace_deploy.js +449 -0
  1213. package/package/validators/workspaceSettings.d.ts +12 -0
  1214. package/package/validators/workspaceSettings.js +72 -0
  1215. package/package/workspaceProtectionRules.svelte.d.ts +73 -0
  1216. package/package/workspaceProtectionRules.svelte.js +176 -0
  1217. package/package/workspace_settings.d.ts +2 -1
  1218. package/package/workspace_settings.js +28 -0
  1219. package/package.json +38 -16
  1220. package/package/components/DropdownSelect.svelte +0 -26
  1221. package/package/components/DropdownSelect.svelte.d.ts +0 -11
  1222. package/package/components/FlowPreviewResult.svelte +0 -84
  1223. package/package/components/FlowPreviewResult.svelte.d.ts +0 -20
  1224. package/package/components/copilot/chat/context.d.ts +0 -119
  1225. package/package/components/flows/propPicker/FlowPropPicker.svelte +0 -72
  1226. package/package/components/flows/propPicker/FlowPropPicker.svelte.d.ts +0 -23
  1227. package/package/components/runs/ManuelDatePicker.svelte +0 -96
  1228. package/package/components/runs/ManuelDatePicker.svelte.d.ts +0 -35
  1229. package/package/components/runs/RunsBatchActionsDropdown.svelte +0 -82
  1230. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +0 -15
  1231. package/package/components/runs/RunsFilter.svelte +0 -966
  1232. package/package/components/runs/RunsFilter.svelte.d.ts +0 -80
  1233. package/package/svelte5Utils.svelte.d.ts +0 -138
@@ -1,22 +1,34 @@
1
- <script lang="ts">import { AlertTriangle, ArrowDown, ArrowDownRight, ArrowRight, ArrowUp, ArrowUpRight, Building, DiffIcon, GitFork, Loader2 } from 'lucide-svelte';
1
+ <script lang="ts">import { AlertTriangle, ArrowDown, ArrowDownRight, ArrowRight, ArrowUp, ArrowUpRight, Building, DiffIcon, GitFork, Loader2, Trash2, Upload } from 'lucide-svelte';
2
2
  import { Alert, Badge } from './common';
3
- import { AppService, FlowService, FolderService, RawAppService, ResourceService, ScheduleService, ScriptService, VariableService, WorkspaceService } from '../gen';
3
+ import { AppService, EmailTriggerService, FlowService, FolderService, GcpTriggerService, HttpTriggerService, KafkaTriggerService, MqttTriggerService, NatsTriggerService, PostgresTriggerService, ScheduleService, ScriptService, SqsTriggerService, UserService, WebsocketTriggerService, WorkspaceService } from '../gen';
4
4
  import Button from './common/button/Button.svelte';
5
+ import ConfirmationModal from './common/confirmationModal/ConfirmationModal.svelte';
6
+ import Row from './common/table/Row.svelte';
5
7
  import DiffDrawer from './DiffDrawer.svelte';
6
- import { getAllModules } from './flows/flowExplorer';
8
+ import DeployWorkspaceDrawer from './DeployWorkspaceDrawer.svelte';
9
+ import ParentWorkspaceProtectionAlert from './ParentWorkspaceProtectionAlert.svelte';
7
10
  import { userWorkspaces, workspaceStore } from '../stores';
8
- import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte';
9
- import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
10
- import Row from './common/table/Row.svelte';
11
- import { sendUserToast } from '../toast';
11
+ import { deployItem, getItemValue, getOnBehalfOfEmail } from '../utils_workspace_deploy';
12
12
  import Tooltip from './Tooltip.svelte';
13
+ import OnBehalfOfSelector, { needsOnBehalfOfSelection } from './OnBehalfOfSelector.svelte';
14
+ import { sendUserToast } from '../toast';
13
15
  import { deepEqual } from 'fast-equals';
16
+ import WorkspaceDeployLayout from './WorkspaceDeployLayout.svelte';
17
+ import { triggerDisplayNamesMap, triggerKindToTriggerType } from './triggers/utils';
18
+ import { getEmailAddress, getEmailDomain } from './triggers/email/utils';
19
+ import { base } from '../base';
20
+ import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte';
21
+ import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
14
22
  let { currentWorkspaceId, parentWorkspaceId, comparison } = $props();
15
23
  let currentWorkspaceInfo = $derived($userWorkspaces.find((w) => w.id == currentWorkspaceId));
16
24
  let parentWorkspaceInfo = $derived($userWorkspaces.find((w) => w.id == parentWorkspaceId));
17
25
  let mergeIntoParent = $state(true);
18
26
  let deploying = $state(false);
19
27
  let hasAutoSelected = $state(false);
28
+ let canDeployToParent = $state(true);
29
+ let canPreserveInParent = $state(false);
30
+ let canPreserveInCurrent = $state(false);
31
+ let canPreserveOnBehalfOf = $derived(mergeIntoParent ? canPreserveInParent : canPreserveInCurrent);
20
32
  let selectableDiffs = $derived(comparison?.diffs.filter((diff) => {
21
33
  if (mergeIntoParent) {
22
34
  return diff.ahead > 0;
@@ -38,6 +50,12 @@ let itemsWithAheadChanges = $derived(comparison?.diffs.filter((diff) => {
38
50
  let hasBehindChanges = $derived(mergeIntoParent && itemsWithBehindChanges.length > 0);
39
51
  let hasAheadChanges = $derived(mergeIntoParent && itemsWithAheadChanges.length > 0);
40
52
  let summaryCache = $state({});
53
+ // On-behalf-of tracking for flows and scripts
54
+ // Source workspace on_behalf_of emails (keyed by workspace/kind:path)
55
+ let onBehalfOfInfo = $state({});
56
+ let onBehalfOfChoice = $state({});
57
+ let customOnBehalfOfEmails = $state({});
58
+ let deployTargetWorkspace = $derived(mergeIntoParent ? parentWorkspaceId : currentWorkspaceId);
41
59
  function getItemKey(diff) {
42
60
  return `${diff.kind}:${diff.path}`;
43
61
  }
@@ -87,100 +105,52 @@ async function fetchSummaries(diffs) {
87
105
  };
88
106
  }
89
107
  }
90
- async function getValue(kind, path, workspace) {
91
- try {
92
- if (kind == 'flow') {
93
- const flow = await FlowService.getFlowByPath({
94
- workspace: workspace,
95
- path: path
96
- });
97
- getAllModules(flow.value.modules).forEach((x) => {
98
- if (x.value.type == 'script' && x.value.hash != undefined) {
99
- x.value.hash = undefined;
100
- }
101
- });
102
- return { summary: flow.summary, description: flow.description, value: flow.value };
103
- }
104
- else if (kind == 'script') {
105
- const script = await ScriptService.getScriptByPath({
106
- workspace: workspace,
107
- path: path
108
- });
109
- return {
110
- content: script.content,
111
- lock: script.lock,
112
- schema: script.schema,
113
- summary: script.summary,
114
- language: script.language
115
- };
116
- }
117
- else if (kind == 'app') {
118
- const app = await AppService.getAppByPath({
119
- workspace: workspace,
120
- path: path
121
- });
122
- return app;
123
- }
124
- else if (kind == 'variable') {
125
- const variable = await VariableService.getVariable({
126
- workspace: workspace,
127
- path: path,
128
- decryptSecret: true
129
- });
130
- return variable.value;
131
- }
132
- else if (kind == 'resource') {
133
- const resource = await ResourceService.getResource({
134
- workspace: workspace,
135
- path: path
136
- });
137
- return resource.value;
138
- }
139
- else if (kind == 'resource_type') {
140
- const resource = await ResourceService.getResourceType({
141
- workspace: workspace,
142
- path: path
143
- });
144
- return resource.schema;
145
- }
146
- else if (kind == 'raw_app') {
147
- throw new Error('Raw app deploy not implemented yet');
148
- // const app = await RawAppService.getRawAppData({
149
- // workspace: workspace,
150
- // path: path
151
- // })
152
- // if (alreadyExists) {
153
- // }
154
- // await RawAppService.updateRawApp({
155
- // workspace: workspace,
156
- // path: path,
157
- // requestBody: {
158
- // path: path
159
- // }
160
- // })
161
- }
162
- else if (kind == 'folder') {
163
- const folder = await FolderService.getFolder({
164
- workspace: workspace,
165
- name: path
166
- });
167
- return {
168
- name: folder.name
169
- };
170
- // } else if (kind == 'trigger') {
171
- // if (additionalInformation?.triggers) {
172
- // return await getTriggerValue(additionalInformation.triggers.kind, path, workspace)
173
- // } else {
174
- // throw new Error(`Missing trigger information`)
175
- // }
176
- }
177
- else {
178
- throw new Error(`Unknown kind ${kind}`);
108
+ async function fetchOnBehalfOfInfo(diffs) {
109
+ const flowsAndScripts = diffs.filter((d) => ['flow', 'script', 'app'].includes(d.kind));
110
+ for (const diff of flowsAndScripts) {
111
+ for (const workspace of [currentWorkspaceId, parentWorkspaceId]) {
112
+ const workspacedKey = getWorkspacedKey(workspace, getItemKey(diff));
113
+ if (onBehalfOfInfo[workspacedKey] !== undefined)
114
+ continue;
115
+ try {
116
+ onBehalfOfInfo[workspacedKey] = await getOnBehalfOfEmail(diff.kind, diff.path, workspace);
117
+ }
118
+ catch {
119
+ onBehalfOfInfo[workspacedKey] = undefined;
120
+ }
179
121
  }
180
122
  }
181
- catch {
182
- return {};
183
- }
123
+ }
124
+ // Get source workspace email for an item
125
+ function getSourceEmail(itemKey) {
126
+ const sourceWorkspace = mergeIntoParent ? currentWorkspaceId : parentWorkspaceId;
127
+ return onBehalfOfInfo[getWorkspacedKey(sourceWorkspace, itemKey)];
128
+ }
129
+ // Get target workspace email for an item (existing item in destination)
130
+ function getTargetEmail(itemKey) {
131
+ const targetWorkspace = mergeIntoParent ? parentWorkspaceId : currentWorkspaceId;
132
+ return onBehalfOfInfo[getWorkspacedKey(targetWorkspace, itemKey)];
133
+ }
134
+ // Check if an item needs on_behalf_of selection
135
+ function itemNeedsOnBehalfOfSelection(itemKey, kind) {
136
+ return needsOnBehalfOfSelection(kind, getSourceEmail(itemKey));
137
+ }
138
+ // Check if all required on_behalf_of selections are made
139
+ let hasUnselectedOnBehalfOf = $derived(selectedItems.some((itemKey) => {
140
+ const diff = selectableDiffs.find((d) => getItemKey(d) === itemKey);
141
+ if (!diff)
142
+ return false;
143
+ return (itemNeedsOnBehalfOfSelection(itemKey, diff.kind) && onBehalfOfChoice[itemKey] === undefined);
144
+ }));
145
+ // Get the email to use for deployment based on user's choice
146
+ function getOnBehalfOfEmailForDeploy(itemKey) {
147
+ const choice = onBehalfOfChoice[itemKey];
148
+ if (choice === 'target')
149
+ return getTargetEmail(itemKey);
150
+ if (choice === 'custom')
151
+ return customOnBehalfOfEmails[itemKey];
152
+ // 'me' or undefined = don't pass, backend will use deploying user's email
153
+ return undefined;
184
154
  }
185
155
  let diffDrawer = $state(undefined);
186
156
  let isFlow = $state(true);
@@ -191,8 +161,8 @@ async function showDiff(kind, path) {
191
161
  isFlow = kind == 'flow';
192
162
  diffDrawer?.openDrawer();
193
163
  let values = await Promise.all([
194
- getValue(kind, path, workspaceTo),
195
- getValue(kind, path, workspaceFrom)
164
+ getItemValue(kind, path, workspaceTo),
165
+ getItemValue(kind, path, workspaceFrom)
196
166
  ]);
197
167
  diffDrawer?.setDiff({
198
168
  mode: 'simple',
@@ -217,366 +187,25 @@ async function selectAllNonConflicts() {
217
187
  .map((d) => getItemKey(d))
218
188
  .filter((k) => !(deploymentStatus[k]?.status == 'deployed'));
219
189
  }
220
- async function checkAlreadyExists(kind, path, workspace) {
221
- let exists;
222
- if (kind == 'flow') {
223
- exists = await FlowService.existsFlowByPath({
224
- workspace: workspace,
225
- path: path
226
- });
227
- }
228
- else if (kind == 'script') {
229
- exists = await ScriptService.existsScriptByPath({
230
- workspace: workspace,
231
- path: path
232
- });
233
- }
234
- else if (kind == 'app') {
235
- exists = await AppService.existsApp({
236
- workspace: workspace,
237
- path: path
238
- });
239
- }
240
- else if (kind == 'raw_app') {
241
- exists = await RawAppService.existsRawApp({
242
- workspace: workspace,
243
- path: path
244
- });
245
- }
246
- else if (kind == 'variable') {
247
- exists = await VariableService.existsVariable({
248
- workspace: workspace,
249
- path: path
250
- });
251
- }
252
- else if (kind == 'resource') {
253
- exists = await ResourceService.existsResource({
254
- workspace: workspace,
255
- path: path
256
- });
257
- }
258
- else if (kind == 'schedule') {
259
- exists = await ScheduleService.existsSchedule({
260
- workspace: workspace,
261
- path: path
262
- });
263
- }
264
- else if (kind == 'resource_type') {
265
- exists = await ResourceService.existsResourceType({
266
- workspace: workspace,
267
- path: path
268
- });
269
- }
270
- else if (kind == 'folder') {
271
- exists = await FolderService.existsFolder({
272
- workspace: workspace,
273
- name: path
274
- });
275
- // } else if (kind === 'trigger') {
276
- // const triggersKind: TriggerKind[] = [
277
- // 'kafka',
278
- // 'mqtt',
279
- // 'nats',
280
- // 'postgres',
281
- // 'routes',
282
- // 'schedules',
283
- // 'sqs',
284
- // 'websockets',
285
- // 'gcp'
286
- // ]
287
- // if (
288
- // additionalInformation?.triggers &&
289
- // triggersKind.includes(additionalInformation.triggers.kind)
290
- // ) {
291
- // exists = await existsTrigger(
292
- // { workspace: workspace, path },
293
- // additionalInformation.triggers.kind
294
- // )
295
- // } else {
296
- // throw new Error(
297
- // `Unexpected triggers kind, expected one of: '${triggersKind.join(', ')}' got: ${
298
- // additionalInformation?.triggers?.kind
299
- // }`
300
- // )
301
- // }
302
- }
303
- else {
304
- throw new Error(`Unknown kind ${kind}`);
305
- }
306
- return exists;
307
- }
308
190
  const deploymentStatus = $state({});
309
- async function deploy(kind, path, workspaceToDeployTo, workspaceFrom) {
310
- const statusPath = `${kind}:${path}`;
191
+ function getWorkspacedKey(workspace, key) {
192
+ return `${workspace}/${key}`;
193
+ }
194
+ async function deploy(kind, path, workspaceToDeployTo, workspaceFrom, statusPath) {
311
195
  deploymentStatus[statusPath] = { status: 'loading' };
312
- // await sleep(1000)
313
- // if (Math.random() > 0.5) {
314
- // deploymentStatus[statusPath] = {status: 'failed'}
315
- // } else {
316
- // deploymentStatus[statusPath] = {status: 'deployed'}
317
- // }
318
- // return
319
- try {
320
- let alreadyExists = await checkAlreadyExists(kind, path, workspaceToDeployTo);
321
- if (kind == 'flow') {
322
- const flow = await FlowService.getFlowByPath({
323
- workspace: workspaceFrom,
324
- path: path
325
- });
326
- getAllModules(flow.value.modules).forEach((x) => {
327
- if (x.value.type == 'script' && x.value.hash != undefined) {
328
- x.value.hash = undefined;
329
- }
330
- });
331
- if (alreadyExists) {
332
- await FlowService.updateFlow({
333
- workspace: workspaceToDeployTo,
334
- path: path,
335
- requestBody: {
336
- ...flow
337
- }
338
- });
339
- }
340
- else {
341
- await FlowService.createFlow({
342
- workspace: workspaceToDeployTo,
343
- requestBody: {
344
- ...flow
345
- }
346
- });
347
- }
348
- }
349
- else if (kind == 'script') {
350
- const script = await ScriptService.getScriptByPath({
351
- workspace: workspaceFrom,
352
- path: path
353
- });
354
- await ScriptService.createScript({
355
- workspace: workspaceToDeployTo,
356
- requestBody: {
357
- ...script,
358
- lock: script.lock,
359
- parent_hash: alreadyExists
360
- ? (await ScriptService.getScriptByPath({
361
- workspace: workspaceToDeployTo,
362
- path: path
363
- })).hash
364
- : undefined
365
- }
366
- });
367
- }
368
- else if (kind == 'app') {
369
- const app = await AppService.getAppByPath({
370
- workspace: workspaceFrom,
371
- path: path
372
- });
373
- if (alreadyExists) {
374
- if (app.raw_app) {
375
- const secret = await AppService.getPublicSecretOfLatestVersionOfApp({
376
- workspace: workspaceFrom,
377
- path: app.path
378
- });
379
- const js = await AppService.getRawAppData({
380
- secretWithExtension: `${secret}.js`,
381
- workspace: workspaceFrom
382
- });
383
- const css = await AppService.getRawAppData({
384
- secretWithExtension: `${secret}.css`,
385
- workspace: workspaceFrom
386
- });
387
- await AppService.updateAppRaw({
388
- workspace: workspaceToDeployTo,
389
- path: path,
390
- formData: {
391
- app,
392
- css,
393
- js
394
- }
395
- });
396
- }
397
- else {
398
- await AppService.updateApp({
399
- workspace: workspaceToDeployTo,
400
- path: path,
401
- requestBody: {
402
- ...app
403
- }
404
- });
405
- }
406
- }
407
- else {
408
- if (app.raw_app) {
409
- const secret = await AppService.getPublicSecretOfLatestVersionOfApp({
410
- workspace: workspaceFrom,
411
- path: app.path
412
- });
413
- const js = await AppService.getRawAppData({
414
- secretWithExtension: `${secret}.js`,
415
- workspace: workspaceFrom
416
- });
417
- const css = await AppService.getRawAppData({
418
- secretWithExtension: `${secret}.css`,
419
- workspace: workspaceFrom
420
- });
421
- await AppService.createAppRaw({
422
- workspace: workspaceToDeployTo,
423
- formData: {
424
- app,
425
- css,
426
- js
427
- }
428
- });
429
- }
430
- else {
431
- await AppService.createApp({
432
- workspace: workspaceToDeployTo,
433
- requestBody: {
434
- ...app
435
- }
436
- });
437
- }
438
- }
439
- }
440
- else if (kind == 'variable') {
441
- const variable = await VariableService.getVariable({
442
- workspace: workspaceFrom,
443
- path: path,
444
- decryptSecret: true
445
- });
446
- if (alreadyExists) {
447
- await VariableService.updateVariable({
448
- workspace: workspaceToDeployTo,
449
- path: path,
450
- requestBody: {
451
- path: path,
452
- value: variable.value ?? '',
453
- is_secret: variable.is_secret,
454
- description: variable.description ?? ''
455
- },
456
- alreadyEncrypted: false
457
- });
458
- }
459
- else {
460
- await VariableService.createVariable({
461
- workspace: workspaceToDeployTo,
462
- requestBody: {
463
- path: path,
464
- value: variable.value ?? '',
465
- is_secret: variable.is_secret,
466
- description: variable.description ?? ''
467
- }
468
- });
469
- }
470
- }
471
- else if (kind == 'resource') {
472
- const resource = await ResourceService.getResource({
473
- workspace: workspaceFrom,
474
- path: path
475
- });
476
- if (alreadyExists) {
477
- await ResourceService.updateResource({
478
- workspace: workspaceToDeployTo,
479
- path: path,
480
- requestBody: {
481
- path: path,
482
- value: resource.value ?? '',
483
- description: resource.description ?? ''
484
- }
485
- });
486
- }
487
- else {
488
- await ResourceService.createResource({
489
- workspace: workspaceToDeployTo,
490
- requestBody: {
491
- path: path,
492
- value: resource.value ?? '',
493
- resource_type: resource.resource_type,
494
- description: resource.description ?? ''
495
- }
496
- });
497
- }
498
- }
499
- else if (kind == 'resource_type') {
500
- const resource = await ResourceService.getResourceType({
501
- workspace: workspaceFrom,
502
- path: path
503
- });
504
- if (alreadyExists) {
505
- await ResourceService.updateResourceType({
506
- workspace: workspaceToDeployTo,
507
- path: path,
508
- requestBody: {
509
- schema: resource.schema,
510
- description: resource.description ?? ''
511
- }
512
- });
513
- }
514
- else {
515
- await ResourceService.createResourceType({
516
- workspace: workspaceToDeployTo,
517
- requestBody: {
518
- description: resource.description ?? '',
519
- schema: resource.schema,
520
- name: resource.name
521
- }
522
- });
523
- }
524
- }
525
- else if (kind == 'raw_app') {
526
- throw new Error('Raw app deploy not implemented yet');
527
- // const app = await RawAppService.getRawAppData({
528
- // workspace: workspaceFrom,
529
- // path: path
530
- // })
531
- // if (alreadyExists) {
532
- // }
533
- // await RawAppService.updateRawApp({
534
- // workspace: workspaceFrom,
535
- // path: path,
536
- // requestBody: {
537
- // path: path
538
- // }
539
- // })
540
- }
541
- else if (kind == 'folder') {
542
- await FolderService.createFolder({
543
- workspace: workspaceToDeployTo,
544
- requestBody: {
545
- name: path
546
- }
547
- });
548
- // } else if (kind === 'trigger') {
549
- // if (additionalInformation?.triggers) {
550
- // const { data, createFn, updateFn } = await getTriggersDeployData(
551
- // additionalInformation.triggers.kind,
552
- // path,
553
- // workspaceFrom
554
- // )
555
- // if (alreadyExists) {
556
- // await updateFn({
557
- // path,
558
- // workspace: workspaceToDeployTo,
559
- // requestBody: data
560
- // } as any)
561
- // } else {
562
- // await createFn({
563
- // workspace: workspaceToDeployTo,
564
- // requestBody: data
565
- // } as any)
566
- // }
567
- // } else {
568
- // throw new Error('Missing triggers kind')
569
- // }
570
- }
571
- else {
572
- throw new Error(`Unknown kind ${kind}`);
573
- }
574
- // allAlreadyExists[statusPath] = true
196
+ const result = await deployItem({
197
+ kind,
198
+ path,
199
+ workspaceFrom,
200
+ workspaceTo: workspaceToDeployTo,
201
+ onBehalfOfEmail: getOnBehalfOfEmailForDeploy(statusPath)
202
+ });
203
+ if (result.success) {
575
204
  deploymentStatus[statusPath] = { status: 'deployed' };
576
205
  }
577
- catch (e) {
578
- deploymentStatus[statusPath] = { status: 'failed', error: e.body || e.message };
579
- sendUserToast(`Failed to deploy ${statusPath}: ${e.body || e.message}`);
206
+ else {
207
+ deploymentStatus[statusPath] = { status: 'failed', error: result.error };
208
+ sendUserToast(`Failed to deploy ${statusPath}: ${result.error}`);
580
209
  }
581
210
  }
582
211
  let deploymentErrorMessage = $state('');
@@ -618,10 +247,10 @@ async function deployChanges() {
618
247
  continue;
619
248
  }
620
249
  if (mergeIntoParent) {
621
- await deploy(diff.kind, diff.path, parent, current);
250
+ await deploy(diff.kind, diff.path, parent, current, itemKey);
622
251
  }
623
252
  else {
624
- await deploy(diff.kind, diff.path, current, parent);
253
+ await deploy(diff.kind, diff.path, current, parent, itemKey);
625
254
  }
626
255
  }
627
256
  deploying = false;
@@ -649,10 +278,35 @@ function toggleDeploymentDirection(v) {
649
278
  mergeIntoParent = v == 'deploy_to';
650
279
  selectDefault();
651
280
  }
652
- // Fetch summaries when comparison data loads
281
+ // Fetch user permissions for both workspaces
282
+ $effect(() => {
283
+ ;
284
+ [currentWorkspaceId, parentWorkspaceId];
285
+ async function fetchPermissions() {
286
+ try {
287
+ const parentUser = await UserService.whoami({ workspace: parentWorkspaceId });
288
+ canPreserveInParent =
289
+ parentUser.is_admin || parentUser.groups?.includes('wm_deployers') || false;
290
+ }
291
+ catch {
292
+ canPreserveInParent = false;
293
+ }
294
+ try {
295
+ const currentUser = await UserService.whoami({ workspace: currentWorkspaceId });
296
+ canPreserveInCurrent =
297
+ currentUser.is_admin || currentUser.groups?.includes('wm_deployers') || false;
298
+ }
299
+ catch {
300
+ canPreserveInCurrent = false;
301
+ }
302
+ }
303
+ fetchPermissions();
304
+ });
305
+ // Fetch summaries and on_behalf_of_email when comparison data loads
653
306
  $effect(() => {
654
307
  if (comparison?.diffs) {
655
308
  fetchSummaries(comparison.diffs);
309
+ fetchOnBehalfOfInfo(comparison.diffs);
656
310
  }
657
311
  });
658
312
  // Auto-select items on initial load
@@ -668,24 +322,247 @@ $effect(() => {
668
322
  [selectedItems, mergeIntoParent];
669
323
  allowBehindChangesOverride = false;
670
324
  });
325
+ // Transform diffs to deployable item format for the shared layout
326
+ let deployableItems = $derived((comparison?.diffs ?? [])
327
+ .filter((diff) => {
328
+ const key = getItemKey(diff);
329
+ const isSelectable = selectableDiffs.includes(diff);
330
+ const isDeployedAndIrrelevant = deploymentStatus[key]?.status === 'deployed' && !isSelectable;
331
+ return !isDeployedAndIrrelevant;
332
+ })
333
+ .map((diff) => ({
334
+ key: getItemKey(diff),
335
+ path: diff.path,
336
+ kind: diff.kind,
337
+ diff
338
+ })));
339
+ let forkTriggers = $state([]);
340
+ let loadingTriggers = $state(true);
341
+ let deploymentDrawer = $state(undefined);
342
+ let triggerToDelete = $state(undefined);
343
+ /** Deployable trigger kinds and their list+delete services */
344
+ const triggerServices = {
345
+ schedules: {
346
+ list: (ws) => ScheduleService.listSchedules({ workspace: ws }),
347
+ delete: (ws, path) => ScheduleService.deleteSchedule({ workspace: ws, path }),
348
+ normalize: (item) => ({
349
+ path: item.path,
350
+ triggerKind: 'schedules',
351
+ scriptPath: item.script_path,
352
+ isFlow: item.is_flow,
353
+ enabled: item.enabled,
354
+ extraLabel: item.schedule
355
+ })
356
+ },
357
+ routes: {
358
+ list: (ws) => HttpTriggerService.listHttpTriggers({ workspace: ws }),
359
+ delete: (ws, path) => HttpTriggerService.deleteHttpTrigger({ workspace: ws, path }),
360
+ normalize: (item) => ({
361
+ path: item.path,
362
+ triggerKind: 'routes',
363
+ scriptPath: item.script_path,
364
+ isFlow: item.is_flow,
365
+ enabled: item.mode === 'enabled',
366
+ extraLabel: `${(item.http_method ?? 'get').toUpperCase()} ${item.route_path ?? ''}`
367
+ })
368
+ },
369
+ websockets: {
370
+ list: (ws) => WebsocketTriggerService.listWebsocketTriggers({ workspace: ws }),
371
+ delete: (ws, path) => WebsocketTriggerService.deleteWebsocketTrigger({ workspace: ws, path }),
372
+ normalize: (item) => ({
373
+ path: item.path,
374
+ triggerKind: 'websockets',
375
+ scriptPath: item.script_path,
376
+ isFlow: item.is_flow,
377
+ enabled: item.mode === 'enabled',
378
+ extraLabel: item.url
379
+ })
380
+ },
381
+ kafka: {
382
+ list: (ws) => KafkaTriggerService.listKafkaTriggers({ workspace: ws }),
383
+ delete: (ws, path) => KafkaTriggerService.deleteKafkaTrigger({ workspace: ws, path }),
384
+ normalize: (item) => ({
385
+ path: item.path,
386
+ triggerKind: 'kafka',
387
+ scriptPath: item.script_path,
388
+ isFlow: item.is_flow,
389
+ enabled: item.mode === 'enabled',
390
+ extraLabel: item.topics?.join(', ')
391
+ })
392
+ },
393
+ postgres: {
394
+ list: (ws) => PostgresTriggerService.listPostgresTriggers({ workspace: ws }),
395
+ delete: (ws, path) => PostgresTriggerService.deletePostgresTrigger({ workspace: ws, path }),
396
+ normalize: (item) => ({
397
+ path: item.path,
398
+ triggerKind: 'postgres',
399
+ scriptPath: item.script_path,
400
+ isFlow: item.is_flow,
401
+ enabled: item.mode === 'enabled'
402
+ })
403
+ },
404
+ nats: {
405
+ list: (ws) => NatsTriggerService.listNatsTriggers({ workspace: ws }),
406
+ delete: (ws, path) => NatsTriggerService.deleteNatsTrigger({ workspace: ws, path }),
407
+ normalize: (item) => ({
408
+ path: item.path,
409
+ triggerKind: 'nats',
410
+ scriptPath: item.script_path,
411
+ isFlow: item.is_flow,
412
+ enabled: item.mode === 'enabled',
413
+ extraLabel: item.subjects?.join(', ')
414
+ })
415
+ },
416
+ mqtt: {
417
+ list: (ws) => MqttTriggerService.listMqttTriggers({ workspace: ws }),
418
+ delete: (ws, path) => MqttTriggerService.deleteMqttTrigger({ workspace: ws, path }),
419
+ normalize: (item) => ({
420
+ path: item.path,
421
+ triggerKind: 'mqtt',
422
+ scriptPath: item.script_path,
423
+ isFlow: item.is_flow,
424
+ enabled: item.mode === 'enabled'
425
+ })
426
+ },
427
+ sqs: {
428
+ list: (ws) => SqsTriggerService.listSqsTriggers({ workspace: ws }),
429
+ delete: (ws, path) => SqsTriggerService.deleteSqsTrigger({ workspace: ws, path }),
430
+ normalize: (item) => ({
431
+ path: item.path,
432
+ triggerKind: 'sqs',
433
+ scriptPath: item.script_path,
434
+ isFlow: item.is_flow,
435
+ enabled: item.mode === 'enabled',
436
+ extraLabel: item.queue_url
437
+ })
438
+ },
439
+ gcp: {
440
+ list: (ws) => GcpTriggerService.listGcpTriggers({ workspace: ws }),
441
+ delete: (ws, path) => GcpTriggerService.deleteGcpTrigger({ workspace: ws, path }),
442
+ normalize: (item) => ({
443
+ path: item.path,
444
+ triggerKind: 'gcp',
445
+ scriptPath: item.script_path,
446
+ isFlow: item.is_flow,
447
+ enabled: item.mode === 'enabled',
448
+ extraLabel: item.topic_id
449
+ })
450
+ },
451
+ emails: {
452
+ list: (ws) => EmailTriggerService.listEmailTriggers({ workspace: ws }),
453
+ delete: (ws, path) => EmailTriggerService.deleteEmailTrigger({ workspace: ws, path }),
454
+ normalize: (item) => ({
455
+ path: item.path,
456
+ triggerKind: 'emails',
457
+ scriptPath: item.script_path,
458
+ isFlow: item.is_flow,
459
+ enabled: item.mode === 'enabled',
460
+ extraLabel: getEmailAddress(item.local_part, item.workspaced_local_part, currentWorkspaceId, emailDomain ?? '')
461
+ })
462
+ }
463
+ };
464
+ let emailDomain = $state(undefined);
465
+ async function fetchAllTriggers() {
466
+ loadingTriggers = true;
467
+ try {
468
+ emailDomain = await getEmailDomain();
469
+ const entries = Object.values(triggerServices);
470
+ const results = await Promise.allSettled(entries.map(async (svc) => {
471
+ const items = await svc.list(currentWorkspaceId);
472
+ return items.map(svc.normalize);
473
+ }));
474
+ forkTriggers = results.flatMap((r) => (r.status === 'fulfilled' ? r.value : []));
475
+ }
476
+ catch (e) {
477
+ console.error('Failed to fetch fork triggers:', e);
478
+ forkTriggers = [];
479
+ }
480
+ finally {
481
+ loadingTriggers = false;
482
+ }
483
+ }
484
+ function deleteTrigger(trigger) {
485
+ triggerToDelete = trigger;
486
+ }
487
+ async function confirmDeleteTrigger() {
488
+ const trigger = triggerToDelete;
489
+ if (!trigger)
490
+ return;
491
+ triggerToDelete = undefined;
492
+ const triggerType = triggerKindToTriggerType(trigger.triggerKind);
493
+ const displayName = triggerType ? triggerDisplayNamesMap[triggerType] : trigger.triggerKind;
494
+ try {
495
+ const svc = triggerServices[trigger.triggerKind];
496
+ if (!svc) {
497
+ throw new Error(`No service for trigger kind: ${trigger.triggerKind}`);
498
+ }
499
+ await svc.delete(currentWorkspaceId, trigger.path);
500
+ forkTriggers = forkTriggers.filter((t) => !(t.path === trigger.path && t.triggerKind === trigger.triggerKind));
501
+ sendUserToast(`Deleted ${displayName} trigger '${trigger.path}'`);
502
+ }
503
+ catch (e) {
504
+ sendUserToast(`Failed to delete trigger '${trigger.path}': ${e.body || e.message}`, true);
505
+ }
506
+ }
507
+ function getTriggerDisplayName(triggerKind) {
508
+ const triggerType = triggerKindToTriggerType(triggerKind);
509
+ return triggerType ? triggerDisplayNamesMap[triggerType] : triggerKind;
510
+ }
511
+ const triggerKindToPagePath = {
512
+ schedules: '/schedules',
513
+ routes: '/routes',
514
+ websockets: '/websocket_triggers',
515
+ kafka: '/kafka_triggers',
516
+ postgres: '/postgres_triggers',
517
+ nats: '/nats_triggers',
518
+ mqtt: '/mqtt_triggers',
519
+ sqs: '/sqs_triggers',
520
+ gcp: '/gcp_triggers',
521
+ emails: '/email_triggers'
522
+ };
523
+ function getTriggerHref(triggerKind) {
524
+ const pagePath = triggerKindToPagePath[triggerKind];
525
+ return pagePath ? `${base}${pagePath}` : undefined;
526
+ }
527
+ // Fetch triggers when workspace is available
528
+ $effect(() => {
529
+ if (currentWorkspaceId) {
530
+ fetchAllTriggers();
531
+ }
532
+ });
671
533
  </script>
672
534
 
673
- <div class="flex flex-col h-full">
674
- {#if $workspaceStore != currentWorkspaceId}
675
- <Alert title="Targetting different workspace" type="info" class="my-2">
676
- <span>
677
- You are currently seeing the deployement page of workspace <b
678
- >{currentWorkspaceInfo?.name} ({currentWorkspaceInfo?.id})</b
679
- > which is not your currently selected workspace.
680
- </span>
681
- <a href="/">Click here to go home ({$workspaceStore})</a>
682
- </Alert>
683
- {/if}
684
- {#if comparison}
685
- {@const selectedConflicts = conflictingDiffs.filter((e) =>
686
- selectedItems.includes(getItemKey(e))
687
- ).length}
688
- <div class="bg-surface">
535
+ {#if $workspaceStore != currentWorkspaceId}
536
+ <Alert title="Targetting different workspace" type="info" class="my-2">
537
+ <span>
538
+ You are currently seeing the deployement page of workspace <b
539
+ >{currentWorkspaceInfo?.name} ({currentWorkspaceInfo?.id})</b
540
+ > which is not your currently selected workspace.
541
+ </span>
542
+ <a href="/">Click here to go home ({$workspaceStore})</a>
543
+ </Alert>
544
+ {/if}
545
+
546
+ {#if comparison}
547
+ {@const selectedConflicts = conflictingDiffs.filter((e) =>
548
+ selectedItems.includes(getItemKey(e))
549
+ ).length}
550
+
551
+ <WorkspaceDeployLayout
552
+ items={deployableItems}
553
+ {selectedItems}
554
+ {deploymentStatus}
555
+ selectablePredicate={(item) => selectableDiffs.some((d) => getItemKey(d) === item.key)}
556
+ {allSelected}
557
+ onToggleItem={(item) => {
558
+ const diff = comparison?.diffs.find((d) => getItemKey(d) === item.key)
559
+ if (diff) toggleItem(diff)
560
+ }}
561
+ onSelectAll={selectAll}
562
+ onDeselectAll={deselectAll}
563
+ emptyMessage="No comparison data available"
564
+ >
565
+ {#snippet header()}
689
566
  <div class="flex items-center justify-between">
690
567
  <div
691
568
  class="flex flex-col gap-2 border bg-surface-tertiary w-full p-4 border-radius-5 rounded"
@@ -756,226 +633,199 @@ $effect(() => {
756
633
  </div>
757
634
  </div>
758
635
  </div>
759
- </div>
760
-
761
- {#if conflictingDiffs.length > 0}
762
- <Alert title="Conflicting changes detected" type="warning" class="mt-2">
763
- <!-- <AlertTriangle class="w-4 h-4" /> -->
764
- <span>
765
- {conflictingDiffs.length} item{conflictingDiffs.length !== 1 ? 's have' : ' has'} conflicting
766
- changes, it was modified on the original workspace while changes were made on this fork. Make
767
- sure to resolve these before merging.
768
- </span>
769
- </Alert>
770
- {/if}
771
- {#if hasBehindChanges && hasAheadChanges}
772
- <Alert
773
- title="This fork is behind {parentWorkspaceId} and needs to be up to date before deploying"
774
- type="warning"
775
- class="my-2"
776
- >
777
- You have items behind '{parentWorkspaceId}'. You need to update and test your changes before
778
- being able to deploy.
779
- <span class="font-medium flex flex-row gap-1 text-red-500">
780
- <input
781
- type="checkbox"
782
- bind:checked={allowBehindChangesOverride}
783
- class="rounded max-w-4"
784
- />
785
- Override: Deploy despite {itemsWithBehindChanges.length} outdated item{itemsWithBehindChanges.length !==
786
- 1
787
- ? 's'
788
- : ''}
789
- </span>
790
- </Alert>
791
- {/if}
792
- {#if !comparison.all_ahead_items_visible || !comparison.all_behind_items_visible}
793
- <Alert title="This fork has changes not visible to your user" type="warning" class="my-2">
794
- {#if !comparison.all_ahead_items_visible && !comparison.all_behind_items_visible}
795
- This fork is ahead and behind its parent
796
- {:else if !comparison.all_behind_items_visible}
797
- This fork is behind of its parent
798
- {:else if !comparison.all_ahead_items_visible}
799
- This fork is ahead of its parent
800
- {/if}
801
- and some of the changes are not visible by you. Only a user with access to the whole context
802
- may deploy or update this fork. You can share the link to this page to someone with proper permissions
803
- to get it deployed.
804
- </Alert>
805
- {/if}
636
+ {/snippet}
806
637
 
807
- <div class="px-4 py-2 flex items-center justify-between">
808
- <div
809
- class="flex items-center gap-2 text-secondary text-sm"
810
- class:opacity-50={selectableDiffs.length == 0}
811
- >
812
- <input
813
- type="checkbox"
814
- disabled={selectableDiffs.length == 0}
815
- checked={allSelected}
816
- onchange={allSelected ? deselectAll : selectAll}
817
- class="rounded max-w-4 w-full"
818
- /> Select all
819
- </div>
820
- </div>
638
+ {#snippet alerts()}
639
+ {#if mergeIntoParent}
640
+ <ParentWorkspaceProtectionAlert
641
+ {parentWorkspaceId}
642
+ onUpdateCanDeploy={(canDeploy) => {
643
+ canDeployToParent = canDeploy
644
+ }}
645
+ />
646
+ {/if}
647
+ {#if conflictingDiffs.length > 0}
648
+ <Alert title="Conflicting changes detected" type="warning" class="mt-2">
649
+ <span>
650
+ {conflictingDiffs.length} item{conflictingDiffs.length !== 1 ? 's have' : ' has'} conflicting
651
+ changes, it was modified on the original workspace while changes were made on this fork.
652
+ Make sure to resolve these before merging.
653
+ </span>
654
+ </Alert>
655
+ {/if}
656
+ {#if hasBehindChanges && hasAheadChanges && !(mergeIntoParent && !canDeployToParent)}
657
+ <Alert
658
+ title="This fork is behind {parentWorkspaceId} and needs to be up to date before deploying"
659
+ type="warning"
660
+ class="my-2"
661
+ >
662
+ You have items behind '{parentWorkspaceId}'. You need to update and test your changes
663
+ before being able to deploy.
664
+ <span class="font-medium flex flex-row gap-1 text-red-500">
665
+ <input
666
+ type="checkbox"
667
+ bind:checked={allowBehindChangesOverride}
668
+ class="rounded max-w-4"
669
+ />
670
+ Override: Deploy despite {itemsWithBehindChanges.length} outdated item{itemsWithBehindChanges.length !==
671
+ 1
672
+ ? 's'
673
+ : ''}
674
+ </span>
675
+ </Alert>
676
+ {/if}
677
+ {#if !comparison.all_ahead_items_visible || !comparison.all_behind_items_visible}
678
+ <Alert title="This fork has changes not visible to your user" type="warning" class="my-2">
679
+ {#if !comparison.all_ahead_items_visible && !comparison.all_behind_items_visible}
680
+ This fork is ahead and behind its parent
681
+ {:else if !comparison.all_behind_items_visible}
682
+ This fork is behind of its parent
683
+ {:else if !comparison.all_ahead_items_visible}
684
+ This fork is ahead of its parent
685
+ {/if}
686
+ and some of the changes are not visible by you. Only a user with access to the whole context
687
+ may deploy or update this fork. You can share the link to this page to someone with proper
688
+ permissions to get it deployed.
689
+ </Alert>
690
+ {/if}
691
+ {/snippet}
821
692
 
822
- <div class="flex-1 overflow-y-auto">
823
- <div class="border rounded-md bg-surface-tertiary">
824
- {#each comparison.diffs as diff}
825
- {@const key = getItemKey(diff)}
826
- {@const isSelectable = selectableDiffs.includes(diff)}
827
- {@const isSelected = selectedItems.includes(key)}
828
- {@const isConflict = diff.ahead > 0 && diff.behind > 0}
829
- {@const oldSummary = mergeIntoParent
830
- ? summaryCache[key]?.parent
831
- : summaryCache[key]?.current}
832
- {@const newSummary = mergeIntoParent
833
- ? summaryCache[key]?.current
834
- : summaryCache[key]?.parent}
835
- {@const existsInBothWorkspaces = !(
836
- (diff.exists_in_fork && !diff.exists_in_source) ||
837
- (!diff.exists_in_fork && diff.exists_in_source)
838
- )}
839
- {@const isDeployedAndIrrelevant =
840
- deploymentStatus[key]?.status == 'deployed' && !isSelectable}
693
+ {#snippet itemSummary(item)}
694
+ {@const diff = item.diff as WorkspaceItemDiff}
695
+ {@const key = item.key}
696
+ {@const isSelectable = selectableDiffs.includes(diff)}
697
+ {@const oldSummary = mergeIntoParent ? summaryCache[key]?.parent : summaryCache[key]?.current}
698
+ {@const newSummary = mergeIntoParent ? summaryCache[key]?.current : summaryCache[key]?.parent}
699
+ {@const existsInBothWorkspaces = !(
700
+ (diff.exists_in_fork && !diff.exists_in_source) ||
701
+ (!diff.exists_in_fork && diff.exists_in_source)
702
+ )}
703
+ {#if oldSummary != newSummary && isSelectable && existsInBothWorkspaces}
704
+ <span class="line-through text-secondary">{oldSummary || diff.path}</span>
705
+ {newSummary || diff.path}
706
+ {:else if !existsInBothWorkspaces}
707
+ {newSummary || oldSummary || diff.path}
708
+ {:else}
709
+ {newSummary || diff.path}
710
+ {/if}
711
+ {/snippet}
841
712
 
842
- {#if !isDeployedAndIrrelevant}
843
- <Row
844
- isSelectable={isSelectable && !(deploymentStatus[key]?.status == 'deployed')}
845
- alignWithSelectable={true}
846
- disabled={!isSelectable}
847
- selected={isSelected && !(deploymentStatus[key]?.status == 'deployed')}
848
- onSelect={() => toggleItem(diff)}
849
- path={diff.kind != 'resource' &&
850
- diff.kind != 'variable' &&
851
- diff.kind != 'resource_type'
852
- ? diff.path
853
- : ''}
854
- marked={undefined}
855
- kind={diff.kind}
856
- canFavorite={false}
857
- workspaceId=""
858
- starred={false}
859
- >
860
- {#snippet customSummary()}
861
- {#if oldSummary != newSummary && isSelectable && existsInBothWorkspaces}
862
- <span class="line-through text-secondary">{oldSummary || diff.path}</span>
863
- {newSummary || diff.path}
864
- {:else if !existsInBothWorkspaces}
865
- {newSummary || oldSummary || diff.path}
866
- {:else}
867
- {newSummary || diff.path}
868
- {/if}
869
- {/snippet}
870
- {#snippet actions()}
871
- <!-- Status badges -->
872
- {#if !diff.exists_in_fork && diff.exists_in_source && diff.ahead == 0 && diff.behind > 0}
873
- <Badge
874
- title="This item was newly created in the parent workspace '{parentWorkspaceId}'"
875
- color="indigo"
876
- size="xs">New</Badge
877
- >
878
- {/if}
879
- {#if !diff.exists_in_fork && diff.exists_in_source && diff.ahead > 0}
880
- <Badge
881
- title="This item was deleted in '{currentWorkspaceId}'"
882
- color="red"
883
- size="xs">Deleted</Badge
884
- >
885
- {/if}
886
- {#if diff.exists_in_fork && !diff.exists_in_source && diff.behind > 0}
887
- <Badge
888
- title="This item was deleted in the parent workspace '{parentWorkspaceId}'"
889
- color="red"
890
- size="xs">Deleted</Badge
891
- >
892
- {/if}
893
- {#if diff.exists_in_fork && !diff.exists_in_source && diff.ahead > 0 && diff.behind == 0}
894
- <Badge
895
- title="This item was newly created in '{currentWorkspaceId}'"
896
- color="indigo"
897
- size="xs">New</Badge
898
- >
899
- {/if}
900
- {#if !deploymentStatus[key] || deploymentStatus[key].status != 'deployed'}
901
- <div class="flex items-center gap-2">
902
- {#if isConflict || existsInBothWorkspaces}
903
- {#if diff.ahead > 0}
904
- <Badge color="green" size="xs">
905
- <ArrowUpRight class="w-3 h-3 inline" />
906
- {diff.ahead} ahead
907
- </Badge>
908
- {/if}
909
- {#if diff.behind > 0}
910
- <Badge color="blue" size="xs">
911
- <ArrowDownRight class="w-3 h-3 inline" />
912
- {diff.behind} behind
913
- </Badge>
914
- {/if}
915
- {#if isConflict}
916
- <Badge color="orange" size="xs">
917
- <AlertTriangle class="w-3 h-3 inline" />
918
- Conflict
919
- </Badge>
920
- {/if}
921
- {/if}
922
- </div>
923
- <div class:invisible={!existsInBothWorkspaces}>
924
- <Button
925
- size="xs"
926
- variant="subtle"
927
- onclick={() => showDiff(diff.kind as Kind, diff.path)}
928
- >
929
- <DiffIcon class="w-3 h-3" />
930
- Show diff
931
- </Button>
932
- </div>
933
- {/if}
934
- {#if deploymentStatus[key]}
935
- {#if deploymentStatus[key].status == 'loading'}
936
- <Loader2 class="animate-spin" />
937
- {:else if deploymentStatus[key].status == 'deployed'}
938
- <Badge color="green">Deployed</Badge>
939
- {:else if deploymentStatus[key].status == 'failed'}
940
- <div class="inline-flex gap-1">
941
- <Badge color="red">Failed</Badge>
942
- <Tooltip>{deploymentStatus[key].error}</Tooltip></div
943
- >
944
- {/if}
945
- {/if}
946
- {/snippet}
947
- </Row>
713
+ {#snippet itemActions(item)}
714
+ {@const diff = item.diff as WorkspaceItemDiff}
715
+ {@const key = item.key}
716
+ {@const targetEmail = getTargetEmail(key)}
717
+ {@const isConflict = diff.ahead > 0 && diff.behind > 0}
718
+ {@const existsInBothWorkspaces = !(
719
+ (diff.exists_in_fork && !diff.exists_in_source) ||
720
+ (!diff.exists_in_fork && diff.exists_in_source)
721
+ )}
722
+ <!-- On-behalf-of selector -->
723
+ {#if itemNeedsOnBehalfOfSelection(key, diff.kind)}
724
+ <OnBehalfOfSelector
725
+ targetWorkspace={deployTargetWorkspace}
726
+ {targetEmail}
727
+ selected={onBehalfOfChoice[key]}
728
+ onSelect={(choice, email) => {
729
+ onBehalfOfChoice[key] = choice
730
+ if (email) customOnBehalfOfEmails[key] = email
731
+ }}
732
+ kind={diff.kind}
733
+ canPreserve={canPreserveOnBehalfOf}
734
+ customEmail={customOnBehalfOfEmails[key]}
735
+ />
736
+ {/if}
737
+ <!-- Status badges -->
738
+ {#if !diff.exists_in_fork && diff.exists_in_source && diff.ahead == 0 && diff.behind > 0}
739
+ <Badge
740
+ title="This item was newly created in the parent workspace '{parentWorkspaceId}'"
741
+ color="indigo"
742
+ size="xs">New</Badge
743
+ >
744
+ {/if}
745
+ {#if !diff.exists_in_fork && diff.exists_in_source && diff.ahead > 0}
746
+ <Badge title="This item was deleted in '{currentWorkspaceId}'" color="red" size="xs"
747
+ >Deleted</Badge
748
+ >
749
+ {/if}
750
+ {#if diff.exists_in_fork && !diff.exists_in_source && diff.behind > 0}
751
+ <Badge
752
+ title="This item was deleted in the parent workspace '{parentWorkspaceId}'"
753
+ color="red"
754
+ size="xs">Deleted</Badge
755
+ >
756
+ {/if}
757
+ {#if diff.exists_in_fork && !diff.exists_in_source && diff.ahead > 0 && diff.behind == 0}
758
+ <Badge
759
+ title="This item was newly created in '{currentWorkspaceId}'"
760
+ color="indigo"
761
+ size="xs">New</Badge
762
+ >
763
+ {/if}
764
+ {#if !deploymentStatus[key] || deploymentStatus[key].status != 'deployed'}
765
+ <div class="flex items-center gap-2">
766
+ {#if isConflict || existsInBothWorkspaces}
767
+ {#if diff.ahead > 0}
768
+ <Badge color="green" size="xs">
769
+ <ArrowUpRight class="w-3 h-3 inline" />
770
+ {diff.ahead} ahead
771
+ </Badge>
772
+ {/if}
773
+ {#if diff.behind > 0}
774
+ <Badge color="blue" size="xs">
775
+ <ArrowDownRight class="w-3 h-3 inline" />
776
+ {diff.behind} behind
777
+ </Badge>
778
+ {/if}
779
+ {#if isConflict}
780
+ <Badge color="orange" size="xs">
781
+ <AlertTriangle class="w-3 h-3 inline" />
782
+ Conflict
783
+ </Badge>
784
+ {/if}
948
785
  {/if}
949
- {/each}
950
- </div>
951
- </div>
786
+ </div>
787
+ <div class:invisible={!existsInBothWorkspaces}>
788
+ <Button size="xs" variant="subtle" onclick={() => showDiff(diff.kind as Kind, diff.path)}>
789
+ <DiffIcon class="w-3 h-3" />
790
+ Show diff
791
+ </Button>
792
+ </div>
793
+ {/if}
794
+ {/snippet}
952
795
 
953
- <div class="p-4 bg-surface">
796
+ {#snippet footer()}
954
797
  <div class="flex items-center justify-between">
955
- <div>
956
- <!-- {#if comparison.summary.total_diffs === 0} -->
957
- <!-- <Button color="red" variant="accent-secondary" on:click={deleteWorkspace}> -->
958
- <!-- Delete Fork Workspace -->
959
- <!-- </Button> -->
960
- <!-- {/if} -->
961
- </div>
798
+ <div></div>
962
799
 
963
800
  <div class="flex flex-col items-end gap-2">
964
801
  {#if comparison.all_behind_items_visible && comparison.all_ahead_items_visible}
965
- <Button
966
- color="blue"
967
- disabled={selectedItems.length === 0 ||
968
- deploying ||
969
- (hasBehindChanges && !allowBehindChangesOverride)}
970
- loading={deploying}
971
- on:click={deployChanges}
972
- >
973
- {mergeIntoParent ? 'Deploy' : 'Update'}
974
- {selectedItems.length} Item{selectedItems.length !== 1 ? 's' : ''}
975
- {#if selectedConflicts != 0}
976
- ({selectedConflicts} conflicts)
802
+ {#if !(mergeIntoParent && !canDeployToParent)}
803
+ <Button
804
+ color="blue"
805
+ disabled={selectedItems.length === 0 ||
806
+ deploying ||
807
+ (hasBehindChanges && !allowBehindChangesOverride) ||
808
+ (mergeIntoParent && !canDeployToParent) ||
809
+ hasUnselectedOnBehalfOf}
810
+ loading={deploying}
811
+ on:click={deployChanges}
812
+ >
813
+ {mergeIntoParent ? 'Deploy' : 'Update'}
814
+ {selectedItems.length} Item{selectedItems.length !== 1 ? 's' : ''}
815
+ {#if selectedConflicts != 0}
816
+ ({selectedConflicts} conflicts)
817
+ {/if}
818
+ </Button>
819
+ {#if hasUnselectedOnBehalfOf}
820
+ <span class="text-xs text-yellow-600">
821
+ You must set the "on behalf of" user for all items before deploying
822
+ <Tooltip class="text-yellow-600">
823
+ The "run on behalf of" field defines which user's permissions will be applied
824
+ during execution. Make sure this is set to an appropriate user before deploying.
825
+ </Tooltip>
826
+ </span>
977
827
  {/if}
978
- </Button>
828
+ {/if}
979
829
  {/if}
980
830
 
981
831
  {#if deploymentErrorMessage != ''}
@@ -991,13 +841,103 @@ $effect(() => {
991
841
  {/if}
992
842
  </div>
993
843
  </div>
844
+ {/snippet}
845
+ </WorkspaceDeployLayout>
846
+
847
+ <!-- Fork Triggers Section -->
848
+ <div class="mt-6">
849
+ <div class="flex items-center gap-2 mb-2">
850
+ <h3 class="text-sm font-semibold">Triggers created in this fork</h3>
851
+ {#if !loadingTriggers}
852
+ <Badge color="indigo" size="xs"
853
+ >{forkTriggers.length} trigger{forkTriggers.length !== 1 ? 's' : ''}</Badge
854
+ >
855
+ {/if}
994
856
  </div>
995
- <DiffDrawer bind:this={diffDrawer} {isFlow} />
996
- {:else}
997
- <div class="flex items-center justify-center h-full">
998
- <div class="text-gray-500">No comparison data available</div>
999
- </div>
1000
- {/if}
1001
857
 
1002
- <!-- <DeployWorkspaceItems kind="script" initialPath="u/admin/economical_script" workspaceToDeployTo={parentWorkspaceId} /> -->
1003
- </div>
858
+ <Alert title="Deploy and/or delete these triggers" type="info" class="mb-2">
859
+ When forking a workspace, triggers are not forked to avoid unnecessary executions or
860
+ collisions. If you created this triggers with the intention of deploying them to the parent
861
+ workspace, you can do so here. Otherwise it is recommended to delete them or disable them.
862
+ </Alert>
863
+
864
+ {#if loadingTriggers}
865
+ <div class="flex items-center gap-2 text-secondary text-sm p-4">
866
+ <Loader2 class="animate-spin w-4 h-4" />
867
+ Loading triggers...
868
+ </div>
869
+ {:else if forkTriggers.length === 0}
870
+ <div class="text-secondary text-sm p-4 border rounded-md bg-surface-tertiary">
871
+ No triggers in this fork workspace.
872
+ </div>
873
+ {:else}
874
+ <div class="border rounded-md bg-surface-tertiary">
875
+ {#each forkTriggers as trigger (trigger.triggerKind + ':' + trigger.path)}
876
+ <Row
877
+ kind="trigger"
878
+ triggerKind={trigger.triggerKind}
879
+ path={trigger.path}
880
+ href={getTriggerHref(trigger.triggerKind)}
881
+ marked={undefined}
882
+ isSelectable={false}
883
+ canFavorite={false}
884
+ workspaceId={currentWorkspaceId}
885
+ >
886
+ {#snippet customSummary()}
887
+ <span>{getTriggerDisplayName(trigger.triggerKind)}</span>
888
+ <span class="text-secondary mx-1">&rarr;</span>
889
+ <span class="text-secondary">{trigger.scriptPath}</span>
890
+ {#if trigger.isFlow}
891
+ <Badge color="blue" size="xs">flow</Badge>
892
+ {/if}
893
+ {#if trigger.extraLabel}
894
+ <span class="text-tertiary text-xs">({trigger.extraLabel})</span>
895
+ {/if}
896
+ {/snippet}
897
+ {#snippet actions()}
898
+ {#if trigger.enabled != null}
899
+ <Badge color={trigger.enabled ? 'green' : 'gray'} size="xs">
900
+ {trigger.enabled ? 'Enabled' : 'Disabled'}
901
+ </Badge>
902
+ {/if}
903
+ <Button
904
+ size="xs"
905
+ variant="subtle"
906
+ onclick={() => {
907
+ deploymentDrawer?.openDrawer(trigger.path, 'trigger', {
908
+ triggers: { kind: trigger.triggerKind }
909
+ })
910
+ }}
911
+ >
912
+ <Upload size={12} />
913
+ Deploy
914
+ </Button>
915
+ <Button size="xs" variant="subtle" color="red" onclick={() => deleteTrigger(trigger)}>
916
+ <Trash2 size={12} />
917
+ </Button>
918
+ {/snippet}
919
+ </Row>
920
+ {/each}
921
+ </div>
922
+ {/if}
923
+ </div>
924
+
925
+ <DeployWorkspaceDrawer bind:this={deploymentDrawer} />
926
+ <DiffDrawer bind:this={diffDrawer} {isFlow} />
927
+ <ConfirmationModal
928
+ title="Delete trigger"
929
+ confirmationText="Delete"
930
+ open={!!triggerToDelete}
931
+ onConfirmed={confirmDeleteTrigger}
932
+ onCanceled={() => (triggerToDelete = undefined)}
933
+ >
934
+ {#if triggerToDelete}
935
+ Are you sure you want to delete the {getTriggerDisplayName(triggerToDelete.triggerKind)} trigger
936
+ '{triggerToDelete.path}'?
937
+ {/if}
938
+ </ConfirmationModal>
939
+ {:else}
940
+ <div class="flex items-center justify-center h-full">
941
+ <div class="text-gray-500">No comparison data available</div>
942
+ </div>
943
+ {/if}