windmill-components 1.677.1 → 1.695.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 (552) hide show
  1. package/package/components/AppConnectInner.svelte +6 -0
  2. package/package/components/ArgInput.svelte +2 -0
  3. package/package/components/AutoscalingConfigEditor.svelte +18 -4
  4. package/package/components/CiTestResults.svelte +64 -0
  5. package/package/components/CiTestResults.svelte.d.ts +7 -0
  6. package/package/components/CompareWorkspaces.svelte +741 -484
  7. package/package/components/DBManager.svelte +35 -4
  8. package/package/components/DBManager.svelte.d.ts +2 -0
  9. package/package/components/DBManagerContent.svelte +3 -1
  10. package/package/components/DBManagerContent.svelte.d.ts +3 -0
  11. package/package/components/DBManagerDrawer.svelte +145 -3
  12. package/package/components/DBTableEditor.svelte +14 -4
  13. package/package/components/DatatablePicker.svelte +2 -5
  14. package/package/components/DatatableSchemaDiff.svelte +531 -0
  15. package/package/components/DatatableSchemaDiff.svelte.d.ts +29 -0
  16. package/package/components/DedicatedWorkersSelector.svelte +4 -2
  17. package/package/components/DefaultTagsInner.svelte +42 -2
  18. package/package/components/DeployWorkspaceDrawer.svelte +1 -1
  19. package/package/components/Dev.svelte +407 -74
  20. package/package/components/EditableSchemaForm.svelte +4 -0
  21. package/package/components/Editor.svelte +1 -1
  22. package/package/components/EditorBar.svelte +1 -1
  23. package/package/components/EditorBar.svelte.d.ts +1 -1
  24. package/package/components/ErrorOrRecoveryHandler.svelte +2 -2
  25. package/package/components/FlowPreviewContent.svelte +32 -30
  26. package/package/components/FlowRestartButton.svelte +143 -61
  27. package/package/components/FlowRestartButton.svelte.d.ts +37 -0
  28. package/package/components/FlowStatusViewer.svelte +15 -1
  29. package/package/components/FlowStatusViewer.svelte.d.ts +10 -2
  30. package/package/components/FlowStatusViewerInner.svelte +270 -222
  31. package/package/components/FlowStatusViewerInner.svelte.d.ts +6 -2
  32. package/package/components/FlowTimeline.svelte +1 -1
  33. package/package/components/FolderEditor.svelte +189 -4
  34. package/package/components/ForkConflictModal.svelte +57 -0
  35. package/package/components/ForkConflictModal.svelte.d.ts +3 -0
  36. package/package/components/ForkWorkspaceBanner.svelte +82 -11
  37. package/package/components/GitRepoViewer.svelte +251 -97
  38. package/package/components/GlobalUserOffboardingModal.svelte +293 -0
  39. package/package/components/GlobalUserOffboardingModal.svelte.d.ts +10 -0
  40. package/package/components/InputTransformSchemaForm.svelte +1 -1
  41. package/package/components/InstanceSettings.svelte +58 -19
  42. package/package/components/Login.svelte +133 -36
  43. package/package/components/Login.svelte.d.ts +1 -0
  44. package/package/components/ModuleTest.svelte +2 -1
  45. package/package/components/NoMainFuncBadge.svelte +1 -1
  46. package/package/components/OffboardItemsBox.svelte +56 -0
  47. package/package/components/OffboardItemsBox.svelte.d.ts +12 -0
  48. package/package/components/OffboardReassignControls.svelte +47 -0
  49. package/package/components/OffboardReassignControls.svelte.d.ts +20 -0
  50. package/package/components/OffboardWorkspaceSection.svelte +110 -0
  51. package/package/components/OffboardWorkspaceSection.svelte.d.ts +24 -0
  52. package/package/components/OnBehalfOfSelector.svelte +21 -3
  53. package/package/components/OnBehalfOfSelector.svelte.d.ts +7 -0
  54. package/package/components/Path.svelte +7 -1
  55. package/package/components/Path.svelte.d.ts +1 -1
  56. package/package/components/QueueAlerts.svelte +10 -10
  57. package/package/components/ResourcePicker.svelte +2 -2
  58. package/package/components/RunsPage.svelte +2 -1
  59. package/package/components/S3FilePickerInner.svelte +89 -89
  60. package/package/components/ScriptBuilder.svelte +52 -11
  61. package/package/components/ScriptEditor.svelte +19 -8
  62. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  63. package/package/components/ShareModal.svelte +236 -98
  64. package/package/components/ShareModal.svelte.d.ts +1 -1
  65. package/package/components/SuperadminSettingsInner.svelte +362 -315
  66. package/package/components/UserOffboardingModal.svelte +238 -0
  67. package/package/components/UserOffboardingModal.svelte.d.ts +10 -0
  68. package/package/components/WorkspaceDeployLayout.svelte +3 -3
  69. package/package/components/WorkspaceDeployLayout.svelte.d.ts +1 -0
  70. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +3 -0
  71. package/package/components/apps/components/helpers/executeRunnable.js +2 -1
  72. package/package/components/apps/editor/AppReportsDrawerInner.svelte +1 -1
  73. package/package/components/apps/editor/appPolicy.js +2 -1
  74. package/package/components/apps/editor/commonAppUtils.d.ts +3 -0
  75. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
  76. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +7 -0
  77. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +4 -2
  78. package/package/components/apps/editor/inlineScriptsPanel/TagPopup.svelte +49 -0
  79. package/package/components/apps/editor/inlineScriptsPanel/TagPopup.svelte.d.ts +9 -0
  80. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +12 -0
  81. package/package/components/apps/inputType.d.ts +1 -0
  82. package/package/components/apps/sharedTypes.d.ts +1 -0
  83. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  84. package/package/components/auditLogs/AuditLogsFilters.svelte +8 -3
  85. package/package/components/common/confirmationModal/ConfirmationModal.svelte +1 -1
  86. package/package/components/common/fileUpload/S3ArgInput.svelte +12 -10
  87. package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +2 -0
  88. package/package/components/common/table/AppRow.svelte +3 -3
  89. package/package/components/common/table/FlowRow.svelte +3 -3
  90. package/package/components/common/table/RawAppRow.svelte +4 -4
  91. package/package/components/common/table/Row.svelte +6 -2
  92. package/package/components/common/table/ScriptRow.svelte +11 -3
  93. package/package/components/copilot/chat/AIChatDisplay.svelte +5 -36
  94. package/package/components/copilot/chat/AIChatInput.svelte +56 -47
  95. package/package/components/copilot/chat/AIChatManager.svelte.js +50 -48
  96. package/package/components/copilot/chat/ContextElementBadge.svelte +6 -4
  97. package/package/components/copilot/chat/anthropic.d.ts +7 -1
  98. package/package/components/copilot/chat/anthropic.js +5 -2
  99. package/package/components/copilot/chat/app/core.d.ts +12 -20
  100. package/package/components/copilot/chat/app/core.js +230 -159
  101. package/package/components/copilot/chat/app/core.test.js +417 -0
  102. package/package/components/copilot/chat/chatLoop.d.ts +3 -0
  103. package/package/components/copilot/chat/chatLoop.js +13 -5
  104. package/package/components/copilot/chat/context.js +44 -0
  105. package/package/components/copilot/chat/flow/FlowAIChat.svelte +57 -76
  106. package/package/components/copilot/chat/flow/core.d.ts +14 -3
  107. package/package/components/copilot/chat/flow/core.js +494 -116
  108. package/package/components/copilot/chat/flow/helperUtils.d.ts +22 -0
  109. package/package/components/copilot/chat/flow/helperUtils.js +100 -0
  110. package/package/components/copilot/chat/flow/helperUtils.test.js +231 -0
  111. package/package/components/copilot/chat/flow/inlineScriptsUtils.d.ts +5 -24
  112. package/package/components/copilot/chat/flow/inlineScriptsUtils.js +30 -55
  113. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  114. package/package/components/copilot/chat/flow/openFlowZod.gen.js +24 -0
  115. package/package/components/copilot/chat/flow/utils.test.js +59 -0
  116. package/package/components/copilot/chat/openai-responses.d.ts +7 -1
  117. package/package/components/copilot/chat/openai-responses.js +5 -2
  118. package/package/components/copilot/chat/script/core.js +3 -0
  119. package/package/components/copilot/chat/shared.d.ts +7 -2
  120. package/package/components/copilot/chat/shared.js +116 -53
  121. package/package/components/copilot/chat/shared.test.d.ts +1 -0
  122. package/package/components/copilot/chat/shared.test.js +412 -0
  123. package/package/components/copilot/chat/tokenUsage.d.ts +23 -0
  124. package/package/components/copilot/chat/tokenUsage.js +42 -0
  125. package/package/components/copilot/chat/workspaceTools.d.ts +7 -0
  126. package/package/components/copilot/chat/workspaceTools.js +239 -0
  127. package/package/components/copilot/chat/workspaceToolsZod.gen.d.ts +1295 -0
  128. package/package/components/copilot/chat/workspaceToolsZod.gen.js +424 -0
  129. package/package/components/copilot/lib.d.ts +5 -1
  130. package/package/components/copilot/lib.js +24 -6
  131. package/package/components/copilot/lib.test.d.ts +1 -0
  132. package/package/components/copilot/lib.test.js +19 -0
  133. package/package/components/copilot/modelConfig.d.ts +3 -0
  134. package/package/components/copilot/modelConfig.js +10 -0
  135. package/package/components/deploymentRequest/DeploymentRequestPanel.svelte +337 -0
  136. package/package/components/deploymentRequest/DeploymentRequestPanel.svelte.d.ts +15 -0
  137. package/package/components/details/CopyableCodeBlock.svelte +18 -8
  138. package/package/components/details/CopyableCodeBlock.svelte.d.ts +1 -0
  139. package/package/components/flows/FlowAssetsHandler.svelte +19 -21
  140. package/package/components/flows/FlowProgressBar.svelte +5 -2
  141. package/package/components/flows/agentToolTree.d.ts +17 -0
  142. package/package/components/flows/agentToolTree.js +114 -0
  143. package/package/components/flows/agentToolTree.test.d.ts +1 -0
  144. package/package/components/flows/agentToolTree.test.js +86 -0
  145. package/package/components/flows/agentToolUtils.d.ts +0 -5
  146. package/package/components/flows/agentToolUtils.js +0 -49
  147. package/package/components/flows/content/FlowLoop.svelte +7 -4
  148. package/package/components/flows/content/FlowModuleComponent.svelte +636 -599
  149. package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte +15 -7
  150. package/package/components/flows/content/FlowSettings.svelte +29 -0
  151. package/package/components/flows/conversations/FlowChatManager.svelte.js +21 -10
  152. package/package/components/flows/dfs.d.ts +6 -2
  153. package/package/components/flows/dfs.js +19 -11
  154. package/package/components/flows/flowDeleteController.d.ts +32 -0
  155. package/package/components/flows/flowDeleteController.js +54 -0
  156. package/package/components/flows/flowDeleteController.test.d.ts +1 -0
  157. package/package/components/flows/flowDeleteController.test.js +121 -0
  158. package/package/components/flows/flowDeleteUtils.d.ts +48 -0
  159. package/package/components/flows/flowDeleteUtils.js +150 -0
  160. package/package/components/flows/flowDeleteUtils.test.d.ts +1 -0
  161. package/package/components/flows/flowDeleteUtils.test.js +131 -0
  162. package/package/components/flows/flowDiff.d.ts +2 -47
  163. package/package/components/flows/flowDiff.js +16 -293
  164. package/package/components/flows/flowDiff.testUtils.d.ts +8 -0
  165. package/package/components/flows/flowDiff.testUtils.js +26 -0
  166. package/package/components/flows/flowDiffManager.svelte.js +20 -75
  167. package/package/components/flows/flowDiffManager.svelte.test.js +103 -2
  168. package/package/components/flows/flowExplorer.d.ts +4 -0
  169. package/package/components/flows/flowExplorer.js +7 -30
  170. package/package/components/flows/flowState.d.ts +1 -0
  171. package/package/components/flows/flowStateUtils.svelte.js +11 -2
  172. package/package/components/flows/flowTree.d.ts +91 -0
  173. package/package/components/flows/flowTree.js +326 -0
  174. package/package/components/flows/flowTree.test.d.ts +1 -0
  175. package/package/components/flows/flowTree.test.js +236 -0
  176. package/package/components/flows/map/FlowJobsMenu.svelte +36 -30
  177. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
  178. package/package/components/flows/map/FlowModuleSchemaMap.svelte +73 -229
  179. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
  180. package/package/components/flows/pickers/PickHubScriptQuick.svelte +2 -2
  181. package/package/components/flows/previousResults.js +13 -41
  182. package/package/components/flows/previousResults.test.d.ts +1 -0
  183. package/package/components/flows/previousResults.test.js +65 -0
  184. package/package/components/flows/propPicker/OutputPicker.svelte +2 -1
  185. package/package/components/flows/propPicker/OutputPickerInner.svelte +41 -4
  186. package/package/components/flows/propPicker/StepHistory.svelte +9 -1
  187. package/package/components/git_sync/GitSyncContext.svelte.js +11 -7
  188. package/package/components/git_sync/GitSyncRepositoryCard.svelte +2 -29
  189. package/package/components/git_sync/PullWorkspaceModal.svelte +6 -7
  190. package/package/components/graph/FlowGraphV2.svelte +8 -4
  191. package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
  192. package/package/components/graph/groupedModulesProxy.svelte.d.ts +10 -0
  193. package/package/components/graph/groupedModulesProxy.svelte.js +17 -1
  194. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +8 -2
  195. package/package/components/home/HomeConnectDrawer.svelte +125 -0
  196. package/package/components/home/HomeConnectDrawer.svelte.d.ts +5 -0
  197. package/package/components/home/deploy_ui.js +1 -1
  198. package/package/components/icons/AzureIcon.svelte +12 -25
  199. package/package/components/icons/AzureIcon.svelte.d.ts +3 -2
  200. package/package/components/icons/GithubIcon.svelte +4 -4
  201. package/package/components/icons/GithubIcon.svelte.d.ts +5 -2
  202. package/package/components/instanceSettings/ExternalJwtTokens.svelte +85 -0
  203. package/package/components/instanceSettings/ExternalJwtTokens.svelte.d.ts +12 -0
  204. package/package/components/instanceSettings/GhesAppSettings.svelte +17 -0
  205. package/package/components/instanceSettings/IndexerMemorySettings.svelte +56 -29
  206. package/package/components/instanceSettings/SecretBackendConfig.svelte +9 -2
  207. package/package/components/instanceSettings.d.ts +1 -0
  208. package/package/components/instanceSettings.js +66 -8
  209. package/package/components/mcp/McpScopeSelector.svelte +119 -9
  210. package/package/components/mcp/McpScopeSelector.svelte.d.ts +1 -0
  211. package/package/components/offboarding-utils.d.ts +11 -0
  212. package/package/components/offboarding-utils.js +102 -0
  213. package/package/components/progressBar/ProgressBar.svelte +9 -5
  214. package/package/components/progressBar/ProgressBar.svelte.d.ts +1 -0
  215. package/package/components/raw_apps/DeleteAfterUsePopup.svelte +52 -0
  216. package/package/components/raw_apps/DeleteAfterUsePopup.svelte.d.ts +9 -0
  217. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +5 -1
  218. package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -1
  219. package/package/components/raw_apps/RawAppEditor.svelte +186 -102
  220. package/package/components/raw_apps/RawAppEditorHeader.svelte +6 -1
  221. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -0
  222. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +9 -3
  223. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +2 -1
  224. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +1 -0
  225. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +1 -0
  226. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +48 -5
  227. package/package/components/raw_apps/RawAppSharedUiDrawer.svelte +129 -0
  228. package/package/components/raw_apps/RawAppSharedUiDrawer.svelte.d.ts +5 -0
  229. package/package/components/raw_apps/RawAppSidebar.svelte +12 -0
  230. package/package/components/raw_apps/RawAppYamlEditor.svelte +81 -0
  231. package/package/components/raw_apps/RawAppYamlEditor.svelte.d.ts +20 -0
  232. package/package/components/raw_apps/dataTableRefUtils.d.ts +7 -0
  233. package/package/components/raw_apps/dataTableRefUtils.js +34 -0
  234. package/package/components/raw_apps/dataTableRefUtils.test.d.ts +1 -0
  235. package/package/components/raw_apps/dataTableRefUtils.test.js +29 -0
  236. package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
  237. package/package/components/raw_apps/rawAppPolicy.d.ts +1 -0
  238. package/package/components/raw_apps/rawAppPolicy.js +17 -2
  239. package/package/components/resources/resourceTypesFilter.d.ts +19 -0
  240. package/package/components/resources/resourceTypesFilter.js +21 -0
  241. package/package/components/restartFromStepPath.d.ts +39 -0
  242. package/package/components/restartFromStepPath.js +89 -0
  243. package/package/components/runs/JobDetailFieldConfig.d.ts +1 -0
  244. package/package/components/runs/JobDetailFieldConfig.js +57 -10
  245. package/package/components/runs/JobDetailHeader.svelte +24 -3
  246. package/package/components/runs/runsFilter.d.ts +1 -1
  247. package/package/components/schema/FlowPropertyEditor.svelte +30 -1
  248. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +5 -2
  249. package/package/components/script_builder.d.ts +1 -1
  250. package/package/components/search/GlobalSearchModal.svelte +8 -1
  251. package/package/components/select/Select.svelte +3 -2
  252. package/package/components/select/Select.svelte.d.ts +1 -0
  253. package/package/components/settings/CreateToken.svelte +91 -71
  254. package/package/components/settings/CreateToken.svelte.d.ts +3 -0
  255. package/package/components/settings/EditTokenScopesModal.svelte +57 -0
  256. package/package/components/settings/EditTokenScopesModal.svelte.d.ts +10 -0
  257. package/package/components/settings/ScopesPicker.svelte +43 -0
  258. package/package/components/settings/ScopesPicker.svelte.d.ts +11 -0
  259. package/package/components/settings/TokensTable.svelte +51 -15
  260. package/package/components/settings/WorkspaceUserSettings.svelte +34 -28
  261. package/package/components/sidebar/OperatorMenu.svelte +6 -0
  262. package/package/components/sidebar/SidebarContent.svelte +68 -2
  263. package/package/components/sidebar/WorkspaceMenu.svelte +8 -4
  264. package/package/components/triggers/AddTriggersButton.svelte +17 -0
  265. package/package/components/triggers/CaptureWrapper.svelte +19 -1
  266. package/package/components/triggers/PermissionedAsLine.svelte +37 -3
  267. package/package/components/triggers/PermissionedAsLine.svelte.d.ts +6 -0
  268. package/package/components/triggers/TriggerEditorToolbar.svelte.d.ts +1 -1
  269. package/package/components/triggers/TriggerModeToggle.svelte +36 -7
  270. package/package/components/triggers/TriggerModeToggle.svelte.d.ts +1 -1
  271. package/package/components/triggers/TriggerSuspendedJobsModal.svelte.d.ts +1 -1
  272. package/package/components/triggers/TriggersEditor.svelte +10 -2
  273. package/package/components/triggers/TriggersWrapper.svelte +20 -0
  274. package/package/components/triggers/azure/AzureCapture.svelte +41 -0
  275. package/package/components/triggers/azure/AzureCapture.svelte.d.ts +44 -0
  276. package/package/components/triggers/azure/AzureTriggerEditor.svelte +20 -0
  277. package/package/components/triggers/azure/AzureTriggerEditor.svelte.d.ts +9 -0
  278. package/package/components/triggers/azure/AzureTriggerEditorConfigSection.svelte +301 -0
  279. package/package/components/triggers/azure/AzureTriggerEditorConfigSection.svelte.d.ts +16 -0
  280. package/package/components/triggers/azure/AzureTriggerEditorInner.svelte +422 -0
  281. package/package/components/triggers/azure/AzureTriggerEditorInner.svelte.d.ts +25 -0
  282. package/package/components/triggers/azure/AzureTriggerPanel.svelte +55 -0
  283. package/package/components/triggers/azure/AzureTriggerPanel.svelte.d.ts +10 -0
  284. package/{dist/sharedUtils/components/triggers/kafka → package/components/triggers/azure}/utils.d.ts +1 -1
  285. package/package/components/triggers/azure/utils.js +56 -0
  286. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +15 -11
  287. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +22 -14
  288. package/package/components/triggers/http/RouteEditorConfigSection.svelte +15 -7
  289. package/package/components/triggers/http/RouteEditorInner.svelte +16 -14
  290. package/package/components/triggers/http/RoutesGenerator.svelte +6 -1
  291. package/package/components/triggers/http/RoutesPanel.svelte +1 -1
  292. package/package/components/triggers/http/utils.d.ts +1 -1
  293. package/package/components/triggers/http/utils.js +2 -2
  294. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +22 -14
  295. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +22 -14
  296. package/package/components/triggers/native/NativeTriggerEditor.svelte +3 -0
  297. package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte +118 -0
  298. package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte.d.ts +17 -0
  299. package/package/components/triggers/native/utils.js +14 -0
  300. package/package/components/triggers/nats/NatsTriggerEditor.svelte.d.ts +4 -3
  301. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +22 -14
  302. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +4 -3
  303. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +22 -14
  304. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +22 -14
  305. package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +4 -3
  306. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +22 -14
  307. package/package/components/triggers/triggers.svelte.d.ts +1 -0
  308. package/package/components/triggers/triggers.svelte.js +24 -1
  309. package/package/components/triggers/utils.js +47 -6
  310. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -14
  311. package/package/components/triggers.d.ts +1 -1
  312. package/package/components/useFolderDefaultPermissionedAs.svelte.d.ts +13 -0
  313. package/package/components/useFolderDefaultPermissionedAs.svelte.js +63 -0
  314. package/package/components/useNestedRestartState.svelte.d.ts +56 -0
  315. package/package/components/useNestedRestartState.svelte.js +320 -0
  316. package/package/components/workspaceSettings/CreateWorkspace.svelte +16 -677
  317. package/package/components/workspaceSettings/CreateWorkspaceInner.svelte +604 -0
  318. package/package/components/workspaceSettings/CreateWorkspaceInner.svelte.d.ts +7 -0
  319. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +27 -25
  320. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +46 -8
  321. package/package/components/workspaceSettings/DataTableSettings.svelte +27 -22
  322. package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
  323. package/package/components/workspaceSettings/ForkDatatableSection.svelte +228 -0
  324. package/package/components/workspaceSettings/ForkDatatableSection.svelte.d.ts +28 -0
  325. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +8 -2
  326. package/package/components/workspaceSettings/RulesetEditor.svelte +27 -2
  327. package/package/components/workspaceSettings/SharedUiSettings.svelte +175 -0
  328. package/package/components/workspaceSettings/SharedUiSettings.svelte.d.ts +3 -0
  329. package/package/components/workspaceSettings/VolumeStorageSettings.svelte +1 -1
  330. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +17 -1
  331. package/package/consts.d.ts +3 -0
  332. package/package/consts.js +10 -0
  333. package/package/gen/core/OpenAPI.js +1 -1
  334. package/package/gen/schemas.gen.d.ts +795 -59
  335. package/package/gen/schemas.gen.js +801 -60
  336. package/package/gen/services.gen.d.ts +475 -5
  337. package/package/gen/services.gen.js +976 -23
  338. package/package/gen/types.gen.d.ts +1865 -75
  339. package/package/githubApp.js +5 -1
  340. package/package/hubPaths.json +2 -8
  341. package/package/infer.d.ts +1 -1
  342. package/package/infer.js +50 -52
  343. package/package/infer.svelte.js +10 -1
  344. package/package/mcpEndpointTools.js +60 -4
  345. package/package/monaco_workers/sqlTypePlugin.worker.d.ts +10 -0
  346. package/package/monaco_workers/sqlTypePlugin.worker.js +39 -0
  347. package/package/script_helpers.d.ts +8 -2
  348. package/package/script_helpers.js +31 -0
  349. package/package/stores.d.ts +11 -0
  350. package/package/stores.js +6 -0
  351. package/package/system_prompts/index.d.ts +1 -0
  352. package/package/system_prompts/index.js +8 -0
  353. package/package/system_prompts/prompts.d.ts +17 -13
  354. package/package/system_prompts/prompts.js +921 -61
  355. package/package/templates/ci_test_bun.ts.template +27 -0
  356. package/package/templates/ci_test_python.py.template +26 -0
  357. package/package/utils/forkConflict.d.ts +26 -0
  358. package/package/utils/forkConflict.js +56 -0
  359. package/package/utils_deployable.d.ts +164 -121
  360. package/package/utils_deployable.js +61 -11
  361. package/package/utils_workspace_deploy.d.ts +8 -8
  362. package/package/utils_workspace_deploy.js +89 -421
  363. package/package.json +30 -6
  364. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  365. package/dist/sharedUtils/base.d.ts +0 -1
  366. package/dist/sharedUtils/cloud.d.ts +0 -1
  367. package/dist/sharedUtils/common.d.ts +0 -111
  368. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  369. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  370. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  371. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  372. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  373. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  374. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  375. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  376. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  377. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  378. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  379. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  380. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  381. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  382. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  383. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  384. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  385. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  386. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  387. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  388. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  389. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  390. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  391. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  392. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  393. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  394. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  395. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  396. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  397. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  398. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  399. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  400. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  401. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  402. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  403. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  404. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  405. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  406. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  407. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  408. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  409. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  410. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  411. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  412. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  413. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  414. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  415. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  416. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  417. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  418. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  419. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  420. package/dist/sharedUtils/gen/index.d.ts +0 -6
  421. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  422. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  423. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  424. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  425. package/dist/sharedUtils/hub.d.ts +0 -49
  426. package/dist/sharedUtils/jsr.json +0 -6
  427. package/dist/sharedUtils/lib.d.ts +0 -5
  428. package/dist/sharedUtils/lib.es.js +0 -1588
  429. package/dist/sharedUtils/package.json +0 -12
  430. package/dist/sharedUtils/schema.d.ts +0 -3
  431. package/dist/sharedUtils/stores.d.ts +0 -97
  432. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  433. package/dist/sharedUtils/toast.d.ts +0 -8
  434. package/dist/sharedUtils/utils.d.ts +0 -265
  435. package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +0 -153
  436. package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +0 -21
  437. package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +0 -136
  438. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.d.ts +0 -15
  439. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -107
  440. package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +0 -50
  441. package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +0 -93
  442. package/package/components/copilot/chat/__tests__/app/appFixtureLoader.d.ts +0 -29
  443. package/package/components/copilot/chat/__tests__/app/appFixtureLoader.js +0 -134
  444. package/package/components/copilot/chat/__tests__/app/appResultsWriter.d.ts +0 -30
  445. package/package/components/copilot/chat/__tests__/app/appResultsWriter.js +0 -197
  446. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.d.ts +0 -10
  447. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.js +0 -9
  448. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/meta.json +0 -4
  449. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.d.ts +0 -6
  450. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.js +0 -5
  451. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/meta.json +0 -4
  452. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.d.ts +0 -12
  453. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.js +0 -14
  454. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/meta.json +0 -4
  455. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.d.ts +0 -8
  456. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.js +0 -25
  457. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/meta.json +0 -4
  458. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.d.ts +0 -7
  459. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.js +0 -5
  460. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/meta.json +0 -4
  461. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.d.ts +0 -8
  462. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.js +0 -5
  463. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/meta.json +0 -4
  464. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.d.ts +0 -10
  465. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.tsx +0 -26
  466. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.d.ts +0 -10
  467. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.tsx +0 -79
  468. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.d.ts +0 -10
  469. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.tsx +0 -46
  470. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.d.ts +0 -10
  471. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.tsx +0 -56
  472. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.d.ts +0 -6
  473. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.tsx +0 -59
  474. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.d.ts +0 -16
  475. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.tsx +0 -119
  476. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.d.ts +0 -15
  477. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.js +0 -14
  478. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/meta.json +0 -4
  479. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.d.ts +0 -14
  480. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.js +0 -5
  481. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/meta.json +0 -4
  482. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.d.ts +0 -6
  483. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.js +0 -41
  484. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/meta.json +0 -4
  485. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.d.ts +0 -15
  486. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.js +0 -3
  487. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/meta.json +0 -4
  488. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.d.ts +0 -9
  489. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.tsx +0 -51
  490. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.d.ts +0 -8
  491. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.tsx +0 -27
  492. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.d.ts +0 -8
  493. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.tsx +0 -18
  494. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.d.ts +0 -12
  495. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.tsx +0 -81
  496. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.d.ts +0 -3
  497. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.js +0 -3
  498. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/meta.json +0 -4
  499. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.d.ts +0 -3
  500. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.js +0 -3
  501. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/meta.json +0 -4
  502. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.d.ts +0 -2
  503. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.tsx +0 -38
  504. package/package/components/copilot/chat/__tests__/app/variants/baseline.d.ts +0 -6
  505. package/package/components/copilot/chat/__tests__/app/variants/baseline.js +0 -10
  506. package/package/components/copilot/chat/__tests__/app/variants/index.d.ts +0 -3
  507. package/package/components/copilot/chat/__tests__/app/variants/index.js +0 -3
  508. package/package/components/copilot/chat/__tests__/app/variants/streamlined.d.ts +0 -6
  509. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +0 -137
  510. package/package/components/copilot/chat/__tests__/flow/expected/test1.json +0 -134
  511. package/package/components/copilot/chat/__tests__/flow/expected/test2.json +0 -183
  512. package/package/components/copilot/chat/__tests__/flow/expected/test3.json +0 -204
  513. package/package/components/copilot/chat/__tests__/flow/expected/test4.json +0 -175
  514. package/package/components/copilot/chat/__tests__/flow/expected/test5_modify_simple.json +0 -68
  515. package/package/components/copilot/chat/__tests__/flow/expected/test6_modify_medium.json +0 -142
  516. package/package/components/copilot/chat/__tests__/flow/expected/test7_modify_complex.json +0 -136
  517. package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +0 -294
  518. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.d.ts +0 -17
  519. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +0 -49
  520. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.d.ts +0 -12
  521. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -79
  522. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +0 -50
  523. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +0 -102
  524. package/package/components/copilot/chat/__tests__/flow/initial/test5_initial.json +0 -53
  525. package/package/components/copilot/chat/__tests__/flow/initial/test6_initial.json +0 -68
  526. package/package/components/copilot/chat/__tests__/flow/initial/test7_initial.json +0 -120
  527. package/package/components/copilot/chat/__tests__/flow/variants/baseline.d.ts +0 -6
  528. package/package/components/copilot/chat/__tests__/flow/variants/baseline.js +0 -10
  529. package/package/components/copilot/chat/__tests__/flow/variants/index.d.ts +0 -3
  530. package/package/components/copilot/chat/__tests__/flow/variants/index.js +0 -3
  531. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.d.ts +0 -15
  532. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +0 -388
  533. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +0 -45
  534. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +0 -121
  535. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +0 -28
  536. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +0 -96
  537. package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.d.ts +0 -32
  538. package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.js +0 -130
  539. package/package/components/copilot/chat/__tests__/shared/baseVariants.d.ts +0 -45
  540. package/package/components/copilot/chat/__tests__/shared/baseVariants.js +0 -57
  541. package/package/components/copilot/chat/__tests__/shared/index.d.ts +0 -10
  542. package/package/components/copilot/chat/__tests__/shared/index.js +0 -5
  543. package/package/components/copilot/chat/__tests__/shared/types.d.ts +0 -105
  544. package/package/components/copilot/chat/__tests__/shared/types.js +0 -9
  545. package/package/components/copilot/chat/flow/openFlowZod.js +0 -24
  546. package/package/components/copilot/chat/flow/utils.d.ts +0 -14
  547. package/package/components/copilot/chat/flow/utils.js +0 -108
  548. package/package/components/flows/agentToolUtils.test.js +0 -55
  549. /package/package/components/copilot/chat/{__tests__/app/appChat.eval.test.d.ts → app/core.test.d.ts} +0 -0
  550. /package/package/components/copilot/chat/{__tests__/flow/flowChat.eval.test.d.ts → flow/helperUtils.test.d.ts} +0 -0
  551. /package/package/components/copilot/chat/flow/{openFlowZod.d.ts → openFlowZod.gen.d.ts} +0 -0
  552. /package/package/components/{flows/agentToolUtils.test.d.ts → copilot/chat/flow/utils.test.d.ts} +0 -0
@@ -8,6 +8,7 @@ import DiscordIcon from '../icons/brands/Discord.svelte';
8
8
  import { WorkspaceService } from '../../gen';
9
9
  import { sendUserToast } from '../../toast';
10
10
  import { clearStores } from '../../storeUtils';
11
+ import Toggle from '../Toggle.svelte';
11
12
  import { goto } from '../../navigation';
12
13
  import ConfirmationModal from '../common/confirmationModal/ConfirmationModal.svelte';
13
14
  import { twMerge } from 'tailwind-merge';
@@ -24,14 +25,46 @@ import { getAvailableNativeTriggerServices, getServiceConfig, getServiceIcon } f
24
25
  import { Menubar, Menu, MenuSingleItem, MenuItem, MeltButton } from '../meltComponents';
25
26
  import MenuButton from './MenuButton.svelte';
26
27
  import GoogleCloudIcon from '../icons/GoogleCloudIcon.svelte';
28
+ import AzureIcon from '../icons/AzureIcon.svelte';
27
29
  async function leaveWorkspace() {
28
30
  await WorkspaceService.leaveWorkspace({ workspace: $workspaceStore ?? '' });
29
31
  sendUserToast('You left the workspace');
30
32
  clearStores();
31
33
  goto('/user/workspaces');
32
34
  }
35
+ let forkedDatatables = $state([]);
36
+ async function loadForkedDatatables() {
37
+ if (!$workspaceStore)
38
+ return;
39
+ try {
40
+ const settings = await WorkspaceService.getPublicSettings({ workspace: $workspaceStore });
41
+ const datatables = settings.datatable?.datatables ?? {};
42
+ forkedDatatables = Object.entries(datatables)
43
+ .filter(([_, dt]) => dt.forked_from != null)
44
+ .map(([name, dt]) => ({
45
+ name,
46
+ resourceType: dt.database.resource_type ?? 'instance',
47
+ resourcePath: dt.database.resource_path ?? '',
48
+ dropOnDelete: true
49
+ }));
50
+ }
51
+ catch {
52
+ forkedDatatables = [];
53
+ }
54
+ }
33
55
  async function deleteFork() {
34
- await WorkspaceService.deleteWorkspace({ workspace: $workspaceStore ?? '' });
56
+ const workspace = $workspaceStore ?? '';
57
+ const dbsToDrop = forkedDatatables.filter((dt) => dt.dropOnDelete).map((dt) => dt.name);
58
+ if (dbsToDrop.length > 0) {
59
+ const errors = await WorkspaceService.dropForkedDatatableDatabases({
60
+ workspace,
61
+ requestBody: { datatable_names: dbsToDrop }
62
+ });
63
+ for (const err of errors) {
64
+ sendUserToast(err, true);
65
+ }
66
+ }
67
+ await WorkspaceService.deleteWorkspace({ workspace });
35
68
  sendUserToast('You deleted the workspace');
36
69
  clearStores();
37
70
  goto('/user/workspaces');
@@ -254,6 +287,15 @@ let defaultExtraTriggerLinks = $derived([
254
287
  aiId: 'sidebar-menu-link-gcp',
255
288
  aiDescription: 'Button to navigate to GCP Pub/Sub triggers'
256
289
  },
290
+ {
291
+ label: 'Azure Event Grid' + ($enterpriseLicense ? '' : ' (EE)'),
292
+ href: '/azure_triggers',
293
+ icon: AzureIcon,
294
+ disabled: $userStore?.operator || !$enterpriseLicense,
295
+ kind: 'azure',
296
+ aiId: 'sidebar-menu-link-azure',
297
+ aiDescription: 'Button to navigate to Azure Event Grid triggers'
298
+ },
257
299
  {
258
300
  label: 'MQTT',
259
301
  href: '/mqtt_triggers',
@@ -359,7 +401,8 @@ let secondaryMenuLinks = $derived([
359
401
  ? [
360
402
  {
361
403
  label: 'Delete Forked Workspace',
362
- action: () => {
404
+ action: async () => {
405
+ await loadForkedDatatables();
363
406
  deleteWorkspaceForkModal = true;
364
407
  },
365
408
  icon: Trash2,
@@ -675,6 +718,29 @@ let secondaryMenuLinks = $derived([
675
718
  >
676
719
  <div class="flex flex-col w-full space-y-4">
677
720
  <span>Are you sure you want to delete this workspace fork? (deleting {$workspaceStore})</span>
721
+ {#if forkedDatatables.length > 0}
722
+ <div class="border rounded-md divide-y">
723
+ <div class="px-4 py-2 text-xs font-semibold text-secondary"> Forked databases </div>
724
+ {#each forkedDatatables as dt}
725
+ <div class="flex items-center justify-between px-4 py-2">
726
+ <div class="flex flex-col">
727
+ <span class="text-xs font-medium text-secondary">{dt.name}</span>
728
+ <span class="text-3xs text-hint">
729
+ {dt.resourceType === 'instance'
730
+ ? dt.resourcePath
731
+ : `${$workspaceStore?.replace(/-/g, '_')}__${dt.name}`}
732
+ </span>
733
+ </div>
734
+ <Toggle
735
+ class="shrink-0"
736
+ size="xs"
737
+ bind:checked={dt.dropOnDelete}
738
+ options={{ right: 'Drop database' }}
739
+ />
740
+ </div>
741
+ {/each}
742
+ </div>
743
+ {/if}
678
744
  </div>
679
745
  </ConfirmationModal>
680
746
  {/if}
@@ -1,4 +1,4 @@
1
- <script lang="ts">import { isPremiumStore, superadmin, userStore, userWorkspaces, workspaceStore, workspaceUsageStore, workspaceColor, clearWorkspaceFromStorage } from '../../stores';
1
+ <script lang="ts">import { isPremiumStore, superadmin, userStore, userWorkspaces, workspaceStore, workspaceUsageStore, workspaceColor, clearWorkspaceFromStorage, globalForkModal } from '../../stores';
2
2
  import { isRuleActive } from '../../workspaceProtectionRules.svelte';
3
3
  import { Building, Plus, Settings, GitFork } from 'lucide-svelte';
4
4
  import MenuButton from './MenuButton.svelte';
@@ -63,7 +63,7 @@ const groupedWorkspaces = $derived.by(() => {
63
63
  return [];
64
64
  return buildWorkspaceHierarchy($userWorkspaces);
65
65
  });
66
- const itemClass = 'text-primary flex flex-row gap-2 px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary';
66
+ const itemClass = 'text-primary w-full flex flex-row gap-2 px-4 py-2 text-xs hover:bg-surface-hover hover:text-primary data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary';
67
67
  </script>
68
68
 
69
69
  <Menu {createMenu} usePointerDownOutside>
@@ -155,9 +155,13 @@ const itemClass = 'text-primary flex flex-row gap-2 px-4 py-2 text-xs hover:bg-s
155
155
  </MenuItem>
156
156
  </div>
157
157
  {/if}
158
- {#if !strictWorkspaceSelect && !isCloudHosted() && !isRuleActive('DisableWorkspaceForking')}
158
+ {#if !strictWorkspaceSelect && !isCloudHosted() && !isRuleActive('DisableWorkspaceForking') && $workspaceStore !== 'admins'}
159
159
  <div class="py-1" role="none">
160
- <MenuItem href="{base}/user/fork_workspace" class={itemClass} {item}>
160
+ <MenuItem
161
+ class={itemClass}
162
+ {item}
163
+ onClick={() => (globalForkModal.val = { opened: true })}
164
+ >
161
165
  <GitFork size={16} />
162
166
  Fork current workspace
163
167
  </MenuItem>
@@ -10,14 +10,19 @@ let dropdown;
10
10
  const cloudHosted = isCloudHosted();
11
11
  let nextcloudAvailable = $state(false);
12
12
  let googleAvailable = $state(false);
13
+ let githubAvailable = $state(false);
13
14
  async function setNextcloudState() {
14
15
  nextcloudAvailable = await isServiceAvailable('nextcloud', $workspaceStore);
15
16
  }
16
17
  async function setGoogleState() {
17
18
  googleAvailable = await isServiceAvailable('google', $workspaceStore);
18
19
  }
20
+ async function setGithubState() {
21
+ githubAvailable = await isServiceAvailable('github', $workspaceStore);
22
+ }
19
23
  setNextcloudState();
20
24
  setGoogleState();
25
+ setGithubState();
21
26
  const addTriggerItems = $derived([
22
27
  {
23
28
  displayName: 'Schedule',
@@ -67,6 +72,12 @@ const addTriggerItems = $derived([
67
72
  icon: triggerIconMap.gcp,
68
73
  extra: cloudHosted ? extra : undefined
69
74
  },
75
+ {
76
+ displayName: 'Azure Event Grid',
77
+ action: () => onAddDraftTrigger?.('azure'),
78
+ icon: triggerIconMap.azure,
79
+ extra: cloudHosted ? extra : undefined
80
+ },
70
81
  {
71
82
  displayName: 'Email',
72
83
  action: () => onAddDraftTrigger?.('email'),
@@ -93,6 +104,12 @@ const addTriggerItems = $derived([
93
104
  action: () => onAddDraftTrigger?.('google'),
94
105
  icon: triggerIconMap.google,
95
106
  hidden: !googleAvailable
107
+ },
108
+ {
109
+ displayName: 'GitHub',
110
+ action: () => onAddDraftTrigger?.('github'),
111
+ icon: triggerIconMap.github,
112
+ hidden: !githubAvailable
96
113
  }
97
114
  ].filter((item) => !item.hidden));
98
115
  let triggersButtonWidth = $state(0);
@@ -12,6 +12,7 @@ import NatsCapture from './nats/NatsCapture.svelte';
12
12
  import MqttCapture from './mqtt/MqttCapture.svelte';
13
13
  import SqsCapture from './sqs/SqsCapture.svelte';
14
14
  import GcpCapture from './gcp/GcpCapture.svelte';
15
+ import AzureCapture from './azure/AzureCapture.svelte';
15
16
  import EmailCapture from './email/EmailCapture.svelte';
16
17
  let { isFlow, path, hasPreprocessor, canHavePreprocessor, captureType = 'webhook', data = {}, connectionInfo = $bindable(undefined), args = {}, isValid = false, triggerDeployed = false } = $props();
17
18
  let captureLoading = $state(false);
@@ -41,7 +42,10 @@ function isStreamingCapture() {
41
42
  if (captureType === 'gcp' && args.delivery_type === 'push') {
42
43
  return false;
43
44
  }
44
- return ['mqtt', 'sqs', 'websocket', 'postgres', 'kafka', 'nats', 'gcp'].includes(captureType);
45
+ if (captureType === 'azure' && args.azure_mode !== 'namespace_pull') {
46
+ return false;
47
+ }
48
+ return ['mqtt', 'sqs', 'websocket', 'postgres', 'kafka', 'nats', 'gcp', 'azure'].includes(captureType);
45
49
  }
46
50
  async function getCaptureConfigs() {
47
51
  const captureConfigsList = await CaptureService.getCaptureConfigs({
@@ -281,6 +285,20 @@ $effect(() => {
281
285
  on:captureToggle={handleCapture}
282
286
  on:testWithArgs
283
287
  />
288
+ {:else if captureType === 'azure'}
289
+ <AzureCapture
290
+ {isValid}
291
+ {captureInfo}
292
+ {hasPreprocessor}
293
+ {isFlow}
294
+ {captureLoading}
295
+ subscriptionName={args.subscription_name}
296
+ on:applyArgs
297
+ on:updateSchema
298
+ on:addPreprocessor
299
+ on:captureToggle={handleCapture}
300
+ on:testWithArgs
301
+ />
284
302
  {:else if captureType === 'email'}
285
303
  <EmailCapture
286
304
  local_part={args.local_part}
@@ -1,11 +1,34 @@
1
1
  <script lang="ts">import OnBehalfOfSelector, {} from '../OnBehalfOfSelector.svelte';
2
+ import { useFolderDefaultPermissionedAs } from '../useFolderDefaultPermissionedAs.svelte';
2
3
  import { userStore, workspaceStore } from '../../stores';
3
4
  import { AlertTriangle } from 'lucide-svelte';
4
- let { permissionedAs, onPermissionedAsChange } = $props();
5
+ let { permissionedAs, onPermissionedAsChange, path = undefined } = $props();
5
6
  const canPreserve = $derived($userStore?.is_admin || ($userStore?.groups ?? []).includes('wm_deployers'));
6
7
  const myPermissionedAs = $derived($userStore?.username ? `u/${$userStore.username}` : undefined);
8
+ const folderDefault = useFolderDefaultPermissionedAs(() => path);
7
9
  let onBehalfOfChoice = $state(undefined);
8
10
  let customPermissionedAs = $state(undefined);
11
+ let userHasSelected = $state(false);
12
+ // Full reset when permissionedAs changes (e.g. switching between edit/create).
13
+ $effect(() => {
14
+ permissionedAs;
15
+ userHasSelected = false;
16
+ customPermissionedAs = undefined;
17
+ onBehalfOfChoice = undefined;
18
+ });
19
+ // On creation with no folder default, default to "me". When the folder default
20
+ // loads async, transition to undefined so OnBehalfOfSelector's auto-select applies
21
+ // the folder default. Skip if the user has already made an explicit selection.
22
+ $effect(() => {
23
+ if (userHasSelected)
24
+ return;
25
+ if (permissionedAs === undefined && !folderDefault.value) {
26
+ onBehalfOfChoice = 'me';
27
+ }
28
+ else {
29
+ onBehalfOfChoice = undefined;
30
+ }
31
+ });
9
32
  const effectivePermissionedAs = $derived.by(() => {
10
33
  if (onBehalfOfChoice === 'target')
11
34
  return permissionedAs;
@@ -16,7 +39,17 @@ const effectivePermissionedAs = $derived.by(() => {
16
39
  const willChange = $derived(permissionedAs !== undefined &&
17
40
  effectivePermissionedAs !== undefined &&
18
41
  permissionedAs !== effectivePermissionedAs);
42
+ const shouldRender = $derived(!!$workspaceStore && (permissionedAs !== undefined || canPreserve));
43
+ // For non-admin users editing a trigger owned by someone else: signal that
44
+ // permissioned_as will change to the current user (backend ignores preserve for non-admins).
45
+ // Only fires when there's an actual change (DB value differs from current user).
46
+ $effect(() => {
47
+ if (!canPreserve && permissionedAs !== undefined && permissionedAs !== myPermissionedAs) {
48
+ onPermissionedAsChange(undefined, false);
49
+ }
50
+ });
19
51
  function handleSelect(choice, details) {
52
+ userHasSelected = true;
20
53
  onBehalfOfChoice = choice;
21
54
  if (choice === 'target') {
22
55
  customPermissionedAs = undefined;
@@ -33,7 +66,7 @@ function handleSelect(choice, details) {
33
66
  }
34
67
  </script>
35
68
 
36
- {#if permissionedAs && $workspaceStore}
69
+ {#if shouldRender && $workspaceStore}
37
70
  <div class="flex items-center gap-1.5 text-2xs text-tertiary mb-4">
38
71
  <span>Permissioned as</span>
39
72
  {#if canPreserve}
@@ -46,6 +79,7 @@ function handleSelect(choice, details) {
46
79
  {canPreserve}
47
80
  customValue={customPermissionedAs}
48
81
  isDeployment={false}
82
+ folderDefault={folderDefault.value}
49
83
  />
50
84
  {#if willChange}
51
85
  <AlertTriangle class="w-3.5 h-3.5 text-yellow-500" />
@@ -53,7 +87,7 @@ function handleSelect(choice, details) {
53
87
  >will change from <strong>{permissionedAs}</strong> on save</span
54
88
  >
55
89
  {/if}
56
- {:else}
90
+ {:else if permissionedAs}
57
91
  <strong class="text-secondary">{permissionedAs}</strong>
58
92
  {#if willChange}
59
93
  <AlertTriangle class="w-3.5 h-3.5 text-yellow-500" />
@@ -3,6 +3,12 @@ interface Props {
3
3
  permissionedAs: string | undefined;
4
4
  /** Callback when user changes the permissioned_as selection */
5
5
  onPermissionedAsChange: (permissionedAs: string | undefined, preserve: boolean) => void;
6
+ /**
7
+ * Item path (e.g. `f/prod/my_trigger`). When provided and the user is an
8
+ * admin/wm_deployers member, the component fetches the parent folder's
9
+ * `default_permissioned_as` rules and preselects the matching default.
10
+ */
11
+ path?: string | undefined;
6
12
  }
7
13
  declare const PermissionedAsLine: import("svelte").Component<Props, {}, "">;
8
14
  type PermissionedAsLine = ReturnType<typeof PermissionedAsLine>;
@@ -13,7 +13,7 @@ interface Props {
13
13
  extra?: Snippet;
14
14
  onDelete?: () => void;
15
15
  onReset?: () => void;
16
- onToggleMode: (mode: TriggerMode) => void;
16
+ onToggleMode: (mode: TriggerMode) => void | boolean | Promise<void | boolean>;
17
17
  onUpdate?: () => void;
18
18
  cloudDisabled?: boolean;
19
19
  trigger?: Trigger;
@@ -5,7 +5,18 @@ import DropdownV2 from '../DropdownV2.svelte';
5
5
  import Toggle from '../Toggle.svelte';
6
6
  import TriggerSuspendedJobsModal, {} from './TriggerSuspendedJobsModal.svelte';
7
7
  let { triggerMode, onToggleMode, canWrite, hideToggleLabels = false, hideDropdown = false, suspendedJobsModal: passedSuspendedJobsModal, includeModalConfig } = $props();
8
- let innerTriggerMode = $derived(triggerMode);
8
+ // Local writable state mirroring `triggerMode`. Both inner controls bind
9
+ // to it: the suspended ToggleButtonGroup directly (it already needed a
10
+ // writable to revert to 'suspended' when there are queued jobs), and the
11
+ // regular Toggle via a function binding that maps 'enabled'/'disabled'
12
+ // to a boolean. Either control can write back here, and the $effect
13
+ // re-syncs us from the prop whenever the parent updates `triggerMode`.
14
+ // This lets the parent reset us in cases where the user click can't go
15
+ // through (e.g. cancelled fork-conflict modal).
16
+ let innerTriggerMode = $state(triggerMode);
17
+ $effect(() => {
18
+ innerTriggerMode = triggerMode;
19
+ });
9
20
  let suspendedJobsModal = $derived(passedSuspendedJobsModal ?? null);
10
21
  </script>
11
22
 
@@ -47,9 +58,18 @@ let suspendedJobsModal = $derived(passedSuspendedJobsModal ?? null);
47
58
  <Toggle
48
59
  disabled={!canWrite}
49
60
  options={hideToggleLabels ? undefined : { right: 'enable', left: 'disable' }}
50
- checked={triggerMode === 'enabled'}
51
- on:change={(e) => {
52
- onToggleMode(e.detail ? 'enabled' : 'disabled')
61
+ bind:checked={
62
+ () => innerTriggerMode === 'enabled', (v) => (innerTriggerMode = v ? 'enabled' : 'disabled')
63
+ }
64
+ on:change={async (e) => {
65
+ const result = await onToggleMode(e.detail ? 'enabled' : 'disabled')
66
+ if (result === false) {
67
+ // Cancelled: snap the toggle back to the prop. Needed for
68
+ // list-page rows where the parent doesn't optimistically
69
+ // flip `triggerMode` (so $effect won't re-run from a no-op
70
+ // prop change).
71
+ innerTriggerMode = triggerMode
72
+ }
53
73
  }}
54
74
  />
55
75
  {#if !hideDropdown}
@@ -59,9 +79,18 @@ let suspendedJobsModal = $derived(passedSuspendedJobsModal ?? null);
59
79
  {
60
80
  displayName: 'Suspend job execution',
61
81
  icon: Pause,
62
- action: () => {
63
- triggerMode = 'suspended'
64
- onToggleMode?.('suspended')
82
+ action: async () => {
83
+ // Optimistically flip the local mirror, not the
84
+ // non-bindable `triggerMode` prop. The parent will
85
+ // echo the new mode back via $effect on success;
86
+ // on cancel (e.g. user dismisses the fork-conflict
87
+ // modal), reset to whatever the prop says — same
88
+ // shape as the Toggle's on:change handler.
89
+ innerTriggerMode = 'suspended'
90
+ const result = await onToggleMode?.('suspended')
91
+ if (result === false) {
92
+ innerTriggerMode = triggerMode
93
+ }
65
94
  },
66
95
  tooltip:
67
96
  'When a trigger is in suspended mode, it will continue to accept payloads and queue jobs, but those jobs will not run automatically. You can review the list of suspended jobs, and resume or cancel them individually.'
@@ -2,7 +2,7 @@ import type { JobTriggerKind, TriggerMode } from '../../gen';
2
2
  import TriggerSuspendedJobsModal, { type TriggerRunnableConfig } from './TriggerSuspendedJobsModal.svelte';
3
3
  interface Props {
4
4
  triggerMode: TriggerMode;
5
- onToggleMode: (mode: TriggerMode) => void;
5
+ onToggleMode: (mode: TriggerMode) => void | boolean | Promise<void | boolean>;
6
6
  canWrite: boolean;
7
7
  hideToggleLabels?: boolean;
8
8
  hideDropdown?: boolean;
@@ -10,7 +10,7 @@ type Props = {
10
10
  triggerPath: string;
11
11
  triggerKind: JobTriggerKind;
12
12
  hasChanged: boolean;
13
- onToggleMode: (mode: TriggerMode) => void;
13
+ onToggleMode: (mode: TriggerMode) => void | boolean | Promise<void | boolean>;
14
14
  runnableConfig: TriggerRunnableConfig;
15
15
  };
16
16
  declare const TriggerSuspendedJobsModal: import("svelte").Component<Props, {
@@ -12,7 +12,7 @@ import Button from '../common/button/Button.svelte';
12
12
  import TriggersWrapperV2 from './TriggersWrapper.svelte';
13
13
  import { triggerTypeToCaptureKind, CLOUD_DISABLED_TRIGGER_TYPES } from './utils';
14
14
  import { isCloudHosted } from '../../cloud';
15
- import { ScheduleService, WebsocketTriggerService, PostgresTriggerService, KafkaTriggerService, NatsTriggerService, MqttTriggerService, HttpTriggerService, GcpTriggerService, SqsTriggerService, EmailTriggerService, NativeTriggerService } from '../../gen';
15
+ import { ScheduleService, WebsocketTriggerService, PostgresTriggerService, KafkaTriggerService, NatsTriggerService, MqttTriggerService, HttpTriggerService, GcpTriggerService, AzureTriggerService, SqsTriggerService, EmailTriggerService, NativeTriggerService } from '../../gen';
16
16
  import { sendUserToast } from '../../toast';
17
17
  import Alert from '../common/alert/Alert.svelte';
18
18
  let { noEditor, newItem = false, currentPath, fakeInitialPath = '', runnableVersion = undefined, args = {}, initialPath, isFlow, canHavePreprocessor = false, hasPreprocessor = false, isDeployed = false, schema = undefined, noCapture = false, isEditor = true, onDeployTrigger } = $props();
@@ -47,6 +47,7 @@ async function deleteDeployedTrigger(triggerIndex) {
47
47
  kafka: () => KafkaTriggerService.deleteKafkaTrigger,
48
48
  nats: () => NatsTriggerService.deleteNatsTrigger,
49
49
  gcp: () => GcpTriggerService.deleteGcpTrigger,
50
+ azure: () => AzureTriggerService.deleteAzureTrigger,
50
51
  sqs: () => SqsTriggerService.deleteSqsTrigger,
51
52
  mqtt: () => MqttTriggerService.deleteMqttTrigger,
52
53
  http: () => HttpTriggerService.deleteHttpTrigger,
@@ -54,7 +55,8 @@ async function deleteDeployedTrigger(triggerIndex) {
54
55
  };
55
56
  const nativeTriggerServices = {
56
57
  nextcloud: 'nextcloud',
57
- google: 'google'
58
+ google: 'google',
59
+ github: 'github'
58
60
  };
59
61
  const deleteHandler = deleteHandlers[triggerType];
60
62
  const nativeServiceName = nativeTriggerServices[triggerType];
@@ -125,6 +127,9 @@ async function handleUpdate(trigger, path) {
125
127
  else if (triggerType === 'gcp') {
126
128
  await triggersState.fetchGcpTriggers(triggersCount, $workspaceStore, currentPath, isFlow, $userStore);
127
129
  }
130
+ else if (triggerType === 'azure') {
131
+ await triggersState.fetchAzureTriggers(triggersCount, $workspaceStore, currentPath, isFlow, $userStore);
132
+ }
128
133
  else if (triggerType === 'sqs') {
129
134
  await triggersState.fetchSqsTriggers(triggersCount, $workspaceStore, currentPath, isFlow, $userStore);
130
135
  }
@@ -143,6 +148,9 @@ async function handleUpdate(trigger, path) {
143
148
  else if (triggerType === 'google') {
144
149
  await triggersState.fetchNativeTriggers(triggersCount, 'google', $workspaceStore, currentPath, isFlow, $userStore);
145
150
  }
151
+ else if (triggerType === 'github') {
152
+ await triggersState.fetchNativeTriggers(triggersCount, 'github', $workspaceStore, currentPath, isFlow, $userStore);
153
+ }
146
154
  triggersState.selectedTriggerIndex = triggersState.triggers.findIndex((t) => t.path === path && t.type === triggerType);
147
155
  loading = false;
148
156
  onDeployTrigger?.({ type: triggerType, id: triggerId, path: triggerPath });
@@ -9,6 +9,7 @@ import NatsTriggersPanel from './nats/NatsTriggersPanel.svelte';
9
9
  import MqttTriggerPanel from './mqtt/MqttTriggersPanel.svelte';
10
10
  import SqsTriggerPanel from './sqs/SqsTriggerPanel.svelte';
11
11
  import GcpTriggerPanel from './gcp/GcpTriggerPanel.svelte';
12
+ import AzureTriggerPanel from './azure/AzureTriggerPanel.svelte';
12
13
  import ScheduledPollPanel from './scheduled/ScheduledPollPanel.svelte';
13
14
  import WebsocketTriggersPanel from './websocket/WebsocketTriggersPanel.svelte';
14
15
  import { triggerIconMap } from './utils';
@@ -123,6 +124,15 @@ $effect(() => {
123
124
  {customLabel}
124
125
  {...props}
125
126
  />
127
+ {:else if selectedTrigger.type === 'azure'}
128
+ <AzureTriggerPanel
129
+ {isFlow}
130
+ path={initialPath || fakeInitialPath}
131
+ {selectedTrigger}
132
+ defaultValues={selectedTrigger.draftConfig ?? selectedTrigger.captureConfig ?? undefined}
133
+ {customLabel}
134
+ {...props}
135
+ />
126
136
  {:else if selectedTrigger.type === 'email'}
127
137
  <EmailTriggerPanel
128
138
  {isFlow}
@@ -155,6 +165,16 @@ $effect(() => {
155
165
  {customLabel}
156
166
  {...props}
157
167
  />
168
+ {:else if selectedTrigger.type === 'github'}
169
+ <NativeTriggersPanel
170
+ service="github"
171
+ {isFlow}
172
+ path={initialPath || fakeInitialPath}
173
+ {selectedTrigger}
174
+ defaultValues={selectedTrigger.draftConfig ?? selectedTrigger.captureConfig ?? undefined}
175
+ {customLabel}
176
+ {...props}
177
+ />
158
178
  {:else if selectedTrigger.type === 'cli'}
159
179
  <div class="py-1 flex flex-col gap-6">
160
180
  <ClipboardPanel content={selectedTrigger.extra?.cliCommand ?? ''} />
@@ -0,0 +1,41 @@
1
+ <script lang="ts">import CaptureSection from '../CaptureSection.svelte';
2
+ import { Url } from '../../common';
3
+ import { fade } from 'svelte/transition';
4
+ let { captureInfo = undefined, isValid = undefined, hasPreprocessor = false, isFlow = false, captureLoading = false, subscriptionName = undefined } = $props();
5
+ // Mirror the backend suffix in set_azure_trigger_config: truncate to 39 then
6
+ // append "-wm-capture". Azure rule: [A-Za-z0-9-]{3,50}.
7
+ const captureSubscriptionName = $derived(subscriptionName
8
+ ? `${subscriptionName.length > 39 ? subscriptionName.slice(0, 39) : subscriptionName}-wm-capture`
9
+ : undefined);
10
+ </script>
11
+
12
+ {#if captureInfo}
13
+ <CaptureSection
14
+ captureType="azure"
15
+ disabled={isValid === false}
16
+ {captureInfo}
17
+ on:captureToggle
18
+ on:applyArgs
19
+ on:updateSchema
20
+ on:addPreprocessor
21
+ on:testWithArgs
22
+ {hasPreprocessor}
23
+ {isFlow}
24
+ {captureLoading}
25
+ >
26
+ {#snippet description()}
27
+ {#if captureInfo.active}
28
+ <p in:fade={{ duration: 100, delay: 50 }} out:fade={{ duration: 50 }}>
29
+ Listening to Azure Event Grid events...
30
+ </p>
31
+ {:else}
32
+ <p in:fade={{ duration: 100, delay: 50 }} out:fade={{ duration: 50 }}>
33
+ Start capturing to listen to Azure Event Grid events.
34
+ </p>
35
+ {/if}
36
+ {/snippet}
37
+ {#if captureSubscriptionName}
38
+ <Url label="Test subscription name" url={captureSubscriptionName} />
39
+ {/if}
40
+ </CaptureSection>
41
+ {/if}
@@ -0,0 +1,44 @@
1
+ import type { CaptureInfo } from '../CaptureSection.svelte';
2
+ interface Props {
3
+ captureInfo?: CaptureInfo | undefined;
4
+ isValid?: boolean | undefined;
5
+ hasPreprocessor?: boolean;
6
+ isFlow?: boolean;
7
+ captureLoading?: boolean;
8
+ subscriptionName?: string | undefined;
9
+ }
10
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
11
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
12
+ $$bindings?: Bindings;
13
+ } & Exports;
14
+ (internal: unknown, props: Props & {
15
+ $$events?: Events;
16
+ $$slots?: Slots;
17
+ }): Exports & {
18
+ $set?: any;
19
+ $on?: any;
20
+ };
21
+ z_$$bindings?: Bindings;
22
+ }
23
+ declare const AzureCapture: $$__sveltets_2_IsomorphicComponent<Props, {
24
+ captureToggle: CustomEvent<{
25
+ disableOnly?: boolean;
26
+ }>;
27
+ applyArgs: CustomEvent<{
28
+ kind: "main" | "preprocessor";
29
+ args: Record<string, any>;
30
+ }>;
31
+ updateSchema: CustomEvent<{
32
+ payloadData: Record<string, any>;
33
+ redirect: boolean;
34
+ args?: boolean;
35
+ }>;
36
+ addPreprocessor: CustomEvent<{
37
+ args: Record<string, any>;
38
+ } | null>;
39
+ testWithArgs: CustomEvent<Record<string, any>>;
40
+ } & {
41
+ [evt: string]: CustomEvent<any>;
42
+ }, {}, {}, "">;
43
+ type AzureCapture = InstanceType<typeof AzureCapture>;
44
+ export default AzureCapture;
@@ -0,0 +1,20 @@
1
+ <script lang="ts">import { tick } from 'svelte';
2
+ import AzureTriggerEditorInner from './AzureTriggerEditorInner.svelte';
3
+ let { onUpdate } = $props();
4
+ let open = $state(false);
5
+ export async function openEdit(ePath, isFlow) {
6
+ open = true;
7
+ await tick();
8
+ drawer?.openEdit(ePath, isFlow);
9
+ }
10
+ export async function openNew(is_flow, initial_script_path, defaultValues) {
11
+ open = true;
12
+ await tick();
13
+ drawer?.openNew(is_flow, initial_script_path, defaultValues);
14
+ }
15
+ let drawer = $state();
16
+ </script>
17
+
18
+ {#if open}
19
+ <AzureTriggerEditorInner {onUpdate} bind:this={drawer} />
20
+ {/if}
@@ -0,0 +1,9 @@
1
+ type $$ComponentProps = {
2
+ onUpdate?: (path?: string) => void;
3
+ };
4
+ declare const AzureTriggerEditor: import("svelte").Component<$$ComponentProps, {
5
+ openEdit: (ePath: string, isFlow: boolean) => Promise<void>;
6
+ openNew: (is_flow: boolean, initial_script_path?: string, defaultValues?: Record<string, any>) => Promise<void>;
7
+ }, "">;
8
+ type AzureTriggerEditor = ReturnType<typeof AzureTriggerEditor>;
9
+ export default AzureTriggerEditor;