@codingame/monaco-vscode-chat-service-override 32.0.2 → 33.0.5

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 (257) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +15 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +170 -24
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +372 -66
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +18 -1
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +160 -31
  8. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +8 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +19 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +134 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +257 -0
  12. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +84 -3
  13. package/vscode/src/vs/platform/agentHost/common/agentService.js +9 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +61 -1
  15. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +61 -1
  16. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +3 -1
  17. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +1 -1
  18. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  19. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  20. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +4 -4
  21. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +1 -1
  22. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +2 -7
  23. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +8 -29
  24. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  25. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +10 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +10 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +180 -174
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +12 -12
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +330 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +24 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +77 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +6 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +51 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +267 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +53 -53
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +5 -4
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -28
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +26 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -6
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +150 -119
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +45 -44
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -76
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +2 -6
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +88 -70
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +82 -56
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +10 -8
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +2 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +89 -71
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2843
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.d.ts +1 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +2934 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -4
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +53 -20
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +131 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +23 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +91 -15
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -21
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -28
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +14 -14
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +203 -163
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +31 -54
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +88 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +17 -4
  147. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.d.ts +8 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +91 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +52 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +82 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +21 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +55 -18
  153. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  154. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  155. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +51 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +106 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +4 -2
  158. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  159. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  160. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +38 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +59 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
  164. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  165. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  166. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  167. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  168. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -6
  171. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  172. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  174. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  175. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  177. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  178. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +1 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +38 -28
  180. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -7
  181. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +5 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +106 -7
  183. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -8
  184. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.d.ts +28 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +75 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.d.ts → chatOutputPartStateCache.d.ts} +5 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.js → chatOutputPartStateCache.js} +19 -11
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +58 -26
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +18 -9
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  198. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +13 -5
  199. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +6 -2
  200. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  201. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -18
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -2
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +6 -7
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +14 -15
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +155 -156
  208. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.d.ts +6 -0
  209. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.js +12 -0
  210. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +88 -0
  211. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +25 -0
  212. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  213. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.d.ts +1 -0
  214. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +237 -0
  215. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.d.ts +66 -0
  216. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +600 -0
  217. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +18 -0
  218. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +47 -0
  219. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.d.ts +22 -0
  220. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.js +7 -0
  221. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css +298 -0
  222. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  223. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  225. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  230. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +12 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +78 -7
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +15 -11
  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 -9
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -16
  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/browser/tools/terminalCommandParser.d.ts +60 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +286 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +24 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +285 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +19 -12
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +415 -47
  252. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +2 -7
  253. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
  254. package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -69
  255. package/vscode/src/vs/base/common/defaultAccount.js +0 -12
  256. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +0 -15
  257. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +0 -85
@@ -15,21 +15,21 @@
15
15
  .ai-customization-management-editor .welcome-prompts-content-container {
16
16
  position: absolute;
17
17
  inset: 0;
18
- padding: 24px;
19
18
  box-sizing: border-box;
20
19
  overflow: hidden;
20
+ padding: 0 4px;
21
21
  }
22
22
 
23
23
  .ai-customization-management-editor .welcome-prompts-inner {
24
24
  max-width: 800px;
25
25
  margin: 0 auto;
26
- padding-top: 16px;
26
+ padding-top: 4px;
27
27
  }
28
28
 
29
29
  .ai-customization-management-editor .welcome-prompts-heading {
30
- font-size: 18px;
31
- font-weight: 400;
32
- letter-spacing: -0.01em;
30
+ font-size: 22px;
31
+ font-weight: 600;
32
+ line-height: 1.2;
33
33
  margin: 0 0 6px;
34
34
  color: var(--vscode-foreground);
35
35
  }
@@ -37,8 +37,10 @@
37
37
  .ai-customization-management-editor .welcome-prompts-subtitle {
38
38
  font-size: 13px;
39
39
  color: var(--vscode-descriptionForeground);
40
- margin: 0 0 36px;
41
- line-height: 1.6;
40
+ margin: 0 0 8px;
41
+ padding-bottom: 8px;
42
+ line-height: 1.45;
43
+ min-height: calc(13px * 1.45 * 2);
42
44
  }
43
45
 
44
46
  .ai-customization-management-editor .welcome-prompts-primary {
@@ -49,7 +51,7 @@
49
51
  width: 100%;
50
52
  box-sizing: border-box;
51
53
  padding: 12px 8px 8px;
52
- margin: 12px 0 24px;
54
+ margin: 12px 0;
53
55
  border: 1px solid color-mix(in srgb, var(--vscode-editorWidget-border) 85%, transparent);
54
56
  border-radius: 16px;
55
57
  }
@@ -34,8 +34,7 @@ export declare class PluginListWidget extends Disposable {
34
34
  readonly onDidSelectPlugin: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<IAgentPluginItem>;
35
35
  private readonly _onDidChangeItemCount;
36
36
  readonly onDidChangeItemCount: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<number>;
37
- private sectionHeader;
38
- private sectionDescription;
37
+ private sectionTitleHeader;
39
38
  private sectionLink;
40
39
  private searchAndButtonContainer;
41
40
  private searchInput;
@@ -63,6 +62,7 @@ export declare class PluginListWidget extends Disposable {
63
62
  private browseMode;
64
63
  private lastHeight;
65
64
  private lastWidth;
65
+ private lastHeaderHeight;
66
66
  private _layoutDeferred;
67
67
  private readonly collapsedGroups;
68
68
  private marketplaceCts;
@@ -102,10 +102,6 @@ export declare class PluginListWidget extends Disposable {
102
102
  */
103
103
  fireItemCount(): void;
104
104
  private toggleGroup;
105
- /**
106
- * Prepends an element to the search row (left of the search input).
107
- */
108
- prependToSearchRow(element: HTMLElement): void;
109
105
  /**
110
106
  * Whether the widget is currently in marketplace browse mode.
111
107
  */
@@ -2,7 +2,7 @@
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
4
  import * as aiCustomizationManagement from './media/aiCustomizationManagement.css';
5
- import { $ as $$1, append, addDisposableListener, clearNode, createTextNode, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { $ as $$1, append, createTextNode, addDisposableListener, getWindow, DisposableResizeObserver, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
6
6
  import { DisposableStore, Disposable, MutableDisposable, isDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
7
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
8
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -108,7 +108,7 @@ class PluginInstalledItemRenderer {
108
108
  templateData.syncCheckboxContainer.style.display = "";
109
109
  const pluginUri = element.item.plugin.uri;
110
110
  const disabled = syncProvider.isDisabled(pluginUri);
111
- const title = disabled ? ( localize(5641, "Enable {0} for sync", element.item.name)) : ( localize(5642, "Disable {0} from sync", element.item.name));
111
+ const title = disabled ? ( localize(5690, "Enable {0} for sync", element.item.name)) : ( localize(5691, "Disable {0} from sync", element.item.name));
112
112
  const checkbox = templateData.disposables.add(( new Checkbox(title, !disabled, defaultCheckboxStyles)));
113
113
  templateData.syncCheckboxContainer.replaceChildren(checkbox.domNode);
114
114
  templateData.disposables.add(checkbox.onChange(() => {
@@ -167,25 +167,25 @@ class PluginRemoteItemRenderer {
167
167
  templateData.container.classList.toggle("disabled", element.item.enabled === false);
168
168
  templateData.status.className = "mcp-server-status";
169
169
  if (element.item.enabled === false) {
170
- templateData.status.textContent = ( localize(5643, "Disabled"));
170
+ templateData.status.textContent = ( localize(5692, "Disabled"));
171
171
  templateData.status.classList.add("disabled");
172
172
  return;
173
173
  }
174
174
  switch (element.item.status) {
175
175
  case "loading":
176
- templateData.status.textContent = ( localize(5644, "Loading"));
176
+ templateData.status.textContent = ( localize(5693, "Loading"));
177
177
  templateData.status.classList.add("running");
178
178
  break;
179
179
  case "loaded":
180
- templateData.status.textContent = ( localize(5645, "Loaded"));
180
+ templateData.status.textContent = ( localize(5694, "Loaded"));
181
181
  templateData.status.classList.add("running");
182
182
  break;
183
183
  case "degraded":
184
- templateData.status.textContent = ( localize(5646, "Warning"));
184
+ templateData.status.textContent = ( localize(5695, "Warning"));
185
185
  templateData.status.classList.add("disabled");
186
186
  break;
187
187
  case "error":
188
- templateData.status.textContent = ( localize(5647, "Error"));
188
+ templateData.status.textContent = ( localize(5696, "Error"));
189
189
  templateData.status.classList.add("disabled");
190
190
  break;
191
191
  default:
@@ -231,7 +231,7 @@ class PluginMarketplaceItemRenderer {
231
231
  renderElement(element, _index, templateData) {
232
232
  templateData.elementDisposables.clear();
233
233
  templateData.name.textContent = element.item.name;
234
- templateData.publisher.textContent = element.item.marketplace ? ( localize(5648, "by {0}", element.item.marketplace)) : "";
234
+ templateData.publisher.textContent = element.item.marketplace ? ( localize(5697, "by {0}", element.item.marketplace)) : "";
235
235
  templateData.description.textContent = element.item.description || "";
236
236
  const installUri = this.pluginInstallService.getPluginInstallUri({
237
237
  name: element.item.name,
@@ -245,14 +245,14 @@ class PluginMarketplaceItemRenderer {
245
245
  });
246
246
  const isAlreadyInstalled = ( this.agentPluginService.plugins.get().some(p => isEqual(p.uri, installUri)));
247
247
  if (isAlreadyInstalled) {
248
- templateData.installButton.label = ( localize(5649, "Installed"));
248
+ templateData.installButton.label = ( localize(5698, "Installed"));
249
249
  templateData.installButton.enabled = false;
250
250
  return;
251
251
  }
252
- templateData.installButton.label = ( localize(5650, "Install"));
252
+ templateData.installButton.label = ( localize(5699, "Install"));
253
253
  templateData.installButton.enabled = true;
254
254
  templateData.elementDisposables.add(templateData.installButton.onDidClick(async () => {
255
- templateData.installButton.label = ( localize(5651, "Installing..."));
255
+ templateData.installButton.label = ( localize(5700, "Installing..."));
256
256
  templateData.installButton.enabled = false;
257
257
  try {
258
258
  await this.pluginInstallService.installPlugin({
@@ -266,9 +266,9 @@ class PluginMarketplaceItemRenderer {
266
266
  marketplaceType: element.item.marketplaceType,
267
267
  readmeUri: element.item.readmeUri
268
268
  });
269
- templateData.installButton.label = ( localize(5649, "Installed"));
269
+ templateData.installButton.label = ( localize(5698, "Installed"));
270
270
  } catch (_e) {
271
- templateData.installButton.label = ( localize(5650, "Install"));
271
+ templateData.installButton.label = ( localize(5699, "Install"));
272
272
  templateData.installButton.enabled = true;
273
273
  }
274
274
  }));
@@ -347,6 +347,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
347
347
  this.browseMode = false;
348
348
  this.lastHeight = 0;
349
349
  this.lastWidth = 0;
350
+ this.lastHeaderHeight = 0;
350
351
  this._layoutDeferred = false;
351
352
  this.collapsedGroups = ( new Set());
352
353
  this.delayedFilter = ( new Delayer(200));
@@ -366,10 +367,45 @@ let PluginListWidget = class PluginListWidget extends Disposable {
366
367
  });
367
368
  }
368
369
  create() {
370
+ this.sectionTitleHeader = append(this.element, $(".section-title-header"));
371
+ const titleRow = append(this.sectionTitleHeader, $(".section-title-row"));
372
+ const sectionTitle = append(titleRow, $("h2.section-title"));
373
+ sectionTitle.textContent = ( localize(5701, "Plugins"));
374
+ const sectionTitleDescription = append(this.sectionTitleHeader, $("p.section-title-description"));
375
+ const sectionTitleDescriptionText = append(sectionTitleDescription, $("span.section-title-description-text"));
376
+ sectionTitleDescriptionText.textContent = ( localize(
377
+ 5702,
378
+ "Extend your AI agent with plugins that add commands, skills, agents, hooks, and MCP servers from reusable packages."
379
+ ));
380
+ sectionTitleDescription.appendChild(createTextNode(" "));
381
+ this.sectionLink = append(sectionTitleDescription, $("a.section-title-link"));
382
+ this.sectionLink.textContent = ( localize(5703, "Learn more about agent plugins"));
383
+ this.sectionLink.href = "https://code.visualstudio.com/docs/copilot/customization/agent-plugins";
384
+ this._register(addDisposableListener(this.sectionLink, "click", e => {
385
+ e.preventDefault();
386
+ const href = this.sectionLink.href;
387
+ if (href) {
388
+ this.openerService.open(( URI.parse(href)));
389
+ }
390
+ }));
391
+ const targetWindow = getWindow(this.element);
392
+ const headerObserver = this._register(
393
+ new DisposableResizeObserver("PluginListWidget.sectionTitleHeader", () => {
394
+ if (this.lastWidth <= 0 || this.lastHeight <= 0) {
395
+ return;
396
+ }
397
+ const headerHeight = this.sectionTitleHeader.offsetHeight;
398
+ if (headerHeight === this.lastHeaderHeight) {
399
+ return;
400
+ }
401
+ this.layout(this.lastHeight, this.lastWidth);
402
+ }, targetWindow)
403
+ );
404
+ this._register(headerObserver.observe(this.sectionTitleHeader));
369
405
  this.searchAndButtonContainer = append(this.element, $(".list-search-and-button-container"));
370
406
  const searchContainer = append(this.searchAndButtonContainer, $(".list-search-container"));
371
407
  this.searchInput = this._register(( new InputBox(searchContainer, this.contextViewService, {
372
- placeholder: ( localize(5652, "Type to search...")),
408
+ placeholder: ( localize(5704, "Type to search...")),
373
409
  inputBoxStyles: defaultInputBoxStyles
374
410
  })));
375
411
  this._register(this.searchInput.onDidChange(() => {
@@ -382,7 +418,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
382
418
  }));
383
419
  this.buttonContainer = append(this.searchAndButtonContainer, $(".list-button-group"));
384
420
  const browseButtonContainer = append(this.buttonContainer, $(".list-add-button-container"));
385
- const browseMarketplaceLabel = ( localize(5653, "Browse Marketplace"));
421
+ const browseMarketplaceLabel = ( localize(5705, "Browse Marketplace"));
386
422
  this.browseButton = this._register(( new Button(browseButtonContainer, {
387
423
  ...defaultButtonStyles,
388
424
  secondary: true,
@@ -393,7 +429,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
393
429
  this.browseButton.element.classList.add("list-add-button");
394
430
  this._register(this.browseButton.onDidClick(() => this.runPrimaryButtonAction()));
395
431
  this.addButtonContainer = append(this.buttonContainer, $(".list-add-button-container"));
396
- const addPluginLabel = ( localize(5654, "Add Plugin"));
432
+ const addPluginLabel = ( localize(5706, "Add Plugin"));
397
433
  this.addButtonSimple = this._register(( new Button(this.addButtonContainer, {
398
434
  ...defaultButtonStyles,
399
435
  secondary: true,
@@ -417,7 +453,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
417
453
  })));
418
454
  this.addButton.element.classList.add("list-add-button");
419
455
  this._register(this.addButton.onDidClick(() => this.runPrimaryAddAction()));
420
- const createPluginLabel = ( localize(5655, "Create Plugin"));
456
+ const createPluginLabel = ( localize(5707, "Create Plugin"));
421
457
  this.createPluginButton = this._register(( new Button(this.buttonContainer, {
422
458
  ...defaultButtonStyles,
423
459
  secondary: true,
@@ -438,25 +474,9 @@ let PluginListWidget = class PluginListWidget extends Disposable {
438
474
  const disabledHeader = append(this.disabledContainer, $(".empty-state-header"));
439
475
  this.disabledIcon = append(disabledHeader, $(".empty-icon"));
440
476
  const disabledText = append(disabledHeader, $(".empty-text"));
441
- disabledText.textContent = ( localize(5656, "Plugins are disabled"));
477
+ disabledText.textContent = ( localize(5708, "Plugins are disabled"));
442
478
  this.disabledMessage = append(this.disabledContainer, $(".empty-subtext"));
443
479
  this.listContainer = append(this.element, $(".mcp-list-container"));
444
- this.sectionHeader = append(this.element, $(".section-footer"));
445
- this.sectionDescription = append(this.sectionHeader, $("p.section-footer-description"));
446
- this.sectionDescription.textContent = ( localize(
447
- 5657,
448
- "Extend your AI agent with plugins that add commands, skills, agents, hooks, and MCP servers from reusable packages."
449
- ));
450
- this.sectionLink = append(this.sectionHeader, $("a.section-footer-link"));
451
- this.sectionLink.textContent = ( localize(5658, "Learn more about agent plugins"));
452
- this.sectionLink.href = "https://code.visualstudio.com/docs/copilot/customization/agent-plugins";
453
- this._register(addDisposableListener(this.sectionLink, "click", e => {
454
- e.preventDefault();
455
- const href = this.sectionLink.href;
456
- if (href) {
457
- this.openerService.open(( URI.parse(href)));
458
- }
459
- }));
460
480
  const delegate = ( new PluginItemDelegate());
461
481
  const groupHeaderRenderer = ( new CustomizationGroupHeaderRenderer("pluginGroupHeader", this.hoverService));
462
482
  const installedRenderer = ( new PluginInstalledItemRenderer(this.harnessService));
@@ -476,24 +496,24 @@ let PluginListWidget = class PluginListWidget extends Disposable {
476
496
  getAriaLabel(element) {
477
497
  if (element.type === "group-header") {
478
498
  return localize(
479
- 5659,
499
+ 5709,
480
500
  "{0}, {1} items, {2}",
481
501
  element.label,
482
502
  element.count,
483
- element.collapsed ? ( localize(5660, "collapsed")) : ( localize(5661, "expanded"))
503
+ element.collapsed ? ( localize(5710, "collapsed")) : ( localize(5711, "expanded"))
484
504
  );
485
505
  }
486
506
  const name = formatDisplayName(element.item.name);
487
507
  const description = element.item.description ? truncateToFirstLine(element.item.description) : undefined;
488
- const nameAndDesc = description ? ( localize(5662, "{0}. {1}", name, description)) : name;
508
+ const nameAndDesc = description ? ( localize(5712, "{0}. {1}", name, description)) : name;
489
509
  if (element.type === "plugin-item") {
490
510
  const enabled = isContributionEnabled(element.item.plugin.enablement.get());
491
- return enabled ? ( localize(5663, "{0}. Enabled", nameAndDesc)) : ( localize(5664, "{0}. Disabled", nameAndDesc));
511
+ return enabled ? ( localize(5713, "{0}. Enabled", nameAndDesc)) : ( localize(5714, "{0}. Disabled", nameAndDesc));
492
512
  }
493
513
  return nameAndDesc;
494
514
  },
495
515
  getWidgetAriaLabel() {
496
- return localize(5665, "Plugins");
516
+ return localize(5715, "Plugins");
497
517
  }
498
518
  },
499
519
  openOnSingleClick: true,
@@ -584,13 +604,13 @@ let PluginListWidget = class PluginListWidget extends Disposable {
584
604
  this.disabledLinkListener.clear();
585
605
  if (policyLocked) {
586
606
  this.disabledMessage.textContent = ( localize(
587
- 5666,
607
+ 5716,
588
608
  "Plugin integration in chat is disabled by your organization. Contact your organization administrator for more information."
589
609
  ));
590
610
  } else {
591
- this.disabledMessage.appendChild(createTextNode(( localize(5667, "Plugins are disabled in settings. "))));
611
+ this.disabledMessage.appendChild(createTextNode(( localize(5717, "Plugins are disabled in settings. "))));
592
612
  const link = append(this.disabledMessage, $("a.mcp-disabled-settings-link"));
593
- link.textContent = ( localize(5668, "Configure in settings."));
613
+ link.textContent = ( localize(5718, "Configure in settings."));
594
614
  link.href = "#";
595
615
  link.setAttribute("role", "button");
596
616
  this.disabledLinkListener.value = addDisposableListener(link, "click", e => {
@@ -615,9 +635,9 @@ let PluginListWidget = class PluginListWidget extends Disposable {
615
635
  this.toggleBrowseMode(false);
616
636
  }
617
637
  this.browseButton.element.parentElement.style.display = this.browseMode ? "none" : "";
618
- this.browseButton.label = `$(${Codicon.library.id}) ${( localize(5653, "Browse Marketplace"))}`;
638
+ this.browseButton.label = `$(${Codicon.library.id}) ${( localize(5705, "Browse Marketplace"))}`;
619
639
  this.browseButton.enabled = browseMarketplaceAvailable;
620
- const browseTitle = browseMarketplaceAvailable ? ( localize(5653, "Browse Marketplace")) : ( localize(5669, "Browse Marketplace is not available in VS Code for the Web."));
640
+ const browseTitle = browseMarketplaceAvailable ? ( localize(5705, "Browse Marketplace")) : ( localize(5719, "Browse Marketplace is not available in VS Code for the Web."));
621
641
  this.browseButton.setTitle(browseTitle);
622
642
  this.browseButton.element.setAttribute("aria-label", browseTitle);
623
643
  this.updateAddButton();
@@ -643,7 +663,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
643
663
  const addPrimaryTitle = primary.tooltip ?? primary.label;
644
664
  this.addButton.primaryButton.setTitle(addPrimaryTitle);
645
665
  this.addButton.primaryButton.element.setAttribute("aria-label", addPrimaryTitle);
646
- const moreLabel = ( localize(5670, "More Plugin Add Actions..."));
666
+ const moreLabel = ( localize(5720, "More Plugin Add Actions..."));
647
667
  this.addButton.dropdownButton.setTitle(moreLabel);
648
668
  this.addButton.dropdownButton.element.setAttribute("aria-label", moreLabel);
649
669
  } else {
@@ -657,8 +677,8 @@ let PluginListWidget = class PluginListWidget extends Disposable {
657
677
  buildAddActions() {
658
678
  return [...this.pluginActions, {
659
679
  id: "plugin.installFromSource",
660
- label: ( localize(5671, "Install Plugin from Source")),
661
- tooltip: ( localize(5671, "Install Plugin from Source")),
680
+ label: ( localize(5721, "Install Plugin from Source")),
681
+ tooltip: ( localize(5721, "Install Plugin from Source")),
662
682
  icon: Codicon.add,
663
683
  run: () => this.commandService.executeCommand("workbench.action.chat.installPluginFromSource")
664
684
  }];
@@ -706,7 +726,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
706
726
  this.searchInput.value = "";
707
727
  this.searchQuery = "";
708
728
  this.browseButton.element.parentElement.style.display = browse ? "none" : "";
709
- this.searchInput.setPlaceHolder(browse ? ( localize(5672, "Search plugin marketplace...")) : ( localize(5652, "Type to search...")));
729
+ this.searchInput.setPlaceHolder(browse ? ( localize(5722, "Search plugin marketplace...")) : ( localize(5704, "Type to search...")));
710
730
  if (browse) {
711
731
  void this.queryMarketplace();
712
732
  } else {
@@ -723,7 +743,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
723
743
  const cts = this.marketplaceCts = ( new CancellationTokenSource());
724
744
  this.emptyContainer.style.display = "flex";
725
745
  this.listContainer.style.display = "none";
726
- this.emptyText.textContent = ( localize(5673, "Loading marketplace..."));
746
+ this.emptyText.textContent = ( localize(5723, "Loading marketplace..."));
727
747
  this.emptySubtext.textContent = "";
728
748
  try {
729
749
  const plugins = await this.pluginMarketplaceService.fetchMarketplacePlugins(cts.token);
@@ -745,8 +765,8 @@ let PluginListWidget = class PluginListWidget extends Disposable {
745
765
  this.marketplaceItems = [];
746
766
  this.emptyContainer.style.display = "flex";
747
767
  this.listContainer.style.display = "none";
748
- this.emptyText.textContent = ( localize(5674, "Unable to load marketplace"));
749
- this.emptySubtext.textContent = ( localize(5675, "Check your connection and try again"));
768
+ this.emptyText.textContent = ( localize(5724, "Unable to load marketplace"));
769
+ this.emptySubtext.textContent = ( localize(5725, "Check your connection and try again"));
750
770
  }
751
771
  }
752
772
  }
@@ -755,10 +775,10 @@ let PluginListWidget = class PluginListWidget extends Disposable {
755
775
  this.emptyContainer.style.display = "flex";
756
776
  this.listContainer.style.display = "none";
757
777
  if (this.searchQuery.trim()) {
758
- this.emptyText.textContent = ( localize(5676, "No plugins match '{0}'", this.searchQuery));
759
- this.emptySubtext.textContent = ( localize(5677, "Try a different search term"));
778
+ this.emptyText.textContent = ( localize(5726, "No plugins match '{0}'", this.searchQuery));
779
+ this.emptySubtext.textContent = ( localize(5727, "Try a different search term"));
760
780
  } else {
761
- this.emptyText.textContent = ( localize(5678, "No plugins available"));
781
+ this.emptyText.textContent = ( localize(5728, "No plugins available"));
762
782
  this.emptySubtext.textContent = "";
763
783
  }
764
784
  } else {
@@ -788,9 +808,9 @@ let PluginListWidget = class PluginListWidget extends Disposable {
788
808
  getRemoteGroupMetadata(groupKey) {
789
809
  return {
790
810
  group: groupKey ?? "remote-host",
791
- label: ( localize(5679, "Remote")),
811
+ label: ( localize(5729, "Remote")),
792
812
  description: ( localize(
793
- 5680,
813
+ 5730,
794
814
  "Plugins configured directly on the remote agent host and available without local sync."
795
815
  ))
796
816
  };
@@ -827,17 +847,17 @@ let PluginListWidget = class PluginListWidget extends Disposable {
827
847
  this.emptyContainer.style.display = "flex";
828
848
  this.listContainer.style.display = "none";
829
849
  if (this.searchQuery.trim()) {
830
- this.emptyText.textContent = ( localize(5681, "No plugins match '{0}'", this.searchQuery));
831
- this.emptySubtext.textContent = ( localize(5677, "Try a different search term"));
850
+ this.emptyText.textContent = ( localize(5731, "No plugins match '{0}'", this.searchQuery));
851
+ this.emptySubtext.textContent = ( localize(5727, "Try a different search term"));
832
852
  } else if (this.harnessService.getActiveDescriptor().itemProvider) {
833
- this.emptyText.textContent = ( localize(5682, "No plugins configured"));
853
+ this.emptyText.textContent = ( localize(5732, "No plugins configured"));
834
854
  this.emptySubtext.textContent = ( localize(
835
- 5683,
855
+ 5733,
836
856
  "Use the toolbar to add remote plugins or install plugins from a source."
837
857
  ));
838
858
  } else {
839
- this.emptyText.textContent = ( localize(5684, "No plugins installed"));
840
- this.emptySubtext.textContent = ( localize(5685, "Browse the marketplace to discover and install plugins"));
859
+ this.emptyText.textContent = ( localize(5734, "No plugins installed"));
860
+ this.emptySubtext.textContent = ( localize(5735, "Browse the marketplace to discover and install plugins"));
841
861
  }
842
862
  } else {
843
863
  this.emptyContainer.style.display = "none";
@@ -873,9 +893,9 @@ let PluginListWidget = class PluginListWidget extends Disposable {
873
893
  if (enabledPlugins.length > 0) {
874
894
  isFirst = this.appendGroup(entries, {
875
895
  group: "enabled",
876
- label: ( localize(5686, "Enabled Locally")),
896
+ label: ( localize(5736, "Enabled Locally")),
877
897
  description: ( localize(
878
- 5687,
898
+ 5737,
879
899
  "Plugins installed in this client and available for syncing to the remote session."
880
900
  ))
881
901
  }, ( enabledPlugins.map(item => ({
@@ -886,8 +906,8 @@ let PluginListWidget = class PluginListWidget extends Disposable {
886
906
  if (disabledPlugins.length > 0) {
887
907
  this.appendGroup(entries, {
888
908
  group: "disabled",
889
- label: ( localize(5688, "Disabled Locally")),
890
- description: ( localize(5689, "Plugins installed in this client but currently disabled."))
909
+ label: ( localize(5738, "Disabled Locally")),
910
+ description: ( localize(5739, "Plugins installed in this client but currently disabled."))
891
911
  }, ( disabledPlugins.map(item => ({
892
912
  type: "plugin-item",
893
913
  item
@@ -921,9 +941,6 @@ let PluginListWidget = class PluginListWidget extends Disposable {
921
941
  }
922
942
  void this.filterPlugins();
923
943
  }
924
- prependToSearchRow(element) {
925
- this.searchAndButtonContainer.insertBefore(element, this.searchAndButtonContainer.firstChild);
926
- }
927
944
  isInBrowseMode() {
928
945
  return this.browseMode;
929
946
  }
@@ -948,8 +965,9 @@ let PluginListWidget = class PluginListWidget extends Disposable {
948
965
  });
949
966
  return;
950
967
  }
951
- const footerHeight = this.sectionHeader.offsetHeight;
952
- const listHeight = Math.max(0, height - searchBarHeight - footerHeight);
968
+ const headerHeight = this.sectionTitleHeader.offsetHeight;
969
+ this.lastHeaderHeight = headerHeight;
970
+ const listHeight = Math.max(0, height - searchBarHeight - headerHeight);
953
971
  this.listContainer.style.height = `${listHeight}px`;
954
972
  this.list.layout(listHeight, width);
955
973
  }
@@ -147,7 +147,7 @@ let ChatAttachmentResolveService = class ChatAttachmentResolveService {
147
147
  }
148
148
  const readFile = await this.fileService.readFile(resource);
149
149
  if (stat.size > 30 * 1024 * 1024) {
150
- this.dialogService.error(( localize(5690, "Image is too large")), ( localize(5691, "The image {0} is too large to be attached.", fileName)));
150
+ this.dialogService.error(( localize(5740, "Image is too large")), ( localize(5741, "The image {0} is too large to be attached.", fileName)));
151
151
  throw ( new Error("Image is too large"));
152
152
  }
153
153
  dataBuffer = readFile.value;