@codingame/monaco-vscode-chat-service-override 34.1.2 → 35.0.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 (427) hide show
  1. package/index.js +38 -0
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
  11. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
  14. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
  15. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
  16. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
  17. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
  18. package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
  19. package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
  20. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
  21. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
  22. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
  23. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
  24. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
  25. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
  29. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  35. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +35 -25
  36. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
  37. package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
  38. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  39. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
  40. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
  41. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
  42. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
  43. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
  44. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
  45. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
  46. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
  47. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
  48. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
  49. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
  50. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
  51. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
  52. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
  53. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
  56. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
  57. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
  58. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
  59. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
  60. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
  61. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
  63. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
  64. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
  65. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
  66. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
  67. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
  68. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
  69. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
  70. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
  71. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
  72. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
  73. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
  74. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
  75. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
  76. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
  77. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
  78. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
  79. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
  80. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
  81. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
  82. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
  83. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
  84. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
  85. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +32 -16
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
  92. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
  95. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  96. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +19 -24
  98. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +9 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  103. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  104. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  105. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  106. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
  107. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  108. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
  109. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  110. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  111. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  112. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
  114. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
  115. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -59
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
  147. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  148. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +27 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +9 -36
  154. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
  156. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
  159. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
  161. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
  162. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
  163. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
  165. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
  171. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
  172. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
  176. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
  177. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
  186. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1426 -97
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +9 -3
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +35 -32
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  262. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  263. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  265. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  267. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  269. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
  271. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  273. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
  274. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
  275. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  276. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
  278. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  279. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  280. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  282. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.d.ts +1 -0
  283. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
  284. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  285. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  286. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  287. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  290. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  293. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
  294. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
  295. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
  296. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
  298. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  299. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  301. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
  304. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
  306. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
  307. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
  308. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
  309. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
  310. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
  311. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
  312. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
  314. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
  315. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  316. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +7 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
  320. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
  321. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
  322. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  323. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
  324. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
  325. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
  327. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
  328. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
  329. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
  330. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
  333. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
  334. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
  335. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
  336. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
  338. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
  339. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
  340. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
  343. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
  344. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
  345. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
  346. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
  348. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
  350. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
  351. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
  352. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
  353. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
  355. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +10 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
  364. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
  369. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
  370. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  371. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
  372. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
  373. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  374. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  381. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +32 -20
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  396. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  397. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  399. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
  400. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  401. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  402. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  403. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
  406. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
  407. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
  408. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
  409. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
  410. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  411. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  412. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  413. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  414. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  415. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
  416. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
  417. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
  418. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
  419. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
  420. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
  423. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
  424. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
  425. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
  426. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
  427. /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
@@ -106,7 +106,7 @@ let AgentPluginRepositoryService = class AgentPluginRepositoryService {
106
106
  if (marketplace.kind === MarketplaceReferenceKind.LocalFileUri) {
107
107
  throw ( new Error(`Local marketplace repository does not exist: ${repoDir.fsPath}`));
108
108
  }
109
- const progressTitle = options?.progressTitle ?? ( localize(5250, "Preparing plugin marketplace '{0}'...", marketplace.displayLabel));
109
+ const progressTitle = options?.progressTitle ?? ( localize(5466, "Preparing plugin marketplace '{0}'...", marketplace.displayLabel));
110
110
  const failureLabel = options?.failureLabel ?? marketplace.displayLabel;
111
111
  await this._cloneRepository(
112
112
  repoDir,
@@ -137,7 +137,7 @@ let AgentPluginRepositoryService = class AgentPluginRepositoryService {
137
137
  try {
138
138
  return await this._progressService.withProgress({
139
139
  location: ProgressLocation.Notification,
140
- title: ( localize(5251, "Updating plugin '{0}'...", updateLabel)),
140
+ title: ( localize(5467, "Updating plugin '{0}'...", updateLabel)),
141
141
  cancellable: true
142
142
  }, () => this._pluginGit.pull(repoDir, cts.token), () => cts.dispose(true));
143
143
  } finally {
@@ -149,24 +149,73 @@ let AgentPluginRepositoryService = class AgentPluginRepositoryService {
149
149
  err
150
150
  );
151
151
  if (!options?.silent) {
152
+ const primaryActions = [( new Action("showGitOutput", ( localize(5468, "Show Git Output")), undefined, true, () => this._commandService.executeCommand("git.showOutput")))];
153
+ const failureLabel = options?.failureLabel ?? updateLabel;
154
+ if (marketplace.kind !== MarketplaceReferenceKind.LocalFileUri) {
155
+ primaryActions.push(( new Action("purgeAndRecloneMarketplace", ( localize(5469, "Purge Marketplace Cache and Reclone")), undefined, true, () => this._purgeAndRecloneMarketplace(marketplace, options?.marketplaceType, failureLabel))));
156
+ }
152
157
  this._notificationService.notify({
153
158
  severity: Severity.Error,
154
159
  message: ( localize(
155
- 5252,
160
+ 5470,
156
161
  "Failed to update plugin '{0}': {1}",
157
- options?.failureLabel ?? updateLabel,
162
+ failureLabel,
158
163
  err?.message ?? String(err)
159
164
  )),
160
165
  actions: {
161
- primary: [( new Action("showGitOutput", ( localize(5253, "Show Git Output")), undefined, true, () => {
162
- this._commandService.executeCommand("git.showOutput");
163
- }))]
166
+ primary: primaryActions
164
167
  }
165
168
  });
166
169
  }
167
170
  throw err;
168
171
  }
169
172
  }
173
+ async _purgeAndRecloneMarketplace(marketplace, marketplaceType, label) {
174
+ if (marketplace.kind === MarketplaceReferenceKind.LocalFileUri) {
175
+ return;
176
+ }
177
+ const repoDir = this.getRepositoryUri(marketplace, marketplaceType);
178
+ try {
179
+ await this._progressService.withProgress({
180
+ location: ProgressLocation.Notification,
181
+ title: ( localize(5471, "Purging plugin marketplace '{0}'...", marketplace.displayLabel)),
182
+ cancellable: false
183
+ }, async () => {
184
+ const exists = await this._fileService.exists(repoDir);
185
+ if (exists) {
186
+ await this._fileService.del(repoDir, {
187
+ recursive: true,
188
+ useTrash: false
189
+ });
190
+ }
191
+ await this.ensureRepository(marketplace, {
192
+ marketplaceType,
193
+ progressTitle: ( localize(5472, "Recloning plugin marketplace '{0}'...", marketplace.displayLabel)),
194
+ failureLabel: label
195
+ });
196
+ });
197
+ this._notificationService.info(( localize(
198
+ 5473,
199
+ "Recloned plugin marketplace '{0}'. Try updating plugins again.",
200
+ marketplace.displayLabel
201
+ )));
202
+ } catch (err) {
203
+ this._notificationService.notify({
204
+ severity: Severity.Error,
205
+ message: ( localize(
206
+ 5474,
207
+ "Failed to purge plugin marketplace '{0}': {1}",
208
+ marketplace.displayLabel,
209
+ err?.message ?? String(err)
210
+ )),
211
+ actions: {
212
+ primary: [( new Action("showGitOutput", ( localize(5468, "Show Git Output")), undefined, true, () => {
213
+ return this._commandService.executeCommand("git.showOutput");
214
+ }))]
215
+ }
216
+ });
217
+ }
218
+ }
170
219
  _getRepoCacheDirForReference(reference) {
171
220
  return joinPath(this._cacheRoot, ...reference.cacheSegments);
172
221
  }
@@ -237,13 +286,13 @@ let AgentPluginRepositoryService = class AgentPluginRepositoryService {
237
286
  this._notificationService.notify({
238
287
  severity: Severity.Error,
239
288
  message: ( localize(
240
- 5254,
289
+ 5475,
241
290
  "Failed to install plugin '{0}': {1}",
242
291
  failureLabel,
243
292
  err?.message ?? String(err)
244
293
  )),
245
294
  actions: {
246
- primary: [( new Action("showGitOutput", ( localize(5253, "Show Git Output")), undefined, true, () => {
295
+ primary: [( new Action("showGitOutput", ( localize(5468, "Show Git Output")), undefined, true, () => {
247
296
  this._commandService.executeCommand("git.showOutput");
248
297
  }))]
249
298
  }
@@ -92,7 +92,7 @@ let UpdatePluginAction = class UpdatePluginAction extends Action {
92
92
  pluginInstallService,
93
93
  pluginMarketplaceService
94
94
  ) {
95
- super(UpdatePluginAction_1.ID, ( localize(5255, "Update")), "extension-action label prominent install");
95
+ super(UpdatePluginAction_1.ID, ( localize(5476, "Update")), "extension-action label prominent install");
96
96
  this.plugin = plugin;
97
97
  this.liveMarketplacePlugin = liveMarketplacePlugin;
98
98
  this.pluginInstallService = pluginInstallService;
@@ -120,7 +120,7 @@ let ManagePluginAction = class ManagePluginAction extends Action {
120
120
  this.getActionGroups = getActionGroups;
121
121
  this.instantiationService = instantiationService;
122
122
  this._actionViewItem = null;
123
- this.tooltip = ( localize(5256, "Manage"));
123
+ this.tooltip = ( localize(5477, "Manage"));
124
124
  }
125
125
  createActionViewItem(options) {
126
126
  this._actionViewItem = this.instantiationService.createInstance(DropDownActionViewItem, this, options);
@@ -357,7 +357,7 @@ let AgentPluginsListView = class AgentPluginsListView extends AbstractExtensions
357
357
  return item?.name ?? "";
358
358
  },
359
359
  getWidgetAriaLabel() {
360
- return localize(5257, "Agent Plugins");
360
+ return localize(5478, "Agent Plugins");
361
361
  }
362
362
  },
363
363
  overrideStyles: getLocationBasedViewColors(this.viewDescriptorService.getViewLocationById(this.id)).listOverrideStyles
@@ -532,7 +532,7 @@ let AgentPluginsListView = class AgentPluginsListView extends AbstractExtensions
532
532
  this.bodyTemplate.pluginsList.classList.toggle("hidden", count === 0);
533
533
  this.bodyTemplate.messageContainer.classList.toggle("hidden", count > 0);
534
534
  if (count === 0 && this.isBodyVisible()) {
535
- this.bodyTemplate.messageBox.textContent = ( localize(5258, "No agent plugins found."));
535
+ this.bodyTemplate.messageBox.textContent = ( localize(5479, "No agent plugins found."));
536
536
  }
537
537
  }
538
538
  }
@@ -542,8 +542,8 @@ class AgentPluginsBrowseCommand extends Action2 {
542
542
  constructor() {
543
543
  super({
544
544
  id: "workbench.agentPlugins.browse",
545
- title: ( localize2(5259, "Agent Plugins")),
546
- tooltip: ( localize2(5260, "Browse Agent Plugins")),
545
+ title: ( localize2(5480, "Agent Plugins")),
546
+ tooltip: ( localize2(5481, "Browse Agent Plugins")),
547
547
  icon: Codicon.search,
548
548
  precondition: ( ContextKeyExpr.and(( ChatContextKeys.Setup.hidden.negate()), ( ChatContextKeys.Setup.disabledInWorkspace.negate()))),
549
549
  menu: [{
@@ -566,8 +566,8 @@ class CheckForPluginUpdatesCommand extends Action2 {
566
566
  constructor() {
567
567
  super({
568
568
  id: "workbench.agentPlugins.checkForUpdates",
569
- title: ( localize2(5261, "Update Plugins")),
570
- category: ( localize2(5262, "Chat")),
569
+ title: ( localize2(5482, "Update Plugins")),
570
+ category: ( localize2(5483, "Chat")),
571
571
  precondition: ChatContextKeys.enabled,
572
572
  f1: true
573
573
  });
@@ -580,8 +580,8 @@ class ForceUpdatePluginsCommand extends Action2 {
580
580
  constructor() {
581
581
  super({
582
582
  id: "workbench.agentPlugins.forceUpdate",
583
- title: ( localize2(5263, "Update Plugins (Force)")),
584
- category: ( localize2(5262, "Chat")),
583
+ title: ( localize2(5484, "Update Plugins (Force)")),
584
+ category: ( localize2(5483, "Chat")),
585
585
  precondition: ChatContextKeys.enabled,
586
586
  f1: true
587
587
  });
@@ -607,7 +607,7 @@ let AgentPluginsViewsContribution = class AgentPluginsViewsContribution extends
607
607
  registerAction2(ForceUpdatePluginsCommand);
608
608
  ( Registry.as(Extensions.ViewsRegistry)).registerViews([{
609
609
  id: InstalledAgentPluginsViewId,
610
- name: ( localize2(5264, "Agent Plugins - Installed")),
610
+ name: ( localize2(5485, "Agent Plugins - Installed")),
611
611
  ctorDescriptor: ( new SyncDescriptor(AgentPluginsListView, [{
612
612
  installedOnly: true
613
613
  }])),
@@ -617,7 +617,7 @@ let AgentPluginsViewsContribution = class AgentPluginsViewsContribution extends
617
617
  canToggleVisibility: true
618
618
  }, {
619
619
  id: "workbench.views.agentPlugins.default.marketplace",
620
- name: ( localize2(5265, "Agent Plugins")),
620
+ name: ( localize2(5486, "Agent Plugins")),
621
621
  ctorDescriptor: ( new SyncDescriptor(AgentPluginsListView, [{}])),
622
622
  when: ( ContextKeyExpr.and(DefaultViewsContext, ( HasInstalledAgentPluginsContext.toNegated()), ( ChatContextKeys.Setup.hidden.negate()))),
623
623
  weight: 30,
@@ -626,7 +626,7 @@ let AgentPluginsViewsContribution = class AgentPluginsViewsContribution extends
626
626
  hideByDefault: true
627
627
  }, {
628
628
  id: "workbench.views.agentPlugins.marketplace",
629
- name: ( localize2(5265, "Agent Plugins")),
629
+ name: ( localize2(5486, "Agent Plugins")),
630
630
  ctorDescriptor: ( new SyncDescriptor(AgentPluginsListView, [{}])),
631
631
  when: ( ContextKeyExpr.and(SearchAgentPluginsContext, ( ChatContextKeys.Setup.hidden.negate())))
632
632
  }], VIEW_CONTAINER);
@@ -1,6 +1,5 @@
1
1
  import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
- import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
4
3
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
5
4
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
6
5
  import type { SessionActiveClient, ToolDefinition } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
@@ -9,22 +8,35 @@ import { ICustomizationSyncProvider } from "@codingame/monaco-vscode-api/vscode/
9
8
  import { IAgentPluginService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service";
10
9
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
11
10
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
11
+ import { IMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service";
12
+ import { IConfigurationResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.service";
13
+ import { IAgentHostToolSetEnablementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.service";
14
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
12
15
  import { IAgentHostActiveClientService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.service";
13
16
  /** The exposed `syncProvider` is the same instance the service uses to resolve customizations; the contribution wires it into its harness so opt-out toggles propagate. */
14
17
  export interface IAgentRegistration extends IDisposable {
15
18
  readonly syncProvider: ICustomizationSyncProvider;
16
19
  }
17
20
  export declare class AgentHostActiveClientService extends Disposable implements IAgentHostActiveClientService {
21
+ private readonly _toolsService;
18
22
  private readonly _promptsService;
19
23
  private readonly _agentPluginService;
20
24
  private readonly _storageService;
21
25
  private readonly _instantiationService;
26
+ private readonly _fileService;
27
+ private readonly _mcpService;
28
+ private readonly _configurationResolverService;
29
+ private readonly _toolSetEnablementService;
22
30
  readonly _serviceBrand: undefined;
23
31
  private readonly _customizationsByType;
24
- readonly clientTools: IObservable<readonly ToolDefinition[]>;
25
- constructor(toolsService: ILanguageModelToolsService, configurationService: IConfigurationService, _promptsService: IPromptsService, _agentPluginService: IAgentPluginService, _storageService: IStorageService, _instantiationService: IInstantiationService);
32
+ private readonly _allToolsObs;
33
+ private readonly _allToolSetsObs;
34
+ /** Cached per-`sessionType` advertised-tools observable, so callers (e.g. autoruns) reuse one stable derived. */
35
+ private readonly _clientToolsByType;
36
+ constructor(_toolsService: ILanguageModelToolsService, _promptsService: IPromptsService, _agentPluginService: IAgentPluginService, _storageService: IStorageService, _instantiationService: IInstantiationService, _fileService: IFileService, _mcpService: IMcpService, _configurationResolverService: IConfigurationResolverService, _toolSetEnablementService: IAgentHostToolSetEnablementService);
26
37
  registerForAgent(sessionType: string): IAgentRegistration;
27
38
  private _setCustomizations;
28
39
  getActiveClient(sessionType: string, clientId: string): SessionActiveClient;
29
40
  getCustomizations(sessionType: string): IObservable<readonly ClientPluginCustomization[]>;
41
+ getClientTools(sessionType: string): IObservable<readonly ToolDefinition[]>;
30
42
  }
@@ -1,47 +1,56 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { Delayer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
5
  import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
5
6
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
7
  import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
7
8
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
8
- import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
9
9
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
10
10
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
11
- import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
12
11
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
13
- import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
14
12
  import { IAgentPluginService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service';
15
13
  import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
16
14
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
15
+ import { IMcpService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service';
16
+ import { IConfigurationResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.service';
17
17
  import { AgentCustomizationSyncProvider } from './agentCustomizationSyncProvider.js';
18
18
  import { resolveCustomizationRefs } from './agentHostLocalCustomizations.js';
19
19
  import { toolDataToDefinition } from './agentHostToolUtils.js';
20
+ import { isToolEnabledInSet } from './agentHostToolSetEnablementService.js';
21
+ import { IAgentHostToolSetEnablementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.service';
20
22
  import { SyncedCustomizationBundler } from './syncedCustomizationBundler.js';
23
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
21
24
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
25
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
22
26
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
23
27
 
24
28
  let AgentHostActiveClientService = class AgentHostActiveClientService extends Disposable {
25
29
  constructor(
26
- toolsService,
27
- configurationService,
30
+ _toolsService,
28
31
  _promptsService,
29
32
  _agentPluginService,
30
33
  _storageService,
31
- _instantiationService
34
+ _instantiationService,
35
+ _fileService,
36
+ _mcpService,
37
+ _configurationResolverService,
38
+ _toolSetEnablementService
32
39
  ) {
33
40
  super();
41
+ this._toolsService = _toolsService;
34
42
  this._promptsService = _promptsService;
35
43
  this._agentPluginService = _agentPluginService;
36
44
  this._storageService = _storageService;
37
45
  this._instantiationService = _instantiationService;
46
+ this._fileService = _fileService;
47
+ this._mcpService = _mcpService;
48
+ this._configurationResolverService = _configurationResolverService;
49
+ this._toolSetEnablementService = _toolSetEnablementService;
50
+ this._clientToolsByType = ( new Map());
38
51
  this._customizationsByType = observableValue("agentHostCustomizationsByType", ( new Map()));
39
- const allToolsObs = toolsService.observeTools(undefined);
40
- const allowlistObs = observableConfigValue(ChatConfiguration.AgentHostClientTools, [], configurationService);
41
- this.clientTools = derived(reader => {
42
- const allowlist = ( new Set(allowlistObs.read(reader)));
43
- return ( allToolsObs.read(reader).filter(t => t.toolReferenceName !== undefined && ( allowlist.has(t.toolReferenceName))).map(toolDataToDefinition));
44
- });
52
+ this._allToolsObs = this._toolsService.observeTools(undefined);
53
+ this._allToolSetsObs = this._toolsService.toolSets;
45
54
  }
46
55
  registerForAgent(sessionType) {
47
56
  const store = ( new DisposableStore());
@@ -55,9 +64,12 @@ let AgentHostActiveClientService = class AgentHostActiveClientService extends Di
55
64
  const seq = ++updateSeq;
56
65
  try {
57
66
  const refs = await resolveCustomizationRefs(
67
+ this._fileService,
58
68
  this._promptsService,
59
69
  syncProvider,
60
70
  this._agentPluginService,
71
+ this._mcpService,
72
+ this._configurationResolverService,
61
73
  bundler,
62
74
  sessionType
63
75
  );
@@ -72,14 +84,24 @@ let AgentHostActiveClientService = class AgentHostActiveClientService extends Di
72
84
  onUnexpectedError(err);
73
85
  }
74
86
  };
75
- store.add(syncProvider.onDidChange(() => updateCustomizations()));
87
+ const updateDelayer = store.add(( new Delayer(CUSTOMIZATION_UPDATE_DEBOUNCE_DELAY)));
88
+ const scheduleUpdate = () => {
89
+ updateDelayer.trigger(() => updateCustomizations()).catch(() => {});
90
+ };
91
+ store.add(syncProvider.onDidChange(() => scheduleUpdate()));
76
92
  store.add(Event.any(
77
93
  this._promptsService.onDidChangeCustomAgents,
78
94
  this._promptsService.onDidChangeSlashCommands,
79
95
  this._promptsService.onDidChangeSkills,
80
96
  this._promptsService.onDidChangeInstructions
81
- )(() => updateCustomizations()));
82
- updateCustomizations();
97
+ )(() => scheduleUpdate()));
98
+ store.add(autorun(reader => {
99
+ for (const server of this._mcpService.servers.read(reader)) {
100
+ server.enablement.read(reader);
101
+ server.readDefinitions().read(reader);
102
+ }
103
+ scheduleUpdate();
104
+ }));
83
105
  store.add(this._setCustomizations(sessionType, customizations));
84
106
  return {
85
107
  syncProvider,
@@ -103,7 +125,7 @@ let AgentHostActiveClientService = class AgentHostActiveClientService extends Di
103
125
  getActiveClient(sessionType, clientId) {
104
126
  return {
105
127
  clientId,
106
- tools: [...this.clientTools.get()],
128
+ tools: [...this.getClientTools(sessionType).get()],
107
129
  customizations: [...(this._customizationsByType.get().get(sessionType)?.get() ?? [])]
108
130
  };
109
131
  }
@@ -112,8 +134,33 @@ let AgentHostActiveClientService = class AgentHostActiveClientService extends Di
112
134
  reader => this._customizationsByType.read(reader).get(sessionType)?.read(reader) ?? EMPTY_CUSTOMIZATIONS
113
135
  );
114
136
  }
137
+ getClientTools(sessionType) {
138
+ let obs = this._clientToolsByType.get(sessionType);
139
+ if (!obs) {
140
+ obs = derived(reader => {
141
+ const tools = this._allToolsObs.read(reader);
142
+ const toolSets = this._allToolSetsObs.read(reader);
143
+ const enablement = this._toolSetEnablementService.observe(sessionType).read(reader);
144
+ const enabledToolIds = ( new Set());
145
+ for (const ts of toolSets) {
146
+ if (ts.deprecated) {
147
+ continue;
148
+ }
149
+ for (const tool of ts.getTools(reader)) {
150
+ if (isToolEnabledInSet(enablement, ts.id, tool.id)) {
151
+ enabledToolIds.add(tool.id);
152
+ }
153
+ }
154
+ }
155
+ return ( tools.filter(t => ( enabledToolIds.has(t.id))).map(toolDataToDefinition));
156
+ });
157
+ this._clientToolsByType.set(sessionType, obs);
158
+ }
159
+ return obs;
160
+ }
115
161
  };
116
- AgentHostActiveClientService = ( __decorate([( __param(0, ILanguageModelToolsService)), ( __param(1, IConfigurationService)), ( __param(2, IPromptsService)), ( __param(3, IAgentPluginService)), ( __param(4, IStorageService)), ( __param(5, IInstantiationService))], AgentHostActiveClientService));
162
+ AgentHostActiveClientService = ( __decorate([( __param(0, ILanguageModelToolsService)), ( __param(1, IPromptsService)), ( __param(2, IAgentPluginService)), ( __param(3, IStorageService)), ( __param(4, IInstantiationService)), ( __param(5, IFileService)), ( __param(6, IMcpService)), ( __param(7, IConfigurationResolverService)), ( __param(8, IAgentHostToolSetEnablementService))], AgentHostActiveClientService));
117
163
  const EMPTY_CUSTOMIZATIONS = ( Object.freeze([]));
164
+ const CUSTOMIZATION_UPDATE_DEBOUNCE_DELAY = 50;
118
165
 
119
166
  export { AgentHostActiveClientService };
@@ -1,7 +1,12 @@
1
1
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
2
  import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
- import type { Customization } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
3
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { type Customization, type RootConfigState } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
4
5
  import { AgentCustomization } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState";
6
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
7
+ import { IMcpServerConfiguration } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpPlatformTypes";
8
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
9
+ import { IAgentHostMcpServer } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostMcpServer";
5
10
  import { IAgentHostCustomizationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.service";
6
11
  export declare class NullAgentHostCustomizationService implements IAgentHostCustomizationService {
7
12
  readonly _serviceBrand: undefined;
@@ -10,4 +15,43 @@ export declare class NullAgentHostCustomizationService implements IAgentHostCust
10
15
  getCustomAgents(_sessionResource: URI): readonly AgentCustomization[];
11
16
  getCustomizations(_sessionResource: URI): readonly Customization[];
12
17
  getWorkingDirectory(sessionResource: URI): string | undefined;
18
+ getMcpServers(_sessionResource: URI): readonly IAgentHostMcpServer[];
19
+ addMcpServer(_sessionResource: URI, _name: string, _config: IMcpServerConfiguration): void;
20
+ authenticateMcpServer(_sessionResource: URI, _serverId: string): Promise<boolean>;
21
+ }
22
+ export interface IAgentHostCustomizationTarget {
23
+ readonly customizations: readonly Customization[];
24
+ readonly workingDirectory?: string;
25
+ readonly logOutputChannelId?: string;
26
+ readonly rootConfig?: RootConfigState;
27
+ authenticate(request: {
28
+ resource: string;
29
+ scopes?: readonly string[];
30
+ token: string;
31
+ }): Promise<unknown>;
32
+ setCustomizationEnabled(rawId: string, enabled: boolean): void;
33
+ setRootConfigValue(property: string, value: unknown): void;
34
+ }
35
+ export declare abstract class AbstractAgentHostCustomizationService extends Disposable implements IAgentHostCustomizationService {
36
+ protected readonly _instantiationService: IInstantiationService;
37
+ protected readonly _logService: ILogService;
38
+ readonly _serviceBrand: undefined;
39
+ private readonly _onDidChangeCustomAgents;
40
+ private readonly _onDidChangeCustomizations;
41
+ readonly onDidChangeCustomAgents: Event<void>;
42
+ readonly onDidChangeCustomizations: Event<void>;
43
+ protected constructor(_instantiationService: IInstantiationService, _logService: ILogService);
44
+ protected abstract _resolveTarget(sessionResource: URI): IAgentHostCustomizationTarget | undefined;
45
+ getCustomAgents(sessionResource: URI): readonly AgentCustomization[];
46
+ getCustomizations(sessionResource: URI): readonly Customization[];
47
+ getWorkingDirectory(sessionResource: URI): string | undefined;
48
+ getMcpServers(sessionResource: URI): readonly IAgentHostMcpServer[];
49
+ addMcpServer(sessionResource: URI, name: string, config: IMcpServerConfiguration): void;
50
+ authenticateMcpServer(sessionResource: URI, serverId: string): Promise<boolean>;
51
+ protected _fireCustomAgentsChanged(): void;
52
+ protected _fireCustomizationsChanged(): void;
53
+ private _flattenMcpServers;
54
+ private _findMcpServer;
55
+ protected _scopedMcpServerId(sessionResource: URI, rawId: string): string;
56
+ private _isScopedMcpServerIdForRawId;
13
57
  }
@@ -1,10 +1,13 @@
1
1
 
2
2
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
3
3
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import '../../../../../../platform/agentHost/common/agentHostSchema.js';
4
5
  import '../../../../../../platform/agentHost/common/agentService.js';
6
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService';
5
7
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
6
8
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-root/state';
7
9
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-session/state';
10
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-chat/state';
8
11
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-terminal/state';
9
12
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-changeset/state';
10
13
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-resource-watch/state';
@@ -12,6 +15,11 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/p
12
15
  import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
13
16
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
14
17
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
18
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/oauth';
19
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
20
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
21
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
22
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
15
23
 
16
24
  class NullAgentHostCustomizationService {
17
25
  constructor() {
@@ -27,6 +35,13 @@ class NullAgentHostCustomizationService {
27
35
  getWorkingDirectory(sessionResource) {
28
36
  return undefined;
29
37
  }
38
+ getMcpServers(_sessionResource) {
39
+ return [];
40
+ }
41
+ addMcpServer(_sessionResource, _name, _config) {}
42
+ authenticateMcpServer(_sessionResource, _serverId) {
43
+ return Promise.resolve(false);
44
+ }
30
45
  }
31
46
 
32
47
  export { NullAgentHostCustomizationService };
@@ -7,7 +7,10 @@ import { PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench
7
7
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
8
8
  import { type ICustomizationSyncProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService";
9
9
  import { IAgentPluginService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service";
10
- import type { SyncedCustomizationBundler } from "./syncedCustomizationBundler.js";
10
+ import { IMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service";
11
+ import { IConfigurationResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.service";
12
+ import type { ISyncableMcpServer, SyncedCustomizationBundler } from "./syncedCustomizationBundler.js";
13
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
11
14
  /**
12
15
  * Prompt types that participate in auto-sync to an agent host harness.
13
16
  *
@@ -35,7 +38,7 @@ export interface ILocalCustomizationFile {
35
38
  *
36
39
  * This is the single source of truth used by both the AI Customization view
37
40
  * (to render disable affordances) and the agent host wire (to compute the
38
- * `customizations` set published via `activeClientChanged`).
41
+ * `customizations` set published via `activeClientSet`).
39
42
  *
40
43
  * Built-in skills bundled with the Agents app (only present when the
41
44
  * sessions-aware prompts service is in play) are also enumerated so that
@@ -45,11 +48,28 @@ export interface ILocalCustomizationFile {
45
48
  */
46
49
  export declare function enumerateLocalCustomizationsForHarness(promptsService: IPromptsService, syncProvider: ICustomizationSyncProvider, sessionType: string, token: CancellationToken): Promise<readonly ILocalCustomizationFile[]>;
47
50
  /**
48
- * Resolves the customization refs to include in an `activeClientChanged`
51
+ * Enumerates MCP servers configured directly in VS Code — i.e. those that
52
+ * are not contributed by an agent plugin — so they can be bundled into the
53
+ * synthetic synced plugin. Plugin-sourced servers are excluded because they
54
+ * are already synced via their owning plugin's customization ref. Disabled
55
+ * servers and servers whose launch cannot be expressed declaratively are
56
+ * skipped.
57
+ *
58
+ * Workspace-discovered servers are also excluded by default: the agent host
59
+ * discovers workspace `.mcp.json` itself, so syncing them would duplicate. The
60
+ * exception is `.vscode/mcp.json`, which the agent host does not discover
61
+ * (despite what the SDK's `enableConfigDiscovery` docs imply) — those are
62
+ * synced, but only when their config can be resolved without requiring user
63
+ * interaction.
64
+ */
65
+ export declare function collectNonPluginMcpServers(mcpService: IMcpService, configurationResolverService: IConfigurationResolverService): Promise<ISyncableMcpServer[]>;
66
+ /**
67
+ * Resolves the customization refs to include in an `activeClientSet`
49
68
  * message.
50
69
  *
51
70
  * Every eligible local file is synced unless the user opted out. Files
52
71
  * belonging to installed plugins are de-duped to a single plugin ref;
53
- * remaining loose files are bundled into a synthetic Open Plugin.
72
+ * remaining loose files together with MCP servers configured directly in
73
+ * VS Code — are bundled into a synthetic Open Plugin.
54
74
  */
55
- export declare function resolveCustomizationRefs(promptsService: IPromptsService, syncProvider: ICustomizationSyncProvider, agentPluginService: IAgentPluginService, bundler: SyncedCustomizationBundler, sessionType: string): Promise<ClientPluginCustomization[]>;
75
+ export declare function resolveCustomizationRefs(fileService: IFileService, promptsService: IPromptsService, syncProvider: ICustomizationSyncProvider, agentPluginService: IAgentPluginService, mcpService: IMcpService, configurationResolverService: IConfigurationResolverService, bundler: SyncedCustomizationBundler, sessionType: string): Promise<ClientPluginCustomization[]>;