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
@@ -1,6 +1,9 @@
1
1
  interface Props {
2
- height?: string;
3
- width?: string;
2
+ size?: number;
3
+ height?: number;
4
+ width?: number;
5
+ color?: string | undefined;
6
+ class?: string;
4
7
  }
5
8
  declare const GithubIcon: import("svelte").Component<Props, {}, "">;
6
9
  type GithubIcon = ReturnType<typeof GithubIcon>;
@@ -0,0 +1,85 @@
1
+ <script lang="ts">import DataTable from '../table/DataTable.svelte';
2
+ import Head from '../table/Head.svelte';
3
+ import Cell from '../table/Cell.svelte';
4
+ import SettingsPageHeader from '../settings/SettingsPageHeader.svelte';
5
+ import Toggle from '../Toggle.svelte';
6
+ import { displayDate } from '../../utils';
7
+ import { Check, X } from 'lucide-svelte';
8
+ let { tokens, hasMore, loading, activeOnly, onLoadMore, onActiveOnlyChange } = $props();
9
+ const loadMoreSize = 50;
10
+ </script>
11
+
12
+ <SettingsPageHeader
13
+ title="External JWTs"
14
+ description="External JWT tokens that have authenticated against this instance, deduplicated by their claims."
15
+ />
16
+
17
+ <div class="flex flex-row gap-2 items-center mb-2">
18
+ <Toggle
19
+ checked={activeOnly}
20
+ on:change={(e) => onActiveOnlyChange(e.detail)}
21
+ options={{
22
+ left: 'Recently active only',
23
+ leftTooltip: 'Show only tokens used in the last 30 days'
24
+ }}
25
+ />
26
+ </div>
27
+
28
+ <DataTable
29
+ shouldLoadMore={hasMore}
30
+ loadMore={loadMoreSize}
31
+ {loading}
32
+ on:loadMore={() => onLoadMore()}
33
+ >
34
+ <Head>
35
+ <tr>
36
+ <Cell head first>Email</Cell>
37
+ <Cell head>Username</Cell>
38
+ <Cell head>Admin</Cell>
39
+ <Cell head>Operator</Cell>
40
+ <Cell head>Workspace</Cell>
41
+ <Cell head>Label</Cell>
42
+ <Cell head>Scopes</Cell>
43
+ <Cell head last>Last Used</Cell>
44
+ </tr>
45
+ </Head>
46
+ <tbody>
47
+ {#each tokens as token, i (token.jwt_hash)}
48
+ <tr class={i % 2 === 0 ? 'bg-surface-tertiary' : 'bg-surface'}>
49
+ {#if token.email === ''}
50
+ <Cell first colspan={7}>
51
+ <span class="text-tertiary italic">Legacy entry — details unavailable</span>
52
+ </Cell>
53
+ <Cell last><span class="whitespace-nowrap">{displayDate(token.last_used_at)}</span></Cell>
54
+ {:else}
55
+ <Cell first><span class="font-mono text-xs">{token.email}</span></Cell>
56
+ <Cell>{token.username}</Cell>
57
+ <Cell>
58
+ {#if token.is_admin}
59
+ <Check size={14} class="text-green-600" />
60
+ {:else}
61
+ <X size={14} class="text-tertiary" />
62
+ {/if}
63
+ </Cell>
64
+ <Cell>
65
+ {#if token.is_operator}
66
+ <Check size={14} class="text-green-600" />
67
+ {:else}
68
+ <X size={14} class="text-tertiary" />
69
+ {/if}
70
+ </Cell>
71
+ <Cell>{token.workspace_id ?? '-'}</Cell>
72
+ <Cell>{token.label ?? '-'}</Cell>
73
+ <Cell>
74
+ {#if token.scopes && token.scopes.length > 0}
75
+ {token.scopes.join(', ')}
76
+ {:else}
77
+ -
78
+ {/if}
79
+ </Cell>
80
+ <Cell last><span class="whitespace-nowrap">{displayDate(token.last_used_at)}</span></Cell>
81
+ {/if}
82
+ </tr>
83
+ {/each}
84
+ </tbody>
85
+ </DataTable>
@@ -0,0 +1,12 @@
1
+ import type { ExternalJwtToken } from '../../gen';
2
+ interface Props {
3
+ tokens: ExternalJwtToken[];
4
+ hasMore: boolean;
5
+ loading: boolean;
6
+ activeOnly: boolean;
7
+ onLoadMore: () => void;
8
+ onActiveOnlyChange: (v: boolean) => void;
9
+ }
10
+ declare const ExternalJwtTokens: import("svelte").Component<Props, {}, "">;
11
+ type ExternalJwtTokens = ReturnType<typeof ExternalJwtTokens>;
12
+ export default ExternalJwtTokens;
@@ -142,6 +142,23 @@ let fieldsDisabled = $derived(disabled || !selfManaged);
142
142
  bind:value={$values['github_enterprise_app'].client_id}
143
143
  />
144
144
  </div>
145
+ <div class="flex flex-col gap-1">
146
+ <label for="ghes_app_owner" class="block text-xs font-semibold text-emphasis mb-1">
147
+ App owner
148
+ </label>
149
+ <TextInput
150
+ inputProps={{
151
+ type: 'text',
152
+ id: 'ghes_app_owner',
153
+ placeholder: 'my-org',
154
+ disabled: fieldsDisabled
155
+ }}
156
+ bind:value={$values['github_enterprise_app'].app_owner}
157
+ />
158
+ <span class="text-2xs text-secondary">
159
+ Organization or user that owns the GitHub App. Required for GHE Cloud (*.ghe.com) domains.
160
+ </span>
161
+ </div>
145
162
  </div>
146
163
 
147
164
  <div class="flex flex-col gap-1">
@@ -7,8 +7,22 @@ import Tooltip from '../Tooltip.svelte';
7
7
  import IntegerInput from '../IntegerInput.svelte';
8
8
  import InputError from '../InputError.svelte';
9
9
  import Label from '../Label.svelte';
10
+ import Toggle from '../Toggle.svelte';
10
11
  import { Loader2, RefreshCw } from 'lucide-svelte';
11
12
  let { values, disabled = false, errors = {} } = $props();
13
+ let isTimeWindowCapped = $derived($values['indexer_settings'].max_index_time_window_secs !== 0);
14
+ function setTimeWindowCapped(checked) {
15
+ if (checked) {
16
+ const { max_index_time_window_secs: _, ...rest } = $values['indexer_settings'];
17
+ $values['indexer_settings'] = rest;
18
+ }
19
+ else {
20
+ $values['indexer_settings'] = {
21
+ ...$values['indexer_settings'],
22
+ max_index_time_window_secs: 0
23
+ };
24
+ }
25
+ }
12
26
  let clearJobsIndexModalOpen = $state(false);
13
27
  let clearServiceLogsIndexModalOpen = $state(false);
14
28
  let status = $state(undefined);
@@ -80,36 +94,49 @@ loadStatus();
80
94
  />
81
95
  <InputError error={errors.writer_memory_budget ?? ''} />
82
96
  </div>
83
- <div class="flex flex-col gap-1">
84
- <label for="max_index_time_window_secs" class="block text-xs font-semibold text-emphasis">
85
- Index time window (days)
86
- <Tooltip>
87
- Maximum age of items to include in the index. Jobs and logs older than this window will not
88
- be indexed and will be cleaned up from the index. Set to 0 to disable (index everything
89
- within the retention period).
90
- </Tooltip>
91
- </label>
92
- <IntegerInput
93
- placeholder="7"
94
- id="max_index_time_window_secs"
95
- {disabled}
96
- error={errors.max_index_time_window_secs ?? ''}
97
- value={$values['indexer_settings'].max_index_time_window_secs != null
98
- ? Math.round($values['indexer_settings'].max_index_time_window_secs / 86400)
99
- : undefined}
100
- oninput={(v) => {
101
- if (v == null) {
102
- const { max_index_time_window_secs: _, ...rest } = $values['indexer_settings']
103
- $values['indexer_settings'] = rest
104
- } else {
105
- $values['indexer_settings'] = {
106
- ...$values['indexer_settings'],
107
- max_index_time_window_secs: v * 86400
97
+ <div class="flex flex-col gap-2">
98
+ <div class="flex flex-row items-center gap-2">
99
+ <span class="block text-xs font-semibold text-emphasis">
100
+ Index time window
101
+ <Tooltip>
102
+ Cap the age of items the indexer keeps. Jobs and logs older than this window are not
103
+ indexed and are cleaned up from the index. Disable the cap to index everything within the
104
+ retention period.
105
+ </Tooltip>
106
+ </span>
107
+ <div class="ml-auto">
108
+ <Toggle
109
+ {disabled}
110
+ checked={isTimeWindowCapped}
111
+ on:change={(e) => setTimeWindowCapped(e.detail)}
112
+ options={{ right: 'Cap by time window' }}
113
+ />
114
+ </div>
115
+ </div>
116
+ {#if isTimeWindowCapped}
117
+ <IntegerInput
118
+ placeholder="7"
119
+ id="max_index_time_window_secs"
120
+ {disabled}
121
+ error={errors.max_index_time_window_secs ?? ''}
122
+ value={$values['indexer_settings'].max_index_time_window_secs != null
123
+ ? Math.round($values['indexer_settings'].max_index_time_window_secs / 86400)
124
+ : undefined}
125
+ oninput={(v) => {
126
+ if (v == null) {
127
+ const { max_index_time_window_secs: _, ...rest } = $values['indexer_settings']
128
+ $values['indexer_settings'] = rest
129
+ } else {
130
+ $values['indexer_settings'] = {
131
+ ...$values['indexer_settings'],
132
+ max_index_time_window_secs: v * 86400
133
+ }
108
134
  }
109
- }
110
- }}
111
- />
112
- <InputError error={errors.max_index_time_window_secs ?? ''} />
135
+ }}
136
+ />
137
+ <span class="text-2xs text-tertiary">days (leave blank to use the default of 7 days)</span>
138
+ <InputError error={errors.max_index_time_window_secs ?? ''} />
139
+ {/if}
113
140
  </div>
114
141
  <Label label="Indexer status">
115
142
  {#snippet action()}
@@ -3,6 +3,7 @@ import Password from '../Password.svelte';
3
3
  import { SettingService } from '../../gen';
4
4
  import { sendUserToast } from '../../toast';
5
5
  import TextInput from '../text_input/TextInput.svelte';
6
+ import Toggle from '../Toggle.svelte';
6
7
  import { Database, Lock, Server, ArrowLeft, ArrowRight, Cloud } from 'lucide-svelte';
7
8
  import { enterpriseLicense } from '../../stores';
8
9
  import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
@@ -53,7 +54,8 @@ function setBackendType(type) {
53
54
  mount_path: $values['secret_backend']?.mount_path ?? 'windmill',
54
55
  jwt_role: $values['secret_backend']?.jwt_role ?? 'windmill-secrets',
55
56
  namespace: $values['secret_backend']?.namespace ?? null,
56
- token: $values['secret_backend']?.token ?? null
57
+ token: $values['secret_backend']?.token ?? null,
58
+ skip_ssl_verify: $values['secret_backend']?.skip_ssl_verify ?? false
57
59
  };
58
60
  }
59
61
  else if (type === 'AzureKeyVault') {
@@ -93,7 +95,8 @@ function getVaultSettings() {
93
95
  mount_path: $values['secret_backend'].mount_path,
94
96
  jwt_role: $values['secret_backend'].jwt_role,
95
97
  namespace: $values['secret_backend'].namespace || undefined,
96
- token: $values['secret_backend'].token || undefined
98
+ token: $values['secret_backend'].token || undefined,
99
+ skip_ssl_verify: $values['secret_backend'].skip_ssl_verify || undefined
97
100
  };
98
101
  }
99
102
  async function testVaultConnection() {
@@ -402,6 +405,10 @@ vault write auth/jwt/role/windmill-secrets \
402
405
  <span class="text-2xs text-secondary">Vault Enterprise namespace</span>
403
406
  <TextInput inputProps={{ type: 'text', id: 'vault_namespace', placeholder: 'admin/my-namespace', disabled }} bind:value={$values['secret_backend'].namespace} />
404
407
  </div>
408
+ <div class="flex flex-col gap-1">
409
+ <Toggle id="vault_skip_ssl_verify" {disabled} bind:checked={$values['secret_backend'].skip_ssl_verify} size="xs" options={{ right: 'Skip TLS certificate verification' }} />
410
+ <span class="text-2xs text-secondary">Disables TLS verification when connecting to Vault. Only enable for self-signed certificates in development.</span>
411
+ </div>
405
412
  </div>
406
413
  <div class="flex flex-col gap-4 pt-4 border-t">
407
414
  <Button unifiedSize="md" variant="accent" onclick={testVaultConnection} disabled={disabled || !isVaultConfigValid() || testingConnection} loading={testingConnection} startIcon={{ icon: Server }}>Test Connection</Button>
@@ -25,6 +25,7 @@ export interface Setting {
25
25
  hiddenInEe?: boolean;
26
26
  hideInQuickSetup?: boolean;
27
27
  requiresReloadOnChange?: boolean;
28
+ triggersRestart?: boolean;
28
29
  isValid?: (value: any) => boolean;
29
30
  validate?: (value: any) => Record<string, string>;
30
31
  error?: string;
@@ -13,6 +13,7 @@ export const OTEL_TRACING_PROXY_LANGUAGES = [
13
13
  'ruby'
14
14
  ];
15
15
  const positiveNumber = z.number().positive('Must be a positive number');
16
+ const nonNegativeNumber = z.number().nonnegative('Must be zero or a positive number');
16
17
  const indexerSettingsSchema = z
17
18
  .object({
18
19
  writer_memory_budget: positiveNumber.optional(),
@@ -21,7 +22,7 @@ const indexerSettingsSchema = z
21
22
  max_indexed_job_log_size: positiveNumber.optional(),
22
23
  commit_log_max_batch_size: positiveNumber.optional(),
23
24
  refresh_log_index_period: positiveNumber.optional(),
24
- max_index_time_window_secs: positiveNumber.optional()
25
+ max_index_time_window_secs: nonNegativeNumber.optional()
25
26
  })
26
27
  .passthrough();
27
28
  function validateIndexerSettings(v) {
@@ -55,7 +56,8 @@ export const scimSamlSetting = [
55
56
  fieldType: 'textarea',
56
57
  placeholder: 'https://dev-2578259.okta.com/app/exkaell8gidiiUWrg5d7/sso/saml/metadata ',
57
58
  storage: 'setting',
58
- ee_only: ''
59
+ ee_only: '',
60
+ triggersRestart: true
59
61
  }
60
62
  ];
61
63
  export const settings = {
@@ -81,6 +83,7 @@ export const settings = {
81
83
  fieldType: 'text',
82
84
  placeholder: 'mail.windmill.com',
83
85
  storage: 'setting',
86
+ triggersRestart: true,
84
87
  error: 'Must be a valid domain',
85
88
  isValid: (value) => value == undefined ||
86
89
  value === '' ||
@@ -93,7 +96,8 @@ export const settings = {
93
96
  key: 'request_size_limit_mb',
94
97
  fieldType: 'number',
95
98
  placeholder: '50',
96
- storage: 'setting'
99
+ storage: 'setting',
100
+ triggersRestart: true
97
101
  },
98
102
  {
99
103
  label: 'License key',
@@ -290,7 +294,23 @@ export const settings = {
290
294
  ee_only: ''
291
295
  }
292
296
  ],
293
- 'Auth/OAuth/SAML': [],
297
+ 'Auth/OAuth/SAML': [
298
+ {
299
+ label: 'Disable password login',
300
+ description: 'Hide the email/password form on the login page and reject password login requests. Use when you only want OAuth/SAML logins.',
301
+ key: 'disable_password_login',
302
+ fieldType: 'boolean',
303
+ storage: 'setting'
304
+ },
305
+ {
306
+ label: 'Auto-login SSO provider',
307
+ description: 'If set, the login page redirects automatically to this provider. Use the OAuth provider key (e.g. "okta", "google") or "saml". The provider must be configured; otherwise the setting is ignored. Visit /user/login?no_sso=1 to bypass the redirect and fall back to the normal login form.',
308
+ key: 'auto_login_provider',
309
+ fieldType: 'text',
310
+ placeholder: 'okta',
311
+ storage: 'setting'
312
+ }
313
+ ],
294
314
  'DB Health': [],
295
315
  Registries: [
296
316
  {
@@ -397,6 +417,22 @@ export const settings = {
397
417
  ee_only: '',
398
418
  hiddenIfEmpty: true
399
419
  },
420
+ {
421
+ label: 'Minimum release age (uv / Python)',
422
+ description: 'Refuse to install Python packages younger than this many seconds. Protects against supply-chain attacks via freshly published versions. Wires to <code>uv pip --exclude-newer</code>.',
423
+ key: 'uv_exclude_newer',
424
+ fieldType: 'seconds',
425
+ placeholder: '604800',
426
+ storage: 'setting'
427
+ },
428
+ {
429
+ label: 'Minimum release age (bun / npm)',
430
+ description: 'Refuse to install npm packages younger than this many seconds. Protects against supply-chain attacks via freshly published versions. Sets <code>BUN_INSTALL_MINIMUM_RELEASE_AGE</code>.',
431
+ key: 'bun_install_min_release_age',
432
+ fieldType: 'seconds',
433
+ placeholder: '604800',
434
+ storage: 'setting'
435
+ },
400
436
  {
401
437
  label: 'Nuget Config',
402
438
  description: 'Write a nuget.config file to set custom package sources and credentials. Use <clear /> inside <packageSources> to remove default sources and only use your custom ones',
@@ -544,7 +580,8 @@ export const settings = {
544
580
  key: 'otel',
545
581
  fieldType: 'otel',
546
582
  storage: 'setting',
547
- ee_only: ''
583
+ ee_only: '',
584
+ triggersRestart: true
548
585
  },
549
586
  {
550
587
  label: 'HTTP Request Tracing',
@@ -553,6 +590,7 @@ export const settings = {
553
590
  fieldType: 'otel_tracing_proxy',
554
591
  storage: 'setting',
555
592
  ee_only: 'HTTP Request Tracing is an EE feature',
593
+ triggersRestart: true,
556
594
  defaultValue: () => ({ enabled: false, enabled_languages: [...OTEL_TRACING_PROXY_LANGUAGES] })
557
595
  },
558
596
  {
@@ -561,7 +599,8 @@ export const settings = {
561
599
  key: 'expose_metrics',
562
600
  fieldType: 'boolean',
563
601
  storage: 'setting',
564
- ee_only: ''
602
+ ee_only: '',
603
+ triggersRestart: true
565
604
  }
566
605
  ],
567
606
  Indexer: [
@@ -621,6 +660,17 @@ export const settings = {
621
660
  !value.endsWith('/') &&
622
661
  !value.endsWith(' '))
623
662
  }
663
+ ],
664
+ LSP: [
665
+ {
666
+ label: 'Ruff config (ruff.toml)',
667
+ description: 'Shared ruff.toml applied to the Python editor linter across the whole instance. The LSP container fetches this every minute and writes it next to edited files. See <a href="https://docs.astral.sh/ruff/configuration/">ruff docs</a>',
668
+ key: 'ruff_config',
669
+ fieldType: 'codearea',
670
+ codeAreaLang: 'toml',
671
+ placeholder: 'line-length = 100\n\n[lint]\nselect = ["E", "F", "I"]\nignore = ["E501"]',
672
+ storage: 'setting'
673
+ }
624
674
  ]
625
675
  };
626
676
  export const settingsKeys = Object.keys(settings);
@@ -780,6 +830,12 @@ export const instanceSettingsNavigationGroups = [
780
830
  label: 'WebSocket',
781
831
  aiId: 'instance-settings-websocket',
782
832
  aiDescription: 'WebSocket connectivity test and URL override'
833
+ },
834
+ {
835
+ id: 'lsp',
836
+ label: 'LSP',
837
+ aiId: 'instance-settings-lsp',
838
+ aiDescription: 'Language server protocol settings (ruff config, editor linting)'
783
839
  }
784
840
  ]
785
841
  }
@@ -803,7 +859,8 @@ export const tabToCategoryMap = {
803
859
  private_hub: 'Private Hub',
804
860
  github_enterprise_app: 'GitHub App',
805
861
  websocket: 'WebSocket',
806
- db_health: 'DB Health'
862
+ db_health: 'DB Health',
863
+ lsp: 'LSP'
807
864
  };
808
865
  export const tabToAuthSubTab = {
809
866
  sso: 'sso',
@@ -834,7 +891,8 @@ export const categoryToTabMap = {
834
891
  'Private Hub': 'private_hub',
835
892
  'GitHub App': 'github_enterprise_app',
836
893
  WebSocket: 'websocket',
837
- 'DB Health': 'db_health'
894
+ 'DB Health': 'db_health',
895
+ LSP: 'lsp'
838
896
  };
839
897
  /**
840
898
  * Extract the label portion from a uFuzzy marked/highlighted string.
@@ -9,18 +9,19 @@ import { FlowService, FolderService, IntegrationService, ScriptService } from '.
9
9
  import { mcpEndpointTools } from '../../mcpEndpointTools';
10
10
  import InfoIcon from 'lucide-svelte/icons/info';
11
11
  import { SvelteMap } from 'svelte/reactivity';
12
- let { workspaceId, scope = $bindable() } = $props();
13
- let selectedMode = $state('favorites');
14
- let selectedFolders = $state([]);
12
+ let { workspaceId, scope = $bindable(), initialScope } = $props();
13
+ const parsedInitial = parseInitialScope(initialScope);
14
+ let selectedMode = $state(parsedInitial.mode);
15
+ let selectedFolders = $state(parsedInitial.folders);
15
16
  let allFolders = $state([]);
16
17
  let loadingFolders = $state(false);
17
18
  let folderNamesCache = new Map();
18
- let selectedScripts = $state([]);
19
- let selectedFlows = $state([]);
20
- let selectedEndpoints = $state([]);
21
- let customScriptPatterns = $state('');
22
- let customFlowPatterns = $state('');
23
- let newMcpApps = $state([]);
19
+ let selectedScripts = $state(parsedInitial.scripts);
20
+ let selectedFlows = $state(parsedInitial.flows);
21
+ let selectedEndpoints = $state(parsedInitial.endpoints);
22
+ let customScriptPatterns = $state(parsedInitial.scriptPatterns);
23
+ let customFlowPatterns = $state(parsedInitial.flowPatterns);
24
+ let newMcpApps = $state(parsedInitial.hubApps);
24
25
  let allScripts = $state([]);
25
26
  let allFlows = $state([]);
26
27
  let allApps = $state([]);
@@ -35,6 +36,88 @@ function parsePatterns(input) {
35
36
  .map((p) => p.trim())
36
37
  .filter((p) => p.length > 0);
37
38
  }
39
+ function parseInitialScope(input) {
40
+ const empty = {
41
+ mode: 'favorites',
42
+ folders: [],
43
+ scripts: [],
44
+ flows: [],
45
+ endpoints: [],
46
+ scriptPatterns: '',
47
+ flowPatterns: '',
48
+ hubApps: []
49
+ };
50
+ if (!input)
51
+ return empty;
52
+ const parts = input.split(/\s+/).filter((p) => p.length > 0);
53
+ if (parts.length === 0)
54
+ return empty;
55
+ const byKind = {};
56
+ let mode = 'custom';
57
+ const hubApps = [];
58
+ for (const part of parts) {
59
+ if (part === 'mcp:favorites') {
60
+ mode = 'favorites';
61
+ }
62
+ else if (part === 'mcp:all') {
63
+ mode = 'all';
64
+ }
65
+ else if (part.startsWith('mcp:hub:')) {
66
+ hubApps.push(...parsePatterns(part.slice('mcp:hub:'.length)));
67
+ }
68
+ else if (part.startsWith('mcp:scripts:')) {
69
+ byKind.scripts = parsePatterns(part.slice('mcp:scripts:'.length));
70
+ }
71
+ else if (part.startsWith('mcp:flows:')) {
72
+ byKind.flows = parsePatterns(part.slice('mcp:flows:'.length));
73
+ }
74
+ else if (part.startsWith('mcp:endpoints:')) {
75
+ byKind.endpoints = parsePatterns(part.slice('mcp:endpoints:'.length));
76
+ }
77
+ }
78
+ // Detect folder mode: scripts and flows are exclusively `f/X/*` patterns
79
+ // for the same set of folders, and endpoints is exactly `*`.
80
+ const folderRe = /^f\/([^/]+)\/\*$/;
81
+ const scriptFolders = (byKind.scripts ?? []).map((p) => p.match(folderRe)?.[1]);
82
+ const flowFolders = (byKind.flows ?? []).map((p) => p.match(folderRe)?.[1]);
83
+ const allScriptsAreFolders = scriptFolders.length > 0 && scriptFolders.every((f) => !!f);
84
+ const allFlowsAreFolders = flowFolders.length > 0 && flowFolders.every((f) => !!f);
85
+ const sameFolders = allScriptsAreFolders &&
86
+ allFlowsAreFolders &&
87
+ scriptFolders.length === flowFolders.length &&
88
+ scriptFolders.every((f, i) => f === flowFolders[i]);
89
+ const endpointsIsAll = byKind.endpoints?.length === 1 && byKind.endpoints[0] === '*';
90
+ if (mode !== 'favorites' && mode !== 'all' && sameFolders && endpointsIsAll) {
91
+ return {
92
+ mode: 'folder',
93
+ folders: scriptFolders.filter((f) => !!f),
94
+ scripts: [],
95
+ flows: [],
96
+ endpoints: [],
97
+ scriptPatterns: '',
98
+ flowPatterns: '',
99
+ hubApps
100
+ };
101
+ }
102
+ if (mode === 'favorites' || mode === 'all') {
103
+ return { ...empty, mode, hubApps };
104
+ }
105
+ // Custom mode: split each list into "selectable" entries (later filtered
106
+ // against allScripts/allFlows once loaded) and free-form patterns.
107
+ // We can't know yet which are real paths vs wildcard patterns, so pass
108
+ // everything as patterns; once allScripts/allFlows load, $effect will
109
+ // move matching entries into selectedScripts/selectedFlows.
110
+ return {
111
+ mode: 'custom',
112
+ folders: [],
113
+ scripts: [],
114
+ flows: [],
115
+ endpoints: byKind.endpoints ?? [],
116
+ scriptPatterns: (byKind.scripts ?? []).join(','),
117
+ flowPatterns: (byKind.flows ?? []).join(','),
118
+ hubApps
119
+ };
120
+ }
38
121
  // Compute scope string from selections
39
122
  $effect(() => {
40
123
  let scopeParts = [];
@@ -229,6 +312,33 @@ $effect(() => {
229
312
  loadAllScriptsAndFlows(workspaceId);
230
313
  }
231
314
  });
315
+ // One-shot: once allScripts/allFlows are loaded, split the
316
+ // initial pattern text into known paths (selectedScripts/Flows) vs
317
+ // remaining wildcards/unknowns (kept in pattern textbox).
318
+ let initialSplitDone = $state(false);
319
+ $effect(() => {
320
+ if (initialSplitDone || selectedMode !== 'custom')
321
+ return;
322
+ if (allScripts.length === 0 && allFlows.length === 0)
323
+ return;
324
+ const scriptSet = new Set(allScripts);
325
+ const flowSet = new Set(allFlows);
326
+ const scriptParts = parsePatterns(customScriptPatterns);
327
+ const knownScripts = scriptParts.filter((p) => scriptSet.has(p));
328
+ const remainingScripts = scriptParts.filter((p) => !scriptSet.has(p));
329
+ const flowParts = parsePatterns(customFlowPatterns);
330
+ const knownFlows = flowParts.filter((p) => flowSet.has(p));
331
+ const remainingFlows = flowParts.filter((p) => !flowSet.has(p));
332
+ if (knownScripts.length > 0) {
333
+ selectedScripts = [...new Set([...selectedScripts, ...knownScripts])];
334
+ customScriptPatterns = remainingScripts.join(',');
335
+ }
336
+ if (knownFlows.length > 0) {
337
+ selectedFlows = [...new Set([...selectedFlows, ...knownFlows])];
338
+ customFlowPatterns = remainingFlows.join(',');
339
+ }
340
+ initialSplitDone = true;
341
+ });
232
342
  const warning = $derived(selectedMode === 'all'
233
343
  ? 'Create your first scripts or flows to make them available via MCP.'
234
344
  : selectedMode === 'favorites'
@@ -1,6 +1,7 @@
1
1
  interface Props {
2
2
  workspaceId: string;
3
3
  scope: string;
4
+ initialScope?: string;
4
5
  }
5
6
  declare const McpScopeSelector: import("svelte").Component<Props, {}, "scope">;
6
7
  type McpScopeSelector = ReturnType<typeof McpScopeSelector>;
@@ -0,0 +1,11 @@
1
+ import type { OffboardAffectedPaths } from '../gen';
2
+ export declare function pl(n: number, singular: string): string;
3
+ export declare function countPaths(p: OffboardAffectedPaths | undefined | null): number;
4
+ export declare function flattenPaths(p: OffboardAffectedPaths | undefined | null): Array<{
5
+ kind: string;
6
+ path: string;
7
+ }>;
8
+ export declare function triggerLabel(triggerType: string): string;
9
+ export declare function kindLabel(kind: string): string;
10
+ export declare function itemHref(kind: string, path: string): string | undefined;
11
+ export declare function downloadCsv(rows: string[][], filename: string): void;