@codingame/monaco-vscode-chat-service-override 29.1.0 → 30.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 (258) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +37 -39
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
  12. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
  15. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
  16. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
  17. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  18. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  20. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +37 -16
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +10 -8
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +6 -6
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +20 -11
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +36 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +10 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -76
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +27 -35
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -8
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +64 -51
  80. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +288 -195
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +21 -21
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +50 -50
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +3 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  137. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  141. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +3 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
  144. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
  145. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
  146. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +181 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  154. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  155. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  156. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +8 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
  160. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
  161. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +16 -9
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
  184. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -18
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +2 -18
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
  201. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
  202. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
  203. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
  205. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  210. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +11 -11
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  216. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +2 -2
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -6
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +9 -9
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -50
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +66 -5
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
  249. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
  250. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
  251. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
  253. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
  258. /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
@@ -98,7 +98,7 @@ let McpServerItemRenderer = class McpServerItemRenderer {
98
98
  const nameRow = append(details, $(".mcp-server-name-row"));
99
99
  const name = append(nameRow, $(".mcp-server-name"));
100
100
  const bridgedBadge = append(nameRow, $(".inline-badge.mcp-bridged-badge"));
101
- bridgedBadge.textContent = ( localize(5394, "Bridged"));
101
+ bridgedBadge.textContent = ( localize(5426, "Bridged"));
102
102
  const description = append(details, $(".mcp-server-description"));
103
103
  const status = append(container, $(".mcp-server-status"));
104
104
  return {
@@ -121,7 +121,7 @@ let McpServerItemRenderer = class McpServerItemRenderer {
121
121
  getDefaultHoverDelegate("mouse"),
122
122
  templateData.bridgedBadge,
123
123
  ( localize(
124
- 5395,
124
+ 5427,
125
125
  "This server is managed by VS Code and forwarded to all compatible agent sessions."
126
126
  ))
127
127
  ));
@@ -141,7 +141,7 @@ let McpServerItemRenderer = class McpServerItemRenderer {
141
141
  const plugin = this.agentPluginService.plugins.get().find(p => ( p.uri.toString()) === pluginUriStr);
142
142
  if (plugin) {
143
143
  return {
144
- content: `${element.label}\n${( localize(5396, "Plugin: {0}", plugin.label))}`,
144
+ content: `${element.label}\n${( localize(5428, "Plugin: {0}", plugin.label))}`,
145
145
  appearance: {
146
146
  compact: true,
147
147
  skipFadeInAnimation: true
@@ -183,26 +183,26 @@ let McpServerItemRenderer = class McpServerItemRenderer {
183
183
  }
184
184
  statusElement.style.display = "";
185
185
  if (state === "disabled") {
186
- statusElement.textContent = ( localize(5397, "Disabled"));
186
+ statusElement.textContent = ( localize(5429, "Disabled"));
187
187
  statusElement.classList.add("disabled");
188
188
  return;
189
189
  }
190
190
  switch (state) {
191
191
  case McpConnectionState.Kind.Running:
192
- statusElement.textContent = ( localize(5398, "Running"));
192
+ statusElement.textContent = ( localize(5430, "Running"));
193
193
  statusElement.classList.add("running");
194
194
  break;
195
195
  case McpConnectionState.Kind.Starting:
196
- statusElement.textContent = ( localize(5399, "Starting"));
196
+ statusElement.textContent = ( localize(5431, "Starting"));
197
197
  statusElement.classList.add("starting");
198
198
  break;
199
199
  case McpConnectionState.Kind.Error:
200
- statusElement.textContent = ( localize(5400, "Error"));
200
+ statusElement.textContent = ( localize(5432, "Error"));
201
201
  statusElement.classList.add("error");
202
202
  break;
203
203
  case McpConnectionState.Kind.Stopped:
204
204
  default:
205
- statusElement.textContent = ( localize(5401, "Stopped"));
205
+ statusElement.textContent = ( localize(5433, "Stopped"));
206
206
  statusElement.classList.add("stopped");
207
207
  break;
208
208
  }
@@ -254,7 +254,7 @@ class McpGalleryItemRenderer {
254
254
  templateData.elementDisposables.add(templateData.installButton.onDidClick(async () => {
255
255
  const canInstall = this.mcpWorkbenchService.canInstall(element.server);
256
256
  if (canInstall === true) {
257
- templateData.installButton.label = ( localize(5402, "Installing..."));
257
+ templateData.installButton.label = ( localize(5434, "Installing..."));
258
258
  templateData.installButton.enabled = false;
259
259
  await this.mcpWorkbenchService.install(element.server);
260
260
  }
@@ -268,15 +268,15 @@ class McpGalleryItemRenderer {
268
268
  updateInstallButton(button, server) {
269
269
  switch (server.installState) {
270
270
  case McpServerInstallState.Installed:
271
- button.label = ( localize(5403, "Installed"));
271
+ button.label = ( localize(5435, "Installed"));
272
272
  button.enabled = false;
273
273
  break;
274
274
  case McpServerInstallState.Installing:
275
- button.label = ( localize(5402, "Installing..."));
275
+ button.label = ( localize(5434, "Installing..."));
276
276
  button.enabled = false;
277
277
  break;
278
278
  default:
279
- button.label = ( localize(5404, "Install"));
279
+ button.label = ( localize(5436, "Install"));
280
280
  button.enabled = true;
281
281
  break;
282
282
  }
@@ -341,7 +341,7 @@ let McpListWidget = class McpListWidget extends Disposable {
341
341
  this.searchAndButtonContainer = append(this.element, $(".list-search-and-button-container"));
342
342
  const searchContainer = append(this.searchAndButtonContainer, $(".list-search-container"));
343
343
  this.searchInput = this._register(( new InputBox(searchContainer, this.contextViewService, {
344
- placeholder: ( localize(5405, "Type to search...")),
344
+ placeholder: ( localize(5437, "Type to search...")),
345
345
  inputBoxStyles: defaultInputBoxStyles
346
346
  })));
347
347
  this._register(this.searchInput.onDidChange(() => {
@@ -359,7 +359,7 @@ let McpListWidget = class McpListWidget extends Disposable {
359
359
  secondary: true,
360
360
  supportIcons: true
361
361
  })));
362
- this.browseButton.label = `$(${Codicon.library.id}) ${( localize(5406, "Browse Marketplace"))}`;
362
+ this.browseButton.label = `$(${Codicon.library.id}) ${( localize(5438, "Browse Marketplace"))}`;
363
363
  this.browseButton.element.classList.add("list-add-button");
364
364
  this._register(this.browseButton.onDidClick(() => {
365
365
  this.toggleBrowseMode(!this.browseMode);
@@ -368,13 +368,13 @@ let McpListWidget = class McpListWidget extends Disposable {
368
368
  ...defaultButtonStyles,
369
369
  secondary: true,
370
370
  supportIcons: true,
371
- title: ( localize(5407, "Add Server")),
372
- ariaLabel: ( localize(5407, "Add Server"))
371
+ title: ( localize(5439, "Add Server")),
372
+ ariaLabel: ( localize(5439, "Add Server"))
373
373
  })));
374
374
  this.addButton.label = `$(${Codicon.add.id})`;
375
375
  this.addButton.element.classList.add("list-icon-button");
376
376
  this._register(
377
- this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), this.addButton.element, ( localize(5408, "Add Server")))
377
+ this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), this.addButton.element, ( localize(5440, "Add Server")))
378
378
  );
379
379
  this._register(this.addButton.onDidClick(() => {
380
380
  this.commandService.executeCommand(McpCommandIds.AddConfiguration);
@@ -382,11 +382,11 @@ let McpListWidget = class McpListWidget extends Disposable {
382
382
  this.backLink = append(this.element, $(".mcp-back-link"));
383
383
  this.backLink.setAttribute("role", "button");
384
384
  this.backLink.tabIndex = 0;
385
- this.backLink.setAttribute("aria-label", ( localize(5409, "Back to installed servers")));
385
+ this.backLink.setAttribute("aria-label", ( localize(5441, "Back to installed servers")));
386
386
  const backIcon = append(this.backLink, $("span"));
387
387
  backIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.arrowLeft));
388
388
  const backText = append(this.backLink, $("span"));
389
- backText.textContent = ( localize(5410, "Back to installed servers"));
389
+ backText.textContent = ( localize(5442, "Back to installed servers"));
390
390
  this._register(addDisposableListener(this.backLink, "click", () => {
391
391
  this.toggleBrowseMode(false);
392
392
  }));
@@ -407,11 +407,11 @@ let McpListWidget = class McpListWidget extends Disposable {
407
407
  this.sectionHeader = append(this.element, $(".section-footer"));
408
408
  this.sectionDescription = append(this.sectionHeader, $("p.section-footer-description"));
409
409
  this.sectionDescription.textContent = ( localize(
410
- 5411,
410
+ 5443,
411
411
  "An open standard that lets AI use external tools and services. MCP servers provide tools for file operations, databases, APIs, and more."
412
412
  ));
413
413
  this.sectionLink = append(this.sectionHeader, $("a.section-footer-link"));
414
- this.sectionLink.textContent = ( localize(5412, "Learn more about MCP servers"));
414
+ this.sectionLink.textContent = ( localize(5444, "Learn more about MCP servers"));
415
415
  this.sectionLink.href = "https://code.visualstudio.com/docs/copilot/chat/mcp-servers";
416
416
  this._register(addDisposableListener(this.sectionLink, "click", e => {
417
417
  e.preventDefault();
@@ -438,11 +438,11 @@ let McpListWidget = class McpListWidget extends Disposable {
438
438
  getAriaLabel(element) {
439
439
  if (element.type === "group-header") {
440
440
  return localize(
441
- 5413,
441
+ 5445,
442
442
  "{0}, {1} items, {2}",
443
443
  element.label,
444
444
  element.count,
445
- element.collapsed ? ( localize(5414, "collapsed")) : ( localize(5415, "expanded"))
445
+ element.collapsed ? ( localize(5446, "collapsed")) : ( localize(5447, "expanded"))
446
446
  );
447
447
  }
448
448
  if (element.type === "builtin-item") {
@@ -451,7 +451,7 @@ let McpListWidget = class McpListWidget extends Disposable {
451
451
  return element.server.label;
452
452
  },
453
453
  getWidgetAriaLabel() {
454
- return localize(5416, "MCP Servers");
454
+ return localize(5448, "MCP Servers");
455
455
  }
456
456
  },
457
457
  openOnSingleClick: true,
@@ -505,7 +505,7 @@ let McpListWidget = class McpListWidget extends Disposable {
505
505
  this.backLink.style.display = browse ? "" : "none";
506
506
  this.addButton.element.style.display = browse ? "none" : "";
507
507
  this.browseButton.element.parentElement.style.display = browse ? "none" : "";
508
- this.searchInput.setPlaceHolder(browse ? ( localize(5417, "Search MCP marketplace...")) : ( localize(5405, "Type to search...")));
508
+ this.searchInput.setPlaceHolder(browse ? ( localize(5449, "Search MCP marketplace...")) : ( localize(5437, "Type to search...")));
509
509
  if (browse) {
510
510
  void this.queryGallery();
511
511
  } else {
@@ -522,7 +522,7 @@ let McpListWidget = class McpListWidget extends Disposable {
522
522
  const cts = this.galleryCts = ( new CancellationTokenSource());
523
523
  this.emptyContainer.style.display = "flex";
524
524
  this.listContainer.style.display = "none";
525
- this.emptyText.textContent = ( localize(5418, "Loading marketplace..."));
525
+ this.emptyText.textContent = ( localize(5450, "Loading marketplace..."));
526
526
  this.emptySubtext.textContent = "";
527
527
  try {
528
528
  const pager = await this.mcpWorkbenchService.queryGallery({
@@ -538,8 +538,8 @@ let McpListWidget = class McpListWidget extends Disposable {
538
538
  this.galleryServers = [];
539
539
  this.emptyContainer.style.display = "flex";
540
540
  this.listContainer.style.display = "none";
541
- this.emptyText.textContent = ( localize(5419, "Unable to load marketplace"));
542
- this.emptySubtext.textContent = ( localize(5420, "Check your connection and try again"));
541
+ this.emptyText.textContent = ( localize(5451, "Unable to load marketplace"));
542
+ this.emptySubtext.textContent = ( localize(5452, "Check your connection and try again"));
543
543
  }
544
544
  }
545
545
  }
@@ -548,10 +548,10 @@ let McpListWidget = class McpListWidget extends Disposable {
548
548
  this.emptyContainer.style.display = "flex";
549
549
  this.listContainer.style.display = "none";
550
550
  if (this.searchQuery.trim()) {
551
- this.emptyText.textContent = ( localize(5421, "No servers match '{0}'", this.searchQuery));
552
- this.emptySubtext.textContent = ( localize(5422, "Try a different search term"));
551
+ this.emptyText.textContent = ( localize(5453, "No servers match '{0}'", this.searchQuery));
552
+ this.emptySubtext.textContent = ( localize(5454, "Try a different search term"));
553
553
  } else {
554
- this.emptyText.textContent = ( localize(5423, "No MCP servers available"));
554
+ this.emptyText.textContent = ( localize(5455, "No MCP servers available"));
555
555
  this.emptySubtext.textContent = "";
556
556
  }
557
557
  } else {
@@ -579,11 +579,11 @@ let McpListWidget = class McpListWidget extends Disposable {
579
579
  this.emptyContainer.style.display = "flex";
580
580
  this.listContainer.style.display = "none";
581
581
  if (this.searchQuery.trim()) {
582
- this.emptyText.textContent = ( localize(5424, "No servers match '{0}'", this.searchQuery));
583
- this.emptySubtext.textContent = ( localize(5422, "Try a different search term"));
582
+ this.emptyText.textContent = ( localize(5456, "No servers match '{0}'", this.searchQuery));
583
+ this.emptySubtext.textContent = ( localize(5454, "Try a different search term"));
584
584
  } else {
585
- this.emptyText.textContent = ( localize(5425, "No MCP servers configured"));
586
- this.emptySubtext.textContent = ( localize(5426, "Add an MCP server configuration to get started"));
585
+ this.emptyText.textContent = ( localize(5457, "No MCP servers configured"));
586
+ this.emptySubtext.textContent = ( localize(5458, "Add an MCP server configuration to get started"));
587
587
  }
588
588
  } else {
589
589
  this.emptyContainer.style.display = "none";
@@ -591,19 +591,19 @@ let McpListWidget = class McpListWidget extends Disposable {
591
591
  }
592
592
  const groups = [{
593
593
  scope: LocalMcpServerScope.Workspace,
594
- label: ( localize(5427, "Workspace")),
594
+ label: ( localize(5459, "Workspace")),
595
595
  icon: workspaceIcon,
596
596
  description: ( localize(
597
- 5428,
597
+ 5460,
598
598
  "MCP servers configured in your workspace settings, shared with your team via version control."
599
599
  )),
600
600
  servers: []
601
601
  }, {
602
602
  scope: LocalMcpServerScope.User,
603
- label: ( localize(5429, "User")),
603
+ label: ( localize(5461, "User")),
604
604
  icon: userIcon,
605
605
  description: ( localize(
606
- 5430,
606
+ 5462,
607
607
  "MCP servers configured in your user settings. Private to you and available across all projects."
608
608
  )),
609
609
  servers: []
@@ -664,11 +664,11 @@ let McpListWidget = class McpListWidget extends Disposable {
664
664
  type: "group-header",
665
665
  id: "mcp-group-plugin",
666
666
  scope: "plugin",
667
- label: ( localize(5431, "Plugins")),
667
+ label: ( localize(5463, "Plugins")),
668
668
  icon: pluginIcon,
669
669
  count: pluginServers.length,
670
670
  isFirst,
671
- description: ( localize(5432, "MCP servers provided by installed plugins.")),
671
+ description: ( localize(5464, "MCP servers provided by installed plugins.")),
672
672
  collapsed
673
673
  });
674
674
  if (!collapsed) {
@@ -690,11 +690,11 @@ let McpListWidget = class McpListWidget extends Disposable {
690
690
  type: "group-header",
691
691
  id: "mcp-group-extension",
692
692
  scope: "extension",
693
- label: ( localize(5433, "Extensions")),
693
+ label: ( localize(5465, "Extensions")),
694
694
  icon: extensionIcon,
695
695
  count: extensionServers.length,
696
696
  isFirst,
697
- description: ( localize(5434, "MCP servers contributed by installed VS Code extensions.")),
697
+ description: ( localize(5466, "MCP servers contributed by installed VS Code extensions.")),
698
698
  collapsed
699
699
  });
700
700
  if (!collapsed) {
@@ -716,11 +716,11 @@ let McpListWidget = class McpListWidget extends Disposable {
716
716
  type: "group-header",
717
717
  id: "mcp-group-builtin",
718
718
  scope: "builtin",
719
- label: ( localize(5435, "Built-in")),
719
+ label: ( localize(5467, "Built-in")),
720
720
  icon: builtinIcon,
721
721
  count: otherBuiltinServers.length,
722
722
  isFirst,
723
- description: ( localize(5436, "MCP servers built into VS Code. These are available automatically.")),
723
+ description: ( localize(5468, "MCP servers built into VS Code. These are available automatically.")),
724
724
  collapsed
725
725
  });
726
726
  if (!collapsed) {
@@ -758,29 +758,26 @@ let McpListWidget = class McpListWidget extends Disposable {
758
758
  layout(height, width) {
759
759
  this.lastHeight = height;
760
760
  this.lastWidth = width;
761
- const sectionFooterHeight = this.sectionHeader.offsetHeight || 0;
762
- const searchBarHeight = this.searchAndButtonContainer.offsetHeight || 52;
763
- const backLinkHeight = this.browseMode ? (this.backLink.offsetHeight || 28) : 0;
764
- const listHeight = height - sectionFooterHeight - searchBarHeight - backLinkHeight;
765
- this.listContainer.style.height = `${Math.max(0, listHeight)}px`;
766
- this.list.layout(Math.max(0, listHeight), width);
767
- if (sectionFooterHeight === 0) {
768
- getWindow(this.listContainer).requestAnimationFrame(() => {
769
- if (this._store.isDisposed) {
770
- return;
771
- }
772
- const actualFooterHeight = this.sectionHeader.offsetHeight;
773
- if (actualFooterHeight > 0) {
774
- const correctedHeight = height - actualFooterHeight - searchBarHeight - backLinkHeight;
775
- this.listContainer.style.height = `${Math.max(0, correctedHeight)}px`;
776
- this.list.layout(Math.max(0, correctedHeight), width);
777
- }
778
- });
761
+ this.element.style.height = `${height}px`;
762
+ const searchBarHeight = this.searchAndButtonContainer.offsetHeight;
763
+ if (searchBarHeight === 0) {
764
+ getWindow(this.element).requestAnimationFrame(() => this.layout(this.lastHeight, this.lastWidth));
765
+ return;
779
766
  }
767
+ const footerHeight = this.sectionHeader.offsetHeight;
768
+ const backLinkHeight = this.browseMode ? this.backLink.offsetHeight : 0;
769
+ const listHeight = Math.max(0, height - searchBarHeight - footerHeight - backLinkHeight);
770
+ this.listContainer.style.height = `${listHeight}px`;
771
+ this.list.layout(listHeight, width);
780
772
  }
781
773
  focusSearch() {
782
774
  this.searchInput.focus();
783
775
  }
776
+ revealLastItem() {
777
+ if (this.list.length > 0) {
778
+ this.list.reveal(this.list.length - 1);
779
+ }
780
+ }
784
781
  focus() {
785
782
  this.list.domFocus();
786
783
  const servers = this.list.length;
@@ -803,7 +800,7 @@ let McpListWidget = class McpListWidget extends Disposable {
803
800
  return;
804
801
  }
805
802
  const disposables = ( new DisposableStore());
806
- const showPluginAction = disposables.add(( new Action("mcpServer.showPlugin", ( localize(5437, "Show Plugin")), undefined, true, async () => {
803
+ const showPluginAction = disposables.add(( new Action("mcpServer.showPlugin", ( localize(5469, "Show Plugin")), undefined, true, async () => {
807
804
  const item = {
808
805
  kind: AgentPluginItemKind.Installed,
809
806
  name: plugin.label,
@@ -813,14 +810,14 @@ let McpListWidget = class McpListWidget extends Disposable {
813
810
  };
814
811
  this._onDidRequestShowPlugin.fire(item);
815
812
  })));
816
- const uninstallAction = disposables.add(( new Action("mcpServer.uninstallPlugin", ( localize(5438, "Uninstall Plugin")), undefined, true, async () => {
813
+ const uninstallAction = disposables.add(( new Action("mcpServer.uninstallPlugin", ( localize(5470, "Uninstall Plugin")), undefined, true, async () => {
817
814
  const result = await this.dialogService.confirm({
818
- message: ( localize(5439, "This MCP server is provided by the plugin '{0}'", plugin.label)),
815
+ message: ( localize(5471, "This MCP server is provided by the plugin '{0}'", plugin.label)),
819
816
  detail: ( localize(
820
- 5440,
817
+ 5472,
821
818
  "Individual MCP servers from a plugin cannot be removed separately. Would you like to uninstall the entire plugin?"
822
819
  )),
823
- primaryButton: ( localize(5441, "Uninstall Plugin")),
820
+ primaryButton: ( localize(5473, "Uninstall Plugin")),
824
821
  type: "question"
825
822
  });
826
823
  if (result.confirmed) {
@@ -168,6 +168,7 @@
168
168
  display: flex;
169
169
  flex-direction: column;
170
170
  height: 100%;
171
+ overflow: hidden;
171
172
  }
172
173
 
173
174
  /* Harness dropdown in sidebar */
@@ -719,6 +720,7 @@
719
720
  display: flex;
720
721
  flex-direction: column;
721
722
  height: 100%;
723
+ overflow: hidden;
722
724
  }
723
725
 
724
726
  .mcp-list-widget .section-footer {
@@ -73,6 +73,7 @@ export declare class PluginListWidget extends Disposable {
73
73
  private toggleGroup;
74
74
  layout(height: number, width: number): void;
75
75
  focusSearch(): void;
76
+ revealLastItem(): void;
76
77
  focus(): void;
77
78
  private onContextMenu;
78
79
  }