@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
  4. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
  5. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
  6. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
  7. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
  8. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  9. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  10. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
  11. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
  12. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -15
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +56 -54
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -25
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
  60. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +279 -214
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +12 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +12 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -4
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +18 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +49 -49
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +9 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +14 -14
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
  137. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
  140. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  146. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
  155. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
  157. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  160. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +72 -14
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +5 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  183. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
  184. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
  211. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  213. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
  219. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  224. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +8 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
  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/runInTerminalTool.d.ts +6 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
  250. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  251. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
@@ -24,29 +24,31 @@ import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workben
24
24
  import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
25
25
  import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
26
26
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
27
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
27
28
  import { RegisteredEditorPriority } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService';
28
29
  import { IEditorResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService.service';
30
+ import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
29
31
  import { AssistedTypes, AddConfigurationType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration';
30
32
  import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
31
33
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents';
32
34
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatColors';
33
35
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
34
36
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
35
- import { ChatResponseResourceFileSystemProvider } from '../common/widget/chatResponseResourceFileSystemProvider.js';
37
+ import { ChatResponseResourceWorkbenchContribution } from '../common/widget/chatResponseResourceFileSystemProvider.js';
36
38
  import '../common/chatService/chatServiceImpl.js';
37
39
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
38
40
  import '../common/participants/chatSlashCommands.js';
39
41
  import '../common/tools/chatTodoListService.js';
40
42
  import '../common/model/chatTransferService.js';
41
43
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService';
42
- import { ChatConfiguration, AgentsControlClickBehavior, ChatNotificationMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
44
+ import { ChatConfiguration, ChatNotificationMode, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
43
45
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
44
46
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
45
47
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
46
48
  import { agentPluginDiscoveryRegistry } from '../common/plugins/agentPluginService.js';
47
49
  import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
48
50
  import { PromptsConfig } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
49
- import { DEFAULT_HOOK_FILE_PATHS, DEFAULT_SKILL_SOURCE_FOLDERS, SKILL_FILENAME, AGENTS_SOURCE_FOLDER, CLAUDE_AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION, PromptFileSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
51
+ import { DEFAULT_HOOK_FILE_PATHS, DEFAULT_SKILL_SOURCE_FOLDERS, SKILL_FILENAME, AGENTS_SOURCE_FOLDER, COPILOT_USER_AGENTS_SOURCE_FOLDER, CLAUDE_AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION, PromptFileSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
50
52
  import { PromptLanguageFeaturesProvider } from '../common/promptSyntax/promptFileContributions.js';
51
53
  import { HOOK_DOCUMENTATION_URL, SKILL_DOCUMENTATION_URL, AGENT_DOCUMENTATION_URL, PROMPT_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL, PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
52
54
  import { HOOK_SCHEMA_URI, hookFileSchema } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
@@ -89,8 +91,9 @@ import { ChatDebugEditor } from './chatDebug/chatDebugEditor.js';
89
91
  import { PromptsDebugContribution } from './promptsDebugContribution.js';
90
92
  import { ChatDebugEditorInput, ChatDebugEditorInputSerializer } from './chatDebug/chatDebugEditorInput.js';
91
93
  import './agentSessions/agentSessions.contribution.js';
92
- import { backgroundAgentDisplayName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
93
94
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
95
+ import { ChatViewId, isIChatViewViewContext, isIChatResourceViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
96
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
94
97
  import './accessibility/chatAccessibilityService.js';
95
98
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel';
96
99
  import './widget/input/chatStatusWidget.js';
@@ -123,7 +126,7 @@ import { ChatResponseAccessibleView } from './accessibility/chatResponseAccessib
123
126
  import { ChatTerminalOutputAccessibleView } from './accessibility/chatTerminalOutputAccessibleView.js';
124
127
  import { ChatSetupContribution, ChatTeardownContribution } from './chatSetup/chatSetupContributions.js';
125
128
  import { ChatStatusBarEntry } from './chatStatus/chatStatusEntry.js';
126
- import './attachments/chatVariables.js';
129
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
127
130
  import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
128
131
  import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
129
132
  import { ChatImplicitContextContribution } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext';
@@ -132,9 +135,11 @@ import './widget/input/editor/chatInputEditorContrib.js';
132
135
  import './widget/input/editor/chatInputEditorHover.js';
133
136
  import './tools/languageModelToolsConfirmationService.js';
134
137
  import { globalAutoApproveDescription } from './tools/languageModelToolsService.js';
135
- import { ConfiguredAgentPluginDiscovery } from '../common/plugins/agentPluginServiceImpl.js';
138
+ import { ConfiguredAgentPluginDiscovery, MarketplaceAgentPluginDiscovery } from '../common/plugins/agentPluginServiceImpl.js';
136
139
  import '../common/plugins/pluginMarketplaceService.js';
137
140
  import { AgentPluginsViewsContribution } from './agentPluginsView.js';
141
+ import { AgentPluginEditor } from './agentPluginEditor/agentPluginEditor.js';
142
+ import { AgentPluginEditorInput } from './agentPluginEditor/agentPluginEditorInput.js';
138
143
  import './agentPluginRepositoryService.js';
139
144
  import './pluginInstallService.js';
140
145
  import './promptSyntax/promptCodingAgentActionContribution.js';
@@ -160,71 +165,63 @@ jsonContributionRegistry.registerSchema(HOOK_SCHEMA_URI, hookFileSchema);
160
165
  const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
161
166
  configurationRegistry.registerConfiguration({
162
167
  id: "chatSidebar",
163
- title: ( localize(5389, "Chat")),
168
+ title: ( localize(5454, "Chat")),
164
169
  type: "object",
165
170
  properties: {
171
+ "chat.experimentalSessionsWindowOverride": {
172
+ type: "boolean",
173
+ description: ( localize(
174
+ 5455,
175
+ "When true, enables sessions-window-specific behavior for extensions."
176
+ )),
177
+ default: false,
178
+ tags: ["experimental"]
179
+ },
166
180
  "chat.fontSize": {
167
181
  type: "number",
168
- description: ( localize(5390, "Controls the font size in pixels in chat messages.")),
182
+ description: ( localize(5456, "Controls the font size in pixels in chat messages.")),
169
183
  default: 13,
170
184
  minimum: 6,
171
185
  maximum: 100
172
186
  },
173
187
  "chat.fontFamily": {
174
188
  type: "string",
175
- description: ( localize(5391, "Controls the font family in chat messages.")),
189
+ description: ( localize(5457, "Controls the font family in chat messages.")),
176
190
  default: "default"
177
191
  },
178
192
  "chat.editor.fontSize": {
179
193
  type: "number",
180
- description: ( localize(5392, "Controls the font size in pixels in chat codeblocks.")),
194
+ description: ( localize(5458, "Controls the font size in pixels in chat codeblocks.")),
181
195
  default: isMacintosh ? 12 : 14
182
196
  },
183
197
  "chat.editor.fontFamily": {
184
198
  type: "string",
185
- description: ( localize(5393, "Controls the font family in chat codeblocks.")),
199
+ description: ( localize(5459, "Controls the font family in chat codeblocks.")),
186
200
  default: "default"
187
201
  },
188
202
  "chat.editor.fontWeight": {
189
203
  type: "string",
190
- description: ( localize(5394, "Controls the font weight in chat codeblocks.")),
204
+ description: ( localize(5460, "Controls the font weight in chat codeblocks.")),
191
205
  default: "default"
192
206
  },
193
207
  "chat.editor.wordWrap": {
194
208
  type: "string",
195
- description: ( localize(5395, "Controls whether lines should wrap in chat codeblocks.")),
209
+ description: ( localize(5461, "Controls whether lines should wrap in chat codeblocks.")),
196
210
  default: "off",
197
211
  enum: ["on", "off"]
198
212
  },
199
213
  "chat.editor.lineHeight": {
200
214
  type: "number",
201
215
  description: ( localize(
202
- 5396,
216
+ 5462,
203
217
  "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
204
218
  )),
205
219
  default: 0
206
220
  },
207
- [ChatConfiguration.AgentsControlClickBehavior]: {
208
- type: "string",
209
- enum: [AgentsControlClickBehavior.Default, AgentsControlClickBehavior.Cycle],
210
- enumDescriptions: [( localize(5397, "Clicking chat icon toggles chat visibility.")), ( localize(
211
- 5398,
212
- "Clicking chat icon cycles through: show chat, maximize chat, hide chat. This requires chat to be contained in the secondary sidebar."
213
- ))],
214
- markdownDescription: ( localize(
215
- 5399,
216
- "Controls the behavior when clicking on the chat icon in the command center."
217
- )),
218
- default: AgentsControlClickBehavior.Default,
219
- tags: ["experimental"],
220
- experiment: {
221
- mode: "auto"
222
- }
223
- },
224
221
  [ChatConfiguration.AgentStatusEnabled]: {
225
222
  type: "boolean",
226
223
  markdownDescription: ( localize(
227
- 5400,
224
+ 5463,
228
225
  "Controls whether the 'Agent Status' indicator is shown in the title bar command center. Enabling this setting will automatically enable {0}. The unread/in-progress session indicators require {1} to be enabled.",
229
226
  "`#window.commandCenter#`",
230
227
  "`#chat.viewSessions.enabled#`"
@@ -235,7 +232,7 @@ configurationRegistry.registerConfiguration({
235
232
  [ChatConfiguration.UnifiedAgentsBar]: {
236
233
  type: "boolean",
237
234
  markdownDescription: ( localize(
238
- 5401,
235
+ 5464,
239
236
  "Replaces the command center search box with a unified chat and search widget."
240
237
  )),
241
238
  default: false,
@@ -244,7 +241,7 @@ configurationRegistry.registerConfiguration({
244
241
  [ChatConfiguration.AgentSessionProjectionEnabled]: {
245
242
  type: "boolean",
246
243
  markdownDescription: ( localize(
247
- 5402,
244
+ 5465,
248
245
  "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
249
246
  )),
250
247
  default: false,
@@ -253,23 +250,27 @@ configurationRegistry.registerConfiguration({
253
250
  "chat.implicitContext.enabled": {
254
251
  type: "object",
255
252
  description: ( localize(
256
- 5403,
253
+ 5466,
257
254
  "Enables automatically using the active editor as chat context for specified chat locations."
258
255
  )),
259
256
  additionalProperties: {
260
257
  type: "string",
261
258
  enum: ["never", "first", "always"],
262
- description: ( localize(5404, "The value for the implicit context.")),
263
- enumDescriptions: [( localize(5405, "Implicit context is never enabled.")), ( localize(5406, "Implicit context is enabled for the first interaction.")), ( localize(5407, "Implicit context is always enabled."))]
259
+ description: ( localize(5467, "The value for the implicit context.")),
260
+ enumDescriptions: [( localize(5468, "Implicit context is never enabled.")), ( localize(5469, "Implicit context is enabled for the first interaction.")), ( localize(5470, "Implicit context is always enabled."))]
264
261
  },
265
262
  default: {
266
263
  "panel": "always"
264
+ },
265
+ tags: ["experimental"],
266
+ experiment: {
267
+ mode: "startup"
267
268
  }
268
269
  },
269
270
  "chat.implicitContext.suggestedContext": {
270
271
  type: "boolean",
271
272
  markdownDescription: ( localize(
272
- 5408,
273
+ 5471,
273
274
  "Controls whether the new implicit context flow is shown. In Ask and Edit modes, the context will automatically be included. When using an agent, context will be suggested as an attachment. Selections are always included as context."
274
275
  )),
275
276
  default: true
@@ -277,7 +278,7 @@ configurationRegistry.registerConfiguration({
277
278
  "chat.editing.autoAcceptDelay": {
278
279
  type: "number",
279
280
  markdownDescription: ( localize(
280
- 5409,
281
+ 5472,
281
282
  "Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
282
283
  )),
283
284
  default: 0,
@@ -288,7 +289,7 @@ configurationRegistry.registerConfiguration({
288
289
  type: "boolean",
289
290
  scope: ConfigurationScope.APPLICATION,
290
291
  markdownDescription: ( localize(
291
- 5410,
292
+ 5473,
292
293
  "Whether to show a confirmation before removing a request and its associated edits."
293
294
  )),
294
295
  default: true
@@ -297,7 +298,7 @@ configurationRegistry.registerConfiguration({
297
298
  type: "boolean",
298
299
  scope: ConfigurationScope.APPLICATION,
299
300
  markdownDescription: ( localize(
300
- 5411,
301
+ 5474,
301
302
  "Whether to show a confirmation before retrying a request and its associated edits."
302
303
  )),
303
304
  default: true
@@ -305,7 +306,7 @@ configurationRegistry.registerConfiguration({
305
306
  "chat.editing.explainChanges.enabled": {
306
307
  type: "boolean",
307
308
  markdownDescription: ( localize(
308
- 5412,
309
+ 5475,
309
310
  "Controls whether the Explain button in the Chat panel and the Explain Changes context menu in the SCM view are shown. This is an experimental feature."
310
311
  )),
311
312
  default: false,
@@ -318,7 +319,7 @@ configurationRegistry.registerConfiguration({
318
319
  type: "boolean",
319
320
  scope: ConfigurationScope.APPLICATION,
320
321
  description: ( localize(
321
- 5413,
322
+ 5476,
322
323
  "Controls whether tips are shown above user messages in chat. New tips are added frequently, so this is a helpful way to stay up to date with the latest features."
323
324
  )),
324
325
  default: false,
@@ -330,9 +331,9 @@ configurationRegistry.registerConfiguration({
330
331
  "chat.upvoteAnimation": {
331
332
  type: "string",
332
333
  enum: ["off", "confetti", "floatingThumbs", "pulseWave", "radiantLines"],
333
- enumDescriptions: [( localize(5414, "No animation is shown.")), ( localize(5415, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5416, "Shows floating thumbs up icons rising from the button.")), ( localize(5417, "Shows expanding pulse rings from the button.")), ( localize(5418, "Shows radiant lines emanating from the button."))],
334
+ enumDescriptions: [( localize(5477, "No animation is shown.")), ( localize(5478, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5479, "Shows floating thumbs up icons rising from the button.")), ( localize(5480, "Shows expanding pulse rings from the button.")), ( localize(5481, "Shows radiant lines emanating from the button."))],
334
335
  description: ( localize(
335
- 5419,
336
+ 5482,
336
337
  "Controls whether an animation is shown when clicking the thumbs up button on a chat response."
337
338
  )),
338
339
  default: "floatingThumbs"
@@ -340,26 +341,26 @@ configurationRegistry.registerConfiguration({
340
341
  "chat.experimental.detectParticipant.enabled": {
341
342
  type: "boolean",
342
343
  deprecationMessage: ( localize(
343
- 5420,
344
+ 5483,
344
345
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
345
346
  )),
346
- description: ( localize(5421, "Enables chat participant autodetection for panel chat.")),
347
+ description: ( localize(5484, "Enables chat participant autodetection for panel chat.")),
347
348
  default: null
348
349
  },
349
350
  "chat.detectParticipant.enabled": {
350
351
  type: "boolean",
351
- description: ( localize(5422, "Enables chat participant autodetection for panel chat.")),
352
+ description: ( localize(5485, "Enables chat participant autodetection for panel chat.")),
352
353
  default: true
353
354
  },
354
355
  [ChatConfiguration.InlineReferencesStyle]: {
355
356
  type: "string",
356
357
  enum: ["box", "link"],
357
- enumDescriptions: [( localize(5423, "Display file and symbol references as boxed widgets with icons.")), ( localize(
358
- 5424,
358
+ enumDescriptions: [( localize(5486, "Display file and symbol references as boxed widgets with icons.")), ( localize(
359
+ 5487,
359
360
  "Display file and symbol references as simple blue links without icons."
360
361
  ))],
361
362
  description: ( localize(
362
- 5425,
363
+ 5488,
363
364
  "Controls how file and symbol references are displayed in chat messages."
364
365
  )),
365
366
  default: "box"
@@ -367,7 +368,7 @@ configurationRegistry.registerConfiguration({
367
368
  [ChatConfiguration.EditorAssociations]: {
368
369
  type: "object",
369
370
  markdownDescription: ( localize(
370
- 5426,
371
+ 5489,
371
372
  "Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
372
373
  )),
373
374
  additionalProperties: {
@@ -378,15 +379,15 @@ configurationRegistry.registerConfiguration({
378
379
  [ChatConfiguration.NotifyWindowOnConfirmation]: {
379
380
  type: "string",
380
381
  enum: ["off", "windowNotFocused", "always"],
381
- enumDescriptions: [( localize(5427, "Never show OS notifications for confirmations.")), ( localize(
382
- 5428,
382
+ enumDescriptions: [( localize(5490, "Never show OS notifications for confirmations.")), ( localize(
383
+ 5491,
383
384
  "Show OS notifications for confirmations when the window is not focused."
384
385
  )), ( localize(
385
- 5429,
386
+ 5492,
386
387
  "Always show OS notifications for confirmations, even when the window is focused."
387
388
  ))],
388
389
  description: ( localize(
389
- 5430,
390
+ 5493,
390
391
  "Controls whether a chat session should present the user with an OS notification when a confirmation or question needs input. This includes a window badge as well as notification toast."
391
392
  )),
392
393
  default: "windowNotFocused"
@@ -394,13 +395,22 @@ configurationRegistry.registerConfiguration({
394
395
  [ChatConfiguration.AutoReply]: {
395
396
  default: false,
396
397
  markdownDescription: ( localize(
397
- 5431,
398
+ 5494,
398
399
  "Automatically answer chat question carousels using the current model. This is an advanced setting and can lead to unintended choices or actions based on incomplete context."
399
400
  )),
400
401
  type: "boolean",
401
402
  scope: ConfigurationScope.APPLICATION_MACHINE,
402
403
  tags: ["experimental", "advanced"]
403
404
  },
405
+ [ChatConfiguration.AutopilotEnabled]: {
406
+ type: "boolean",
407
+ markdownDescription: ( localize(
408
+ 5495,
409
+ "Controls whether the Autopilot mode is available in the permissions picker. When enabled, Autopilot auto-approves all tool calls and continues until the task is done."
410
+ )),
411
+ default: product.quality !== "stable",
412
+ tags: ["experimental"]
413
+ },
404
414
  [ChatConfiguration.GlobalAutoApprove]: {
405
415
  default: false,
406
416
  markdownDescription: globalAutoApproveDescription.value,
@@ -416,7 +426,7 @@ configurationRegistry.registerConfiguration({
416
426
  description: {
417
427
  key: "autoApprove3.description",
418
428
  value: ( localize(
419
- 5432,
429
+ 5496,
420
430
  "Global auto approve also known as \"YOLO mode\" disables manual approval completely for all tools in all workspaces, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like Codespaces and Dev Containers have user keys forwarded into the container that could be compromised.\n\nThis feature disables critical security protections and makes it much easier for an attacker to compromise the machine.\n\nNote: This setting only controls tool approval and does not prevent the agent from asking questions. To automatically answer agent questions, use the `#chat.autoReply#` setting."
421
431
  ))
422
432
  }
@@ -434,7 +444,7 @@ configurationRegistry.registerConfiguration({
434
444
  "**/*-lock.{yaml,json}": false
435
445
  },
436
446
  markdownDescription: ( localize(
437
- 5433,
447
+ 5497,
438
448
  "Controls whether edits made by the agent are automatically approved. The default is to approve all edits except those made to certain files which have the potential to cause immediate unintended side-effects, such as `**/.vscode/*.json`.\n\nSet to `true` to automatically approve edits to matching files, `false` to always require explicit approval. The last pattern matching a given file will determine whether the edit is automatically approved."
439
449
  )),
440
450
  type: "object",
@@ -445,7 +455,7 @@ configurationRegistry.registerConfiguration({
445
455
  [ChatConfiguration.AutoApprovedUrls]: {
446
456
  default: {},
447
457
  markdownDescription: ( localize(
448
- 5434,
458
+ 5498,
449
459
  "Controls which URLs are automatically approved when requested by chat tools. Keys are URL patterns and values can be `true` to approve both requests and responses, `false` to deny, or an object with `approveRequest` and `approveResponse` properties for granular control.\n\nExamples:\n- `\"https://example.com\": true` - Approve all requests to example.com\n- `\"https://*.example.com\": true` - Approve all requests to any subdomain of example.com\n- `\"https://example.com/api/*\": { \"approveRequest\": true, \"approveResponse\": false }` - Approve requests but not responses for example.com/api paths"
450
460
  )),
451
461
  type: "object",
@@ -468,7 +478,7 @@ configurationRegistry.registerConfiguration({
468
478
  [ChatConfiguration.EligibleForAutoApproval]: {
469
479
  default: {},
470
480
  markdownDescription: ( localize(
471
- 5435,
481
+ 5499,
472
482
  "Controls which tools are eligible for automatic approval. Tools set to 'false' will always present a confirmation and will never offer the option to auto-approve. The default behavior (or setting a tool to 'true') may result in the tool offering auto-approval options."
473
483
  )),
474
484
  type: "object",
@@ -491,7 +501,7 @@ configurationRegistry.registerConfiguration({
491
501
  description: {
492
502
  key: "chat.tools.eligibleForAutoApproval",
493
503
  value: ( localize(
494
- 5435,
504
+ 5499,
495
505
  "Controls which tools are eligible for automatic approval. Tools set to 'false' will always present a confirmation and will never offer the option to auto-approve. The default behavior (or setting a tool to 'true') may result in the tool offering auto-approval options."
496
506
  ))
497
507
  }
@@ -501,7 +511,7 @@ configurationRegistry.registerConfiguration({
501
511
  "chat.sendElementsToChat.enabled": {
502
512
  default: true,
503
513
  description: ( localize(
504
- 5436,
514
+ 5500,
505
515
  "Controls whether elements can be sent to chat from the Simple Browser."
506
516
  )),
507
517
  type: "boolean",
@@ -510,7 +520,7 @@ configurationRegistry.registerConfiguration({
510
520
  "chat.sendElementsToChat.attachCSS": {
511
521
  default: true,
512
522
  markdownDescription: ( localize(
513
- 5437,
523
+ 5501,
514
524
  "Controls whether CSS of the selected element will be added to the chat. {0} must be enabled.",
515
525
  "`#chat.sendElementsToChat.enabled#`"
516
526
  )),
@@ -520,7 +530,7 @@ configurationRegistry.registerConfiguration({
520
530
  "chat.sendElementsToChat.attachImages": {
521
531
  default: true,
522
532
  markdownDescription: ( localize(
523
- 5438,
533
+ 5502,
524
534
  "Controls whether a screenshot of the selected element will be added to the chat. {0} must be enabled.",
525
535
  "`#chat.sendElementsToChat.enabled#`"
526
536
  )),
@@ -530,14 +540,14 @@ configurationRegistry.registerConfiguration({
530
540
  "chat.undoRequests.restoreInput": {
531
541
  default: true,
532
542
  markdownDescription: ( localize(
533
- 5439,
543
+ 5503,
534
544
  "Controls whether the input of the chat should be restored when an undo request is made. The input will be filled with the text of the request that was restored."
535
545
  )),
536
546
  type: "boolean"
537
547
  },
538
548
  "chat.editRequests": {
539
549
  markdownDescription: ( localize(
540
- 5440,
550
+ 5504,
541
551
  "Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
542
552
  )),
543
553
  type: "string",
@@ -548,7 +558,7 @@ configurationRegistry.registerConfiguration({
548
558
  type: "boolean",
549
559
  default: true,
550
560
  description: ( localize(
551
- 5441,
561
+ 5505,
552
562
  "Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
553
563
  ))
554
564
  },
@@ -556,15 +566,15 @@ configurationRegistry.registerConfiguration({
556
566
  type: "string",
557
567
  enum: ["stacked", "sideBySide"],
558
568
  enumDescriptions: [( localize(
559
- 5442,
569
+ 5506,
560
570
  "Display chat sessions vertically stacked above the chat input unless a chat session is visible."
561
571
  )), ( localize(
562
- 5443,
572
+ 5507,
563
573
  "Display chat sessions side by side if space is sufficient, otherwise fallback to stacked above the chat input unless a chat session is visible."
564
574
  ))],
565
575
  default: "sideBySide",
566
576
  description: ( localize(
567
- 5444,
577
+ 5508,
568
578
  "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
569
579
  ))
570
580
  },
@@ -572,28 +582,28 @@ configurationRegistry.registerConfiguration({
572
582
  type: "boolean",
573
583
  default: false,
574
584
  description: ( localize(
575
- 5445,
585
+ 5509,
576
586
  "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
577
587
  ))
578
588
  },
579
589
  [ChatConfiguration.ChatContextUsageEnabled]: {
580
590
  type: "boolean",
581
591
  default: true,
582
- description: ( localize(5446, "Show the context window usage indicator in the chat input."))
592
+ description: ( localize(5510, "Show the context window usage indicator in the chat input."))
583
593
  },
584
594
  [ChatConfiguration.NotifyWindowOnResponseReceived]: {
585
595
  type: "string",
586
596
  enum: ["off", "windowNotFocused", "always"],
587
- enumDescriptions: [( localize(5447, "Never show OS notifications for responses.")), ( localize(
588
- 5448,
597
+ enumDescriptions: [( localize(5511, "Never show OS notifications for responses.")), ( localize(
598
+ 5512,
589
599
  "Show OS notifications for responses when the window is not focused."
590
600
  )), ( localize(
591
- 5449,
601
+ 5513,
592
602
  "Always show OS notifications for responses, even when the window is focused."
593
603
  ))],
594
604
  default: "windowNotFocused",
595
605
  description: ( localize(
596
- 5450,
606
+ 5514,
597
607
  "Controls whether a chat session should present the user with an OS notification when a response is received. This includes a window badge as well as notification toast."
598
608
  ))
599
609
  },
@@ -601,23 +611,23 @@ configurationRegistry.registerConfiguration({
601
611
  type: "boolean",
602
612
  default: true,
603
613
  description: ( localize(
604
- 5451,
614
+ 5515,
605
615
  "Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
606
616
  ))
607
617
  },
608
618
  "chat.checkpoints.showFileChanges": {
609
619
  type: "boolean",
610
- description: ( localize(5452, "Controls whether to show chat checkpoint file changes.")),
620
+ description: ( localize(5516, "Controls whether to show chat checkpoint file changes.")),
611
621
  default: false
612
622
  },
613
623
  [mcpAccessConfig]: {
614
624
  type: "string",
615
- description: ( localize(5453, "Controls access to installed Model Context Protocol servers.")),
625
+ description: ( localize(5517, "Controls access to installed Model Context Protocol servers.")),
616
626
  enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
617
- enumDescriptions: [( localize(5454, "No access to MCP servers.")), ( localize(
618
- 5455,
627
+ enumDescriptions: [( localize(5518, "No access to MCP servers.")), ( localize(
628
+ 5519,
619
629
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
620
- )), ( localize(5456, "Allow access to any installed MCP server."))],
630
+ )), ( localize(5520, "Allow access to any installed MCP server."))],
621
631
  default: McpAccessValue.All,
622
632
  policy: {
623
633
  name: "ChatMCP",
@@ -635,20 +645,20 @@ configurationRegistry.registerConfiguration({
635
645
  localization: {
636
646
  description: {
637
647
  key: "chat.mcp.access",
638
- value: ( localize(5453, "Controls access to installed Model Context Protocol servers."))
648
+ value: ( localize(5517, "Controls access to installed Model Context Protocol servers."))
639
649
  },
640
650
  enumDescriptions: [{
641
651
  key: "chat.mcp.access.none",
642
- value: ( localize(5454, "No access to MCP servers."))
652
+ value: ( localize(5518, "No access to MCP servers."))
643
653
  }, {
644
654
  key: "chat.mcp.access.registry",
645
655
  value: ( localize(
646
- 5455,
656
+ 5519,
647
657
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
648
658
  ))
649
659
  }, {
650
660
  key: "chat.mcp.access.any",
651
- value: ( localize(5456, "Allow access to any installed MCP server."))
661
+ value: ( localize(5520, "Allow access to any installed MCP server."))
652
662
  }]
653
663
  }
654
664
  }
@@ -656,7 +666,7 @@ configurationRegistry.registerConfiguration({
656
666
  [mcpAutoStartConfig]: {
657
667
  type: "string",
658
668
  description: ( localize(
659
- 5457,
669
+ 5521,
660
670
  "Controls whether MCP servers should be automatically started when the chat messages are submitted."
661
671
  )),
662
672
  default: McpAutoStartValue.NewAndOutdated,
@@ -665,8 +675,8 @@ configurationRegistry.registerConfiguration({
665
675
  McpAutoStartValue.OnlyNew,
666
676
  McpAutoStartValue.NewAndOutdated
667
677
  ],
668
- enumDescriptions: [( localize(5458, "Never automatically start MCP servers.")), ( localize(5459, "Only automatically start new MCP servers that have never been run.")), ( localize(
669
- 5460,
678
+ enumDescriptions: [( localize(5522, "Never automatically start MCP servers.")), ( localize(5523, "Only automatically start new MCP servers that have never been run.")), ( localize(
679
+ 5524,
670
680
  "Automatically start new and outdated MCP servers that are not yet running."
671
681
  ))],
672
682
  tags: ["experimental"]
@@ -674,7 +684,7 @@ configurationRegistry.registerConfiguration({
674
684
  [mcpAppsEnabledConfig]: {
675
685
  type: "boolean",
676
686
  description: ( localize(
677
- 5461,
687
+ 5525,
678
688
  "Controls whether MCP servers can provide custom UI for tool invocations."
679
689
  )),
680
690
  default: true,
@@ -683,9 +693,9 @@ configurationRegistry.registerConfiguration({
683
693
  [mcpServerSamplingSection]: {
684
694
  type: "object",
685
695
  description: ( localize(
686
- 5462,
696
+ 5526,
687
697
  "Configures which models are exposed to MCP servers for sampling (making model requests in the background). This setting can be edited in a graphical way under the `{0}` command.",
688
- "MCP: " + ( localize(5463, "List Servers"))
698
+ "MCP: " + ( localize(5527, "List Servers"))
689
699
  )),
690
700
  scope: ConfigurationScope.RESOURCE,
691
701
  additionalProperties: {
@@ -694,7 +704,7 @@ configurationRegistry.registerConfiguration({
694
704
  allowedDuringChat: {
695
705
  type: "boolean",
696
706
  description: ( localize(
697
- 5464,
707
+ 5528,
698
708
  "Whether this server is make sampling requests during its tool calls in a chat session."
699
709
  )),
700
710
  default: true
@@ -702,7 +712,7 @@ configurationRegistry.registerConfiguration({
702
712
  allowedOutsideChat: {
703
713
  type: "boolean",
704
714
  description: ( localize(
705
- 5465,
715
+ 5529,
706
716
  "Whether this server is allowed to make sampling requests outside of a chat session."
707
717
  )),
708
718
  default: false
@@ -711,7 +721,7 @@ configurationRegistry.registerConfiguration({
711
721
  type: "array",
712
722
  items: {
713
723
  type: "string",
714
- description: ( localize(5466, "A model the MCP server has access to."))
724
+ description: ( localize(5530, "A model the MCP server has access to."))
715
725
  }
716
726
  }
717
727
  }
@@ -720,7 +730,7 @@ configurationRegistry.registerConfiguration({
720
730
  [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
721
731
  type: "boolean",
722
732
  description: ( localize(
723
- 5467,
733
+ 5531,
724
734
  "Enables NuGet packages for AI-assisted MCP server installation. Used to install MCP servers by name from the central registry for .NET packages (NuGet.org)."
725
735
  )),
726
736
  default: false,
@@ -729,17 +739,9 @@ configurationRegistry.registerConfiguration({
729
739
  mode: "startup"
730
740
  }
731
741
  },
732
- [ChatConfiguration.Edits2Enabled]: {
733
- type: "boolean",
734
- description: ( localize(
735
- 5468,
736
- "Enable the new Edits mode that is based on tool-calling. When this is enabled, models that don't support tool-calling are unavailable for Edits mode."
737
- )),
738
- default: false
739
- },
740
742
  [ChatConfiguration.ExtensionToolsEnabled]: {
741
743
  type: "boolean",
742
- description: ( localize(5469, "Enable using tools contributed by third-party extensions.")),
744
+ description: ( localize(5532, "Enable using tools contributed by third-party extensions.")),
743
745
  default: true,
744
746
  policy: {
745
747
  name: "ChatAgentExtensionTools",
@@ -748,28 +750,27 @@ configurationRegistry.registerConfiguration({
748
750
  localization: {
749
751
  description: {
750
752
  key: "chat.extensionToolsEnabled",
751
- value: ( localize(5469, "Enable using tools contributed by third-party extensions."))
753
+ value: ( localize(5532, "Enable using tools contributed by third-party extensions."))
752
754
  }
753
755
  }
754
756
  }
755
757
  },
756
758
  [ChatConfiguration.PluginsEnabled]: {
757
759
  type: "boolean",
758
- description: ( localize(5470, "Enable agent plugin integration in chat.")),
760
+ description: ( localize(5533, "Enable agent plugin integration in chat.")),
759
761
  default: true,
760
762
  tags: ["preview"]
761
763
  },
762
- [ChatConfiguration.PluginPaths]: {
764
+ [ChatConfiguration.PluginLocations]: {
763
765
  type: "object",
764
766
  additionalProperties: {
765
767
  type: "boolean"
766
768
  },
767
769
  restricted: true,
768
770
  markdownDescription: ( localize(
769
- 5471,
770
- "Plugin directories to discover. Each key is a path that points directly to a plugin folder, and the value enables (`true`) or disables (`false`) it. Paths can be absolute or relative to the workspace root."
771
+ 5534,
772
+ "Plugin directories to discover. Each key is a path that points directly to a plugin folder, and the value enables (`true`) or disables (`false`) it. Paths can be absolute, relative to the workspace root, or start with `~/` for the user's home directory."
771
773
  )),
772
- default: {},
773
774
  scope: ConfigurationScope.MACHINE,
774
775
  tags: ["experimental"]
775
776
  },
@@ -779,7 +780,7 @@ configurationRegistry.registerConfiguration({
779
780
  type: "string"
780
781
  },
781
782
  markdownDescription: ( localize(
782
- 5472,
783
+ 5535,
783
784
  "Plugin marketplaces to query. Entries may be GitHub shorthand (`owner/repo`), direct Git repository URIs (`https://...git`, `ssh://...git`, or `git@host:path.git`), or local repository URIs (`file:///...`). Equivalent GitHub shorthand and URI entries are deduplicated."
784
785
  )),
785
786
  default: ["github/copilot-plugins", "github/awesome-copilot"],
@@ -789,7 +790,7 @@ configurationRegistry.registerConfiguration({
789
790
  [ChatConfiguration.AgentEnabled]: {
790
791
  type: "boolean",
791
792
  description: ( localize(
792
- 5473,
793
+ 5536,
793
794
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
794
795
  )),
795
796
  default: true,
@@ -803,7 +804,7 @@ configurationRegistry.registerConfiguration({
803
804
  description: {
804
805
  key: "chat.agent.enabled.description",
805
806
  value: ( localize(
806
- 5473,
807
+ 5536,
807
808
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
808
809
  ))
809
810
  }
@@ -813,7 +814,7 @@ configurationRegistry.registerConfiguration({
813
814
  [ChatConfiguration.PlanAgentDefaultModel]: {
814
815
  type: "string",
815
816
  description: ( localize(
816
- 5474,
817
+ 5537,
817
818
  "Select the default language model to use for the Plan agent from the available providers."
818
819
  )),
819
820
  default: "",
@@ -824,7 +825,7 @@ configurationRegistry.registerConfiguration({
824
825
  [ChatConfiguration.ExploreAgentDefaultModel]: {
825
826
  type: "string",
826
827
  description: ( localize(
827
- 5475,
828
+ 5538,
828
829
  "Select the default language model to use for the Explore subagent from the available providers."
829
830
  )),
830
831
  default: "",
@@ -835,19 +836,19 @@ configurationRegistry.registerConfiguration({
835
836
  [ChatConfiguration.RequestQueueingDefaultAction]: {
836
837
  type: "string",
837
838
  enum: ["queue", "steer"],
838
- enumDescriptions: [( localize(5476, "Queue the message to send after the current request completes.")), ( localize(
839
- 5477,
839
+ enumDescriptions: [( localize(5539, "Queue the message to send after the current request completes.")), ( localize(
840
+ 5540,
840
841
  "Steer the current request by sending the message immediately, signaling the current request to yield."
841
842
  ))],
842
843
  description: ( localize(
843
- 5478,
844
+ 5541,
844
845
  "Controls which action is the default for the queue button when a request is in progress."
845
846
  )),
846
847
  default: "steer"
847
848
  },
848
849
  [ChatConfiguration.EditModeHidden]: {
849
850
  type: "boolean",
850
- description: ( localize(5479, "When enabled, hides the Edit mode from the chat mode picker.")),
851
+ description: ( localize(5542, "When enabled, hides the Edit mode from the chat mode picker.")),
851
852
  default: true,
852
853
  tags: ["experimental"],
853
854
  experiment: {
@@ -856,13 +857,13 @@ configurationRegistry.registerConfiguration({
856
857
  },
857
858
  [ChatConfiguration.EnableMath]: {
858
859
  type: "boolean",
859
- description: ( localize(5480, "Enable math rendering in chat responses using KaTeX.")),
860
+ description: ( localize(5543, "Enable math rendering in chat responses using KaTeX.")),
860
861
  default: true
861
862
  },
862
863
  [ChatConfiguration.ShowCodeBlockProgressAnimation]: {
863
864
  type: "boolean",
864
865
  description: ( localize(
865
- 5481,
866
+ 5544,
866
867
  "When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
867
868
  )),
868
869
  default: true,
@@ -871,7 +872,7 @@ configurationRegistry.registerConfiguration({
871
872
  ["chat.statusWidget.anonymous"]: {
872
873
  type: "boolean",
873
874
  description: ( localize(
874
- 5482,
875
+ 5545,
875
876
  "Controls whether anonymous users see the status widget in new chat sessions when rate limited."
876
877
  )),
877
878
  default: false,
@@ -889,7 +890,7 @@ configurationRegistry.registerConfiguration({
889
890
  additionalProperties: false,
890
891
  default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
891
892
  markdownDescription: ( localize(
892
- 5483,
893
+ 5546,
893
894
  "Configures discovery of Model Context Protocol servers from configuration from various other applications."
894
895
  ))
895
896
  },
@@ -898,14 +899,14 @@ configurationRegistry.registerConfiguration({
898
899
  default: false,
899
900
  tags: ["preview"],
900
901
  description: ( localize(
901
- 5484,
902
+ 5547,
902
903
  "Enables the default Marketplace for Model Context Protocol (MCP) servers."
903
904
  )),
904
905
  included: product.quality === "stable"
905
906
  },
906
907
  [mcpGalleryServiceUrlConfig]: {
907
908
  type: "string",
908
- description: ( localize(5485, "Configure the MCP Gallery service URL to connect to")),
909
+ description: ( localize(5548, "Configure the MCP Gallery service URL to connect to")),
909
910
  default: "",
910
911
  scope: ConfigurationScope.APPLICATION,
911
912
  tags: ["usesOnlineServices", "advanced"],
@@ -918,16 +919,16 @@ configurationRegistry.registerConfiguration({
918
919
  localization: {
919
920
  description: {
920
921
  key: "mcp.gallery.serviceUrl",
921
- value: ( localize(5485, "Configure the MCP Gallery service URL to connect to"))
922
+ value: ( localize(5548, "Configure the MCP Gallery service URL to connect to"))
922
923
  }
923
924
  }
924
925
  }
925
926
  },
926
927
  [PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
927
928
  type: "object",
928
- title: ( localize(5486, "Instructions File Locations")),
929
+ title: ( localize(5549, "Instructions File Locations")),
929
930
  markdownDescription: ( localize(
930
- 5487,
931
+ 5550,
931
932
  "Specify location(s) of instructions files (`*{0}`) that can be attached in Chat sessions. [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
932
933
  INSTRUCTION_FILE_EXTENSION,
933
934
  INSTRUCTIONS_DOCUMENTATION_URL
@@ -946,7 +947,7 @@ configurationRegistry.registerConfiguration({
946
947
  propertyNames: {
947
948
  pattern: VALID_PROMPT_FOLDER_PATTERN,
948
949
  patternErrorMessage: ( localize(
949
- 5488,
950
+ 5551,
950
951
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported. Glob patterns are deprecated and will be removed in future versions."
951
952
  ))
952
953
  },
@@ -961,9 +962,9 @@ configurationRegistry.registerConfiguration({
961
962
  },
962
963
  [PromptsConfig.PROMPT_LOCATIONS_KEY]: {
963
964
  type: "object",
964
- title: ( localize(5489, "Prompt File Locations")),
965
+ title: ( localize(5552, "Prompt File Locations")),
965
966
  markdownDescription: ( localize(
966
- 5490,
967
+ 5553,
967
968
  "Specify location(s) of reusable prompt files (`*{0}`) that can be run in Chat sessions. [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
968
969
  PROMPT_FILE_EXTENSION,
969
970
  PROMPT_DOCUMENTATION_URL
@@ -980,7 +981,7 @@ configurationRegistry.registerConfiguration({
980
981
  propertyNames: {
981
982
  pattern: VALID_PROMPT_FOLDER_PATTERN,
982
983
  patternErrorMessage: ( localize(
983
- 5491,
984
+ 5554,
984
985
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported. Glob patterns are deprecated and will be removed in future versions."
985
986
  ))
986
987
  },
@@ -995,9 +996,9 @@ configurationRegistry.registerConfiguration({
995
996
  },
996
997
  [PromptsConfig.MODE_LOCATION_KEY]: {
997
998
  type: "object",
998
- title: ( localize(5492, "Mode File Locations")),
999
+ title: ( localize(5555, "Mode File Locations")),
999
1000
  markdownDescription: ( localize(
1000
- 5493,
1001
+ 5556,
1001
1002
  "Specify location(s) of custom chat mode files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
1002
1003
  LEGACY_MODE_FILE_EXTENSION,
1003
1004
  AGENT_DOCUMENTATION_URL
@@ -1006,7 +1007,7 @@ configurationRegistry.registerConfiguration({
1006
1007
  [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
1007
1008
  },
1008
1009
  deprecationMessage: ( localize(
1009
- 5494,
1010
+ 5557,
1010
1011
  "This setting is deprecated and will be removed in future releases. Chat modes are now called custom agents and are located in `.github/agents`"
1011
1012
  )),
1012
1013
  additionalProperties: {
@@ -1032,16 +1033,17 @@ configurationRegistry.registerConfiguration({
1032
1033
  },
1033
1034
  [PromptsConfig.AGENTS_LOCATION_KEY]: {
1034
1035
  type: "object",
1035
- title: ( localize(5495, "Agent File Locations")),
1036
+ title: ( localize(5558, "Agent File Locations")),
1036
1037
  markdownDescription: ( localize(
1037
- 5496,
1038
+ 5559,
1038
1039
  "Specify location(s) of custom agent files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
1039
1040
  AGENT_FILE_EXTENSION,
1040
1041
  AGENT_DOCUMENTATION_URL
1041
1042
  )),
1042
1043
  default: {
1043
1044
  [AGENTS_SOURCE_FOLDER]: true,
1044
- [CLAUDE_AGENTS_SOURCE_FOLDER]: true
1045
+ [CLAUDE_AGENTS_SOURCE_FOLDER]: true,
1046
+ [COPILOT_USER_AGENTS_SOURCE_FOLDER]: true
1045
1047
  },
1046
1048
  additionalProperties: {
1047
1049
  type: "boolean"
@@ -1049,7 +1051,7 @@ configurationRegistry.registerConfiguration({
1049
1051
  propertyNames: {
1050
1052
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1051
1053
  patternErrorMessage: ( localize(
1052
- 5497,
1054
+ 5560,
1053
1055
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1054
1056
  ))
1055
1057
  },
@@ -1066,9 +1068,9 @@ configurationRegistry.registerConfiguration({
1066
1068
  },
1067
1069
  [PromptsConfig.USE_AGENT_MD]: {
1068
1070
  type: "boolean",
1069
- title: ( localize(5498, "Use AGENTS.md file")),
1071
+ title: ( localize(5561, "Use AGENTS.md file")),
1070
1072
  markdownDescription: ( localize(
1071
- 5499,
1073
+ 5562,
1072
1074
  "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
1073
1075
  )),
1074
1076
  default: true,
@@ -1078,9 +1080,9 @@ configurationRegistry.registerConfiguration({
1078
1080
  },
1079
1081
  [PromptsConfig.USE_NESTED_AGENT_MD]: {
1080
1082
  type: "boolean",
1081
- title: ( localize(5500, "Use nested AGENTS.md files")),
1083
+ title: ( localize(5563, "Use nested AGENTS.md files")),
1082
1084
  markdownDescription: ( localize(
1083
- 5501,
1085
+ 5564,
1084
1086
  "Controls whether instructions from nested `AGENTS.md` files found in the workspace are listed in all chat requests. The language model can load these skills on-demand if the `read` tool is available."
1085
1087
  )),
1086
1088
  default: false,
@@ -1096,9 +1098,9 @@ configurationRegistry.registerConfiguration({
1096
1098
  },
1097
1099
  [PromptsConfig.USE_CLAUDE_MD]: {
1098
1100
  type: "boolean",
1099
- title: ( localize(5502, "Use CLAUDE.md file")),
1101
+ title: ( localize(5565, "Use CLAUDE.md file")),
1100
1102
  markdownDescription: ( localize(
1101
- 5503,
1103
+ 5566,
1102
1104
  "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests."
1103
1105
  )),
1104
1106
  default: true,
@@ -1108,9 +1110,9 @@ configurationRegistry.registerConfiguration({
1108
1110
  },
1109
1111
  [PromptsConfig.USE_AGENT_SKILLS]: {
1110
1112
  type: "boolean",
1111
- title: ( localize(5504, "Use Agent skills")),
1113
+ title: ( localize(5567, "Use Agent skills")),
1112
1114
  markdownDescription: ( localize(
1113
- 5505,
1115
+ 5568,
1114
1116
  "Controls whether skills are provided as specialized capabilities to the chat requests. Skills are loaded from the folders configured in `#chat.agentSkillsLocations#`. The language model can load these skills on-demand if the `read` tool is available. Learn more about [Agent Skills](https://aka.ms/vscode-agent-skills)."
1115
1117
  )),
1116
1118
  default: true,
@@ -1120,9 +1122,9 @@ configurationRegistry.registerConfiguration({
1120
1122
  },
1121
1123
  [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
1122
1124
  type: "boolean",
1123
- title: ( localize(5506, "Use Skill Adherence Prompt")),
1125
+ title: ( localize(5569, "Use Skill Adherence Prompt")),
1124
1126
  markdownDescription: ( localize(
1125
- 5507,
1127
+ 5570,
1126
1128
  "Controls whether a stronger skill adherence prompt is used that encourages the model to immediately invoke skills when relevant rather than just announcing them."
1127
1129
  )),
1128
1130
  default: false,
@@ -1141,9 +1143,9 @@ configurationRegistry.registerConfiguration({
1141
1143
  },
1142
1144
  [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
1143
1145
  type: "boolean",
1144
- title: ( localize(5508, "Include Applying Instructions")),
1146
+ title: ( localize(5571, "Include Applying Instructions")),
1145
1147
  markdownDescription: ( localize(
1146
- 5509,
1148
+ 5572,
1147
1149
  "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
1148
1150
  )),
1149
1151
  default: true,
@@ -1153,9 +1155,9 @@ configurationRegistry.registerConfiguration({
1153
1155
  },
1154
1156
  [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
1155
1157
  type: "boolean",
1156
- title: ( localize(5510, "Include Referenced Instructions")),
1158
+ title: ( localize(5573, "Include Referenced Instructions")),
1157
1159
  markdownDescription: ( localize(
1158
- 5511,
1160
+ 5574,
1159
1161
  "Controls whether referenced instructions are automatically included in chat requests."
1160
1162
  )),
1161
1163
  default: false,
@@ -1165,9 +1167,9 @@ configurationRegistry.registerConfiguration({
1165
1167
  },
1166
1168
  [PromptsConfig.SKILLS_LOCATION_KEY]: {
1167
1169
  type: "object",
1168
- title: ( localize(5512, "Agent Skills Locations")),
1170
+ title: ( localize(5575, "Agent Skills Locations")),
1169
1171
  markdownDescription: ( localize(
1170
- 5513,
1172
+ 5576,
1171
1173
  "Specify location(s) of agent skills (`{0}`) that can be used in Chat Sessions. [Learn More]({1}).\n\nEach path should contain skill subfolders with SKILL.md files (e.g., add `my-skills` if you have `my-skills/skillA/SKILL.md`). Relative paths are resolved from the root folder(s) of your workspace.",
1172
1174
  SKILL_FILENAME,
1173
1175
  SKILL_DOCUMENTATION_URL
@@ -1186,7 +1188,7 @@ configurationRegistry.registerConfiguration({
1186
1188
  propertyNames: {
1187
1189
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1188
1190
  patternErrorMessage: ( localize(
1189
- 5514,
1191
+ 5577,
1190
1192
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1191
1193
  ))
1192
1194
  },
@@ -1203,9 +1205,9 @@ configurationRegistry.registerConfiguration({
1203
1205
  },
1204
1206
  [PromptsConfig.HOOKS_LOCATION_KEY]: {
1205
1207
  type: "object",
1206
- title: ( localize(5515, "Hook File Locations")),
1208
+ title: ( localize(5578, "Hook File Locations")),
1207
1209
  markdownDescription: ( localize(
1208
- 5516,
1210
+ 5579,
1209
1211
  "Specify paths to hook configuration files that define custom shell commands to execute at strategic points in an agent's workflow. [Learn More]({0}).\n\nRelative paths are resolved from the root folder(s) of your workspace. Supports Copilot hooks (`*.json`) and Claude Code hooks (`settings.json`, `settings.local.json`).",
1210
1212
  HOOK_DOCUMENTATION_URL
1211
1213
  )),
@@ -1223,7 +1225,7 @@ configurationRegistry.registerConfiguration({
1223
1225
  propertyNames: {
1224
1226
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1225
1227
  patternErrorMessage: ( localize(
1226
- 5517,
1228
+ 5580,
1227
1229
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1228
1230
  ))
1229
1231
  },
@@ -1238,9 +1240,9 @@ configurationRegistry.registerConfiguration({
1238
1240
  },
1239
1241
  [PromptsConfig.USE_CHAT_HOOKS]: {
1240
1242
  type: "boolean",
1241
- title: ( localize(5518, "Use Chat Hooks")),
1243
+ title: ( localize(5581, "Use Chat Hooks")),
1242
1244
  markdownDescription: ( localize(
1243
- 5519,
1245
+ 5582,
1244
1246
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1245
1247
  )),
1246
1248
  default: true,
@@ -1256,7 +1258,7 @@ configurationRegistry.registerConfiguration({
1256
1258
  description: {
1257
1259
  key: "chat.useHooks.description",
1258
1260
  value: ( localize(
1259
- 5519,
1261
+ 5582,
1260
1262
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1261
1263
  ))
1262
1264
  }
@@ -1265,9 +1267,9 @@ configurationRegistry.registerConfiguration({
1265
1267
  },
1266
1268
  [PromptsConfig.USE_CLAUDE_HOOKS]: {
1267
1269
  type: "boolean",
1268
- title: ( localize(5520, "Use Claude Hooks")),
1270
+ title: ( localize(5583, "Use Claude Hooks")),
1269
1271
  markdownDescription: ( localize(
1270
- 5521,
1272
+ 5584,
1271
1273
  "Controls whether hooks from Claude configuration files can execute. When disabled, only Copilot-format hooks are used. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1272
1274
  )),
1273
1275
  default: false,
@@ -1275,12 +1277,24 @@ configurationRegistry.registerConfiguration({
1275
1277
  disallowConfigurationDefault: true,
1276
1278
  tags: ["preview", "prompts", "hooks", "agent"]
1277
1279
  },
1280
+ [PromptsConfig.USE_CUSTOM_AGENT_HOOKS]: {
1281
+ type: "boolean",
1282
+ title: ( localize(5585, "Use Custom Agent Hooks")),
1283
+ markdownDescription: ( localize(
1284
+ 5586,
1285
+ "Controls whether hooks defined in custom agent frontmatter are parsed and executed. When disabled, hooks from agent files are ignored."
1286
+ )),
1287
+ default: false,
1288
+ restricted: true,
1289
+ disallowConfigurationDefault: true,
1290
+ tags: ["preview", "prompts", "hooks", "agent"]
1291
+ },
1278
1292
  [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
1279
1293
  type: "object",
1280
1294
  scope: ConfigurationScope.RESOURCE,
1281
- title: ( localize(5522, "Prompt File Recommendations")),
1295
+ title: ( localize(5587, "Prompt File Recommendations")),
1282
1296
  markdownDescription: ( localize(
1283
- 5523,
1297
+ 5588,
1284
1298
  "Configure which prompt files to recommend in the chat welcome view. Each key is a prompt file name, and the value can be `true` to always recommend, `false` to never recommend, or a [when clause](https://aka.ms/vscode-when-clause) expression like `resourceExtname == .js` or `resourceLangId == markdown`."
1285
1299
  )),
1286
1300
  default: {},
@@ -1302,7 +1316,7 @@ configurationRegistry.registerConfiguration({
1302
1316
  type: "boolean",
1303
1317
  default: true,
1304
1318
  description: ( localize(
1305
- 5524,
1319
+ 5589,
1306
1320
  "Controls whether to show the todo list widget above the chat input. When enabled, the widget displays todo items created by the agent and updates as progress is made."
1307
1321
  ))
1308
1322
  },
@@ -1310,21 +1324,21 @@ configurationRegistry.registerConfiguration({
1310
1324
  type: "string",
1311
1325
  default: "fixedScrolling",
1312
1326
  enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
1313
- enumDescriptions: [( localize(5525, "Thinking parts will be collapsed by default.")), ( localize(
1314
- 5526,
1327
+ enumDescriptions: [( localize(5590, "Thinking parts will be collapsed by default.")), ( localize(
1328
+ 5591,
1315
1329
  "Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
1316
1330
  )), ( localize(
1317
- 5527,
1331
+ 5592,
1318
1332
  "Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
1319
1333
  ))],
1320
- description: ( localize(5528, "Controls how thinking is rendered.")),
1334
+ description: ( localize(5593, "Controls how thinking is rendered.")),
1321
1335
  tags: ["experimental"]
1322
1336
  },
1323
1337
  [ChatConfiguration.ThinkingGenerateTitles]: {
1324
1338
  type: "boolean",
1325
1339
  default: true,
1326
1340
  description: ( localize(
1327
- 5529,
1341
+ 5594,
1328
1342
  "Controls whether to use an LLM to generate summary titles for thinking sections."
1329
1343
  )),
1330
1344
  tags: ["experimental"]
@@ -1333,12 +1347,12 @@ configurationRegistry.registerConfiguration({
1333
1347
  type: "string",
1334
1348
  default: "always",
1335
1349
  enum: ["off", "withThinking", "always"],
1336
- enumDescriptions: [( localize(5530, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1337
- 5531,
1350
+ enumDescriptions: [( localize(5595, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1351
+ 5596,
1338
1352
  "Tool calls are collapsed into thinking sections when thinking is present."
1339
- )), ( localize(5532, "Tool calls are always collapsed, even without thinking."))],
1353
+ )), ( localize(5597, "Tool calls are always collapsed, even without thinking."))],
1340
1354
  markdownDescription: ( localize(
1341
- 5533,
1355
+ 5598,
1342
1356
  "Controls how tool calls are displayed in relation to thinking sections."
1343
1357
  )),
1344
1358
  tags: ["experimental"]
@@ -1347,7 +1361,7 @@ configurationRegistry.registerConfiguration({
1347
1361
  type: "boolean",
1348
1362
  default: true,
1349
1363
  markdownDescription: ( localize(
1350
- 5534,
1364
+ 5599,
1351
1365
  "When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
1352
1366
  )),
1353
1367
  tags: ["experimental"]
@@ -1356,7 +1370,7 @@ configurationRegistry.registerConfiguration({
1356
1370
  type: "boolean",
1357
1371
  default: true,
1358
1372
  markdownDescription: ( localize(
1359
- 5535,
1373
+ 5600,
1360
1374
  "When enabled, terminal tool calls are always displayed in a collapsible container with a simplified view."
1361
1375
  )),
1362
1376
  tags: ["experimental"]
@@ -1365,7 +1379,7 @@ configurationRegistry.registerConfiguration({
1365
1379
  type: "boolean",
1366
1380
  default: true,
1367
1381
  markdownDescription: ( localize(
1368
- 5536,
1382
+ 5601,
1369
1383
  "Controls whether the usages tool is available for finding references, definitions, and implementations of code symbols."
1370
1384
  )),
1371
1385
  tags: ["preview"],
@@ -1377,7 +1391,7 @@ configurationRegistry.registerConfiguration({
1377
1391
  type: "boolean",
1378
1392
  default: true,
1379
1393
  markdownDescription: ( localize(
1380
- 5537,
1394
+ 5602,
1381
1395
  "Controls whether the rename tool is available for renaming code symbols across the workspace."
1382
1396
  )),
1383
1397
  tags: ["preview"],
@@ -1397,7 +1411,7 @@ configurationRegistry.registerConfiguration({
1397
1411
  enum: ["replace", "append"],
1398
1412
  default: "append",
1399
1413
  description: ( localize(
1400
- 5538,
1414
+ 5603,
1401
1415
  "'replace' replaces all default phrases entirely; 'append' adds your phrases to all default categories."
1402
1416
  ))
1403
1417
  },
@@ -1408,14 +1422,14 @@ configurationRegistry.registerConfiguration({
1408
1422
  },
1409
1423
  default: [],
1410
1424
  description: ( localize(
1411
- 5539,
1425
+ 5604,
1412
1426
  "Custom loading messages to show during thinking, terminal, and tool operations."
1413
1427
  ))
1414
1428
  }
1415
1429
  },
1416
1430
  additionalProperties: false,
1417
1431
  markdownDescription: ( localize(
1418
- 5540,
1432
+ 5605,
1419
1433
  "Customize the loading messages shown during agent operations. Use `\"mode\": \"replace\"` to use only your phrases, or `\"mode\": \"append\"` to add them to the defaults."
1420
1434
  )),
1421
1435
  tags: ["experimental"]
@@ -1424,14 +1438,14 @@ configurationRegistry.registerConfiguration({
1424
1438
  type: "boolean",
1425
1439
  default: true,
1426
1440
  markdownDescription: ( localize(
1427
- 5541,
1441
+ 5606,
1428
1442
  "When enabled, tool failures are automatically expanded in the chat UI to show error details."
1429
1443
  ))
1430
1444
  },
1431
1445
  [ChatConfiguration.AIDisabled]: {
1432
1446
  type: "boolean",
1433
1447
  description: ( localize(
1434
- 5542,
1448
+ 5607,
1435
1449
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
1436
1450
  )),
1437
1451
  default: false,
@@ -1439,7 +1453,7 @@ configurationRegistry.registerConfiguration({
1439
1453
  },
1440
1454
  "chat.allowAnonymousAccess": {
1441
1455
  type: "boolean",
1442
- description: ( localize(5543, "Controls whether anonymous access is allowed in chat.")),
1456
+ description: ( localize(5608, "Controls whether anonymous access is allowed in chat.")),
1443
1457
  default: false,
1444
1458
  tags: ["experimental"],
1445
1459
  experiment: {
@@ -1449,7 +1463,7 @@ configurationRegistry.registerConfiguration({
1449
1463
  [ChatConfiguration.GrowthNotificationEnabled]: {
1450
1464
  type: "boolean",
1451
1465
  description: ( localize(
1452
- 5544,
1466
+ 5609,
1453
1467
  "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
1454
1468
  )),
1455
1469
  default: false,
@@ -1461,7 +1475,7 @@ configurationRegistry.registerConfiguration({
1461
1475
  [ChatConfiguration.RestoreLastPanelSession]: {
1462
1476
  type: "boolean",
1463
1477
  description: ( localize(
1464
- 5545,
1478
+ 5610,
1465
1479
  "Controls whether the last session is restored in panel after restart."
1466
1480
  )),
1467
1481
  default: false
@@ -1469,7 +1483,7 @@ configurationRegistry.registerConfiguration({
1469
1483
  [ChatConfiguration.ExitAfterDelegation]: {
1470
1484
  type: "boolean",
1471
1485
  description: ( localize(
1472
- 5546,
1486
+ 5611,
1473
1487
  "Controls whether the chat panel automatically exits after delegating a request to another session."
1474
1488
  )),
1475
1489
  default: false,
@@ -1478,7 +1492,7 @@ configurationRegistry.registerConfiguration({
1478
1492
  "chat.extensionUnification.enabled": {
1479
1493
  type: "boolean",
1480
1494
  description: ( localize(
1481
- 5547,
1495
+ 5612,
1482
1496
  "Enables the unification of GitHub Copilot extensions. When enabled, all GitHub Copilot functionality is served from the GitHub Copilot Chat extension. When disabled, the GitHub Copilot and GitHub Copilot Chat extensions operate independently."
1483
1497
  )),
1484
1498
  default: true,
@@ -1490,7 +1504,7 @@ configurationRegistry.registerConfiguration({
1490
1504
  [ChatConfiguration.SubagentToolCustomAgents]: {
1491
1505
  type: "boolean",
1492
1506
  description: ( localize(
1493
- 5548,
1507
+ 5613,
1494
1508
  "Whether the runSubagent tool is able to use custom agents. When enabled, the tool can take the name of a custom agent, but it must be given the exact name of the agent."
1495
1509
  )),
1496
1510
  default: true,
@@ -1502,7 +1516,7 @@ configurationRegistry.registerConfiguration({
1502
1516
  type: "boolean",
1503
1517
  tags: ["preview"],
1504
1518
  description: ( localize(
1505
- 5549,
1519
+ 5614,
1506
1520
  "Controls whether the Chat Customizations editor is available in the Command Palette. When disabled, the Chat Customizations editor and related commands are hidden."
1507
1521
  )),
1508
1522
  default: true
@@ -1510,13 +1524,17 @@ configurationRegistry.registerConfiguration({
1510
1524
  }
1511
1525
  });
1512
1526
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1513
- EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5550, "Chat"))),
1527
+ EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5615, "Chat"))),
1514
1528
  [( new SyncDescriptor(ChatEditorInput))]
1515
1529
  );
1516
1530
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1517
- EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(5551, "Debug View"))),
1531
+ EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(5616, "Debug View"))),
1518
1532
  [( new SyncDescriptor(ChatDebugEditorInput))]
1519
1533
  );
1534
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1535
+ EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(5617, "Agent Plugin"))),
1536
+ [( new SyncDescriptor(AgentPluginEditorInput))]
1537
+ );
1520
1538
  ( Registry.as(Extensions$2.ConfigurationMigration)).registerConfigurationMigrations([{
1521
1539
  key: "chat.experimental.detectParticipant.enabled",
1522
1540
  migrateFn: (value, _accessor) => ([["chat.experimental.detectParticipant.enabled", {
@@ -1571,6 +1589,13 @@ configurationRegistry.registerConfiguration({
1571
1589
  }
1572
1590
  return [];
1573
1591
  }
1592
+ }, {
1593
+ key: "chat.plugins.paths",
1594
+ migrateFn: (value, _accessor) => ([["chat.plugins.paths", {
1595
+ value: undefined
1596
+ }], [ChatConfiguration.PluginLocations, {
1597
+ value
1598
+ }]])
1574
1599
  }]);
1575
1600
  let ChatResolverContribution = class ChatResolverContribution extends Disposable {
1576
1601
  static {
@@ -1598,7 +1623,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
1598
1623
  _registerEditor(scheme) {
1599
1624
  this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
1600
1625
  id: ChatEditorInput.EditorID,
1601
- label: ( localize(5550, "Chat")),
1626
+ label: ( localize(5615, "Chat")),
1602
1627
  priority: RegisteredEditorPriority.builtin
1603
1628
  }, {
1604
1629
  singlePerResource: true,
@@ -1626,7 +1651,7 @@ let ChatDebugResolverContribution = class ChatDebugResolverContribution {
1626
1651
  constructor(editorResolverService) {
1627
1652
  editorResolverService.registerEditor(`${ChatDebugEditorInput.RESOURCE.scheme}:**/**`, {
1628
1653
  id: ChatDebugEditorInput.ID,
1629
- label: ( localize(5551, "Debug View")),
1654
+ label: ( localize(5616, "Debug View")),
1630
1655
  priority: RegisteredEditorPriority.exclusive
1631
1656
  }, {
1632
1657
  singlePerResource: true,
@@ -1655,7 +1680,6 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
1655
1680
  this.contextKeyService = contextKeyService;
1656
1681
  this.newChatButtonExperimentIcon = ChatContextKeys.newChatButtonExperimentIcon.bindTo(this.contextKeyService);
1657
1682
  this.registerMaxRequestsSetting();
1658
- this.registerBackgroundAgentDisplayName();
1659
1683
  this.registerNewChatButtonIcon();
1660
1684
  }
1661
1685
  registerMaxRequestsSetting() {
@@ -1665,13 +1689,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
1665
1689
  this.experimentService.getTreatment(treatmentId).then(value => {
1666
1690
  const node = {
1667
1691
  id: "chatSidebar",
1668
- title: ( localize(5389, "Chat")),
1692
+ title: ( localize(5454, "Chat")),
1669
1693
  type: "object",
1670
1694
  properties: {
1671
1695
  "chat.agent.maxRequests": {
1672
1696
  type: "number",
1673
1697
  markdownDescription: ( localize(
1674
- 5552,
1698
+ 5618,
1675
1699
  "The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."
1676
1700
  )),
1677
1701
  default: value ?? 50,
@@ -1691,13 +1715,6 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
1691
1715
  () => registerMaxRequestsSetting()
1692
1716
  ));
1693
1717
  }
1694
- registerBackgroundAgentDisplayName() {
1695
- this.experimentService.getTreatment("backgroundAgentDisplayName").then(value => {
1696
- if (value) {
1697
- backgroundAgentDisplayName.set(value, undefined);
1698
- }
1699
- });
1700
- }
1701
1718
  registerNewChatButtonIcon() {
1702
1719
  this.experimentService.getTreatment("chatNewButtonIcon").then(value => {
1703
1720
  const supportedValues = ["copilot", "new-session", "comment"];
@@ -1710,6 +1727,48 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
1710
1727
  }
1711
1728
  };
1712
1729
  ChatAgentSettingContribution = ( __decorate([( __param(0, IWorkbenchAssignmentService)), ( __param(1, IChatEntitlementService)), ( __param(2, IContextKeyService))], ChatAgentSettingContribution));
1730
+ let ChatForegroundSessionCountContribution = class ChatForegroundSessionCountContribution extends Disposable {
1731
+ static {
1732
+ this.ID = "workbench.contrib.chatForegroundSessionCount";
1733
+ }
1734
+ constructor(contextKeyService, chatWidgetService, viewsService, editorService) {
1735
+ super();
1736
+ this.contextKeyService = contextKeyService;
1737
+ this.chatWidgetService = chatWidgetService;
1738
+ this.viewsService = viewsService;
1739
+ this.editorService = editorService;
1740
+ this.foregroundSessionCountContextKey = ChatContextKeys.foregroundSessionCount.bindTo(this.contextKeyService);
1741
+ this._register(this.chatWidgetService.onDidAddWidget(() => {
1742
+ this.updateForegroundSessionCount();
1743
+ }));
1744
+ this._register(this.editorService.onDidVisibleEditorsChange(() => {
1745
+ this.updateForegroundSessionCount();
1746
+ }));
1747
+ this._register(
1748
+ Event.filter(this.viewsService.onDidChangeViewVisibility, e => e.id === ChatViewId)(() => {
1749
+ this.updateForegroundSessionCount();
1750
+ })
1751
+ );
1752
+ this.updateForegroundSessionCount();
1753
+ }
1754
+ updateForegroundSessionCount() {
1755
+ let count = this.viewsService.isViewVisible(ChatViewId) ? 1 : 0;
1756
+ for (const widget of this.chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat)) {
1757
+ if (widget.domNode.offsetParent === null) {
1758
+ continue;
1759
+ }
1760
+ if (isIChatViewViewContext(widget.viewContext)) {
1761
+ continue;
1762
+ }
1763
+ if (isIChatResourceViewContext(widget.viewContext) && widget.viewContext.isQuickChat) {
1764
+ continue;
1765
+ }
1766
+ count++;
1767
+ }
1768
+ this.foregroundSessionCountContextKey.set(count);
1769
+ }
1770
+ };
1771
+ ChatForegroundSessionCountContribution = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IChatWidgetService)), ( __param(2, IViewsService)), ( __param(3, IEditorService))], ChatForegroundSessionCountContribution));
1713
1772
  function getCustomModesWithUniqueNames(builtinModes, customModes) {
1714
1773
  const customModeIds = ( new Set());
1715
1774
  const builtinNames = ( new Set(( builtinModes.map(mode => mode.name.get()))));
@@ -1822,7 +1881,7 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
1822
1881
  for (const tool of tools) {
1823
1882
  toolReferenceNameEnumValues.push(tool.toolReferenceName);
1824
1883
  toolReferenceNameEnumDescriptions.push(( localize(
1825
- 5553,
1884
+ 5619,
1826
1885
  "{0} - {1}",
1827
1886
  tool.toolReferenceName,
1828
1887
  tool.userDescription || tool.displayName
@@ -1942,6 +2001,11 @@ registerWorkbenchContribution2(
1942
2001
  ChatAgentSettingContribution,
1943
2002
  WorkbenchPhase.AfterRestored
1944
2003
  );
2004
+ registerWorkbenchContribution2(
2005
+ ChatForegroundSessionCountContribution.ID,
2006
+ ChatForegroundSessionCountContribution,
2007
+ WorkbenchPhase.AfterRestored
2008
+ );
1945
2009
  registerWorkbenchContribution2(
1946
2010
  ChatAgentActionsContribution.ID,
1947
2011
  ChatAgentActionsContribution,
@@ -1997,17 +2061,17 @@ registerWorkbenchContribution2(
1997
2061
  ChatContextContributions,
1998
2062
  WorkbenchPhase.AfterRestored
1999
2063
  );
2000
- registerWorkbenchContribution2(
2001
- ChatResponseResourceFileSystemProvider.ID,
2002
- ChatResponseResourceFileSystemProvider,
2003
- WorkbenchPhase.AfterRestored
2004
- );
2005
2064
  registerWorkbenchContribution2(PromptUrlHandler.ID, PromptUrlHandler, WorkbenchPhase.BlockRestore);
2006
2065
  registerWorkbenchContribution2(
2007
2066
  ChatEditingNotebookFileSystemProviderContrib.ID,
2008
2067
  ChatEditingNotebookFileSystemProviderContrib,
2009
2068
  WorkbenchPhase.BlockStartup
2010
2069
  );
2070
+ registerWorkbenchContribution2(
2071
+ ChatResponseResourceWorkbenchContribution.ID,
2072
+ ChatResponseResourceWorkbenchContribution,
2073
+ WorkbenchPhase.AfterRestored
2074
+ );
2011
2075
  registerWorkbenchContribution2(
2012
2076
  UserToolSetsContributions.ID,
2013
2077
  UserToolSetsContributions,
@@ -2055,4 +2119,5 @@ registerChatPluginActions();
2055
2119
  registerAction2(ConfigureToolSets);
2056
2120
  registerEditorFeature(ChatPasteProvidersFeature);
2057
2121
  agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ConfiguredAgentPluginDiscovery)));
2122
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(MarketplaceAgentPluginDiscovery)));
2058
2123
  ChatWidget.CONTRIBS.push(ChatDynamicVariableModel);