@codingame/monaco-vscode-chat-service-override 34.1.2 → 35.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/index.js +38 -0
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
  11. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
  14. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
  15. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
  16. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
  17. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
  18. package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
  19. package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
  20. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
  21. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
  22. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
  23. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
  24. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
  25. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
  29. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  35. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +35 -25
  36. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
  37. package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
  38. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  39. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
  40. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
  41. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
  42. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
  43. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
  44. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
  45. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
  46. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
  47. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
  48. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
  49. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
  50. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
  51. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
  52. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
  53. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
  56. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
  57. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
  58. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
  59. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
  60. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
  61. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
  63. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
  64. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
  65. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
  66. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
  67. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
  68. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
  69. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
  70. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
  71. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
  72. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
  73. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
  74. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
  75. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
  76. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
  77. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
  78. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
  79. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
  80. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
  81. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
  82. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
  83. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
  84. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
  85. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +32 -16
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
  92. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
  95. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  96. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +19 -24
  98. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +9 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  103. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  104. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  105. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  106. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
  107. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  108. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
  109. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  110. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  111. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  112. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
  114. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
  115. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -59
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
  147. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  148. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +27 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +9 -36
  154. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
  156. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
  159. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
  161. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
  162. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
  163. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
  165. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
  171. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
  172. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
  176. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
  177. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
  186. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1426 -97
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +9 -3
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +35 -32
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  262. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  263. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  265. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  267. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  269. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
  271. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  273. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
  274. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
  275. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  276. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
  278. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  279. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  280. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  282. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.d.ts +1 -0
  283. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
  284. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  285. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  286. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  287. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  290. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  293. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
  294. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
  295. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
  296. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
  298. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  299. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  301. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
  304. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
  306. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
  307. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
  308. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
  309. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
  310. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
  311. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
  312. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
  314. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
  315. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  316. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +7 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
  320. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
  321. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
  322. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  323. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
  324. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
  325. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
  327. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
  328. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
  329. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
  330. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
  333. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
  334. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
  335. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
  336. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
  338. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
  339. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
  340. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
  343. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
  344. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
  345. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
  346. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
  348. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
  350. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
  351. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
  352. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
  353. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
  355. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +10 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
  364. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
  369. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
  370. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  371. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
  372. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
  373. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  374. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  381. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +32 -20
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  396. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  397. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  399. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
  400. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  401. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  402. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  403. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
  406. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
  407. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
  408. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
  409. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
  410. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  411. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  412. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  413. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  414. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  415. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
  416. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
  417. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
  418. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
  419. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
  420. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
  423. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
  424. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
  425. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
  426. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
  427. /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
@@ -7,12 +7,14 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/in
7
7
  import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
8
8
  import { PolicyCategory } from '@codingame/monaco-vscode-api/vscode/vs/base/common/policy';
9
9
  import '../../../../platform/agentHost/common/agentHost.config.contribution.js';
10
+ import '../../../../platform/agentHost/browser/agentHost.config.contribution.js';
10
11
  import '../../../../platform/agentHost/common/agentHostStarter.config.contribution.js';
11
- import { AgentHostEnabledSettingId, AgentHostCustomTerminalToolEnabledSettingId, AgentHostAhpJsonlLoggingSettingId } from '../../../../platform/agentHost/common/agentService.js';
12
+ import { AgentHostSdkSandboxEnabledSettingId, AgentHostOpus48PromptEnabledSettingId, AgentHostCustomTerminalToolEnabledSettingId, AgentHostAhpJsonlLoggingSettingId, ClaudePreferAgentHostEditorSettingId, ClaudePreferAgentHostAgentsSettingId, AgentHostEnabledSettingId } from '../../../../platform/agentHost/common/agentService.js';
12
13
  import '../../../../platform/networkFilter/common/networkFilterService.js';
13
14
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
14
15
  import { AgentNetworkDomainSettingId } from '../../../../platform/networkFilter/common/settings.js';
15
- import { AgentSandboxSettingId, AgentSandboxEnabledValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
16
+ import { COPILOT_STRICT_MARKETPLACES_KEY, managedSettingValue, COPILOT_EXTRA_MARKETPLACES_KEY, COPILOT_ENABLED_PLUGINS_KEY, COPILOT_DISABLE_BYPASS_PERMISSIONS_MODE_KEY, COPILOT_MODEL_KEY, managedModelValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/policy/common/copilotManagedSettings';
17
+ import { AgentSandboxEnabledValue, AgentSandboxSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
16
18
  import { registerEditorFeature } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorFeatures';
17
19
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
18
20
  import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
@@ -52,14 +54,16 @@ import '../common/participants/chatSlashCommands.js';
52
54
  import '../common/tools/chatArtifactsService.js';
53
55
  import '../common/tools/chatTodoListService.js';
54
56
  import '../common/model/chatTransferService.js';
57
+ import { LocalAgentDisabledInputTipContribution } from './agentSessions/localAgentDisabledInputTipContribution.js';
55
58
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService';
56
- import { ChatConfiguration, ChatPermissionLevel, ChatNotificationMode, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
59
+ import { ChatConfiguration, BYOKUtilityModelDefault, ChatPermissionLevel, ChatNotificationMode, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
57
60
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
58
61
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
59
62
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
60
63
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService';
61
64
  import './chatGoalSummaryService.js';
62
- import { agentPluginDiscoveryRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService';
65
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
66
+ import { agentPluginDiscoveryRegistry, AgentPluginDiscoveryPriority } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService';
63
67
  import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
64
68
  import { PromptsConfig, isTildePath } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
65
69
  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 } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
@@ -70,11 +74,17 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
70
74
  import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
71
75
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl';
72
76
  import { LanguageModelToolsExtensionPointHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution';
77
+ import { ClientToolSetsContribution } from './tools/clientToolSetsContribution.js';
73
78
  import './telemetry/chatModelCountTelemetry.js';
74
79
  import { BuiltinToolsContribution } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/builtinTools/tools';
75
80
  import { RenameToolContribution } from './tools/renameTool.js';
76
81
  import { UsagesToolContribution } from './tools/usagesTool.js';
77
82
  import '../common/voiceChatService.js';
83
+ import './voiceClient/voiceClientService.js';
84
+ import './voiceClient/micCaptureService.js';
85
+ import './voiceClient/ttsPlaybackService.js';
86
+ import './voiceClient/voiceToolDispatchService.js';
87
+ import './voiceClient/voiceSessionController.js';
78
88
  import { registerChatAccessibilityActions } from './actions/chatAccessibilityActions.js';
79
89
  import { PanelChatAccessibilityHelp, QuickChatAccessibilityHelp, EditsChatAccessibilityHelp, AgentChatAccessibilityHelp } from './actions/chatAccessibilityHelp.js';
80
90
  import { ModeOpenChatGlobalAction, registerChatActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
@@ -103,6 +113,7 @@ import { registerChatOpenAgentDebugPanelAction } from './actions/chatOpenAgentDe
103
113
  import '../common/chatDebugServiceImpl.js';
104
114
  import { ChatDebugEditor } from './chatDebug/chatDebugEditor.js';
105
115
  import { PromptsDebugContribution } from './promptsDebugContribution.js';
116
+ import { AgentHostChatDebugContribution } from './chatDebug/agentHostChatDebugProvider.js';
106
117
  import { ChatDebugEditorInput, ChatDebugEditorInputSerializer } from './chatDebug/chatDebugEditorInput.js';
107
118
  import './agentSessions/agentSessions.contribution.js';
108
119
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
@@ -142,13 +153,13 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
142
153
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
143
154
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
144
155
  import '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
145
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
146
156
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
147
157
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
148
158
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility';
149
159
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
150
160
  import './aiCustomization/aiCustomizationIcons.js';
151
161
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
162
+ import './aiCustomization/promptsServiceCustomizationItemProvider.js';
152
163
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
153
164
  import './chatOutputItemRenderer.js';
154
165
  import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
@@ -183,6 +194,7 @@ import './pluginInstallService.js';
183
194
  import { PluginAutoUpdate } from './pluginAutoUpdate.js';
184
195
  import './promptSyntax/promptCodingAgentActionContribution.js';
185
196
  import './promptSyntax/promptToolsCodeLensProvider.js';
197
+ import './promptSyntax/promptToolSetsCodeLensProvider.js';
186
198
  import { ChatSlashCommandsContribution, ChatSessionOptionSlashCommandsContribution } from './chatSlashCommands.js';
187
199
  import './planReviewFeedback/planReviewFeedbackEditorContribution.js';
188
200
  import { registerPlanReviewFeedbackEditorActions } from './planReviewFeedback/planReviewFeedbackEditorActions.js';
@@ -201,9 +213,7 @@ import { ExploreAgentDefaultModel } from './exploreAgentDefaultModel.js';
201
213
  import { PlanAgentDefaultModel } from './planAgentDefaultModel.js';
202
214
  import { UtilitySmallModelContribution, UtilityModelContribution } from './utilityModelContribution.js';
203
215
  import './chatImageCarouselService.js';
204
- import { browserChatToolReferenceNames } from '../../browserView/common/browserChatToolReferenceNames.js';
205
216
  import '../../notebook/browser/controller/chat/notebook.chat.contribution.js';
206
- import { extraKnownMarketplacesToConfigDict } from '../common/plugins/marketplaceReference.js';
207
217
  import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
208
218
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
209
219
 
@@ -217,13 +227,13 @@ jsonContributionRegistry.registerSchema(HOOK_SCHEMA_URI, hookFileSchema);
217
227
  const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
218
228
  configurationRegistry.registerConfiguration({
219
229
  id: "chatSidebar",
220
- title: ( localize(5880, "Chat")),
230
+ title: ( localize(6246, "Chat")),
221
231
  type: "object",
222
232
  properties: {
223
233
  "chat.experimentalSessionsWindowOverride": {
224
234
  type: "boolean",
225
235
  description: ( localize(
226
- 5881,
236
+ 6247,
227
237
  "When true, enables sessions-window-specific behavior for extensions."
228
238
  )),
229
239
  default: false,
@@ -234,41 +244,41 @@ configurationRegistry.registerConfiguration({
234
244
  },
235
245
  "chat.fontSize": {
236
246
  type: "number",
237
- description: ( localize(5882, "Controls the font size in pixels in chat messages.")),
247
+ description: ( localize(6248, "Controls the font size in pixels in chat messages.")),
238
248
  default: 13,
239
249
  minimum: 6,
240
250
  maximum: 100
241
251
  },
242
252
  "chat.fontFamily": {
243
253
  type: "string",
244
- description: ( localize(5883, "Controls the font family in chat messages.")),
254
+ description: ( localize(6249, "Controls the font family in chat messages.")),
245
255
  default: "default"
246
256
  },
247
257
  "chat.editor.fontSize": {
248
258
  type: "number",
249
- description: ( localize(5884, "Controls the font size in pixels in chat codeblocks.")),
259
+ description: ( localize(6250, "Controls the font size in pixels in chat codeblocks.")),
250
260
  default: isMacintosh ? 12 : 14
251
261
  },
252
262
  "chat.editor.fontFamily": {
253
263
  type: "string",
254
- description: ( localize(5885, "Controls the font family in chat codeblocks.")),
264
+ description: ( localize(6251, "Controls the font family in chat codeblocks.")),
255
265
  default: "default"
256
266
  },
257
267
  "chat.editor.fontWeight": {
258
268
  type: "string",
259
- description: ( localize(5886, "Controls the font weight in chat codeblocks.")),
269
+ description: ( localize(6252, "Controls the font weight in chat codeblocks.")),
260
270
  default: "default"
261
271
  },
262
272
  "chat.editor.wordWrap": {
263
273
  type: "string",
264
- description: ( localize(5887, "Controls whether lines should wrap in chat codeblocks.")),
274
+ description: ( localize(6253, "Controls whether lines should wrap in chat codeblocks.")),
265
275
  default: "off",
266
276
  enum: ["on", "off"]
267
277
  },
268
278
  "chat.editor.lineHeight": {
269
279
  type: "number",
270
280
  description: ( localize(
271
- 5888,
281
+ 6254,
272
282
  "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
273
283
  )),
274
284
  default: 0
@@ -276,12 +286,12 @@ configurationRegistry.registerConfiguration({
276
286
  [ChatConfiguration.AgentStatusEnabled]: {
277
287
  type: "string",
278
288
  enum: ["hidden", "badge", "compact"],
279
- enumDescriptions: [( localize(5889, "The agent status indicator is hidden from the title bar.")), ( localize(5890, "Shows the agent status as a badge next to the command center.")), ( localize(
280
- 5891,
289
+ enumDescriptions: [( localize(6255, "The agent status indicator is hidden from the title bar.")), ( localize(6256, "Shows the agent status as a badge next to the command center.")), ( localize(
290
+ 6257,
281
291
  "Replaces the command center search box with a compact agent status indicator and unified chat widget."
282
292
  ))],
283
293
  markdownDescription: ( localize(
284
- 5892,
294
+ 6258,
285
295
  "Controls how the 'Agent Status' indicator appears in the title bar command center. When set to `hidden`, the indicator is not shown. Other values show the indicator and automatically enable {0}. The unread and in-progress session indicators require {1} to be enabled.",
286
296
  "`#window.commandCenter#`",
287
297
  "`#chat.viewSessions.enabled#`"
@@ -292,7 +302,7 @@ configurationRegistry.registerConfiguration({
292
302
  [ChatConfiguration.UnifiedAgentsBar]: {
293
303
  type: "boolean",
294
304
  markdownDescription: ( localize(
295
- 5893,
305
+ 6259,
296
306
  "Replaces the command center search box with a unified chat and search widget."
297
307
  )),
298
308
  default: false,
@@ -301,7 +311,7 @@ configurationRegistry.registerConfiguration({
301
311
  [ChatConfiguration.AgentSessionProjectionEnabled]: {
302
312
  type: "boolean",
303
313
  markdownDescription: ( localize(
304
- 5894,
314
+ 6260,
305
315
  "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
306
316
  )),
307
317
  default: false,
@@ -310,14 +320,14 @@ configurationRegistry.registerConfiguration({
310
320
  "chat.implicitContext.enabled": {
311
321
  type: "object",
312
322
  description: ( localize(
313
- 5895,
323
+ 6261,
314
324
  "Enables automatically using the active editor as chat context for specified chat locations."
315
325
  )),
316
326
  additionalProperties: {
317
327
  type: "string",
318
328
  enum: ["never", "first", "always"],
319
- description: ( localize(5896, "The value for the implicit context.")),
320
- enumDescriptions: [( localize(5897, "Implicit context is never enabled.")), ( localize(5898, "Implicit context is enabled for the first interaction.")), ( localize(5899, "Implicit context is always enabled."))]
329
+ description: ( localize(6262, "The value for the implicit context.")),
330
+ enumDescriptions: [( localize(6263, "Implicit context is never enabled.")), ( localize(6264, "Implicit context is enabled for the first interaction.")), ( localize(6265, "Implicit context is always enabled."))]
321
331
  },
322
332
  default: {
323
333
  "panel": "always"
@@ -335,7 +345,7 @@ configurationRegistry.registerConfiguration({
335
345
  "chat.implicitContext.suggestedContext": {
336
346
  type: "boolean",
337
347
  markdownDescription: ( localize(
338
- 5900,
348
+ 6266,
339
349
  "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."
340
350
  )),
341
351
  default: true,
@@ -343,10 +353,22 @@ configurationRegistry.registerConfiguration({
343
353
  default: false
344
354
  }
345
355
  },
356
+ "chat.implicitContext.includeActiveEditor": {
357
+ type: "boolean",
358
+ markdownDescription: ( localize(
359
+ 6267,
360
+ "When enabled, the active editor is automatically forwarded as context, even when it would otherwise only be suggested. Selections and explicitly attached files are always included regardless of this setting.\n\nNote: this setting currently only applies to Agent Host sessions (such as the Copilot CLI)."
361
+ )),
362
+ default: true,
363
+ tags: ["experimental"],
364
+ agentsWindow: {
365
+ default: false
366
+ }
367
+ },
346
368
  "chat.editing.autoAcceptDelay": {
347
369
  type: "number",
348
370
  markdownDescription: ( localize(
349
- 5901,
371
+ 6268,
350
372
  "Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
351
373
  )),
352
374
  default: 0,
@@ -357,7 +379,7 @@ configurationRegistry.registerConfiguration({
357
379
  type: "boolean",
358
380
  scope: ConfigurationScope.APPLICATION,
359
381
  markdownDescription: ( localize(
360
- 5902,
382
+ 6269,
361
383
  "Whether to show a confirmation before removing a request and its associated edits."
362
384
  )),
363
385
  default: true
@@ -366,7 +388,7 @@ configurationRegistry.registerConfiguration({
366
388
  type: "boolean",
367
389
  scope: ConfigurationScope.APPLICATION,
368
390
  markdownDescription: ( localize(
369
- 5903,
391
+ 6270,
370
392
  "Whether to show a confirmation before retrying a request and its associated edits."
371
393
  )),
372
394
  default: true
@@ -374,7 +396,7 @@ configurationRegistry.registerConfiguration({
374
396
  "chat.editing.explainChanges.enabled": {
375
397
  type: "boolean",
376
398
  markdownDescription: ( localize(
377
- 5904,
399
+ 6271,
378
400
  "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."
379
401
  )),
380
402
  default: false,
@@ -386,16 +408,24 @@ configurationRegistry.registerConfiguration({
386
408
  [ChatConfiguration.RevealNextChangeOnResolve]: {
387
409
  type: "boolean",
388
410
  markdownDescription: ( localize(
389
- 5905,
411
+ 6272,
390
412
  "Controls whether the editor automatically reveals the next change after keeping or undoing a chat edit."
391
413
  )),
392
414
  default: true
393
415
  },
416
+ [ChatConfiguration.OpenChangedFileInDiffEditor]: {
417
+ type: "boolean",
418
+ markdownDescription: ( localize(
419
+ 6273,
420
+ "Controls whether selecting a file in the changed files list of a chat response opens it in a diff editor showing the changes made by chat, or in a regular editor. Holding `kbstyle(Alt)` while selecting the file opens it with the opposite behavior."
421
+ )),
422
+ default: true
423
+ },
394
424
  "chat.tips.enabled": {
395
425
  type: "boolean",
396
426
  scope: ConfigurationScope.APPLICATION,
397
427
  description: ( localize(
398
- 5906,
428
+ 6274,
399
429
  "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."
400
430
  )),
401
431
  default: true
@@ -403,9 +433,9 @@ configurationRegistry.registerConfiguration({
403
433
  "chat.upvoteAnimation": {
404
434
  type: "string",
405
435
  enum: ["off", "confetti", "floatingThumbs", "pulseWave", "radiantLines"],
406
- enumDescriptions: [( localize(5907, "No animation is shown.")), ( localize(5908, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5909, "Shows floating thumbs up icons rising from the button.")), ( localize(5910, "Shows expanding pulse rings from the button.")), ( localize(5911, "Shows radiant lines emanating from the button."))],
436
+ enumDescriptions: [( localize(6275, "No animation is shown.")), ( localize(6276, "Shows a confetti burst animation around the thumbs up button.")), ( localize(6277, "Shows floating thumbs up icons rising from the button.")), ( localize(6278, "Shows expanding pulse rings from the button.")), ( localize(6279, "Shows radiant lines emanating from the button."))],
407
437
  description: ( localize(
408
- 5912,
438
+ 6280,
409
439
  "Controls whether an animation is shown when clicking the thumbs up button on a chat response."
410
440
  )),
411
441
  default: "floatingThumbs"
@@ -413,16 +443,16 @@ configurationRegistry.registerConfiguration({
413
443
  "chat.experimental.detectParticipant.enabled": {
414
444
  type: "boolean",
415
445
  deprecationMessage: ( localize(
416
- 5913,
446
+ 6281,
417
447
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
418
448
  )),
419
- description: ( localize(5914, "Enables chat participant autodetection for panel chat.")),
449
+ description: ( localize(6282, "Enables chat participant autodetection for panel chat.")),
420
450
  default: null
421
451
  },
422
452
  [ChatConfiguration.IncrementalRendering]: {
423
453
  type: "boolean",
424
454
  description: ( localize(
425
- 5915,
455
+ 6283,
426
456
  "Enables incremental rendering with optional block-level animation when streaming chat responses."
427
457
  )),
428
458
  default: false,
@@ -431,17 +461,17 @@ configurationRegistry.registerConfiguration({
431
461
  [ChatConfiguration.IncrementalRenderingStyle]: {
432
462
  type: "string",
433
463
  enum: ["none", "fade", "rise", "blur", "scale", "slide", "reveal"],
434
- enumDescriptions: [( localize(5916, "No animation. Content appears instantly.")), ( localize(5917, "Simple opacity fade from 0 to 1.")), ( localize(5918, "Content fades in while rising upward.")), ( localize(5919, "Content fades in from a blurred state.")), ( localize(5920, "Content scales up from slightly smaller.")), ( localize(5921, "Content slides in from the left.")), ( localize(5922, "Content reveals top-to-bottom with a soft gradient edge."))],
435
- description: ( localize(5923, "Controls the animation style for incremental rendering.")),
464
+ enumDescriptions: [( localize(6284, "No animation. Content appears instantly.")), ( localize(6285, "Simple opacity fade from 0 to 1.")), ( localize(6286, "Content fades in while rising upward.")), ( localize(6287, "Content fades in from a blurred state.")), ( localize(6288, "Content scales up from slightly smaller.")), ( localize(6289, "Content slides in from the left.")), ( localize(6290, "Content reveals top-to-bottom with a soft gradient edge."))],
465
+ description: ( localize(6291, "Controls the animation style for incremental rendering.")),
436
466
  default: "fade",
437
467
  tags: ["experimental"]
438
468
  },
439
469
  [ChatConfiguration.IncrementalRenderingBuffering]: {
440
470
  type: "string",
441
471
  enum: ["off", "word", "paragraph"],
442
- enumDescriptions: [( localize(5924, "Renders content immediately as tokens arrive.")), ( localize(5925, "Reveals content word by word.")), ( localize(5926, "Buffers content until a paragraph break before rendering."))],
472
+ enumDescriptions: [( localize(6292, "Renders content immediately as tokens arrive.")), ( localize(6293, "Reveals content word by word.")), ( localize(6294, "Buffers content until a paragraph break before rendering."))],
443
473
  description: ( localize(
444
- 5927,
474
+ 6295,
445
475
  "Controls how content is buffered before rendering during incremental rendering. Lower buffering levels render faster but may show incomplete sentences or partially formed markdown."
446
476
  )),
447
477
  default: "word",
@@ -449,18 +479,18 @@ configurationRegistry.registerConfiguration({
449
479
  },
450
480
  "chat.detectParticipant.enabled": {
451
481
  type: "boolean",
452
- description: ( localize(5928, "Enables chat participant autodetection for panel chat.")),
482
+ description: ( localize(6296, "Enables chat participant autodetection for panel chat.")),
453
483
  default: true
454
484
  },
455
485
  [ChatConfiguration.InlineReferencesStyle]: {
456
486
  type: "string",
457
487
  enum: ["box", "link"],
458
- enumDescriptions: [( localize(5929, "Display file and symbol references as boxed widgets with icons.")), ( localize(
459
- 5930,
488
+ enumDescriptions: [( localize(6297, "Display file and symbol references as boxed widgets with icons.")), ( localize(
489
+ 6298,
460
490
  "Display file and symbol references as simple blue links without icons."
461
491
  ))],
462
492
  description: ( localize(
463
- 5931,
493
+ 6299,
464
494
  "Controls how file and symbol references are displayed in chat messages."
465
495
  )),
466
496
  default: "box"
@@ -468,7 +498,7 @@ configurationRegistry.registerConfiguration({
468
498
  [ChatConfiguration.EditorAssociations]: {
469
499
  type: "object",
470
500
  markdownDescription: ( localize(
471
- 5932,
501
+ 6300,
472
502
  "Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
473
503
  )),
474
504
  additionalProperties: {
@@ -479,15 +509,15 @@ configurationRegistry.registerConfiguration({
479
509
  [ChatConfiguration.NotifyWindowOnConfirmation]: {
480
510
  type: "string",
481
511
  enum: ["off", "windowNotFocused", "always"],
482
- enumDescriptions: [( localize(5933, "Never show OS notifications for confirmations.")), ( localize(
483
- 5934,
512
+ enumDescriptions: [( localize(6301, "Never show OS notifications for confirmations.")), ( localize(
513
+ 6302,
484
514
  "Show OS notifications for confirmations when the window is not focused."
485
515
  )), ( localize(
486
- 5935,
516
+ 6303,
487
517
  "Always show OS notifications for confirmations, even when the window is focused."
488
518
  ))],
489
519
  description: ( localize(
490
- 5936,
520
+ 6304,
491
521
  "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."
492
522
  )),
493
523
  default: "windowNotFocused"
@@ -495,7 +525,7 @@ configurationRegistry.registerConfiguration({
495
525
  [ChatConfiguration.AutoReply]: {
496
526
  default: false,
497
527
  markdownDescription: ( localize(
498
- 5937,
528
+ 6305,
499
529
  "Automatically skip question carousels by telling the agent that the user is not available and to use its best judgment. This is an advanced setting and can lead to unintended choices or actions based on incomplete context."
500
530
  )),
501
531
  type: "boolean",
@@ -505,7 +535,7 @@ configurationRegistry.registerConfiguration({
505
535
  [ChatConfiguration.AutopilotAdvancedEnabled]: {
506
536
  type: "boolean",
507
537
  markdownDescription: ( localize(
508
- 5938,
538
+ 6306,
509
539
  "Enables **Advanced Autopilot**, a single switch that turns on all advanced Autopilot behaviors that delegate more of the loop to the agent. Currently, after each Autopilot turn a small, fast model evaluates whether your original request is complete; if not, Autopilot keeps working using that evaluation as guidance for the next turn, instead of relying on the agent to signal completion itself."
510
540
  )),
511
541
  default: false,
@@ -514,7 +544,7 @@ configurationRegistry.registerConfiguration({
514
544
  [ChatConfiguration.PlanReviewInlineEditorEnabled]: {
515
545
  type: "boolean",
516
546
  markdownDescription: ( localize(
517
- 5939,
547
+ 6307,
518
548
  "When enabled, the plan review widget mounts an editor inline, as opposed to in a separate editor tab."
519
549
  )),
520
550
  default: true
@@ -526,14 +556,85 @@ configurationRegistry.registerConfiguration({
526
556
  ChatPermissionLevel.AutoApprove,
527
557
  ChatPermissionLevel.Autopilot
528
558
  ],
529
- enumItemLabels: [( localize(5940, "Default Approvals")), ( localize(5941, "Bypass Approvals")), ( localize(5942, "Autopilot (Preview)"))],
530
- enumDescriptions: [( localize(5943, "Start new chat sessions with Default Approvals.")), ( localize(5944, "Start new chat sessions in Bypass Approvals mode.")), ( localize(5945, "Start new chat sessions in Autopilot mode."))],
559
+ enumItemLabels: [( localize(6308, "Default Approvals")), ( localize(6309, "Bypass Approvals")), ( localize(6310, "Autopilot (Preview)"))],
560
+ enumDescriptions: [( localize(6311, "Start new chat sessions with Default Approvals.")), ( localize(6312, "Start new chat sessions in Bypass Approvals mode.")), ( localize(6313, "Start new chat sessions in Autopilot mode."))],
531
561
  description: ( localize(
532
- 5946,
533
- "Controls the default permissions picker mode for new chat sessions. You can still change the permission mode per session, and each session remembers the permission mode that was used. If enterprise policy disables auto approval, new sessions use Default Approvals."
562
+ 6314,
563
+ "Controls the default permissions picker mode for new local chat sessions. You can still change the permission mode per session, and each session remembers the permission mode that was used. If enterprise policy disables auto approval, new sessions use Default Approvals."
534
564
  )),
535
565
  default: ChatPermissionLevel.Default
536
566
  },
567
+ [ChatConfiguration.PermissionsSandboxToggleEnabled]: {
568
+ type: "boolean",
569
+ default: false,
570
+ markdownDescription: ( localize(
571
+ 6315,
572
+ "Controls whether the permissions picker shows an inline \"Sandboxing for terminal\" toggle on the Default Approvals option. The toggle reflects and updates `#chat.agent.sandbox.enabled#`."
573
+ )),
574
+ tags: ["experimental"],
575
+ experiment: {
576
+ mode: "auto"
577
+ }
578
+ },
579
+ [ChatConfiguration.DefaultConfiguration]: {
580
+ type: "object",
581
+ additionalProperties: false,
582
+ properties: {
583
+ mode: {
584
+ type: "string",
585
+ enum: ["interactive", "plan", "autopilot"],
586
+ enumDescriptions: [( localize(6316, "Interactive — step-by-step collaboration.")), ( localize(6317, "Plan — plan first, execute when ready.")), ( localize(6318, "Autopilot — autonomously iterate from start to finish."))],
587
+ default: "interactive",
588
+ description: ( localize(6319, "The starting mode for new agent sessions."))
589
+ },
590
+ approvals: {
591
+ type: "string",
592
+ enum: [ChatPermissionLevel.Default, ChatPermissionLevel.AutoApprove],
593
+ enumDescriptions: [( localize(6320, "Default Approvals — Copilot uses your configured settings.")), ( localize(6321, "Bypass Approvals — all tool calls are auto-approved."))],
594
+ default: ChatPermissionLevel.Default,
595
+ description: ( localize(
596
+ 6322,
597
+ "The starting approval behavior for new agent sessions. If enterprise policy disables auto approval, new sessions use Default Approvals."
598
+ ))
599
+ }
600
+ },
601
+ default: {
602
+ mode: "interactive",
603
+ approvals: ChatPermissionLevel.Default
604
+ },
605
+ markdownDescription: ( localize(
606
+ 6323,
607
+ "Controls the default configuration for new agent sessions (such as Copilot CLI). You can still change the mode and approval behavior per session, and each session remembers what was used."
608
+ ))
609
+ },
610
+ [ChatConfiguration.DefaultModel]: {
611
+ type: "string",
612
+ default: "",
613
+ markdownDescription: ( localize(
614
+ 6324,
615
+ "The default model for new chat conversations. Use \"auto\" to let Copilot pick a model, a model family name (such as \"opus\" or \"gemini\") to use the latest available model in that family, or a full model id. You can still switch the model within a conversation; each new conversation starts at this model."
616
+ )),
617
+ policy: {
618
+ name: "ChatDefaultModel",
619
+ category: PolicyCategory.InteractiveSession,
620
+ minimumVersion: "1.127",
621
+ value: managedModelValue(),
622
+ managedSettings: {
623
+ [COPILOT_MODEL_KEY]: {
624
+ type: "string"
625
+ }
626
+ },
627
+ localization: {
628
+ description: {
629
+ key: "chat.defaultModel.policy",
630
+ value: ( localize(
631
+ 6325,
632
+ "Sets the default chat model for new conversations. Accepts \"auto\", a model family name (such as \"opus\" or \"gemini\"), or a full model id. Users can still switch the model within a conversation."
633
+ ))
634
+ }
635
+ }
636
+ }
637
+ },
537
638
  [ChatConfiguration.GlobalAutoApprove]: {
538
639
  default: false,
539
640
  markdownDescription: globalAutoApproveDescription.value,
@@ -544,12 +645,17 @@ configurationRegistry.registerConfiguration({
544
645
  name: "ChatToolsAutoApprove",
545
646
  category: PolicyCategory.InteractiveSession,
546
647
  minimumVersion: "1.99",
547
- value: policyData => policyData.chat_preview_features_enabled === false ? false : undefined,
648
+ value: policyData => policyData.managedSettings?.[COPILOT_DISABLE_BYPASS_PERMISSIONS_MODE_KEY] === "disable" || policyData.chat_preview_features_enabled === false ? false : undefined,
649
+ managedSettings: {
650
+ [COPILOT_DISABLE_BYPASS_PERMISSIONS_MODE_KEY]: {
651
+ type: "string"
652
+ }
653
+ },
548
654
  localization: {
549
655
  description: {
550
656
  key: "autoApprove3.description",
551
657
  value: ( localize(
552
- 5947,
658
+ 6326,
553
659
  "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."
554
660
  ))
555
661
  }
@@ -559,7 +665,7 @@ configurationRegistry.registerConfiguration({
559
665
  [ChatConfiguration.SessionSyncEnabled]: {
560
666
  default: false,
561
667
  markdownDescription: ( localize(
562
- 5948,
668
+ 6327,
563
669
  "Enable session sync to GitHub.com. When enabled, Copilot session data is synced to your GitHub account for cross-device access and richer insights. Requires `#github.copilot.chat.localIndex.enabled#` to also be enabled."
564
670
  )),
565
671
  type: "boolean",
@@ -576,7 +682,7 @@ configurationRegistry.registerConfiguration({
576
682
  description: {
577
683
  key: "chat.sessionSync.enabled.policy",
578
684
  value: ( localize(
579
- 5949,
685
+ 6328,
580
686
  "Enable session sync to GitHub.com for cross-device Copilot session history. When disabled by organization policy, session data is kept local only."
581
687
  ))
582
688
  }
@@ -590,7 +696,7 @@ configurationRegistry.registerConfiguration({
590
696
  },
591
697
  default: [],
592
698
  markdownDescription: ( localize(
593
- 5950,
699
+ 6329,
594
700
  "Repository patterns to exclude from session sync. Use exact `owner/repo` names or glob patterns like `my-org/*`. Sessions from matching repositories will only be stored locally."
595
701
  )),
596
702
  tags: ["experimental", "advanced"]
@@ -608,7 +714,7 @@ configurationRegistry.registerConfiguration({
608
714
  "**/*-lock.{yaml,json}": false
609
715
  },
610
716
  markdownDescription: ( localize(
611
- 5951,
717
+ 6330,
612
718
  "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."
613
719
  )),
614
720
  type: "object",
@@ -622,7 +728,7 @@ configurationRegistry.registerConfiguration({
622
728
  "https://github.com/microsoft/vscode/wiki/*": true
623
729
  },
624
730
  markdownDescription: ( localize(
625
- 5952,
731
+ 6331,
626
732
  "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"
627
733
  )),
628
734
  type: "object",
@@ -645,7 +751,7 @@ configurationRegistry.registerConfiguration({
645
751
  [ChatConfiguration.EligibleForAutoApproval]: {
646
752
  default: {},
647
753
  markdownDescription: ( localize(
648
- 5953,
754
+ 6332,
649
755
  "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."
650
756
  )),
651
757
  type: "object",
@@ -668,25 +774,16 @@ configurationRegistry.registerConfiguration({
668
774
  description: {
669
775
  key: "chat.tools.eligibleForAutoApproval",
670
776
  value: ( localize(
671
- 5953,
777
+ 6332,
672
778
  "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."
673
779
  ))
674
780
  }
675
781
  }
676
782
  }
677
783
  },
678
- "chat.sendElementsToChat.attachImages": {
679
- default: true,
680
- markdownDescription: ( localize(
681
- 5954,
682
- "Controls whether a screenshot of the selected element will be added to the chat."
683
- )),
684
- type: "boolean",
685
- tags: ["experimental"]
686
- },
687
784
  [ChatConfiguration.ArtifactsEnabled]: {
688
785
  default: false,
689
- description: ( localize(5955, "Controls whether the artifacts view is available in chat.")),
786
+ description: ( localize(6333, "Controls whether the artifacts view is available in chat.")),
690
787
  type: "boolean",
691
788
  tags: ["experimental"]
692
789
  },
@@ -698,7 +795,7 @@ configurationRegistry.registerConfiguration({
698
795
  }
699
796
  },
700
797
  description: ( localize(
701
- 5956,
798
+ 6334,
702
799
  "Rules for extracting artifacts from tool results by MIME type. Maps MIME type patterns (e.g. 'image/*') to group configuration."
703
800
  )),
704
801
  type: "object",
@@ -707,11 +804,11 @@ configurationRegistry.registerConfiguration({
707
804
  properties: {
708
805
  groupName: {
709
806
  type: "string",
710
- description: ( localize(5957, "Display name for the artifact group."))
807
+ description: ( localize(6335, "Display name for the artifact group."))
711
808
  },
712
809
  onlyShowGroup: {
713
810
  type: "boolean",
714
- description: ( localize(5958, "When true, show only the group header instead of individual items."))
811
+ description: ( localize(6336, "When true, show only the group header instead of individual items."))
715
812
  }
716
813
  },
717
814
  required: ["groupName"]
@@ -725,7 +822,7 @@ configurationRegistry.registerConfiguration({
725
822
  }
726
823
  },
727
824
  description: ( localize(
728
- 5959,
825
+ 6337,
729
826
  "Rules for extracting artifacts from written files by file path pattern. Maps glob patterns to group configuration."
730
827
  )),
731
828
  type: "object",
@@ -734,11 +831,11 @@ configurationRegistry.registerConfiguration({
734
831
  properties: {
735
832
  groupName: {
736
833
  type: "string",
737
- description: ( localize(5960, "Display name for the artifact group."))
834
+ description: ( localize(6338, "Display name for the artifact group."))
738
835
  },
739
836
  onlyShowGroup: {
740
837
  type: "boolean",
741
- description: ( localize(5961, "When true, show only the group header instead of individual items."))
838
+ description: ( localize(6339, "When true, show only the group header instead of individual items."))
742
839
  }
743
840
  },
744
841
  required: ["groupName"]
@@ -752,7 +849,7 @@ configurationRegistry.registerConfiguration({
752
849
  }
753
850
  },
754
851
  description: ( localize(
755
- 5962,
852
+ 6340,
756
853
  "Rules for extracting artifacts from memory tool calls by memory file path pattern. Maps glob patterns to group configuration."
757
854
  )),
758
855
  type: "object",
@@ -761,11 +858,11 @@ configurationRegistry.registerConfiguration({
761
858
  properties: {
762
859
  groupName: {
763
860
  type: "string",
764
- description: ( localize(5963, "Display name for the artifact group."))
861
+ description: ( localize(6341, "Display name for the artifact group."))
765
862
  },
766
863
  onlyShowGroup: {
767
864
  type: "boolean",
768
- description: ( localize(5964, "When true, show only the group header instead of individual items."))
865
+ description: ( localize(6342, "When true, show only the group header instead of individual items."))
769
866
  }
770
867
  },
771
868
  required: ["groupName"]
@@ -775,14 +872,14 @@ configurationRegistry.registerConfiguration({
775
872
  "chat.undoRequests.restoreInput": {
776
873
  default: true,
777
874
  markdownDescription: ( localize(
778
- 5965,
875
+ 6343,
779
876
  "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."
780
877
  )),
781
878
  type: "boolean"
782
879
  },
783
880
  "chat.editRequests": {
784
881
  markdownDescription: ( localize(
785
- 5966,
882
+ 6344,
786
883
  "Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
787
884
  )),
788
885
  type: "string",
@@ -793,7 +890,7 @@ configurationRegistry.registerConfiguration({
793
890
  type: "boolean",
794
891
  default: true,
795
892
  description: ( localize(
796
- 5967,
893
+ 6345,
797
894
  "Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
798
895
  )),
799
896
  agentsWindow: {
@@ -804,15 +901,15 @@ configurationRegistry.registerConfiguration({
804
901
  type: "string",
805
902
  enum: ["stacked", "sideBySide"],
806
903
  enumDescriptions: [( localize(
807
- 5968,
904
+ 6346,
808
905
  "Display chat sessions vertically stacked above the chat input unless a chat session is visible."
809
906
  )), ( localize(
810
- 5969,
907
+ 6347,
811
908
  "Display chat sessions side by side if space is sufficient, otherwise fallback to stacked above the chat input unless a chat session is visible."
812
909
  ))],
813
910
  default: "sideBySide",
814
911
  description: ( localize(
815
- 5970,
912
+ 6348,
816
913
  "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
817
914
  ))
818
915
  },
@@ -820,39 +917,64 @@ configurationRegistry.registerConfiguration({
820
917
  type: "boolean",
821
918
  default: false,
822
919
  description: ( localize(
823
- 5971,
920
+ 6349,
824
921
  "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
825
922
  ))
826
923
  },
827
924
  [ChatConfiguration.AgentsHandoffTipMode]: {
828
925
  type: "string",
829
926
  enum: ["hidden", "default", "custom"],
830
- enumDescriptions: [( localize(5972, "Never show the handoff tip.")), ( localize(5973, "Show the handoff tip with the default description.")), ( localize(5974, "Show the handoff tip with an alternate description."))],
927
+ enumDescriptions: [( localize(6350, "Never show the handoff tip.")), ( localize(6351, "Show the handoff tip with the default description.")), ( localize(6352, "Show the handoff tip with an alternate description."))],
831
928
  default: "hidden",
832
929
  tags: ["experimental"],
833
930
  experiment: {
834
931
  mode: "startup"
835
932
  },
836
933
  description: ( localize(
837
- 5975,
934
+ 6353,
838
935
  "Controls the tip shown above the chat input offering to continue eligible agent sessions in the Agents Window."
839
936
  ))
840
937
  },
938
+ [ClaudePreferAgentHostAgentsSettingId]: {
939
+ type: "boolean",
940
+ markdownDescription: ( localize(
941
+ 6354,
942
+ "When enabled, Claude sessions opened from the Agents Window run inside the agent host process instead of the GitHub Copilot Chat extension. Only one Claude implementation surfaces per window. Requires `#{0}#`.",
943
+ AgentHostEnabledSettingId
944
+ )),
945
+ default: false,
946
+ tags: ["experimental"],
947
+ experiment: {
948
+ mode: "startup"
949
+ }
950
+ },
951
+ [ClaudePreferAgentHostEditorSettingId]: {
952
+ type: "boolean",
953
+ description: ( localize(
954
+ 6355,
955
+ "When enabled, Claude sessions opened from the regular workbench (sidebar chat) run inside the agent host process instead of the GitHub Copilot Chat extension. Only one Claude implementation surfaces per window."
956
+ )),
957
+ default: false,
958
+ tags: ["experimental"],
959
+ experiment: {
960
+ mode: "startup"
961
+ }
962
+ },
841
963
  [ChatConfiguration.ChatContextUsageEnabled]: {
842
964
  type: "boolean",
843
965
  default: true,
844
- description: ( localize(5976, "Show the context window usage indicator in the chat input."))
966
+ description: ( localize(6356, "Show the context window usage indicator in the chat input."))
845
967
  },
846
968
  [ChatConfiguration.ChatPersistentProgressEnabled]: {
847
969
  type: "boolean",
848
970
  default: product.quality !== "stable",
849
- description: ( localize(5977, "Always show progress in chat."))
971
+ description: ( localize(6357, "Always show progress in chat."))
850
972
  },
851
973
  [ChatConfiguration.ProgressBorder]: {
852
974
  type: "boolean",
853
975
  default: true,
854
976
  markdownDescription: ( localize(
855
- 5978,
977
+ 6358,
856
978
  "Show an animated gradient border around the chat input while the agent is working or thinking. When enabled and reduced motion is not enabled, this overrides {0} to be off. Has no effect when reduced motion is enabled.",
857
979
  "`#chat.persistentProgress.enabled#`"
858
980
  ))
@@ -860,16 +982,16 @@ configurationRegistry.registerConfiguration({
860
982
  [ChatConfiguration.NotifyWindowOnResponseReceived]: {
861
983
  type: "string",
862
984
  enum: ["off", "windowNotFocused", "always"],
863
- enumDescriptions: [( localize(5979, "Never show OS notifications for responses.")), ( localize(
864
- 5980,
985
+ enumDescriptions: [( localize(6359, "Never show OS notifications for responses.")), ( localize(
986
+ 6360,
865
987
  "Show OS notifications for responses when the window is not focused."
866
988
  )), ( localize(
867
- 5981,
989
+ 6361,
868
990
  "Always show OS notifications for responses, even when the window is focused."
869
991
  ))],
870
992
  default: "windowNotFocused",
871
993
  description: ( localize(
872
- 5982,
994
+ 6362,
873
995
  "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."
874
996
  ))
875
997
  },
@@ -877,23 +999,53 @@ configurationRegistry.registerConfiguration({
877
999
  type: "boolean",
878
1000
  default: true,
879
1001
  description: ( localize(
880
- 5983,
1002
+ 6363,
881
1003
  "Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
882
1004
  ))
883
1005
  },
884
1006
  "chat.checkpoints.showFileChanges": {
885
1007
  type: "boolean",
886
- description: ( localize(5984, "Controls whether to show chat checkpoint file changes.")),
1008
+ description: ( localize(6364, "Controls whether to show chat checkpoint file changes.")),
887
1009
  default: false
888
1010
  },
1011
+ [ChatConfiguration.TurnStatusPills]: {
1012
+ type: "object",
1013
+ markdownDescription: ( localize(
1014
+ 6365,
1015
+ "Controls which agent turn status pills are shown above the chat input while a turn is in progress and inside the completed response. Only applies to agent sessions."
1016
+ )),
1017
+ properties: {
1018
+ changes: {
1019
+ type: "boolean",
1020
+ default: false,
1021
+ description: ( localize(
1022
+ 6366,
1023
+ "Show a pill summarizing the files changed and the lines added and removed in the turn."
1024
+ ))
1025
+ },
1026
+ preview: {
1027
+ type: "boolean",
1028
+ default: false,
1029
+ description: ( localize(
1030
+ 6367,
1031
+ "Show a pill to preview a Markdown or HTML file created or edited in the turn."
1032
+ ))
1033
+ }
1034
+ },
1035
+ default: {
1036
+ changes: false,
1037
+ preview: false
1038
+ },
1039
+ additionalProperties: false
1040
+ },
889
1041
  [mcpAccessConfig]: {
890
1042
  type: "string",
891
- description: ( localize(5985, "Controls access to installed Model Context Protocol servers.")),
1043
+ description: ( localize(6368, "Controls access to installed Model Context Protocol servers.")),
892
1044
  enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
893
- enumDescriptions: [( localize(5986, "No access to MCP servers.")), ( localize(
894
- 5987,
1045
+ enumDescriptions: [( localize(6369, "No access to MCP servers.")), ( localize(
1046
+ 6370,
895
1047
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
896
- )), ( localize(5988, "Allow access to any installed MCP server."))],
1048
+ )), ( localize(6371, "Allow access to any installed MCP server."))],
897
1049
  default: McpAccessValue.All,
898
1050
  policy: {
899
1051
  name: "ChatMCP",
@@ -911,20 +1063,20 @@ configurationRegistry.registerConfiguration({
911
1063
  localization: {
912
1064
  description: {
913
1065
  key: "chat.mcp.access",
914
- value: ( localize(5985, "Controls access to installed Model Context Protocol servers."))
1066
+ value: ( localize(6368, "Controls access to installed Model Context Protocol servers."))
915
1067
  },
916
1068
  enumDescriptions: [{
917
1069
  key: "chat.mcp.access.none",
918
- value: ( localize(5986, "No access to MCP servers."))
1070
+ value: ( localize(6369, "No access to MCP servers."))
919
1071
  }, {
920
1072
  key: "chat.mcp.access.registry",
921
1073
  value: ( localize(
922
- 5987,
1074
+ 6370,
923
1075
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
924
1076
  ))
925
1077
  }, {
926
1078
  key: "chat.mcp.access.any",
927
- value: ( localize(5988, "Allow access to any installed MCP server."))
1079
+ value: ( localize(6371, "Allow access to any installed MCP server."))
928
1080
  }]
929
1081
  }
930
1082
  }
@@ -932,7 +1084,7 @@ configurationRegistry.registerConfiguration({
932
1084
  [mcpAutoStartConfig]: {
933
1085
  type: "string",
934
1086
  description: ( localize(
935
- 5989,
1087
+ 6372,
936
1088
  "Controls whether MCP servers should be automatically started when the chat messages are submitted."
937
1089
  )),
938
1090
  default: McpAutoStartValue.NewAndOutdated,
@@ -941,8 +1093,8 @@ configurationRegistry.registerConfiguration({
941
1093
  McpAutoStartValue.OnlyNew,
942
1094
  McpAutoStartValue.NewAndOutdated
943
1095
  ],
944
- enumDescriptions: [( localize(5990, "Never automatically start MCP servers.")), ( localize(5991, "Only automatically start new MCP servers that have never been run.")), ( localize(
945
- 5992,
1096
+ enumDescriptions: [( localize(6373, "Never automatically start MCP servers.")), ( localize(6374, "Only automatically start new MCP servers that have never been run.")), ( localize(
1097
+ 6375,
946
1098
  "Automatically start new and outdated MCP servers that are not yet running."
947
1099
  ))],
948
1100
  tags: ["experimental"]
@@ -950,7 +1102,7 @@ configurationRegistry.registerConfiguration({
950
1102
  [mcpAppsEnabledConfig]: {
951
1103
  type: "boolean",
952
1104
  description: ( localize(
953
- 5993,
1105
+ 6376,
954
1106
  "Controls whether MCP servers can provide custom UI for tool invocations."
955
1107
  )),
956
1108
  default: true,
@@ -968,27 +1120,27 @@ configurationRegistry.registerConfiguration({
968
1120
  type: "string",
969
1121
  format: "uri",
970
1122
  markdownDescription: ( localize(
971
- 5994,
1123
+ 6377,
972
1124
  "The OAuth/OIDC issuer URL of the SSO authorization server. Must be an `https://` URL."
973
1125
  ))
974
1126
  },
975
1127
  clientId: {
976
1128
  type: "string",
977
1129
  markdownDescription: ( localize(
978
- 5995,
1130
+ 6378,
979
1131
  "The OAuth client ID registered with the SSO issuer for this device."
980
1132
  ))
981
1133
  },
982
1134
  clientSecret: {
983
1135
  type: "string",
984
1136
  markdownDescription: ( localize(
985
- 5996,
1137
+ 6379,
986
1138
  "The OAuth client secret paired with `clientId`. Intended for local development only."
987
1139
  ))
988
1140
  }
989
1141
  },
990
1142
  markdownDescription: ( localize(
991
- 5997,
1143
+ 6380,
992
1144
  "(Preview) The OAuth/OIDC IdP configuration used for enterprise-managed Model Context Protocol (MCP) servers. Typically delivered via enterprise policy (Windows Group Policy / macOS managed preferences / Linux `/etc/vscode/policy.json`); developers may hand-edit `settings.json` for local testing. Properties: `issuer` (HTTPS URL), `clientId`, `clientSecret`."
993
1145
  )),
994
1146
  policy: {
@@ -999,8 +1151,8 @@ configurationRegistry.registerConfiguration({
999
1151
  description: {
1000
1152
  key: "mcp.enterpriseManagedAuth.idp.policy",
1001
1153
  value: ( localize(
1002
- 5998,
1003
- "The OAuth/OIDC IdP configuration used for enterprise-managed Model Context Protocol (MCP) server authentication. Delivered through enterprise policy (Windows Group Policy, macOS managed preferences, Linux `/etc/vscode/policy.json`)."
1154
+ 6381,
1155
+ "The OAuth/OIDC IdP configuration used for enterprise-managed Model Context Protocol (MCP) server authentication."
1004
1156
  ))
1005
1157
  }
1006
1158
  }
@@ -1009,19 +1161,19 @@ configurationRegistry.registerConfiguration({
1009
1161
  [mcpServerCollisionBehaviorSection]: {
1010
1162
  type: "string",
1011
1163
  description: ( localize(
1012
- 5999,
1164
+ 6382,
1013
1165
  "Controls behavior when multiple MCP servers are discovered with the same name. 'disable' disables lower-priority duplicates. 'suffix' appends numeric suffixes to disambiguate."
1014
1166
  )),
1015
1167
  enum: [McpCollisionBehavior.Disable, McpCollisionBehavior.Suffix],
1016
- enumDescriptions: [( localize(6000, "Disable lower-priority servers with duplicate names.")), ( localize(6001, "Append numeric suffixes to servers with duplicate names."))],
1168
+ enumDescriptions: [( localize(6383, "Disable lower-priority servers with duplicate names.")), ( localize(6384, "Append numeric suffixes to servers with duplicate names."))],
1017
1169
  default: McpCollisionBehavior.Disable
1018
1170
  },
1019
1171
  [mcpServerSamplingSection]: {
1020
1172
  type: "object",
1021
1173
  description: ( localize(
1022
- 6002,
1174
+ 6385,
1023
1175
  "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.",
1024
- "MCP: " + ( localize(6003, "List Servers"))
1176
+ "MCP: " + ( localize(6386, "List Servers"))
1025
1177
  )),
1026
1178
  scope: ConfigurationScope.RESOURCE,
1027
1179
  additionalProperties: {
@@ -1030,7 +1182,7 @@ configurationRegistry.registerConfiguration({
1030
1182
  allowedDuringChat: {
1031
1183
  type: "boolean",
1032
1184
  description: ( localize(
1033
- 6004,
1185
+ 6387,
1034
1186
  "Whether this server is allowed to make sampling requests during its tool calls in a chat session."
1035
1187
  )),
1036
1188
  default: true
@@ -1038,7 +1190,7 @@ configurationRegistry.registerConfiguration({
1038
1190
  allowedOutsideChat: {
1039
1191
  type: "boolean",
1040
1192
  description: ( localize(
1041
- 6005,
1193
+ 6388,
1042
1194
  "Whether this server is allowed to make sampling requests outside of a chat session."
1043
1195
  )),
1044
1196
  default: false
@@ -1047,7 +1199,7 @@ configurationRegistry.registerConfiguration({
1047
1199
  type: "array",
1048
1200
  items: {
1049
1201
  type: "string",
1050
- description: ( localize(6006, "A model the MCP server has access to."))
1202
+ description: ( localize(6389, "A model the MCP server has access to."))
1051
1203
  }
1052
1204
  }
1053
1205
  }
@@ -1056,7 +1208,7 @@ configurationRegistry.registerConfiguration({
1056
1208
  [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
1057
1209
  type: "boolean",
1058
1210
  description: ( localize(
1059
- 6007,
1211
+ 6390,
1060
1212
  "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)."
1061
1213
  )),
1062
1214
  default: false,
@@ -1067,7 +1219,7 @@ configurationRegistry.registerConfiguration({
1067
1219
  },
1068
1220
  [ChatConfiguration.ExtensionToolsEnabled]: {
1069
1221
  type: "boolean",
1070
- description: ( localize(6008, "Enable using tools contributed by third-party extensions.")),
1222
+ description: ( localize(6391, "Enable using tools contributed by third-party extensions.")),
1071
1223
  default: true,
1072
1224
  policy: {
1073
1225
  name: "ChatAgentExtensionTools",
@@ -1076,16 +1228,15 @@ configurationRegistry.registerConfiguration({
1076
1228
  localization: {
1077
1229
  description: {
1078
1230
  key: "chat.extensionToolsEnabled",
1079
- value: ( localize(6008, "Enable using tools contributed by third-party extensions."))
1231
+ value: ( localize(6391, "Enable using tools contributed by third-party extensions."))
1080
1232
  }
1081
1233
  }
1082
1234
  }
1083
1235
  },
1084
1236
  [ChatConfiguration.PluginsEnabled]: {
1085
1237
  type: "boolean",
1086
- description: ( localize(6009, "Enable agent plugin integration in chat.")),
1238
+ description: ( localize(6392, "Enable agent plugin integration in chat.")),
1087
1239
  default: true,
1088
- tags: ["preview"],
1089
1240
  policy: {
1090
1241
  name: "ChatPluginsEnabled",
1091
1242
  category: PolicyCategory.InteractiveSession,
@@ -1093,7 +1244,7 @@ configurationRegistry.registerConfiguration({
1093
1244
  localization: {
1094
1245
  description: {
1095
1246
  key: "chat.plugins.enabled",
1096
- value: ( localize(6009, "Enable agent plugin integration in chat."))
1247
+ value: ( localize(6392, "Enable agent plugin integration in chat."))
1097
1248
  }
1098
1249
  }
1099
1250
  }
@@ -1105,7 +1256,7 @@ configurationRegistry.registerConfiguration({
1105
1256
  },
1106
1257
  restricted: true,
1107
1258
  markdownDescription: ( localize(
1108
- 6010,
1259
+ 6393,
1109
1260
  "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."
1110
1261
  )),
1111
1262
  scope: ConfigurationScope.MACHINE,
@@ -1117,23 +1268,28 @@ configurationRegistry.registerConfiguration({
1117
1268
  type: "boolean"
1118
1269
  },
1119
1270
  markdownDescription: ( localize(
1120
- 6011,
1121
- "Enterprise-managed plugin enablement. Keys are plugin IDs in `<plugin>@<marketplace>` form (resolved to Copilot CLI install paths); values enable (`true`) or disable (`false`) the plugin. Discovered alongside the path-keyed entries in {0}. When set by policy, also restricts which marketplace-discovered plugins are allowed to load (only IDs mapped to `true` here pass the gate).",
1122
- `\`#${ChatConfiguration.PluginLocations}#\``
1271
+ 6394,
1272
+ "Controls which [agent plugins](https://aka.ms/vscode-agent-plugins) are enabled or disabled. Keys are plugin IDs in `<plugin>@<marketplace>` form (where marketplace is defined in {1}); values enable (`true`) or disable (`false`) the plugin. Discovered alongside the path-keyed entries in {0}. When set by policy, only plugins mapped to `true` here are allowed to load.",
1273
+ `\`#${ChatConfiguration.PluginLocations}#\``,
1274
+ `\`#${ChatConfiguration.PluginMarketplaces}#\``
1123
1275
  )),
1124
1276
  scope: ConfigurationScope.APPLICATION,
1125
- tags: ["experimental"],
1126
1277
  policy: {
1127
1278
  name: "ChatEnabledPlugins",
1128
1279
  category: PolicyCategory.InteractiveSession,
1129
1280
  minimumVersion: "1.122",
1130
- value: policyData => policyData.enabledPlugins ? JSON.stringify(policyData.enabledPlugins) : undefined,
1281
+ value: managedSettingValue(COPILOT_ENABLED_PLUGINS_KEY),
1282
+ managedSettings: {
1283
+ [COPILOT_ENABLED_PLUGINS_KEY]: {
1284
+ type: "string"
1285
+ }
1286
+ },
1131
1287
  localization: {
1132
1288
  description: {
1133
1289
  key: "chat.plugins.enabledPlugins.policy",
1134
1290
  value: ( localize(
1135
- 6012,
1136
- "Plugin enablement. Keys are plugin IDs in `<plugin>@<marketplace>` form; values enable or disable the plugin."
1291
+ 6395,
1292
+ "Plugin enablement. Keys are plugin IDs in `{plugin}@{marketplace}` form; values enable or disable the plugin."
1137
1293
  ))
1138
1294
  }
1139
1295
  }
@@ -1145,7 +1301,7 @@ configurationRegistry.registerConfiguration({
1145
1301
  type: "string"
1146
1302
  },
1147
1303
  markdownDescription: ( localize(
1148
- 6013,
1304
+ 6396,
1149
1305
  "Plugin marketplaces to query. Entries may be GitHub shorthand (`owner/repo` or `owner/repo#ref`), direct Git repository URIs (`https://...git`, `ssh://...git`, or `git@host:path.git`, each optionally suffixed with `#ref`), or local repository URIs (`file:///...`). Equivalent GitHub shorthand and URI entries are deduplicated."
1150
1306
  )),
1151
1307
  default: ["github/copilot-plugins", "github/awesome-copilot#marketplace"],
@@ -1160,9 +1316,8 @@ configurationRegistry.registerConfiguration({
1160
1316
  default: {},
1161
1317
  scope: ConfigurationScope.APPLICATION,
1162
1318
  included: false,
1163
- tags: ["experimental"],
1164
1319
  markdownDescription: ( localize(
1165
- 6014,
1320
+ 6397,
1166
1321
  "Enterprise-managed additional plugin marketplaces. Unioned with {0}.",
1167
1322
  `\`#${ChatConfiguration.PluginMarketplaces}#\``
1168
1323
  )),
@@ -1170,28 +1325,76 @@ configurationRegistry.registerConfiguration({
1170
1325
  name: "ChatExtraMarketplaces",
1171
1326
  category: PolicyCategory.InteractiveSession,
1172
1327
  minimumVersion: "1.122",
1173
- value: policyData => {
1174
- const obj = extraKnownMarketplacesToConfigDict(policyData.extraKnownMarketplaces);
1175
- return obj ? JSON.stringify(obj) : undefined;
1328
+ value: managedSettingValue(COPILOT_EXTRA_MARKETPLACES_KEY),
1329
+ managedSettings: {
1330
+ [COPILOT_EXTRA_MARKETPLACES_KEY]: {
1331
+ type: "string"
1332
+ }
1176
1333
  },
1177
1334
  localization: {
1178
1335
  description: {
1179
1336
  key: "chat.plugins.extraMarketplaces.policy",
1180
1337
  value: ( localize(
1181
- 6015,
1182
- "Additional plugin marketplaces to query. Keys are marketplace names; values are GitHub shorthand (`owner/repo[#ref]`) or Git URIs (`<url>[#ref]`)."
1338
+ 6398,
1339
+ "Additional plugin marketplaces to query. Keys are marketplace names; values are GitHub shorthand (`owner/repo[#ref]`) or Git URIs (`{url}[#ref]`)."
1183
1340
  ))
1184
1341
  }
1185
1342
  }
1186
1343
  }
1187
1344
  },
1188
1345
  [ChatConfiguration.StrictMarketplaces]: {
1189
- type: "boolean",
1346
+ type: ["array", "null"],
1347
+ items: {
1348
+ type: "object",
1349
+ properties: {
1350
+ source: {
1351
+ type: "string",
1352
+ enum: [
1353
+ "github",
1354
+ "git",
1355
+ "url",
1356
+ "npm",
1357
+ "file",
1358
+ "directory",
1359
+ "hostPattern",
1360
+ "pathPattern"
1361
+ ]
1362
+ },
1363
+ repo: {
1364
+ type: "string"
1365
+ },
1366
+ url: {
1367
+ type: "string"
1368
+ },
1369
+ ref: {
1370
+ type: "string"
1371
+ },
1372
+ path: {
1373
+ type: "string"
1374
+ },
1375
+ package: {
1376
+ type: "string"
1377
+ },
1378
+ hostPattern: {
1379
+ type: "string"
1380
+ },
1381
+ pathPattern: {
1382
+ type: "string"
1383
+ },
1384
+ headers: {
1385
+ type: "object",
1386
+ additionalProperties: {
1387
+ type: "string"
1388
+ }
1389
+ }
1390
+ },
1391
+ required: ["source"]
1392
+ },
1190
1393
  markdownDescription: ( localize(
1191
- 6016,
1192
- "When enabled, only marketplaces supplied via enterprise policy are trusted. Plugins from any other marketplace will not load."
1394
+ 6399,
1395
+ "Enterprise-managed allowlist of plugin marketplace sources. When set, only marketplaces matching one of these entries can be installed; an empty array blocks all marketplaces. This does not retroactively disable already-installed plugins. Each entry is an object with a `source` discriminator (`github`, `git`, `url`, `npm`, `file`, `directory`, `hostPattern`, or `pathPattern`) and the corresponding fields. Typically delivered via enterprise policy."
1193
1396
  )),
1194
- default: false,
1397
+ default: null,
1195
1398
  restricted: true,
1196
1399
  scope: ConfigurationScope.APPLICATION,
1197
1400
  tags: ["experimental"],
@@ -1199,13 +1402,18 @@ configurationRegistry.registerConfiguration({
1199
1402
  name: "ChatStrictMarketplaces",
1200
1403
  category: PolicyCategory.InteractiveSession,
1201
1404
  minimumVersion: "1.122",
1202
- value: policyData => policyData.strictKnownMarketplaces,
1405
+ value: managedSettingValue(COPILOT_STRICT_MARKETPLACES_KEY),
1406
+ managedSettings: {
1407
+ [COPILOT_STRICT_MARKETPLACES_KEY]: {
1408
+ type: "string"
1409
+ }
1410
+ },
1203
1411
  localization: {
1204
1412
  description: {
1205
1413
  key: "chat.plugins.strictMarketplaces.policy",
1206
1414
  value: ( localize(
1207
- 6017,
1208
- "Only trust marketplaces supplied via enterprise policy; plugins from any other marketplace will not load."
1415
+ 6400,
1416
+ "Allowlist of plugin marketplace sources. When set, only marketplaces matching an entry are trusted; an empty array blocks all marketplaces."
1209
1417
  ))
1210
1418
  }
1211
1419
  }
@@ -1214,7 +1422,7 @@ configurationRegistry.registerConfiguration({
1214
1422
  [ChatConfiguration.AgentEnabled]: {
1215
1423
  type: "boolean",
1216
1424
  description: ( localize(
1217
- 6018,
1425
+ 6401,
1218
1426
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
1219
1427
  )),
1220
1428
  default: true,
@@ -1228,7 +1436,7 @@ configurationRegistry.registerConfiguration({
1228
1436
  description: {
1229
1437
  key: "chat.agent.enabled.description",
1230
1438
  value: ( localize(
1231
- 6018,
1439
+ 6401,
1232
1440
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
1233
1441
  ))
1234
1442
  }
@@ -1237,7 +1445,7 @@ configurationRegistry.registerConfiguration({
1237
1445
  },
1238
1446
  [AgentNetworkDomainSettingId.NetworkFilter]: {
1239
1447
  markdownDescription: ( localize(
1240
- 6019,
1448
+ 6402,
1241
1449
  "When enabled, network access by agent tools (fetch tool, integrated browser) is restricted according to {0} and {1}. Domain filtering is also applied to those tools when {2} is enabled.",
1242
1450
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1243
1451
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``,
@@ -1254,7 +1462,7 @@ configurationRegistry.registerConfiguration({
1254
1462
  description: {
1255
1463
  key: "chat.agent.networkFilter",
1256
1464
  value: ( localize(
1257
- 6019,
1465
+ 6402,
1258
1466
  "When enabled, network access by agent tools (fetch tool, integrated browser) is restricted according to {0} and {1}. Domain filtering is also applied to those tools when {2} is enabled.",
1259
1467
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1260
1468
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``,
@@ -1266,11 +1474,11 @@ configurationRegistry.registerConfiguration({
1266
1474
  },
1267
1475
  [AgentNetworkDomainSettingId.AllowedNetworkDomains]: {
1268
1476
  markdownDescription: ( localize(
1269
- 6020,
1270
- "Allowed domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {1} is set to {2}, all domains are allowed. Supports wildcards like {3}. When both allowed and denied lists are empty, all domains are blocked. Denied domains (see {4}) take precedence.",
1477
+ 6403,
1478
+ "Allowed domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {2} is enabled, all domains are allowed. Supports wildcards like {3}. When both allowed and denied lists are empty, all domains are blocked. Denied domains (see {4}) take precedence.",
1271
1479
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1272
1480
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1273
- `\`${AgentSandboxEnabledValue.AllowNetwork}\``,
1481
+ `\`#${AgentSandboxSettingId.AgentSandboxAllowNetwork}#\``,
1274
1482
  "`*.example.com`",
1275
1483
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1276
1484
  )),
@@ -1288,11 +1496,11 @@ configurationRegistry.registerConfiguration({
1288
1496
  description: {
1289
1497
  key: "chat.agent.allowedNetworkDomains",
1290
1498
  value: ( localize(
1291
- 6020,
1292
- "Allowed domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {1} is set to {2}, all domains are allowed. Supports wildcards like {3}. When both allowed and denied lists are empty, all domains are blocked. Denied domains (see {4}) take precedence.",
1499
+ 6403,
1500
+ "Allowed domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {2} is enabled, all domains are allowed. Supports wildcards like {3}. When both allowed and denied lists are empty, all domains are blocked. Denied domains (see {4}) take precedence.",
1293
1501
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1294
1502
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1295
- `\`${AgentSandboxEnabledValue.AllowNetwork}\``,
1503
+ `\`#${AgentSandboxSettingId.AgentSandboxAllowNetwork}#\``,
1296
1504
  "`*.example.com`",
1297
1505
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1298
1506
  ))
@@ -1302,11 +1510,11 @@ configurationRegistry.registerConfiguration({
1302
1510
  },
1303
1511
  [AgentNetworkDomainSettingId.DeniedNetworkDomains]: {
1304
1512
  markdownDescription: ( localize(
1305
- 6021,
1306
- "Denied domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. This does not apply when {1} is set to {2}. Takes precedence over {3}. Supports wildcards like {4}.",
1513
+ 6404,
1514
+ "Denied domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. This does not apply when {2} is enabled. Takes precedence over {3}. Supports wildcards like {4}.",
1307
1515
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1308
1516
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1309
- `\`${AgentSandboxEnabledValue.AllowNetwork}\``,
1517
+ `\`#${AgentSandboxSettingId.AgentSandboxAllowNetwork}#\``,
1310
1518
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1311
1519
  "`*.example.com`"
1312
1520
  )),
@@ -1324,11 +1532,11 @@ configurationRegistry.registerConfiguration({
1324
1532
  description: {
1325
1533
  key: "chat.agent.deniedNetworkDomains",
1326
1534
  value: ( localize(
1327
- 6021,
1328
- "Denied domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. This does not apply when {1} is set to {2}. Takes precedence over {3}. Supports wildcards like {4}.",
1535
+ 6404,
1536
+ "Denied domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. This does not apply when {2} is enabled. Takes precedence over {3}. Supports wildcards like {4}.",
1329
1537
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1330
1538
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1331
- `\`${AgentSandboxEnabledValue.AllowNetwork}\``,
1539
+ `\`#${AgentSandboxSettingId.AgentSandboxAllowNetwork}#\``,
1332
1540
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1333
1541
  "`*.example.com`"
1334
1542
  ))
@@ -1343,7 +1551,7 @@ configurationRegistry.registerConfiguration({
1343
1551
  },
1344
1552
  deprecated: true,
1345
1553
  markdownDeprecationMessage: ( localize(
1346
- 6022,
1554
+ 6405,
1347
1555
  "Use {0} instead",
1348
1556
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``
1349
1557
  ))
@@ -1355,7 +1563,7 @@ configurationRegistry.registerConfiguration({
1355
1563
  },
1356
1564
  deprecated: true,
1357
1565
  markdownDeprecationMessage: ( localize(
1358
- 6023,
1566
+ 6406,
1359
1567
  "Use {0} instead",
1360
1568
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1361
1569
  ))
@@ -1367,7 +1575,7 @@ configurationRegistry.registerConfiguration({
1367
1575
  },
1368
1576
  deprecated: true,
1369
1577
  markdownDeprecationMessage: ( localize(
1370
- 6024,
1578
+ 6407,
1371
1579
  "Use {0} instead",
1372
1580
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``
1373
1581
  ))
@@ -1379,7 +1587,7 @@ configurationRegistry.registerConfiguration({
1379
1587
  },
1380
1588
  deprecated: true,
1381
1589
  markdownDeprecationMessage: ( localize(
1382
- 6025,
1590
+ 6408,
1383
1591
  "Use {0} instead",
1384
1592
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1385
1593
  ))
@@ -1387,7 +1595,7 @@ configurationRegistry.registerConfiguration({
1387
1595
  [ChatConfiguration.DefaultNewSessionMode]: {
1388
1596
  type: "string",
1389
1597
  description: ( localize(
1390
- 6026,
1598
+ 6409,
1391
1599
  "The default mode for new chat sessions. When empty, the chat view's default mode is used."
1392
1600
  )),
1393
1601
  default: ""
@@ -1395,7 +1603,7 @@ configurationRegistry.registerConfiguration({
1395
1603
  [AgentHostAhpJsonlLoggingSettingId]: {
1396
1604
  type: "boolean",
1397
1605
  description: ( localize(
1398
- 6027,
1606
+ 6410,
1399
1607
  "When enabled, logs all AHP transport messages for agent host connections to JSONL files under the window's log directory."
1400
1608
  )),
1401
1609
  default: product.quality !== "stable",
@@ -1404,47 +1612,52 @@ configurationRegistry.registerConfiguration({
1404
1612
  [AgentHostCustomTerminalToolEnabledSettingId]: {
1405
1613
  type: "boolean",
1406
1614
  description: ( localize(
1407
- 6028,
1615
+ 6411,
1408
1616
  "When enabled, Copilot SDK sessions use the Agent Host terminal tool override instead of the SDK's default terminal behavior."
1409
1617
  )),
1410
1618
  default: false,
1411
1619
  tags: ["experimental", "advanced"]
1412
1620
  },
1413
- [ChatConfiguration.AgentHostDefaultChatProvider]: {
1621
+ [AgentHostOpus48PromptEnabledSettingId]: {
1414
1622
  type: "boolean",
1623
+ description: ( localize(
1624
+ 6412,
1625
+ "When enabled, Copilot SDK sessions running a Claude Opus 4.8 model apply Opus 4.8-tuned system-prompt section overrides on top of the default system message."
1626
+ )),
1415
1627
  default: false,
1416
- tags: ["experimental"],
1417
- experiment: {
1418
- mode: "startup"
1419
- },
1420
- markdownDescription: ( localize(
1421
- 6029,
1422
- "When enabled, the local agent host is used as the default provider in the VS Code chat session-target picker. Requires `#{0}#`.",
1423
- AgentHostEnabledSettingId
1424
- ))
1628
+ tags: ["experimental", "advanced"]
1425
1629
  },
1426
- [ChatConfiguration.AgentHostClientTools]: {
1427
- type: "array",
1428
- items: {
1429
- type: "string"
1430
- },
1431
- description: ( localize(
1432
- 6030,
1433
- "Tool reference names to expose as client-provided tools in agent host sessions."
1434
- )),
1435
- default: [
1436
- "runTask",
1437
- "getTaskOutput",
1438
- "problems",
1439
- "runTests",
1440
- ...browserChatToolReferenceNames
1630
+ [AgentHostSdkSandboxEnabledSettingId]: {
1631
+ type: "string",
1632
+ enum: [
1633
+ AgentSandboxEnabledValue.Off,
1634
+ AgentSandboxEnabledValue.On,
1635
+ AgentSandboxEnabledValue.AllowNetwork
1441
1636
  ],
1442
- tags: ["experimental", "advanced"]
1637
+ enumDescriptions: [( localize(
1638
+ 6413,
1639
+ "No sandbox policy is forwarded for the SDK's built-in shell tool — commands run unsandboxed."
1640
+ )), ( localize(
1641
+ 6414,
1642
+ "The SDK's built-in shell tool runs inside a sandbox using the configured filesystem policy and host-list-restricted network."
1643
+ )), ( localize(
1644
+ 6415,
1645
+ "The SDK's built-in shell tool runs inside a sandbox with unrestricted outbound network access."
1646
+ ))],
1647
+ markdownDescription: ( localize(
1648
+ 6416,
1649
+ "Sandbox mode for the Copilot SDK's built-in shell tool. Only takes effect when `#chat.agentHost.customTerminalTool.enabled#` is `false`; when the Agent Host's own terminal tool is enabled, the engine sandbox is controlled by `#chat.agent.sandbox.enabled#`. The sandbox applies only to requests that run with default approvals — not when approvals are bypassed — and is not supported on Windows yet."
1650
+ )),
1651
+ default: AgentSandboxEnabledValue.Off,
1652
+ tags: ["experimental", "advanced"],
1653
+ experiment: {
1654
+ mode: "auto"
1655
+ }
1443
1656
  },
1444
1657
  [ChatConfiguration.ToolConfirmationCarousel]: {
1445
1658
  type: "boolean",
1446
1659
  description: ( localize(
1447
- 6031,
1660
+ 6417,
1448
1661
  "When enabled, multiple tool confirmations are batched into a carousel above the input."
1449
1662
  )),
1450
1663
  default: true
@@ -1452,8 +1665,8 @@ configurationRegistry.registerConfiguration({
1452
1665
  [ChatConfiguration.ToolRiskAssessmentEnabled]: {
1453
1666
  type: "boolean",
1454
1667
  description: ( localize(
1455
- 6032,
1456
- "When enabled, terminal tool confirmations show an LLM-generated risk level (Safe / Caution / Review carefully) and a short explanation."
1668
+ 6418,
1669
+ "When enabled, tool confirmations show an LLM-generated risk level (Safe / Caution / Review carefully) and a short explanation."
1457
1670
  )),
1458
1671
  default: true,
1459
1672
  experiment: {
@@ -1463,7 +1676,7 @@ configurationRegistry.registerConfiguration({
1463
1676
  [ChatConfiguration.ToolRiskAssessmentModel]: {
1464
1677
  type: "string",
1465
1678
  description: ( localize(
1466
- 6033,
1679
+ 6419,
1467
1680
  "The language model id used to generate tool risk assessments. Should be a small, fast model."
1468
1681
  )),
1469
1682
  default: "copilot-utility-small",
@@ -1475,7 +1688,7 @@ configurationRegistry.registerConfiguration({
1475
1688
  [ChatConfiguration.PlanAgentDefaultModel]: {
1476
1689
  type: "string",
1477
1690
  description: ( localize(
1478
- 6034,
1691
+ 6420,
1479
1692
  "Select the default language model to use for the Plan agent from the available providers."
1480
1693
  )),
1481
1694
  default: "",
@@ -1486,7 +1699,7 @@ configurationRegistry.registerConfiguration({
1486
1699
  [ChatConfiguration.ExploreAgentDefaultModel]: {
1487
1700
  type: "string",
1488
1701
  description: ( localize(
1489
- 6035,
1702
+ 6421,
1490
1703
  "Select the default language model to use for the Explore subagent from the available providers."
1491
1704
  )),
1492
1705
  default: "",
@@ -1494,11 +1707,28 @@ configurationRegistry.registerConfiguration({
1494
1707
  enumItemLabels: ExploreAgentDefaultModel.modelLabels,
1495
1708
  markdownEnumDescriptions: ExploreAgentDefaultModel.modelDescriptions
1496
1709
  },
1710
+ [ChatConfiguration.BYOKUtilityModelDefault]: {
1711
+ type: "string",
1712
+ markdownDescription: ( localize(
1713
+ 6422,
1714
+ "Controls the default model used by built-in utility flows when the selected main agent model is a bring your own key (BYOK) model. This setting has no effect when the selected main agent model is provided by GitHub Copilot. A specific model configured in {0} or {1} takes precedence.",
1715
+ "`#chat.utilityModel#`",
1716
+ "`#chat.utilitySmallModel#`"
1717
+ )),
1718
+ enum: [
1719
+ BYOKUtilityModelDefault.None,
1720
+ BYOKUtilityModelDefault.MainAgent,
1721
+ BYOKUtilityModelDefault.Copilot
1722
+ ],
1723
+ enumItemLabels: [( localize(6423, "None")), ( localize(6424, "Main Agent Model")), ( localize(6425, "GitHub Copilot"))],
1724
+ markdownEnumDescriptions: [( localize(6426, "Do not use a default utility model.")), ( localize(6427, "Use the selected BYOK main agent model.")), ( localize(6428, "Use the default GitHub Copilot utility models."))],
1725
+ default: BYOKUtilityModelDefault.None
1726
+ },
1497
1727
  [ChatConfiguration.UtilityModel]: {
1498
1728
  type: "string",
1499
1729
  description: ( localize(
1500
- 6036,
1501
- "Override the language model used by built-in utility flows. Leave empty to use the default model."
1730
+ 6429,
1731
+ "Override the language model used by built-in utility flows. Leave empty to use the configured default behavior."
1502
1732
  )),
1503
1733
  default: "",
1504
1734
  enum: UtilityModelContribution.modelIds,
@@ -1508,8 +1738,8 @@ configurationRegistry.registerConfiguration({
1508
1738
  [ChatConfiguration.UtilitySmallModel]: {
1509
1739
  type: "string",
1510
1740
  description: ( localize(
1511
- 6037,
1512
- "Override the language model used by built-in small/fast utility flows. A fast and inexpensive model is recommended. Leave empty to use the default model."
1741
+ 6430,
1742
+ "Override the language model used by built-in small/fast utility flows. A fast and inexpensive model is recommended. Leave empty to use the configured default behavior."
1513
1743
  )),
1514
1744
  default: "",
1515
1745
  enum: UtilitySmallModelContribution.modelIds,
@@ -1519,45 +1749,25 @@ configurationRegistry.registerConfiguration({
1519
1749
  [ChatConfiguration.RequestQueueingDefaultAction]: {
1520
1750
  type: "string",
1521
1751
  enum: ["queue", "steer"],
1522
- enumDescriptions: [( localize(6038, "Queue the message to send after the current request completes.")), ( localize(
1523
- 6039,
1752
+ enumDescriptions: [( localize(6431, "Queue the message to send after the current request completes.")), ( localize(
1753
+ 6432,
1524
1754
  "Steer the current request by sending the message immediately, signaling the current request to yield."
1525
1755
  ))],
1526
1756
  description: ( localize(
1527
- 6040,
1757
+ 6433,
1528
1758
  "Controls which action is the default for the queue button when a request is in progress."
1529
1759
  )),
1530
1760
  default: "steer"
1531
1761
  },
1532
- [ChatConfiguration.EditModeHidden]: {
1533
- type: "boolean",
1534
- description: ( localize(6041, "When enabled, hides the Edit mode from the chat mode picker.")),
1535
- default: true,
1536
- tags: ["experimental"],
1537
- experiment: {
1538
- mode: "auto"
1539
- },
1540
- policy: {
1541
- name: "DeprecatedEditModeHidden",
1542
- category: PolicyCategory.InteractiveSession,
1543
- minimumVersion: "1.112",
1544
- localization: {
1545
- description: {
1546
- key: "chat.editMode.hidden",
1547
- value: ( localize(6041, "When enabled, hides the Edit mode from the chat mode picker."))
1548
- }
1549
- }
1550
- }
1551
- },
1552
1762
  [ChatConfiguration.EnableMath]: {
1553
1763
  type: "boolean",
1554
- description: ( localize(6042, "Enable math rendering in chat responses using KaTeX.")),
1764
+ description: ( localize(6434, "Enable math rendering in chat responses using KaTeX.")),
1555
1765
  default: true
1556
1766
  },
1557
1767
  [ChatConfiguration.ShowCodeBlockProgressAnimation]: {
1558
1768
  type: "boolean",
1559
1769
  description: ( localize(
1560
- 6043,
1770
+ 6435,
1561
1771
  "When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
1562
1772
  )),
1563
1773
  default: true,
@@ -1572,7 +1782,7 @@ configurationRegistry.registerConfiguration({
1572
1782
  additionalProperties: false,
1573
1783
  default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
1574
1784
  markdownDescription: ( localize(
1575
- 6044,
1785
+ 6436,
1576
1786
  "Configures discovery of Model Context Protocol servers from configuration from various other applications."
1577
1787
  ))
1578
1788
  },
@@ -1581,14 +1791,14 @@ configurationRegistry.registerConfiguration({
1581
1791
  default: false,
1582
1792
  tags: ["preview"],
1583
1793
  description: ( localize(
1584
- 6045,
1794
+ 6437,
1585
1795
  "Enables the default Marketplace for Model Context Protocol (MCP) servers."
1586
1796
  )),
1587
1797
  included: product.quality === "stable"
1588
1798
  },
1589
1799
  [mcpGalleryServiceUrlConfig]: {
1590
1800
  type: "string",
1591
- description: ( localize(6046, "Configure the MCP Gallery service URL to connect to")),
1801
+ description: ( localize(6438, "Configure the MCP Gallery service URL to connect to")),
1592
1802
  default: "",
1593
1803
  scope: ConfigurationScope.APPLICATION,
1594
1804
  tags: ["usesOnlineServices", "advanced"],
@@ -1601,16 +1811,16 @@ configurationRegistry.registerConfiguration({
1601
1811
  localization: {
1602
1812
  description: {
1603
1813
  key: "mcp.gallery.serviceUrl",
1604
- value: ( localize(6046, "Configure the MCP Gallery service URL to connect to"))
1814
+ value: ( localize(6438, "Configure the MCP Gallery service URL to connect to"))
1605
1815
  }
1606
1816
  }
1607
1817
  }
1608
1818
  },
1609
1819
  [PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
1610
1820
  type: "object",
1611
- title: ( localize(6047, "Instructions File Locations")),
1821
+ title: ( localize(6439, "Instructions File Locations")),
1612
1822
  markdownDescription: ( localize(
1613
- 6048,
1823
+ 6440,
1614
1824
  "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.",
1615
1825
  INSTRUCTION_FILE_EXTENSION,
1616
1826
  INSTRUCTIONS_DOCUMENTATION_URL
@@ -1629,7 +1839,7 @@ configurationRegistry.registerConfiguration({
1629
1839
  propertyNames: {
1630
1840
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1631
1841
  patternErrorMessage: ( localize(
1632
- 6049,
1842
+ 6441,
1633
1843
  "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."
1634
1844
  ))
1635
1845
  },
@@ -1644,9 +1854,9 @@ configurationRegistry.registerConfiguration({
1644
1854
  },
1645
1855
  [PromptsConfig.PROMPT_LOCATIONS_KEY]: {
1646
1856
  type: "object",
1647
- title: ( localize(6050, "Prompt File Locations")),
1857
+ title: ( localize(6442, "Prompt File Locations")),
1648
1858
  markdownDescription: ( localize(
1649
- 6051,
1859
+ 6443,
1650
1860
  "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.",
1651
1861
  PROMPT_FILE_EXTENSION,
1652
1862
  PROMPT_DOCUMENTATION_URL
@@ -1663,7 +1873,7 @@ configurationRegistry.registerConfiguration({
1663
1873
  propertyNames: {
1664
1874
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1665
1875
  patternErrorMessage: ( localize(
1666
- 6052,
1876
+ 6444,
1667
1877
  "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."
1668
1878
  ))
1669
1879
  },
@@ -1678,9 +1888,9 @@ configurationRegistry.registerConfiguration({
1678
1888
  },
1679
1889
  [PromptsConfig.MODE_LOCATION_KEY]: {
1680
1890
  type: "object",
1681
- title: ( localize(6053, "Mode File Locations")),
1891
+ title: ( localize(6445, "Mode File Locations")),
1682
1892
  markdownDescription: ( localize(
1683
- 6054,
1893
+ 6446,
1684
1894
  "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.",
1685
1895
  LEGACY_MODE_FILE_EXTENSION,
1686
1896
  AGENT_DOCUMENTATION_URL
@@ -1689,7 +1899,7 @@ configurationRegistry.registerConfiguration({
1689
1899
  [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
1690
1900
  },
1691
1901
  deprecationMessage: ( localize(
1692
- 6055,
1902
+ 6447,
1693
1903
  "This setting is deprecated and will be removed in future releases. Chat modes are now called custom agents and are located in `.github/agents`"
1694
1904
  )),
1695
1905
  additionalProperties: {
@@ -1715,9 +1925,9 @@ configurationRegistry.registerConfiguration({
1715
1925
  },
1716
1926
  [PromptsConfig.AGENTS_LOCATION_KEY]: {
1717
1927
  type: "object",
1718
- title: ( localize(6056, "Agent File Locations")),
1928
+ title: ( localize(6448, "Agent File Locations")),
1719
1929
  markdownDescription: ( localize(
1720
- 6057,
1930
+ 6449,
1721
1931
  "Specify location(s) of custom agent files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
1722
1932
  AGENT_FILE_EXTENSION,
1723
1933
  AGENT_DOCUMENTATION_URL
@@ -1733,7 +1943,7 @@ configurationRegistry.registerConfiguration({
1733
1943
  propertyNames: {
1734
1944
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1735
1945
  patternErrorMessage: ( localize(
1736
- 6058,
1946
+ 6450,
1737
1947
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1738
1948
  ))
1739
1949
  },
@@ -1750,9 +1960,9 @@ configurationRegistry.registerConfiguration({
1750
1960
  },
1751
1961
  [PromptsConfig.USE_AGENT_MD]: {
1752
1962
  type: "boolean",
1753
- title: ( localize(6059, "Use AGENTS.md file")),
1963
+ title: ( localize(6451, "Use AGENTS.md file")),
1754
1964
  markdownDescription: ( localize(
1755
- 6060,
1965
+ 6452,
1756
1966
  "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
1757
1967
  )),
1758
1968
  default: true,
@@ -1762,9 +1972,9 @@ configurationRegistry.registerConfiguration({
1762
1972
  },
1763
1973
  [PromptsConfig.USE_NESTED_AGENT_MD]: {
1764
1974
  type: "boolean",
1765
- title: ( localize(6061, "Use nested AGENTS.md files")),
1975
+ title: ( localize(6453, "Use nested AGENTS.md files")),
1766
1976
  markdownDescription: ( localize(
1767
- 6062,
1977
+ 6454,
1768
1978
  "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."
1769
1979
  )),
1770
1980
  default: false,
@@ -1780,9 +1990,9 @@ configurationRegistry.registerConfiguration({
1780
1990
  },
1781
1991
  [PromptsConfig.USE_CLAUDE_MD]: {
1782
1992
  type: "boolean",
1783
- title: ( localize(6063, "Use CLAUDE.md file")),
1993
+ title: ( localize(6455, "Use CLAUDE.md file")),
1784
1994
  markdownDescription: ( localize(
1785
- 6064,
1995
+ 6456,
1786
1996
  "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests."
1787
1997
  )),
1788
1998
  default: true,
@@ -1792,9 +2002,9 @@ configurationRegistry.registerConfiguration({
1792
2002
  },
1793
2003
  [PromptsConfig.USE_AGENT_SKILLS]: {
1794
2004
  type: "boolean",
1795
- title: ( localize(6065, "Use Agent skills")),
2005
+ title: ( localize(6457, "Use Agent skills")),
1796
2006
  markdownDescription: ( localize(
1797
- 6066,
2007
+ 6458,
1798
2008
  "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)."
1799
2009
  )),
1800
2010
  default: true,
@@ -1804,9 +2014,9 @@ configurationRegistry.registerConfiguration({
1804
2014
  },
1805
2015
  [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
1806
2016
  type: "boolean",
1807
- title: ( localize(6067, "Use Skill Adherence Prompt")),
2017
+ title: ( localize(6459, "Use Skill Adherence Prompt")),
1808
2018
  markdownDescription: ( localize(
1809
- 6068,
2019
+ 6460,
1810
2020
  "Controls whether a stronger skill adherence prompt is used that encourages the model to immediately invoke skills when relevant rather than just announcing them."
1811
2021
  )),
1812
2022
  default: false,
@@ -1825,9 +2035,9 @@ configurationRegistry.registerConfiguration({
1825
2035
  },
1826
2036
  [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
1827
2037
  type: "boolean",
1828
- title: ( localize(6069, "Include Applying Instructions")),
2038
+ title: ( localize(6461, "Include Applying Instructions")),
1829
2039
  markdownDescription: ( localize(
1830
- 6070,
2040
+ 6462,
1831
2041
  "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
1832
2042
  )),
1833
2043
  default: true,
@@ -1837,9 +2047,9 @@ configurationRegistry.registerConfiguration({
1837
2047
  },
1838
2048
  [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
1839
2049
  type: "boolean",
1840
- title: ( localize(6071, "Include Referenced Instructions")),
2050
+ title: ( localize(6463, "Include Referenced Instructions")),
1841
2051
  markdownDescription: ( localize(
1842
- 6072,
2052
+ 6464,
1843
2053
  "Controls whether referenced instructions are automatically included in chat requests."
1844
2054
  )),
1845
2055
  default: false,
@@ -1849,9 +2059,9 @@ configurationRegistry.registerConfiguration({
1849
2059
  },
1850
2060
  [PromptsConfig.USE_CUSTOMIZATIONS_IN_PARENT_REPOS]: {
1851
2061
  type: "boolean",
1852
- title: ( localize(6073, "Use Customizations in Parent Repositories")),
2062
+ title: ( localize(6465, "Use Customizations in Parent Repositories")),
1853
2063
  markdownDescription: ( localize(
1854
- 6074,
2064
+ 6466,
1855
2065
  "Controls whether to use chat customization files in parent repositories."
1856
2066
  )),
1857
2067
  default: false,
@@ -1861,9 +2071,9 @@ configurationRegistry.registerConfiguration({
1861
2071
  },
1862
2072
  [PromptsConfig.SKILLS_LOCATION_KEY]: {
1863
2073
  type: "object",
1864
- title: ( localize(6075, "Agent Skills Locations")),
2074
+ title: ( localize(6467, "Agent Skills Locations")),
1865
2075
  markdownDescription: ( localize(
1866
- 6076,
2076
+ 6468,
1867
2077
  "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.",
1868
2078
  SKILL_FILENAME,
1869
2079
  SKILL_DOCUMENTATION_URL
@@ -1882,7 +2092,7 @@ configurationRegistry.registerConfiguration({
1882
2092
  propertyNames: {
1883
2093
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1884
2094
  patternErrorMessage: ( localize(
1885
- 6077,
2095
+ 6469,
1886
2096
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1887
2097
  ))
1888
2098
  },
@@ -1899,9 +2109,9 @@ configurationRegistry.registerConfiguration({
1899
2109
  },
1900
2110
  [PromptsConfig.HOOKS_LOCATION_KEY]: {
1901
2111
  type: "object",
1902
- title: ( localize(6078, "Hook File Locations")),
2112
+ title: ( localize(6470, "Hook File Locations")),
1903
2113
  markdownDescription: ( localize(
1904
- 6079,
2114
+ 6471,
1905
2115
  "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`).",
1906
2116
  HOOK_DOCUMENTATION_URL
1907
2117
  )),
@@ -1919,7 +2129,7 @@ configurationRegistry.registerConfiguration({
1919
2129
  propertyNames: {
1920
2130
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1921
2131
  patternErrorMessage: ( localize(
1922
- 6080,
2132
+ 6472,
1923
2133
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1924
2134
  ))
1925
2135
  },
@@ -1941,9 +2151,9 @@ configurationRegistry.registerConfiguration({
1941
2151
  },
1942
2152
  [PromptsConfig.USE_CHAT_HOOKS]: {
1943
2153
  type: "boolean",
1944
- title: ( localize(6081, "Use Chat Hooks")),
2154
+ title: ( localize(6473, "Use Chat Hooks")),
1945
2155
  markdownDescription: ( localize(
1946
- 6082,
2156
+ 6474,
1947
2157
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1948
2158
  )),
1949
2159
  default: true,
@@ -1959,7 +2169,7 @@ configurationRegistry.registerConfiguration({
1959
2169
  description: {
1960
2170
  key: "chat.useHooks.description",
1961
2171
  value: ( localize(
1962
- 6082,
2172
+ 6474,
1963
2173
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1964
2174
  ))
1965
2175
  }
@@ -1968,9 +2178,9 @@ configurationRegistry.registerConfiguration({
1968
2178
  },
1969
2179
  [PromptsConfig.USE_CLAUDE_HOOKS]: {
1970
2180
  type: "boolean",
1971
- title: ( localize(6083, "Use Claude Hooks")),
2181
+ title: ( localize(6475, "Use Claude Hooks")),
1972
2182
  markdownDescription: ( localize(
1973
- 6084,
2183
+ 6476,
1974
2184
  "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#`."
1975
2185
  )),
1976
2186
  default: false,
@@ -1981,9 +2191,9 @@ configurationRegistry.registerConfiguration({
1981
2191
  [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
1982
2192
  type: "object",
1983
2193
  scope: ConfigurationScope.RESOURCE,
1984
- title: ( localize(6085, "Prompt File Recommendations")),
2194
+ title: ( localize(6477, "Prompt File Recommendations")),
1985
2195
  markdownDescription: ( localize(
1986
- 6086,
2196
+ 6478,
1987
2197
  "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`."
1988
2198
  )),
1989
2199
  default: {},
@@ -2005,7 +2215,7 @@ configurationRegistry.registerConfiguration({
2005
2215
  type: "boolean",
2006
2216
  default: true,
2007
2217
  description: ( localize(
2008
- 6087,
2218
+ 6479,
2009
2219
  "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."
2010
2220
  ))
2011
2221
  },
@@ -2013,21 +2223,21 @@ configurationRegistry.registerConfiguration({
2013
2223
  type: "string",
2014
2224
  default: "fixedScrolling",
2015
2225
  enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
2016
- enumDescriptions: [( localize(6088, "Thinking parts will be collapsed by default.")), ( localize(
2017
- 6089,
2226
+ enumDescriptions: [( localize(6480, "Thinking parts will be collapsed by default.")), ( localize(
2227
+ 6481,
2018
2228
  "Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
2019
2229
  )), ( localize(
2020
- 6090,
2230
+ 6482,
2021
2231
  "Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
2022
2232
  ))],
2023
- description: ( localize(6091, "Controls how thinking is rendered.")),
2233
+ description: ( localize(6483, "Controls how thinking is rendered.")),
2024
2234
  tags: ["experimental"]
2025
2235
  },
2026
2236
  [ChatConfiguration.ThinkingGenerateTitles]: {
2027
2237
  type: "boolean",
2028
2238
  default: true,
2029
2239
  description: ( localize(
2030
- 6092,
2240
+ 6484,
2031
2241
  "Controls whether to use an LLM to generate summary titles for thinking sections."
2032
2242
  )),
2033
2243
  tags: ["experimental"]
@@ -2036,12 +2246,12 @@ configurationRegistry.registerConfiguration({
2036
2246
  type: "string",
2037
2247
  default: "always",
2038
2248
  enum: ["off", "withThinking", "always"],
2039
- enumDescriptions: [( localize(6093, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
2040
- 6094,
2249
+ enumDescriptions: [( localize(6485, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
2250
+ 6486,
2041
2251
  "Tool calls are collapsed into thinking sections when thinking is present."
2042
- )), ( localize(6095, "Tool calls are always collapsed, even without thinking."))],
2252
+ )), ( localize(6487, "Tool calls are always collapsed, even without thinking."))],
2043
2253
  markdownDescription: ( localize(
2044
- 6096,
2254
+ 6488,
2045
2255
  "Controls how tool calls are displayed in relation to thinking sections."
2046
2256
  )),
2047
2257
  tags: ["experimental"]
@@ -2050,7 +2260,7 @@ configurationRegistry.registerConfiguration({
2050
2260
  type: "boolean",
2051
2261
  default: true,
2052
2262
  markdownDescription: ( localize(
2053
- 6097,
2263
+ 6489,
2054
2264
  "When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
2055
2265
  )),
2056
2266
  tags: ["experimental"]
@@ -2059,7 +2269,7 @@ configurationRegistry.registerConfiguration({
2059
2269
  type: "boolean",
2060
2270
  default: true,
2061
2271
  markdownDescription: ( localize(
2062
- 6098,
2272
+ 6490,
2063
2273
  "When enabled, terminal tool calls are always displayed in a collapsible container with a simplified view."
2064
2274
  )),
2065
2275
  tags: ["experimental"]
@@ -2068,7 +2278,7 @@ configurationRegistry.registerConfiguration({
2068
2278
  type: "boolean",
2069
2279
  default: false,
2070
2280
  markdownDescription: ( localize(
2071
- 6099,
2281
+ 6491,
2072
2282
  "Post-process tool output (for example `git diff`, `ls -l`, or `npm install`) to reduce token usage before it is sent to the model."
2073
2283
  )),
2074
2284
  tags: ["preview"],
@@ -2088,7 +2298,7 @@ configurationRegistry.registerConfiguration({
2088
2298
  enum: ["replace", "append"],
2089
2299
  default: "append",
2090
2300
  description: ( localize(
2091
- 6100,
2301
+ 6492,
2092
2302
  "'replace' replaces all default phrases entirely; 'append' adds your phrases to all default categories."
2093
2303
  ))
2094
2304
  },
@@ -2099,14 +2309,14 @@ configurationRegistry.registerConfiguration({
2099
2309
  },
2100
2310
  default: [],
2101
2311
  description: ( localize(
2102
- 6101,
2312
+ 6493,
2103
2313
  "Custom loading messages to show during thinking, working progress, terminal, and tool operations."
2104
2314
  ))
2105
2315
  }
2106
2316
  },
2107
2317
  additionalProperties: false,
2108
2318
  markdownDescription: ( localize(
2109
- 6102,
2319
+ 6494,
2110
2320
  "Customize the loading messages shown during agent thinking and progress indicators. Use `\"mode\": \"replace\"` to use only your phrases, or `\"mode\": \"append\"` to add them to the defaults."
2111
2321
  )),
2112
2322
  tags: ["experimental"]
@@ -2115,14 +2325,14 @@ configurationRegistry.registerConfiguration({
2115
2325
  type: "boolean",
2116
2326
  default: true,
2117
2327
  markdownDescription: ( localize(
2118
- 6103,
2328
+ 6495,
2119
2329
  "When enabled, tool failures are automatically expanded in the chat UI to show error details."
2120
2330
  ))
2121
2331
  },
2122
2332
  [ChatConfiguration.AIDisabled]: {
2123
2333
  type: "boolean",
2124
2334
  description: ( localize(
2125
- 6104,
2335
+ 6496,
2126
2336
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
2127
2337
  )),
2128
2338
  default: false,
@@ -2135,7 +2345,7 @@ configurationRegistry.registerConfiguration({
2135
2345
  description: {
2136
2346
  key: "chat.disableAIFeatures",
2137
2347
  value: ( localize(
2138
- 6104,
2348
+ 6496,
2139
2349
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
2140
2350
  ))
2141
2351
  }
@@ -2145,7 +2355,7 @@ configurationRegistry.registerConfiguration({
2145
2355
  [ChatConfiguration.TitleBarSignInEnabled]: {
2146
2356
  type: "boolean",
2147
2357
  description: ( localize(
2148
- 6105,
2358
+ 6497,
2149
2359
  "Controls whether the Copilot Sign In button is shown in the title bar when signed out. When disabled, the Sign In affordance falls back to the status bar."
2150
2360
  )),
2151
2361
  default: true
@@ -2153,7 +2363,7 @@ configurationRegistry.registerConfiguration({
2153
2363
  [ChatConfiguration.TitleBarOpenInAgentsWindowEnabled]: {
2154
2364
  type: "boolean",
2155
2365
  description: ( localize(
2156
- 6106,
2366
+ 6498,
2157
2367
  "Controls whether the Open in Agents Window button is shown in the title bar."
2158
2368
  )),
2159
2369
  default: true
@@ -2164,7 +2374,7 @@ configurationRegistry.registerConfiguration({
2164
2374
  type: "string"
2165
2375
  },
2166
2376
  description: ( localize(
2167
- 6107,
2377
+ 6499,
2168
2378
  "List of GitHub organization logins whose members are permitted to use AI features. When set to a non-empty list, AI features are disabled until the user signs into a GitHub account that belongs to one of the specified organizations and account-level policy data has been resolved. Set to '*' to allow any authenticated GitHub or GitHub Enterprise account."
2169
2379
  )),
2170
2380
  default: [],
@@ -2177,7 +2387,7 @@ configurationRegistry.registerConfiguration({
2177
2387
  description: {
2178
2388
  key: "chat.approvedAccountOrganizations.policy.description",
2179
2389
  value: ( localize(
2180
- 6108,
2390
+ 6500,
2181
2391
  "Setting this policy to a non-empty list activates the Approved Account gate: all AI features are disabled until the user signs into a GitHub account whose organizations intersect this list AND the account-side policy data has resolved. Comparison is case-insensitive. Use '*' as a wildcard to accept any signed-in GitHub or GHE account (use this for GHE deployments where the organization list is not surfaced)."
2182
2392
  ))
2183
2393
  }
@@ -2186,7 +2396,7 @@ configurationRegistry.registerConfiguration({
2186
2396
  },
2187
2397
  "chat.allowAnonymousAccess": {
2188
2398
  type: "boolean",
2189
- description: ( localize(6109, "Controls whether anonymous access is allowed in chat.")),
2399
+ description: ( localize(6501, "Controls whether anonymous access is allowed in chat.")),
2190
2400
  default: false,
2191
2401
  included: false,
2192
2402
  tags: ["experimental"],
@@ -2197,7 +2407,7 @@ configurationRegistry.registerConfiguration({
2197
2407
  [ChatConfiguration.GrowthNotificationEnabled]: {
2198
2408
  type: "boolean",
2199
2409
  description: ( localize(
2200
- 6110,
2410
+ 6502,
2201
2411
  "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
2202
2412
  )),
2203
2413
  default: false,
@@ -2209,7 +2419,7 @@ configurationRegistry.registerConfiguration({
2209
2419
  [ChatConfiguration.RestoreLastPanelSession]: {
2210
2420
  type: "boolean",
2211
2421
  description: ( localize(
2212
- 6111,
2422
+ 6503,
2213
2423
  "Controls whether the last session is restored in panel after restart."
2214
2424
  )),
2215
2425
  default: false
@@ -2217,7 +2427,7 @@ configurationRegistry.registerConfiguration({
2217
2427
  [ChatConfiguration.ExitAfterDelegation]: {
2218
2428
  type: "boolean",
2219
2429
  description: ( localize(
2220
- 6112,
2430
+ 6504,
2221
2431
  "Controls whether the chat panel automatically exits after delegating a request to another session."
2222
2432
  )),
2223
2433
  default: false,
@@ -2226,7 +2436,7 @@ configurationRegistry.registerConfiguration({
2226
2436
  "chat.extensionUnification.enabled": {
2227
2437
  type: "boolean",
2228
2438
  description: ( localize(
2229
- 6113,
2439
+ 6505,
2230
2440
  "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."
2231
2441
  )),
2232
2442
  default: true,
@@ -2238,7 +2448,7 @@ configurationRegistry.registerConfiguration({
2238
2448
  [ChatConfiguration.GeneralPurposeAgentEnabled]: {
2239
2449
  type: "boolean",
2240
2450
  description: ( localize(
2241
- 6114,
2451
+ 6506,
2242
2452
  "Controls whether the built-in General Purpose agent is available as a subagent."
2243
2453
  )),
2244
2454
  default: false,
@@ -2249,9 +2459,9 @@ configurationRegistry.registerConfiguration({
2249
2459
  },
2250
2460
  [ChatConfiguration.SubagentsAllowInvocationsFromSubagents]: {
2251
2461
  type: "boolean",
2252
- description: ( localize(6115, "Allow subagents to invoke subagents.")),
2462
+ description: ( localize(6507, "Allow subagents to invoke subagents.")),
2253
2463
  markdownDescription: ( localize(
2254
- 6116,
2464
+ 6508,
2255
2465
  "Controls whether subagents can invoke other subagents. When enabled, nesting is limited to a maximum depth of 5."
2256
2466
  )),
2257
2467
  default: false,
@@ -2259,20 +2469,20 @@ configurationRegistry.registerConfiguration({
2259
2469
  mode: "auto"
2260
2470
  }
2261
2471
  },
2262
- [ChatConfiguration.ChatCustomizationHarnessSelectorEnabled]: {
2472
+ [ChatConfiguration.CollectInstructionsInExtension]: {
2263
2473
  type: "boolean",
2264
- tags: ["preview"],
2265
2474
  description: ( localize(
2266
- 6117,
2267
- "Controls whether the harness selector is shown in the Chat Customizations editor sidebar. When disabled, the editor always shows all customizations without filtering."
2475
+ 6509,
2476
+ "When enabled, automatic instruction collection (.instructions.md, agent instructions, customizations index) is performed by the GitHub Copilot Chat extension instead of the core workbench."
2268
2477
  )),
2269
- default: true
2478
+ default: false,
2479
+ tags: ["experimental"]
2270
2480
  },
2271
2481
  [ChatConfiguration.ChatCustomizationsStructuredPreviewEnabled]: {
2272
2482
  type: "boolean",
2273
2483
  tags: ["preview"],
2274
2484
  description: ( localize(
2275
- 6118,
2485
+ 6510,
2276
2486
  "Controls whether the Chat Customizations editor shows a structured preview for markdown customization files (agents, skills, instructions, prompts). When disabled, the editor always opens the raw markdown in the embedded code editor."
2277
2487
  )),
2278
2488
  default: false
@@ -2280,24 +2490,44 @@ configurationRegistry.registerConfiguration({
2280
2490
  }
2281
2491
  });
2282
2492
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2283
- EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(6119, "Chat"))),
2493
+ EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(6511, "Chat"))),
2284
2494
  [( new SyncDescriptor(ChatEditorInput))]
2285
2495
  );
2286
2496
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2287
- EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(6120, "Debug View"))),
2497
+ EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(6512, "Debug View"))),
2288
2498
  [( new SyncDescriptor(ChatDebugEditorInput))]
2289
2499
  );
2290
2500
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2291
- EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(6121, "Agent Plugin"))),
2501
+ EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(6513, "Agent Plugin"))),
2292
2502
  [( new SyncDescriptor(AgentPluginEditorInput))]
2293
2503
  );
2294
2504
  ( Registry.as(Extensions$2.ConfigurationMigration)).registerConfigurationMigrations([{
2505
+ key: "chat.agentSessions.defaultConfiguration",
2506
+ migrateFn: (value, _accessor) => ([["chat.agentSessions.defaultConfiguration", {
2507
+ value: undefined
2508
+ }], [ChatConfiguration.DefaultConfiguration, {
2509
+ value
2510
+ }]])
2511
+ }, {
2295
2512
  key: "chat.experimental.detectParticipant.enabled",
2296
2513
  migrateFn: (value, _accessor) => ([["chat.experimental.detectParticipant.enabled", {
2297
2514
  value: undefined
2298
2515
  }], ["chat.detectParticipant.enabled", {
2299
2516
  value: value !== false
2300
2517
  }]])
2518
+ }, {
2519
+ key: "chat.useCopilotModelsForUtilityModels",
2520
+ migrateFn: (value, valueAccessor) => {
2521
+ const result = [["chat.useCopilotModelsForUtilityModels", {
2522
+ value: undefined
2523
+ }]];
2524
+ if (typeof value === "boolean" && valueAccessor(ChatConfiguration.BYOKUtilityModelDefault) === undefined) {
2525
+ result.push([ChatConfiguration.BYOKUtilityModelDefault, {
2526
+ value: value ? BYOKUtilityModelDefault.Copilot : BYOKUtilityModelDefault.None
2527
+ }]);
2528
+ }
2529
+ return result;
2530
+ }
2301
2531
  }, {
2302
2532
  key: "chat.useClaudeSkills",
2303
2533
  migrateFn: (value, _accessor) => ([["chat.useClaudeSkills", {
@@ -2435,7 +2665,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
2435
2665
  _registerEditor(scheme) {
2436
2666
  this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
2437
2667
  id: ChatEditorInput.EditorID,
2438
- label: ( localize(6119, "Chat")),
2668
+ label: ( localize(6511, "Chat")),
2439
2669
  priority: RegisteredEditorPriority.builtin
2440
2670
  }, {
2441
2671
  singlePerResource: true,
@@ -2487,7 +2717,7 @@ let ChatDebugResolverContribution = class ChatDebugResolverContribution {
2487
2717
  constructor(editorResolverService) {
2488
2718
  editorResolverService.registerEditor(`${ChatDebugEditorInput.RESOURCE.scheme}:**/**`, {
2489
2719
  id: ChatDebugEditorInput.ID,
2490
- label: ( localize(6120, "Debug View")),
2720
+ label: ( localize(6512, "Debug View")),
2491
2721
  priority: RegisteredEditorPriority.exclusive
2492
2722
  }, {
2493
2723
  singlePerResource: true,
@@ -2526,13 +2756,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
2526
2756
  this.experimentService.getTreatment(treatmentId).then(value => {
2527
2757
  const node = {
2528
2758
  id: "chatSidebar",
2529
- title: ( localize(5880, "Chat")),
2759
+ title: ( localize(6246, "Chat")),
2530
2760
  type: "object",
2531
2761
  properties: {
2532
2762
  "chat.agent.maxRequests": {
2533
2763
  type: "number",
2534
2764
  markdownDescription: ( localize(
2535
- 6122,
2765
+ 6514,
2536
2766
  "The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."
2537
2767
  )),
2538
2768
  default: value ?? 50,
@@ -2569,13 +2799,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
2569
2799
  this.experimentService.getTreatment("chatDefaultNewSessionMode").then(value => {
2570
2800
  const node = {
2571
2801
  id: "chatSidebar",
2572
- title: ( localize(5880, "Chat")),
2802
+ title: ( localize(6246, "Chat")),
2573
2803
  type: "object",
2574
2804
  properties: {
2575
2805
  [ChatConfiguration.DefaultNewSessionMode]: {
2576
2806
  type: "string",
2577
2807
  description: ( localize(
2578
- 6026,
2808
+ 6409,
2579
2809
  "The default mode for new chat sessions. When empty, the chat view's default mode is used."
2580
2810
  )),
2581
2811
  default: typeof value === "string" ? value : ""
@@ -2751,7 +2981,7 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
2751
2981
  for (const tool of tools) {
2752
2982
  toolReferenceNameEnumValues.push(tool.toolReferenceName);
2753
2983
  toolReferenceNameEnumDescriptions.push(( localize(
2754
- 6123,
2984
+ 6515,
2755
2985
  "{0} - {1}",
2756
2986
  tool.toolReferenceName,
2757
2987
  tool.userDescription || tool.displayName
@@ -2795,6 +3025,11 @@ registerWorkbenchContribution2(
2795
3025
  PromptsDebugContribution,
2796
3026
  WorkbenchPhase.BlockRestore
2797
3027
  );
3028
+ registerWorkbenchContribution2(
3029
+ AgentHostChatDebugContribution.ID,
3030
+ AgentHostChatDebugContribution,
3031
+ WorkbenchPhase.BlockRestore
3032
+ );
2798
3033
  registerWorkbenchContribution2(
2799
3034
  ChatLanguageModelsDataContribution.ID,
2800
3035
  ChatLanguageModelsDataContribution,
@@ -2865,6 +3100,11 @@ registerWorkbenchContribution2(
2865
3100
  ChatQuotaNotificationContribution,
2866
3101
  WorkbenchPhase.AfterRestored
2867
3102
  );
3103
+ registerWorkbenchContribution2(
3104
+ LocalAgentDisabledInputTipContribution.ID,
3105
+ LocalAgentDisabledInputTipContribution,
3106
+ WorkbenchPhase.AfterRestored
3107
+ );
2868
3108
  registerWorkbenchContribution2(
2869
3109
  HasByokModelsContribution.ID,
2870
3110
  HasByokModelsContribution,
@@ -2881,6 +3121,11 @@ registerWorkbenchContribution2(
2881
3121
  BuiltinToolsContribution,
2882
3122
  WorkbenchPhase.Eventually
2883
3123
  );
3124
+ registerWorkbenchContribution2(
3125
+ ClientToolSetsContribution.ID,
3126
+ ClientToolSetsContribution,
3127
+ WorkbenchPhase.Eventually
3128
+ );
2884
3129
  registerWorkbenchContribution2(
2885
3130
  UsagesToolContribution.ID,
2886
3131
  UsagesToolContribution,
@@ -3010,8 +3255,8 @@ registerChatPluginActions();
3010
3255
  registerPlanReviewFeedbackEditorActions();
3011
3256
  registerAction2(ConfigureToolSets);
3012
3257
  registerEditorFeature(ChatPasteProvidersFeature);
3013
- agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ConfiguredAgentPluginDiscovery)));
3014
- agentPluginDiscoveryRegistry.register(( new SyncDescriptor(MarketplaceAgentPluginDiscovery)));
3015
- agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ExtensionAgentPluginDiscovery)));
3016
- agentPluginDiscoveryRegistry.register(( new SyncDescriptor(CopilotCliAgentPluginDiscovery)));
3258
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ConfiguredAgentPluginDiscovery)), AgentPluginDiscoveryPriority.Configured);
3259
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(MarketplaceAgentPluginDiscovery)), AgentPluginDiscoveryPriority.Marketplace);
3260
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ExtensionAgentPluginDiscovery)), AgentPluginDiscoveryPriority.Extension);
3261
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(CopilotCliAgentPluginDiscovery)), AgentPluginDiscoveryPriority.CopilotCli);
3017
3262
  ChatWidget.CONTRIBS.push(ChatDynamicVariableModel);