@codingame/monaco-vscode-chat-service-override 32.0.1 → 33.0.4

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
@@ -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, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { $ as $$1, append, createTextNode, addDisposableListener, getWindow, DisposableResizeObserver } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
6
6
  import { status } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
7
7
  import { ActionBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionbar';
8
8
  import { DisposableStore, Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
@@ -79,9 +79,9 @@ class GroupHeaderRenderer {
79
79
  const icon = append(container, $(".group-icon"));
80
80
  const labelGroup = append(container, $(".group-label-group"));
81
81
  const label = append(labelGroup, $(".group-label"));
82
- const infoIcon = append(labelGroup, $(".group-info"));
83
- infoIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
84
82
  const count = append(container, $(".group-count"));
83
+ const infoIcon = append(container, $(".group-info"));
84
+ infoIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
85
85
  return {
86
86
  container,
87
87
  chevron,
@@ -159,7 +159,7 @@ let AICustomizationItemRenderer = class AICustomizationItemRenderer {
159
159
  setFocusedIndex(index) {
160
160
  this.focusedIndex = index;
161
161
  for (const template of this.templates) {
162
- template.actionBar.setFocusable(template.currentIndex === index);
162
+ template.actionBar.setFocusable(index !== -1 && template.currentIndex === index);
163
163
  }
164
164
  }
165
165
  renderTemplate(container) {
@@ -198,7 +198,7 @@ let AICustomizationItemRenderer = class AICustomizationItemRenderer {
198
198
  renderElement(entry, index, templateData) {
199
199
  templateData.elementDisposables.clear();
200
200
  templateData.currentIndex = index;
201
- templateData.actionBar.setFocusable(index === this.focusedIndex);
201
+ templateData.actionBar.setFocusable(this.focusedIndex !== -1 && index === this.focusedIndex);
202
202
  const element = entry.item;
203
203
  templateData.typeIcon.className = "item-type-icon";
204
204
  templateData.typeIcon.classList.add(
@@ -207,9 +207,9 @@ let AICustomizationItemRenderer = class AICustomizationItemRenderer {
207
207
  templateData.elementDisposables.add(this.hoverService.setupDelayedHover(templateData.container, () => {
208
208
  let content;
209
209
  if (element.isBuiltin) {
210
- content = `${element.name}\n${( localize(5377, "Built-in"))}`;
210
+ content = `${element.name}\n${( localize(5421, "Built-in"))}`;
211
211
  } else if (element.extensionId) {
212
- content = `${element.name}\n${( localize(5378, "Extension: {0}", element.extensionId))}`;
212
+ content = `${element.name}\n${( localize(5422, "Extension: {0}", element.extensionId))}`;
213
213
  } else {
214
214
  const isWorkspaceItem = element.storage === PromptsStorage.local;
215
215
  const uriLabel = this.labelService.getUriLabel(element.uri, {
@@ -222,7 +222,7 @@ let AICustomizationItemRenderer = class AICustomizationItemRenderer {
222
222
  }
223
223
  const plugin = element.pluginUri && this.agentPluginService.plugins.get().find(p => isEqual(p.uri, element.pluginUri));
224
224
  if (plugin) {
225
- content += `\n${( localize(5379, "Plugin: {0}", plugin.label))}`;
225
+ content += `\n${( localize(5423, "Plugin: {0}", plugin.label))}`;
226
226
  }
227
227
  return {
228
228
  content,
@@ -370,89 +370,89 @@ function getCountAnnouncement(section, count, isFiltering) {
370
370
  case AICustomizationManagementSection.Agents:
371
371
  if (isFiltering) {
372
372
  if (count === 0) {
373
- return localize(5380, "No agents found");
373
+ return localize(5424, "No agents found");
374
374
  }
375
375
  if (count === 1) {
376
- return localize(5381, "1 agent found");
376
+ return localize(5425, "1 agent found");
377
377
  }
378
- return localize(5382, "{0} agents found", count);
378
+ return localize(5426, "{0} agents found", count);
379
379
  }
380
380
  if (count === 0) {
381
- return localize(5383, "No agents");
381
+ return localize(5427, "No agents");
382
382
  }
383
383
  if (count === 1) {
384
- return localize(5384, "1 agent");
384
+ return localize(5428, "1 agent");
385
385
  }
386
- return localize(5385, "{0} agents", count);
386
+ return localize(5429, "{0} agents", count);
387
387
  case AICustomizationManagementSection.Skills:
388
388
  if (isFiltering) {
389
389
  if (count === 0) {
390
- return localize(5386, "No skills found");
390
+ return localize(5430, "No skills found");
391
391
  }
392
392
  if (count === 1) {
393
- return localize(5387, "1 skill found");
393
+ return localize(5431, "1 skill found");
394
394
  }
395
- return localize(5388, "{0} skills found", count);
395
+ return localize(5432, "{0} skills found", count);
396
396
  }
397
397
  if (count === 0) {
398
- return localize(5389, "No skills");
398
+ return localize(5433, "No skills");
399
399
  }
400
400
  if (count === 1) {
401
- return localize(5390, "1 skill");
401
+ return localize(5434, "1 skill");
402
402
  }
403
- return localize(5391, "{0} skills", count);
403
+ return localize(5435, "{0} skills", count);
404
404
  case AICustomizationManagementSection.Instructions:
405
405
  if (isFiltering) {
406
406
  if (count === 0) {
407
- return localize(5392, "No instructions found");
407
+ return localize(5436, "No instructions found");
408
408
  }
409
409
  if (count === 1) {
410
- return localize(5393, "1 instruction file found");
410
+ return localize(5437, "1 instruction file found");
411
411
  }
412
- return localize(5394, "{0} instruction files found", count);
412
+ return localize(5438, "{0} instruction files found", count);
413
413
  }
414
414
  if (count === 0) {
415
- return localize(5395, "No instructions");
415
+ return localize(5439, "No instructions");
416
416
  }
417
417
  if (count === 1) {
418
- return localize(5396, "1 instruction file");
418
+ return localize(5440, "1 instruction file");
419
419
  }
420
- return localize(5397, "{0} instruction files", count);
420
+ return localize(5441, "{0} instruction files", count);
421
421
  case AICustomizationManagementSection.Hooks:
422
422
  if (isFiltering) {
423
423
  if (count === 0) {
424
- return localize(5398, "No hooks found");
424
+ return localize(5442, "No hooks found");
425
425
  }
426
426
  if (count === 1) {
427
- return localize(5399, "1 hook found");
427
+ return localize(5443, "1 hook found");
428
428
  }
429
- return localize(5400, "{0} hooks found", count);
429
+ return localize(5444, "{0} hooks found", count);
430
430
  }
431
431
  if (count === 0) {
432
- return localize(5401, "No hooks");
432
+ return localize(5445, "No hooks");
433
433
  }
434
434
  if (count === 1) {
435
- return localize(5402, "1 hook");
435
+ return localize(5446, "1 hook");
436
436
  }
437
- return localize(5403, "{0} hooks", count);
437
+ return localize(5447, "{0} hooks", count);
438
438
  case AICustomizationManagementSection.Prompts:
439
439
  default:
440
440
  if (isFiltering) {
441
441
  if (count === 0) {
442
- return localize(5404, "No prompts found");
442
+ return localize(5448, "No prompts found");
443
443
  }
444
444
  if (count === 1) {
445
- return localize(5405, "1 prompt found");
445
+ return localize(5449, "1 prompt found");
446
446
  }
447
- return localize(5406, "{0} prompts found", count);
447
+ return localize(5450, "{0} prompts found", count);
448
448
  }
449
449
  if (count === 0) {
450
- return localize(5407, "No prompts");
450
+ return localize(5451, "No prompts");
451
451
  }
452
452
  if (count === 1) {
453
- return localize(5408, "1 prompt");
453
+ return localize(5452, "1 prompt");
454
454
  }
455
- return localize(5409, "{0} prompts", count);
455
+ return localize(5453, "{0} prompts", count);
456
456
  }
457
457
  }
458
458
  let AICustomizationListWidget = class AICustomizationListWidget extends Disposable {
@@ -499,6 +499,9 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
499
499
  this.searchQuery = "";
500
500
  this.collapsedGroups = ( new Set());
501
501
  this._layoutDeferred = false;
502
+ this.lastLayoutWidth = 0;
503
+ this.lastLayoutHeight = 0;
504
+ this.lastHeaderHeight = 0;
502
505
  this.dropdownActionDisposables = this._register(( new DisposableStore()));
503
506
  this._sectionLoadId = 0;
504
507
  this.delayedFilter = ( new Delayer(200));
@@ -524,10 +527,38 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
524
527
  }));
525
528
  }
526
529
  create() {
530
+ this.sectionTitleHeader = append(this.element, $(".section-title-header"));
531
+ const titleRow = append(this.sectionTitleHeader, $(".section-title-row"));
532
+ this.sectionTitle = append(titleRow, $("h2.section-title"));
533
+ this.sectionTitleDescription = append(this.sectionTitleHeader, $("p.section-title-description"));
534
+ this.sectionTitleDescriptionText = append(this.sectionTitleDescription, $("span.section-title-description-text"));
535
+ this.sectionTitleDescription.appendChild(createTextNode(" "));
536
+ this.sectionLink = append(this.sectionTitleDescription, $("a.section-title-link"));
537
+ this._register(addDisposableListener(this.sectionLink, "click", e => {
538
+ e.preventDefault();
539
+ const href = this.sectionLink.href;
540
+ if (href) {
541
+ this.openerService.open(( URI.parse(href)));
542
+ }
543
+ }));
544
+ const targetWindow = getWindow(this.element);
545
+ const headerObserver = this._register(
546
+ new DisposableResizeObserver("AICustomizationListWidget.sectionTitleHeader", () => {
547
+ if (this.lastLayoutWidth <= 0 || this.lastLayoutHeight <= 0) {
548
+ return;
549
+ }
550
+ const headerHeight = this.sectionTitleHeader.offsetHeight;
551
+ if (headerHeight === this.lastHeaderHeight) {
552
+ return;
553
+ }
554
+ this.layout(this.lastLayoutHeight, this.lastLayoutWidth);
555
+ }, targetWindow)
556
+ );
557
+ this._register(headerObserver.observe(this.sectionTitleHeader));
527
558
  this.searchAndButtonContainer = append(this.element, $(".list-search-and-button-container"));
528
559
  this.searchContainer = append(this.searchAndButtonContainer, $(".list-search-container"));
529
560
  this.searchInput = this._register(( new InputBox(this.searchContainer, this.contextViewService, {
530
- placeholder: ( localize(5410, "Type to search...")),
561
+ placeholder: ( localize(5454, "Type to search...")),
531
562
  inputBoxStyles: defaultInputBoxStyles
532
563
  })));
533
564
  this._register(this.searchInput.onDidChange(() => {
@@ -584,19 +615,19 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
584
615
  getAriaLabel: entry => {
585
616
  if (entry.type === "group-header") {
586
617
  return localize(
587
- 5411,
618
+ 5455,
588
619
  "{0}, {1} items, {2}",
589
620
  entry.label,
590
621
  entry.count,
591
- entry.collapsed ? ( localize(5412, "collapsed")) : ( localize(5413, "expanded"))
622
+ entry.collapsed ? ( localize(5456, "collapsed")) : ( localize(5457, "expanded"))
592
623
  );
593
624
  }
594
625
  const displayName = entry.item.displayName ?? formatDisplayName(entry.item.name);
595
626
  const secondaryText = getCustomizationSecondaryText(entry.item.description, entry.item.filename, entry.item.promptType);
596
- const nameAndDesc = secondaryText ? ( localize(5414, "{0}. {1}", displayName, secondaryText)) : displayName;
597
- return entry.item.disabled ? ( localize(5415, "{0}, disabled", nameAndDesc)) : nameAndDesc;
627
+ const nameAndDesc = secondaryText ? ( localize(5458, "{0}. {1}", displayName, secondaryText)) : displayName;
628
+ return entry.item.disabled ? ( localize(5459, "{0}, disabled", nameAndDesc)) : nameAndDesc;
598
629
  },
599
- getWidgetAriaLabel: () => ( localize(5416, "Agent Customizations"))
630
+ getWidgetAriaLabel: () => ( localize(5460, "Agent Customizations"))
600
631
  },
601
632
  keyboardNavigationLabelProvider: {
602
633
  getKeyboardNavigationLabel: entry => entry.type === "group-header" ? entry.label : entry.item.name
@@ -619,7 +650,10 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
619
650
  }));
620
651
  this._register(this.list.onDidFocus(() => {
621
652
  if (this.list.getFocus().length === 0 && this.displayEntries.length > 0) {
622
- this.list.focusFirst();
653
+ const firstItemIndex = this.displayEntries.findIndex(e => e.type !== "group-header");
654
+ if (firstItemIndex >= 0) {
655
+ this.list.setFocus([firstItemIndex]);
656
+ }
623
657
  }
624
658
  }));
625
659
  this._register(this.list.onContextMenu(e => this.onContextMenu(e)));
@@ -628,16 +662,6 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
628
662
  this.refresh();
629
663
  }
630
664
  }));
631
- this.sectionHeader = append(this.element, $(".section-footer"));
632
- this.sectionDescription = append(this.sectionHeader, $("p.section-footer-description"));
633
- this.sectionLink = append(this.sectionHeader, $("a.section-footer-link"));
634
- this._register(addDisposableListener(this.sectionLink, "click", e => {
635
- e.preventDefault();
636
- const href = this.sectionLink.href;
637
- if (href) {
638
- this.openerService.open(( URI.parse(href)));
639
- }
640
- }));
641
665
  this.updateSectionHeader();
642
666
  }
643
667
  onContextMenu(e) {
@@ -672,9 +696,9 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
672
696
  const {
673
697
  secondary
674
698
  } = getContextMenuActions(actions, "inline");
675
- const copyActions = item.isBuiltin ? [] : [( new Separator()), ( new Action("copyFullPath", ( localize(5417, "Copy Full Path")), undefined, true, async () => {
699
+ const copyActions = item.isBuiltin ? [] : [( new Separator()), ( new Action("copyFullPath", ( localize(5461, "Copy Full Path")), undefined, true, async () => {
676
700
  await this.clipboardService.writeText(item.uri.fsPath);
677
- })), ( new Action("copyRelativePath", ( localize(5418, "Copy Relative Path")), undefined, true, async () => {
701
+ })), ( new Action("copyRelativePath", ( localize(5462, "Copy Relative Path")), undefined, true, async () => {
678
702
  const basePath = this.workspaceService.getActiveProjectRoot();
679
703
  if (basePath && item.uri.fsPath.startsWith(basePath.fsPath)) {
680
704
  const relative = item.uri.fsPath.substring(basePath.fsPath.length + 1);
@@ -691,9 +715,6 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
691
715
  getActions: () => [...secondary, ...copyActions]
692
716
  });
693
717
  }
694
- prependToSearchRow(element) {
695
- this.searchAndButtonContainer.insertBefore(element, this.searchAndButtonContainer.firstChild);
696
- }
697
718
  async setSection(section) {
698
719
  const loadId = ++this._sectionLoadId;
699
720
  this.currentSection = section;
@@ -722,50 +743,57 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
722
743
  }
723
744
  }
724
745
  updateSectionHeader() {
746
+ let title;
725
747
  let description;
726
748
  let docsUrl;
727
749
  let learnMoreLabel;
728
750
  switch (this.currentSection) {
729
751
  case AICustomizationManagementSection.Agents:
752
+ title = ( localize(5463, "Agents"));
730
753
  description = ( localize(
731
- 5419,
754
+ 5464,
732
755
  "Configure the AI to adopt different personas tailored to specific development tasks. Each agent has its own instructions, tools, and behavior."
733
756
  ));
734
757
  docsUrl = "https://code.visualstudio.com/docs/copilot/customization/custom-agents";
735
- learnMoreLabel = ( localize(5420, "Learn more about custom agents"));
758
+ learnMoreLabel = ( localize(5465, "Learn more about custom agents"));
736
759
  break;
737
760
  case AICustomizationManagementSection.Skills:
761
+ title = ( localize(5466, "Skills"));
738
762
  description = ( localize(
739
- 5421,
763
+ 5467,
740
764
  "Folders of instructions, scripts, and resources that Copilot loads when relevant to perform specialized tasks."
741
765
  ));
742
766
  docsUrl = "https://code.visualstudio.com/docs/copilot/customization/agent-skills";
743
- learnMoreLabel = ( localize(5422, "Learn more about agent skills"));
767
+ learnMoreLabel = ( localize(5468, "Learn more about agent skills"));
744
768
  break;
745
769
  case AICustomizationManagementSection.Instructions:
770
+ title = ( localize(5469, "Instructions"));
746
771
  description = ( localize(
747
- 5423,
772
+ 5470,
748
773
  "Define common guidelines and rules that automatically influence how AI generates code and handles development tasks."
749
774
  ));
750
775
  docsUrl = "https://code.visualstudio.com/docs/copilot/customization/custom-instructions";
751
- learnMoreLabel = ( localize(5424, "Learn more about custom instructions"));
776
+ learnMoreLabel = ( localize(5471, "Learn more about custom instructions"));
752
777
  break;
753
778
  case AICustomizationManagementSection.Hooks:
754
- description = ( localize(5425, "Prompts executed at specific points during an agentic lifecycle."));
779
+ title = ( localize(5472, "Hooks"));
780
+ description = ( localize(5473, "Prompts executed at specific points during an agentic lifecycle."));
755
781
  docsUrl = "https://code.visualstudio.com/docs/copilot/customization/hooks";
756
- learnMoreLabel = ( localize(5426, "Learn more about hooks"));
782
+ learnMoreLabel = ( localize(5474, "Learn more about hooks"));
757
783
  break;
758
784
  case AICustomizationManagementSection.Prompts:
759
785
  default:
786
+ title = ( localize(5475, "Prompts"));
760
787
  description = ( localize(
761
- 5427,
788
+ 5476,
762
789
  "Reusable prompts for common development tasks like generating code, performing reviews, or scaffolding components."
763
790
  ));
764
791
  docsUrl = "https://code.visualstudio.com/docs/copilot/customization/prompt-files";
765
- learnMoreLabel = ( localize(5428, "Learn more about prompt files"));
792
+ learnMoreLabel = ( localize(5477, "Learn more about prompt files"));
766
793
  break;
767
794
  }
768
- this.sectionDescription.textContent = description;
795
+ this.sectionTitle.textContent = title;
796
+ this.sectionTitleDescriptionText.textContent = description;
769
797
  this.sectionLink.textContent = learnMoreLabel;
770
798
  this.sectionLink.href = docsUrl;
771
799
  }
@@ -854,7 +882,7 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
854
882
  });
855
883
  if (hasWorkspace) {
856
884
  actions.push({
857
- label: `$(${Codicon.add.id}) ${( localize(5429, "Configure Hooks"))}`,
885
+ label: `$(${Codicon.add.id}) ${( localize(5478, "Configure Hooks"))}`,
858
886
  enabled: true,
859
887
  run: () => {
860
888
  this._onDidRequestCreateManual.fire({
@@ -866,9 +894,9 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
866
894
  }
867
895
  } else if (!override?.commandId) {
868
896
  actions.push({
869
- label: `$(${Codicon.add.id}) ${( localize(5429, "Configure Hooks"))}`,
897
+ label: `$(${Codicon.add.id}) ${( localize(5478, "Configure Hooks"))}`,
870
898
  enabled: hasWorkspace,
871
- tooltip: hasWorkspace ? undefined : ( localize(5430, "Open a workspace folder to configure hooks.")),
899
+ tooltip: hasWorkspace ? undefined : ( localize(5479, "Open a workspace folder to configure hooks.")),
872
900
  run: () => {
873
901
  this._onDidRequestCreateManual.fire({
874
902
  type: promptType,
@@ -972,16 +1000,16 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
972
1000
  getTypeLabel() {
973
1001
  switch (this.currentSection) {
974
1002
  case AICustomizationManagementSection.Agents:
975
- return localize(5431, "Agent");
1003
+ return localize(5480, "Agent");
976
1004
  case AICustomizationManagementSection.Skills:
977
- return localize(5432, "Skill");
1005
+ return localize(5481, "Skill");
978
1006
  case AICustomizationManagementSection.Instructions:
979
- return localize(5433, "Instructions");
1007
+ return localize(5469, "Instructions");
980
1008
  case AICustomizationManagementSection.Hooks:
981
- return localize(5434, "Hook");
1009
+ return localize(5482, "Hook");
982
1010
  case AICustomizationManagementSection.Prompts:
983
1011
  default:
984
- return localize(5435, "Prompt");
1012
+ return localize(5483, "Prompt");
985
1013
  }
986
1014
  }
987
1015
  announceItemCount(count) {
@@ -1071,93 +1099,93 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
1071
1099
  groupMatchedItems(matchedItems) {
1072
1100
  const groups = this.currentSection === AICustomizationManagementSection.Instructions ? [{
1073
1101
  groupKey: "agent-instructions",
1074
- label: ( localize(5436, "Agent Instructions")),
1102
+ label: ( localize(5484, "Agent Instructions")),
1075
1103
  icon: instructionsIcon,
1076
1104
  description: ( localize(
1077
- 5437,
1105
+ 5485,
1078
1106
  "Instruction files automatically loaded for all agent interactions (e.g. AGENTS.md, CLAUDE.md, copilot-instructions.md)."
1079
1107
  )),
1080
1108
  items: []
1081
1109
  }, {
1082
1110
  groupKey: "context-instructions",
1083
- label: ( localize(5438, "Included Based on Context")),
1111
+ label: ( localize(5486, "Included Based on Context")),
1084
1112
  icon: instructionsIcon,
1085
1113
  description: ( localize(
1086
- 5439,
1114
+ 5487,
1087
1115
  "Instructions automatically loaded when matching files are part of the context."
1088
1116
  )),
1089
1117
  items: []
1090
1118
  }, {
1091
1119
  groupKey: "on-demand-instructions",
1092
- label: ( localize(5440, "Loaded on Demand")),
1120
+ label: ( localize(5488, "Loaded on Demand")),
1093
1121
  icon: instructionsIcon,
1094
- description: ( localize(5441, "Instructions loaded only when explicitly referenced.")),
1122
+ description: ( localize(5489, "Instructions loaded only when explicitly referenced.")),
1095
1123
  items: []
1096
1124
  }, {
1097
1125
  groupKey: PromptsStorage.local,
1098
- label: ( localize(5442, "Workspace")),
1126
+ label: ( localize(5490, "Workspace")),
1099
1127
  icon: workspaceIcon,
1100
1128
  description: ( localize(
1101
- 5443,
1129
+ 5491,
1102
1130
  "Customizations stored as files in your project folder and shared with your team via version control."
1103
1131
  )),
1104
1132
  items: []
1105
1133
  }, {
1106
1134
  groupKey: PromptsStorage.user,
1107
- label: ( localize(5444, "User")),
1135
+ label: ( localize(5492, "User")),
1108
1136
  icon: userIcon,
1109
1137
  description: ( localize(
1110
- 5445,
1138
+ 5493,
1111
1139
  "Customizations stored locally on your machine in a central location. Private to you and available across all projects."
1112
1140
  )),
1113
1141
  items: []
1114
1142
  }, {
1115
1143
  groupKey: PromptsStorage.plugin,
1116
- label: ( localize(5446, "Plugins")),
1144
+ label: ( localize(5494, "Plugins")),
1117
1145
  icon: pluginIcon,
1118
- description: ( localize(5447, "Read-only customizations provided by installed plugins.")),
1146
+ description: ( localize(5495, "Read-only customizations provided by installed plugins.")),
1119
1147
  items: []
1120
1148
  }, {
1121
1149
  groupKey: BUILTIN_STORAGE,
1122
- label: ( localize(5448, "Built-in")),
1150
+ label: ( localize(5496, "Built-in")),
1123
1151
  icon: builtinIcon,
1124
- description: ( localize(5449, "Built-in customizations shipped with the application.")),
1152
+ description: ( localize(5497, "Built-in customizations shipped with the application.")),
1125
1153
  items: []
1126
1154
  }] : [{
1127
1155
  groupKey: PromptsStorage.local,
1128
- label: ( localize(5442, "Workspace")),
1156
+ label: ( localize(5490, "Workspace")),
1129
1157
  icon: workspaceIcon,
1130
1158
  description: ( localize(
1131
- 5443,
1159
+ 5491,
1132
1160
  "Customizations stored as files in your project folder and shared with your team via version control."
1133
1161
  )),
1134
1162
  items: []
1135
1163
  }, {
1136
1164
  groupKey: PromptsStorage.user,
1137
- label: ( localize(5444, "User")),
1165
+ label: ( localize(5492, "User")),
1138
1166
  icon: userIcon,
1139
1167
  description: ( localize(
1140
- 5445,
1168
+ 5493,
1141
1169
  "Customizations stored locally on your machine in a central location. Private to you and available across all projects."
1142
1170
  )),
1143
1171
  items: []
1144
1172
  }, {
1145
1173
  groupKey: PromptsStorage.plugin,
1146
- label: ( localize(5446, "Plugins")),
1174
+ label: ( localize(5494, "Plugins")),
1147
1175
  icon: pluginIcon,
1148
- description: ( localize(5447, "Read-only customizations provided by installed plugins.")),
1176
+ description: ( localize(5495, "Read-only customizations provided by installed plugins.")),
1149
1177
  items: []
1150
1178
  }, {
1151
1179
  groupKey: PromptsStorage.extension,
1152
- label: ( localize(5450, "Extensions")),
1180
+ label: ( localize(5498, "Extensions")),
1153
1181
  icon: extensionIcon,
1154
- description: ( localize(5451, "Read-only customizations provided by installed extensions.")),
1182
+ description: ( localize(5499, "Read-only customizations provided by installed extensions.")),
1155
1183
  items: []
1156
1184
  }, {
1157
1185
  groupKey: BUILTIN_STORAGE,
1158
- label: ( localize(5448, "Built-in")),
1186
+ label: ( localize(5496, "Built-in")),
1159
1187
  icon: builtinIcon,
1160
- description: ( localize(5449, "Built-in customizations shipped with the application.")),
1188
+ description: ( localize(5497, "Built-in customizations shipped with the application.")),
1161
1189
  items: []
1162
1190
  }];
1163
1191
  for (const item of matchedItems) {
@@ -1167,10 +1195,10 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
1167
1195
  let label;
1168
1196
  switch (key) {
1169
1197
  case "remote-host":
1170
- label = ( localize(5452, "Remote"));
1198
+ label = ( localize(5500, "Remote"));
1171
1199
  break;
1172
1200
  case "remote-client":
1173
- label = ( localize(5453, "Local"));
1201
+ label = ( localize(5501, "Local"));
1174
1202
  break;
1175
1203
  default:
1176
1204
  label = formatDisplayName(key);
@@ -1216,8 +1244,8 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
1216
1244
  const sectionIcon = this.getSectionIcon();
1217
1245
  this.emptyStateIcon.classList.add(...ThemeIcon.asClassNameArray(sectionIcon));
1218
1246
  if (this.searchQuery.trim()) {
1219
- this.emptyStateText.textContent = ( localize(5454, "No items match '{0}'", this.searchQuery));
1220
- this.emptyStateSubtext.textContent = ( localize(5455, "Try a different search term"));
1247
+ this.emptyStateText.textContent = ( localize(5502, "No items match '{0}'", this.searchQuery));
1248
+ this.emptyStateSubtext.textContent = ( localize(5503, "Try a different search term"));
1221
1249
  } else {
1222
1250
  const emptyInfo = this.getEmptyStateInfo();
1223
1251
  this.emptyStateText.textContent = emptyInfo.title;
@@ -1247,29 +1275,29 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
1247
1275
  switch (this.currentSection) {
1248
1276
  case AICustomizationManagementSection.Agents:
1249
1277
  return {
1250
- title: ( localize(5456, "No agents yet")),
1251
- description: ( localize(5457, "Create your first custom agent to get started"))
1278
+ title: ( localize(5504, "No agents yet")),
1279
+ description: ( localize(5505, "Create your first custom agent to get started"))
1252
1280
  };
1253
1281
  case AICustomizationManagementSection.Skills:
1254
1282
  return {
1255
- title: ( localize(5458, "No skills yet")),
1256
- description: ( localize(5459, "Create your first skill to extend agent capabilities"))
1283
+ title: ( localize(5506, "No skills yet")),
1284
+ description: ( localize(5507, "Create your first skill to extend agent capabilities"))
1257
1285
  };
1258
1286
  case AICustomizationManagementSection.Instructions:
1259
1287
  return {
1260
- title: ( localize(5460, "No instructions yet")),
1261
- description: ( localize(5461, "Add instructions to teach Copilot about your codebase"))
1288
+ title: ( localize(5508, "No instructions yet")),
1289
+ description: ( localize(5509, "Add instructions to teach Copilot about your codebase"))
1262
1290
  };
1263
1291
  case AICustomizationManagementSection.Hooks:
1264
1292
  return {
1265
- title: ( localize(5462, "No hooks yet")),
1266
- description: ( localize(5463, "Create hooks to execute commands at agent lifecycle events"))
1293
+ title: ( localize(5510, "No hooks yet")),
1294
+ description: ( localize(5511, "Create hooks to execute commands at agent lifecycle events"))
1267
1295
  };
1268
1296
  case AICustomizationManagementSection.Prompts:
1269
1297
  default:
1270
1298
  return {
1271
- title: ( localize(5464, "No prompts yet")),
1272
- description: ( localize(5465, "Create reusable prompts for common tasks"))
1299
+ title: ( localize(5512, "No prompts yet")),
1300
+ description: ( localize(5513, "Create reusable prompts for common tasks"))
1273
1301
  };
1274
1302
  }
1275
1303
  }
@@ -1294,6 +1322,8 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
1294
1322
  }
1295
1323
  }
1296
1324
  layout(height, width) {
1325
+ this.lastLayoutHeight = height;
1326
+ this.lastLayoutWidth = width;
1297
1327
  this.element.style.height = `${height}px`;
1298
1328
  this.searchInput.layout();
1299
1329
  const searchBarHeight = this.searchAndButtonContainer.offsetHeight;
@@ -1308,8 +1338,9 @@ let AICustomizationListWidget = class AICustomizationListWidget extends Disposab
1308
1338
  });
1309
1339
  return;
1310
1340
  }
1311
- const footerHeight = this.sectionHeader.offsetHeight;
1312
- const listHeight = Math.max(0, height - searchBarHeight - footerHeight);
1341
+ const headerHeight = this.sectionTitleHeader.offsetHeight;
1342
+ this.lastHeaderHeight = headerHeight;
1343
+ const listHeight = Math.max(0, height - searchBarHeight - headerHeight);
1313
1344
  this.listContainer.style.height = `${listHeight}px`;
1314
1345
  this.list.layout(listHeight, width);
1315
1346
  }