@codingame/monaco-vscode-chat-service-override 36.2.7 → 37.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 (725) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +92 -10
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +10 -3
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +54 -17
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.d.ts +14 -0
  7. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +46 -0
  8. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +7 -2
  9. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +34 -2
  10. package/vscode/src/vs/platform/agentHost/browser/{remoteAgentHostProtocolClient.d.ts → agentHostProtocolClient.d.ts} +240 -60
  11. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1911 -0
  12. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +30 -33
  13. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +381 -315
  14. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +3 -1
  15. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +2 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.d.ts +9 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.js +20 -0
  18. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.d.ts +144 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.js +20 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +14 -6
  21. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +14 -10
  22. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +1 -1
  23. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.d.ts +47 -0
  24. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.js +75 -0
  25. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.d.ts +68 -0
  26. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.js +161 -0
  27. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +288 -45
  28. package/vscode/src/vs/platform/agentHost/common/agentMerge.d.ts +261 -0
  29. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +67 -0
  30. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.d.ts +53 -0
  31. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.js +45 -0
  32. package/vscode/src/vs/platform/agentHost/common/changesetUri.d.ts +130 -0
  33. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +27 -0
  34. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +8 -2
  35. package/vscode/src/vs/platform/agentHost/common/customAgents.js +7 -0
  36. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.d.ts +39 -0
  37. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.js +25 -0
  38. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.d.ts +110 -0
  39. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +38 -0
  40. package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.d.ts +4 -0
  41. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.d.ts +7 -0
  42. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.js +14 -0
  43. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +3 -3
  44. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +16 -24
  45. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.d.ts +8 -0
  46. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.js +8 -0
  47. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.d.ts +75 -0
  48. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.js +84 -0
  49. package/vscode/src/vs/platform/agentHost/common/shellInitScript.d.ts +24 -0
  50. package/vscode/src/vs/platform/agentHost/common/shellInitScript.js +63 -0
  51. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +71 -20
  52. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +187 -26
  53. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +30 -0
  54. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +87 -0
  55. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +2 -2
  56. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.d.ts +4 -0
  57. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.js +37 -0
  58. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.d.ts +4 -0
  59. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.js +45 -0
  60. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +5 -4
  61. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +100 -35
  62. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +193 -49
  63. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +161 -40
  64. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +1 -1
  65. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +5 -1
  66. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  67. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.d.ts +1 -0
  68. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.js +7 -0
  69. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  70. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +114 -3
  71. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +28 -5
  72. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -2
  73. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.d.ts +34 -0
  74. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.js +28 -0
  75. package/vscode/src/vs/platform/agentHost/common/worktreePaths.d.ts +24 -0
  76. package/vscode/src/vs/platform/agentHost/common/worktreePaths.js +15 -0
  77. package/vscode/src/vs/platform/browserView/common/browserChatToolReferenceNames.d.ts +1 -1
  78. package/vscode/src/vs/platform/chat/common/aiAgentEnv.d.ts +18 -0
  79. package/vscode/src/vs/platform/chat/common/aiAgentEnv.js +6 -0
  80. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +5 -1
  81. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +77 -5
  82. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +1 -1
  83. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +9 -5
  84. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +1 -5
  85. package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -4
  86. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +19 -7
  87. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +49 -37
  88. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +2 -1
  89. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +12 -0
  90. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +1 -2
  91. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +1 -0
  92. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.d.ts +5 -0
  93. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.js +7 -0
  94. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.d.ts +5 -0
  95. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.js +8 -0
  96. package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.d.ts +1 -2
  97. package/vscode/src/vs/workbench/browser/chatChangesPill.d.ts +29 -0
  98. package/vscode/src/vs/workbench/browser/chatChangesPill.js +84 -0
  99. package/vscode/src/vs/workbench/common/chatPullRequest.d.ts +19 -0
  100. package/vscode/src/vs/workbench/common/chatPullRequest.js +53 -0
  101. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +342 -155
  102. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  103. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +25 -2
  104. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +150 -67
  105. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +5 -3
  106. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +5 -1
  107. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +39 -9
  108. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +1 -1
  109. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  110. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  111. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +4 -2
  112. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +54 -17
  113. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  114. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +1 -1
  115. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  116. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +1 -1
  117. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  118. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +6 -0
  119. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +5 -1
  120. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  123. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/media/voiceModeOnboarding.css +252 -0
  124. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  125. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  126. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.d.ts +146 -0
  127. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +889 -0
  128. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +2 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +3 -54
  131. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +32 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +214 -161
  133. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -9
  134. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +2 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +256 -72
  136. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +2 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +19 -15
  140. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +30 -14
  141. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +19 -10
  142. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +9 -9
  143. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  144. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.d.ts +6 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +237 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -6
  147. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  148. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
  149. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.d.ts +6 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +68 -61
  151. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +17 -21
  152. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +17 -21
  153. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +68 -14
  156. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  157. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -19
  158. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +7 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +222 -72
  160. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -17
  161. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +530 -305
  162. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.d.ts +25 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +63 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.d.ts +30 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.js +37 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.d.ts +6 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +95 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +10 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +18 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +86 -47
  173. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +61 -47
  174. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +43 -24
  175. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +326 -76
  176. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +112 -5
  177. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +33 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.d.ts +20 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.js +26 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +28 -10
  181. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +110 -126
  182. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.d.ts +131 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.js +638 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.d.ts +41 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.js +202 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +24 -1
  187. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +26 -5
  188. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +10 -7
  189. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.d.ts +20 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.js +55 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.d.ts +62 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +40 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.d.ts +59 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +624 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.d.ts +90 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +207 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.d.ts +31 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.js +140 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +4 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +5 -1
  201. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +5 -4
  202. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +74 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +511 -171
  204. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.d.ts +32 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.js +48 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +55 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +210 -20
  208. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +43 -24
  209. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +46 -10
  210. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +216 -110
  211. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +9 -4
  212. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +26 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  215. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  216. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  217. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +5 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +6 -6
  220. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  221. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.d.ts +3 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +62 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/sessionSummaryHover.css +104 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.d.ts +115 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +168 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.d.ts +24 -0
  228. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.js +32 -0
  229. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +56 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +0 -4
  231. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +16 -17
  232. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +7 -3
  233. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -0
  234. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +2 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +10 -1
  236. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +48 -1
  237. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +913 -220
  238. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +148 -84
  240. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +161 -17
  241. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +2367 -247
  242. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +5 -2
  243. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +21 -13
  244. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.d.ts +26 -0
  245. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.js +34 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +2 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +23 -0
  248. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +15 -0
  249. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +3 -0
  250. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +10 -2
  251. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +143 -68
  252. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  253. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +10 -5
  254. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.d.ts +40 -0
  255. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +302 -0
  256. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +1 -2
  257. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +49 -8
  258. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +3 -3
  259. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +38 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.js +240 -0
  261. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.d.ts +1 -0
  262. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +53 -0
  263. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.d.ts +82 -0
  264. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +762 -0
  265. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.d.ts +80 -0
  266. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +279 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.d.ts +44 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +437 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +85 -6
  270. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +697 -15
  271. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
  272. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +40 -10
  273. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +164 -42
  274. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +6 -9
  275. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +260 -31
  276. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +2097 -589
  277. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.d.ts +32 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.js +860 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2229 -1338
  280. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +79 -26
  281. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/customizationMigrationDashboard.css +354 -0
  282. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +85 -9
  283. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +1550 -357
  284. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +2 -4
  285. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +13 -27
  286. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +38 -26
  287. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +637 -319
  288. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +28 -10
  289. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.d.ts +10 -0
  290. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.js +22 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.d.ts +15 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.js +38 -0
  293. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.d.ts +8 -0
  294. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.js +38 -0
  295. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +4 -1
  296. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +1675 -633
  297. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +93 -6
  298. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +823 -52
  299. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.d.ts +132 -0
  300. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +446 -0
  301. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +183 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.js +218 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +45 -42
  304. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +11 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +163 -136
  306. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  307. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +7 -7
  308. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +22 -2
  309. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +105 -14
  310. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  311. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.d.ts +32 -0
  312. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +49 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  314. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  316. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  317. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +27 -22
  318. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +6 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +22 -23
  320. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  321. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -25
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +7 -2
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +76 -43
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  329. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.d.ts +145 -0
  330. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +839 -0
  331. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +277 -3
  332. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  333. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +6 -6
  334. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  335. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  336. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  337. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +16 -16
  338. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -4
  339. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  340. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +8 -4
  341. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -3
  343. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +35 -19
  344. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +16 -9
  345. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +4 -3
  346. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +4 -4
  347. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +4 -0
  348. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +7 -2
  349. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  350. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.d.ts +5 -5
  351. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +3 -3
  352. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.d.ts +86 -0
  353. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +282 -0
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +14 -10
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +5 -0
  357. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +37 -25
  358. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +7 -5
  359. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +135 -82
  360. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  361. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.d.ts +17 -0
  362. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.js +28 -0
  363. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +5 -5
  364. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  365. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.d.ts +7 -0
  366. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.js +114 -0
  367. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.d.ts +45 -0
  368. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +326 -0
  369. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.d.ts +33 -0
  370. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +99 -0
  371. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.d.ts +17 -0
  372. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +46 -0
  373. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.d.ts +27 -0
  374. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +301 -0
  375. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.d.ts +22 -0
  376. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +103 -0
  377. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +9 -36
  378. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +103 -196
  379. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  380. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +36 -30
  381. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +2 -0
  382. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +51 -12
  383. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  384. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +31 -27
  385. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +65 -20
  386. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +291 -138
  387. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +9 -0
  388. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-dark.svg +1 -0
  389. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-light.svg +1 -0
  390. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.d.ts +9 -0
  391. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.js +24 -0
  392. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -1
  393. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +59 -35
  394. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +7 -2
  395. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +221 -145
  396. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +15 -29
  397. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +21 -3
  398. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.d.ts +22 -0
  399. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.js +27 -0
  400. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +9 -0
  401. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +23 -21
  402. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +6 -1
  403. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +62 -6
  404. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +15 -1
  405. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +97 -8
  406. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  407. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +6 -6
  408. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +11 -2
  409. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +24 -16
  410. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  411. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  412. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +44 -0
  413. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +232 -0
  414. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.d.ts +36 -0
  415. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +127 -0
  416. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +1 -1
  417. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.d.ts +18 -0
  418. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.js +55 -0
  419. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +4 -3
  420. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  421. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatPetAchievements.css +236 -0
  422. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +1 -1
  423. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.d.ts +9 -0
  424. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +260 -0
  425. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +39 -5
  426. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +155 -56
  427. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +10 -14
  428. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +29 -14
  429. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +2 -0
  430. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +76 -24
  431. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
  432. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +53 -32
  433. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
  434. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +17 -17
  435. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +8 -7
  436. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
  437. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +29 -71
  438. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +3 -0
  439. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +36 -40
  440. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +3 -0
  441. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  442. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  443. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  444. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  445. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  446. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +9 -16
  447. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  448. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +5 -13
  449. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/media/promptTimeline.css +820 -0
  450. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.d.ts +38 -0
  451. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.js +100 -0
  452. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.d.ts +1 -0
  453. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +51 -0
  454. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.d.ts +30 -0
  455. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +113 -0
  456. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.d.ts +146 -0
  457. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +440 -0
  458. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.d.ts +16 -0
  459. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.js +5 -0
  460. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.d.ts +194 -0
  461. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +525 -0
  462. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRail.d.ts +33 -0
  463. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.d.ts +128 -0
  464. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +460 -0
  465. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.d.ts +38 -0
  466. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +120 -0
  467. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.d.ts +53 -0
  468. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.js +160 -0
  469. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +25 -22
  470. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.d.ts +13 -0
  471. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +52 -0
  472. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.d.ts +22 -0
  473. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +58 -0
  474. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.d.ts +63 -0
  475. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.js +361 -0
  476. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.d.ts +35 -0
  477. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.js +90 -0
  478. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +25 -18
  479. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
  480. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +77 -41
  481. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +60 -43
  482. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -1
  483. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +60 -16
  484. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +10 -8
  485. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +13 -4
  486. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -1
  487. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +44 -24
  488. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +4 -4
  489. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  490. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +52 -6
  491. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +446 -79
  492. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.d.ts +11 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.js +13 -0
  494. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.d.ts +66 -0
  495. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +297 -0
  496. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.d.ts +137 -0
  497. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +714 -0
  498. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentOpenChat.css +379 -0
  499. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.d.ts +10 -0
  500. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +78 -0
  501. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.d.ts +36 -0
  502. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.js +172 -0
  503. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +5 -1
  504. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +8 -1
  505. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.d.ts +15 -0
  506. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.js +30 -0
  507. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +11 -1
  508. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +41 -13
  509. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +5 -2
  510. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +133 -3
  511. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +3 -2
  512. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +11 -2
  513. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +4 -4
  514. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.d.ts +1 -0
  515. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +96 -0
  516. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  517. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +36 -1
  518. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +67 -17
  519. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +23 -37
  520. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.d.ts +18 -0
  521. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +72 -3
  522. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.d.ts +11 -0
  523. package/vscode/src/vs/workbench/contrib/{agentsVoice/common/agentsVoiceColors.js → chat/browser/widget/input/editor/chatInputPlaceholderDecoration.js} +17 -15
  524. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.d.ts +3 -0
  525. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +16 -0
  526. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  527. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +6 -4
  528. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +21 -13
  529. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +48 -8
  530. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +457 -142
  531. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -1
  532. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +22 -14
  533. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +6 -22
  534. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.d.ts +22 -0
  535. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.js +163 -0
  536. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +27 -5
  537. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +79 -32
  538. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.d.ts +6 -0
  539. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.js +12 -0
  540. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +44 -11
  541. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +404 -51
  542. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +64 -4
  543. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +33 -2
  544. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.d.ts +68 -0
  545. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.js +70 -0
  546. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -2
  547. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +18 -5
  548. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +43 -14
  549. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -0
  550. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +4 -9
  551. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +164 -71
  552. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
  553. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
  554. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  555. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  556. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  557. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  558. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +3 -1
  559. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +19 -10
  560. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +3 -1
  561. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +172 -159
  562. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.d.ts +115 -0
  563. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.js +69 -0
  564. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.d.ts +60 -0
  565. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +139 -0
  566. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  567. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +5 -0
  568. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +21 -1
  569. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +25 -2
  570. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +55 -18
  571. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  572. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  573. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  574. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +1 -0
  575. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  576. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  577. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.d.ts +59 -0
  578. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +323 -0
  579. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.d.ts +30 -0
  580. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.js +79 -0
  581. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +6 -2
  582. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +118 -13
  583. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  584. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  585. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  586. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  587. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  588. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  589. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +1 -0
  590. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +81 -0
  591. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +85 -0
  592. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  593. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  594. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +23 -23
  595. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  596. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +17 -3
  597. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +81 -7
  598. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.d.ts +30 -0
  599. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.js +86 -0
  600. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +10 -2
  601. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +97 -18
  602. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +2 -22
  603. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +10 -8
  604. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +2 -1
  605. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
  606. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +42 -36
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +8 -0
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +10 -0
  609. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  610. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  611. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  612. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +25 -16
  613. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -3
  614. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.d.ts +70 -0
  615. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.js +4316 -0
  616. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  617. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  618. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  619. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  620. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +4 -4
  621. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -1
  624. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +188 -148
  625. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  626. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  627. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  628. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  629. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  630. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +7 -0
  631. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -3
  632. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +5 -6
  633. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -42
  634. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.d.ts +2 -0
  635. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.js +8 -0
  636. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  637. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +27 -8
  638. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +205 -0
  639. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +1580 -0
  640. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.d.ts +30 -0
  641. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +175 -0
  642. package/vscode/src/vs/workbench/services/agentEditorComments/browser/media/agentEditorCommentsOverlayWidget.css +65 -0
  643. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.d.ts +47 -0
  644. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.js +129 -0
  645. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +26 -8
  646. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +89 -27
  647. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.d.ts +8 -0
  648. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.js +28 -0
  649. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +5 -1
  650. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +18 -18
  651. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.js +159 -60
  652. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.d.ts +47 -0
  653. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.js +362 -0
  654. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +0 -1
  655. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +0 -40
  656. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +0 -1110
  657. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +0 -76
  658. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.d.ts +0 -63
  659. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.js +0 -25
  660. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +0 -254
  661. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +0 -451
  662. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +0 -1294
  663. package/vscode/src/vs/platform/agentHost/common/agentService.js +0 -92
  664. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.d.ts +0 -186
  665. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.js +0 -10
  666. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +0 -42
  667. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +0 -7
  668. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +0 -15
  669. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +0 -15
  670. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +0 -2
  671. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +0 -19
  672. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +0 -243
  673. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +0 -24
  674. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +0 -77
  675. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +0 -92
  676. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +0 -224
  677. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +0 -23
  678. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +0 -52
  679. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +0 -16
  680. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +0 -96
  681. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +0 -27
  682. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +0 -152
  683. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +0 -87
  684. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +0 -772
  685. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +0 -30
  686. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +0 -29
  687. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +0 -20
  688. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +0 -40
  689. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +0 -160
  690. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +0 -9
  691. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +0 -123
  692. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +0 -37
  693. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +0 -572
  694. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +0 -125
  695. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +0 -399
  696. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +0 -321
  697. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +0 -2117
  698. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +0 -57
  699. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +0 -367
  700. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +0 -78
  701. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +0 -13
  702. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +0 -11
  703. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +0 -6
  704. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +0 -16
  705. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +0 -6
  706. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +0 -46
  707. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +0 -36
  708. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +0 -6
  709. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +0 -12
  710. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +0 -6
  711. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +0 -9
  712. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +0 -6
  713. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +0 -15
  714. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +0 -177
  715. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +0 -67
  716. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +0 -195
  717. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +0 -65
  718. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +0 -264
  719. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +0 -190
  720. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +0 -865
  721. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +0 -31
  722. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +0 -122
  723. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  724. /package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.js +0 -0
  725. /package/vscode/src/vs/{platform/agentHost/common/agentHost.config.contribution.d.ts → workbench/contrib/chat/browser/agentSessionsConfiguration.d.ts} +0 -0
@@ -1,150 +1,152 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
3
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
+ import { createMarkdownCommandLink } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
4
5
  import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
6
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
7
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
7
- import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
8
+ import { isMacintosh, isWeb } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
8
9
  import { PolicyCategory } from '@codingame/monaco-vscode-api/vscode/vs/base/common/policy';
9
- import '../../../../platform/agentHost/common/agentHost.config.contribution.js';
10
- import '../../../../platform/agentHost/browser/agentHost.config.contribution.js';
11
- import '../../../../platform/agentHost/common/agentHostStarter.config.contribution.js';
12
- import { AgentHostSdkSandboxEnabledSettingId, AgentHostOpus48PromptEnabledSettingId, AgentHostCustomTerminalToolEnabledSettingId, AgentHostAhpJsonlLoggingSettingId, ClaudePreferAgentHostEditorSettingId, ClaudePreferAgentHostAgentsSettingId, AgentHostEnabledSettingId } from '../../../../platform/agentHost/common/agentService.js';
13
- import '../../../../platform/networkFilter/common/networkFilterService.js';
14
- import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
15
- import { AgentNetworkDomainSettingId } from '../../../../platform/networkFilter/common/settings.js';
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';
18
10
  import { registerEditorFeature } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorFeatures';
19
11
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
20
12
  import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
21
13
  import { registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
14
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
15
+ import { ChatAIDisabledSettingId, ChatMicrosoftAuthenticationEnabledSettingId, mergeChatEditAutoApprovePatterns, DEFAULT_EDIT_AUTO_APPROVE_PATTERNS, ChatExternalSessionsMode } from '@codingame/monaco-vscode-api/vscode/vs/platform/chat/common/chatSettings';
16
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
17
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
18
+ import { managedSettingsDisabledValue, COPILOT_ALLOW_MANAGED_HOOKS_ONLY_CONFIG, COPILOT_ALLOW_MANAGED_HOOKS_ONLY_KEY, managedSettingValue, COPILOT_STRICT_PLUGIN_ONLY_CUSTOMIZATION_CONFIG, COPILOT_STRICT_PLUGIN_ONLY_CUSTOMIZATION_KEY, COPILOT_STRICT_MARKETPLACES_KEY, COPILOT_EXTRA_MARKETPLACES_KEY, COPILOT_ENABLED_PLUGINS_KEY, COPILOT_ALLOW_MANAGED_MCP_SERVERS_ONLY_CONFIG, COPILOT_ALLOW_MANAGED_MCP_SERVERS_ONLY_KEY, COPILOT_DENIED_MCP_SERVERS_KEY, COPILOT_ALLOWED_MCP_SERVERS_KEY, COPILOT_DISABLE_BYPASS_PERMISSIONS_MODE_KEY, COPILOT_TOP_LEVEL_MODEL_KEY, COPILOT_MODEL_KEY, managedModelValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/policy/common/copilotManagedSettings';
19
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
20
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostEnablementService';
21
+ import { AgentHostMapLegacySettingsToManagedSettingsSettingId } from '../../../../platform/agentHost/common/agentHostManagedSettings.js';
22
+ import { AgentHostEditAutoApprovePatternsConfigKey, AgentHostSessionSyncEnabledConfigKey, AgentHostGlobalAutoApproveEnabledConfigKey, AgentHostAutoReplyEnabledConfigKey, AgentHostShowExternalSessionsConfigKey, AgentHostMigrateLegacyCopilotCliEnabledConfigKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostSchema';
23
+ import '../../../../platform/agentHost/common/agentHostStarter.config.contribution.js';
24
+ import { AgentMergeSettingId } from '../../../../platform/agentHost/common/agentMerge.js';
25
+ import { AgentHostSdkSandboxWindowsEnabledSettingId, AgentHostSdkSandboxEnabledSettingId, AgentHostAllowSignedOutWhenUsableSettingId, AgentHostAhpJsonlLoggingSettingId, CodexPreferAgentHostEditorSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService';
26
+ import { AgentHostCopilotModelCapabilityOverridesSettingId, CopilotSubagentModelGuidanceEnabledSettingId, CopilotAutoModeTierOverrideSettingId, CopilotAutoModeTiersEnabledSettingId, AutoModeTiersExperimentName, AgentHostReasoningSummaryEnabledSettingId, AgentHostReasoningEffortOverrideSettingId, AgentHostToolSearchDeferThresholdSettingId, AgentHostToolSearchEnabledSettingId, AgentHostOpus48PromptEnabledSettingId, CopilotClaudeAdvisorEnabledSettingId, AgentHostCopilotSdkLogLevelSettingId, copilotSdkLogLevelSettingValues, AgentHostShellToolInitScriptEnabledSettingId, AgentHostCustomTerminalToolEnabledSettingId } from '@codingame/monaco-vscode-katex-common/vscode/vs/platform/agentHost/common/copilotCliConfig';
27
+ import { CopilotSemanticSearchEnabledSettingId } from '../../../../platform/agentHost/common/semanticSearchConstants.js';
28
+ import { reasoningEffortLevels } from '@codingame/monaco-vscode-katex-common/vscode/vs/platform/agentHost/common/reasoningEffort';
29
+ import { ChatSessionArchiveActionWordingSettingId } from '@codingame/monaco-vscode-katex-common/vscode/vs/platform/chat/common/sessionArchiveActions';
22
30
  import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
23
31
  import { Extensions as Extensions$1, ConfigurationScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
24
32
  import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
25
- import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
26
- import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
27
- import { mcpGalleryServiceUrlConfig, mcpGalleryServiceEnablementConfig, mcpAppsEnabledConfig, mcpAutoStartConfig, McpAutoStartValue, mcpAccessConfig, McpAccessValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpManagement';
33
+ import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
34
+ import { DEFAULT_LOCAL_TRANSCRIPTION_MODEL } from '@codingame/monaco-vscode-api/vscode/vs/platform/localTranscription/common/localTranscription';
35
+ import { mcpGalleryServiceUrlConfig, mcpGalleryServiceEnablementConfig, mcpAppsEnabledConfig, mcpAutoStartConfig, McpAutoStartValue, mcpDeniedServersConfig, mcpAllowedServersConfig, mcpAccessConfig, McpAccessValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpManagement';
36
+ import '../../../../platform/networkFilter/common/networkFilterService.js';
37
+ import { AgentNetworkDomainSettingId } from '../../../../platform/networkFilter/common/settings.js';
28
38
  import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
29
39
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
40
+ import { AgentSandboxEnabledValue, AgentSandboxSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
41
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
30
42
  import { EditorPaneDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/editor';
31
43
  import { Extensions as Extensions$2 } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/configuration';
32
- import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
33
44
  import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
34
45
  import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
35
46
  import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
36
47
  import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
37
48
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
38
- import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
39
49
  import { RegisteredEditorPriority } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService';
40
50
  import { IEditorResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService.service';
41
51
  import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
42
52
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
43
53
  import { AssistedTypes, AddConfigurationType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration';
44
54
  import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection, mcpServerCollisionBehaviorSection, McpCollisionBehavior, mcpEnterpriseManagedAuthIdpSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
45
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents';
46
- import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatColors';
55
+ import { autoApprovePolicyValue } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/agentHostConfigPolicy';
56
+ import '../common/chatDebugServiceImpl.js';
47
57
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
48
58
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
49
- import { ChatResponseResourceWorkbenchContribution } from '../common/widget/chatResponseResourceFileSystemProvider.js';
50
59
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
60
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatRequestOrigin';
51
61
  import '../common/chatService/chatServiceImpl.js';
52
62
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
53
- import '../common/participants/chatSlashCommands.js';
54
- import '../common/tools/chatArtifactsService.js';
55
- import '../common/tools/chatTodoListService.js';
56
- import '../common/model/chatTransferService.js';
57
- import { LocalAgentDisabledInputTipContribution } from './agentSessions/localAgentDisabledInputTipContribution.js';
58
- import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService';
59
- import { ChatConfiguration, BYOKUtilityModelDefault, ChatPermissionLevel, ChatNotificationMode, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
63
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
64
+ import { ChatConfiguration, CustomizationMigrationHintMode, BYOKUtilityModelDefault, ChatDefaultPermissionLevel, ChatPermissionLevel, ChatNotificationMode, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
65
+ import './agentSessionsConfiguration.js';
60
66
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
61
67
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
62
- import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
63
- import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService';
64
- import './chatGoalSummaryService.js';
65
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
68
+ import '../common/model/chatTransferService.js';
69
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents';
70
+ import '../common/participants/chatSlashCommands.js';
71
+ import '../common/sessionChatPills.js';
66
72
  import { agentPluginDiscoveryRegistry, AgentPluginDiscoveryPriority } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService';
67
73
  import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
68
74
  import { PromptsConfig, isTildePath } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
69
75
  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
- import { PromptLanguageFeaturesProvider } from './promptSyntax/promptFileContributions.js';
71
- import { HOOK_DOCUMENTATION_URL, SKILL_DOCUMENTATION_URL, AGENT_DOCUMENTATION_URL, PROMPT_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL, PromptsType, PromptFileSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
72
76
  import { HOOK_SCHEMA_URI, hookFileSchema } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
73
- import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
74
- import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
77
+ import { getDocumentationUrl, PromptsType, AgentHostAgentDebugLogMaxEventsSettingId, AgentHostAgentDebugLogEnabledSettingId, PromptFileSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
78
+ import { ICustomizationMigrationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.service';
79
+ import './aiCustomization/customizationMigrationServiceImpl.js';
75
80
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl';
76
- import { LanguageModelToolsExtensionPointHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution';
77
- import { ClientToolSetsContribution } from './tools/clientToolSetsContribution.js';
78
- import './telemetry/chatModelCountTelemetry.js';
79
81
  import { BuiltinToolsContribution } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/builtinTools/tools';
80
- import { RenameToolContribution } from './tools/renameTool.js';
81
- import { UsagesToolContribution } from './tools/usagesTool.js';
82
+ import '../common/tools/chatArtifactsService.js';
83
+ import '../common/tools/chatTodoListService.js';
84
+ import { LanguageModelToolsExtensionPointHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution';
85
+ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
82
86
  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';
87
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatColors';
88
+ import { ChatResponseResourceWorkbenchContribution } from '../common/widget/chatResponseResourceFileSystemProvider.js';
89
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService';
88
90
  import { registerChatAccessibilityActions } from './actions/chatAccessibilityActions.js';
89
91
  import { PanelChatAccessibilityHelp, QuickChatAccessibilityHelp, EditsChatAccessibilityHelp, AgentChatAccessibilityHelp } from './actions/chatAccessibilityHelp.js';
90
92
  import { ModeOpenChatGlobalAction, registerChatActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
93
+ import { ChatAgentRecommendation } from './actions/chatAgentRecommendationActions.js';
91
94
  import { CodeBlockActionRendering, registerChatCodeBlockActions, registerChatCodeCompareBlockActions } from './actions/chatCodeblockActions.js';
92
95
  import { ChatContextContributions } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/actions/chatContext';
93
96
  import { registerChatContextActions } from './actions/chatContextActions.js';
94
97
  import { ChatCopyActionRendering, registerChatCopyActions } from './actions/chatCopyActions.js';
98
+ import { ChatModelFeedbackSurveyActionRendering, registerChatModelFeedbackSurveyActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatModelFeedbackSurveyActions';
99
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyService';
100
+ import { ChatModelFeedbackSurveyPromptContribution } from './feedbackSurvey/chatModelFeedbackSurveyPromptContribution.js';
95
101
  import { registerChatDeveloperActions } from './actions/chatDeveloperActions.js';
102
+ import { registerChatElicitationActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatElicitationActions';
96
103
  import { registerChatExecuteActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
97
104
  import { registerChatFileTreeActions } from './actions/chatFileTreeActions.js';
105
+ import { registerChatFindActions } from './actions/chatFindActions.js';
98
106
  import { ChatGettingStartedContribution } from './actions/chatGettingStarted.js';
99
107
  import { registerChatExportActions } from './actions/chatImportExport.js';
100
108
  import { registerLanguageModelActions } from './actions/chatLanguageModelActions.js';
101
- import { registerChatPluginActions } from './actions/chatPluginActions.js';
102
109
  import { registerMoveActions } from './actions/chatMoveActions.js';
103
110
  import { registerNewChatActions } from './actions/chatNewActions.js';
111
+ import { registerChatOpenAgentDebugPanelAction } from './actions/chatOpenAgentDebugPanelAction.js';
112
+ import { registerChatPluginActions } from './actions/chatPluginActions.js';
104
113
  import { registerChatPromptNavigationActions } from './actions/chatPromptNavigationActions.js';
105
114
  import { registerChatQueueActions } from './actions/chatQueueActions.js';
106
115
  import { registerQuickChatActions } from './actions/chatQuickInputActions.js';
107
- import { ChatAgentRecommendation } from './actions/chatAgentRecommendationActions.js';
116
+ import { registerChatSpeechToTextActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatSpeechToTextActions';
108
117
  import { registerChatTitleActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatTitleActions';
109
- import { registerChatElicitationActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatElicitationActions';
110
118
  import { registerChatToolActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatToolActions';
111
119
  import { ChatTransferContribution } from './actions/chatTransfer.js';
112
- import { registerChatOpenAgentDebugPanelAction } from './actions/chatOpenAgentDebugPanelAction.js';
113
- import '../common/chatDebugServiceImpl.js';
114
- import { ChatDebugEditor } from './chatDebug/chatDebugEditor.js';
115
- import { PromptsDebugContribution } from './promptsDebugContribution.js';
120
+ import { CONFIGURE_DICTATION_INSTRUCTIONS_ACTION_ID, registerConfigureSpeechInstructionsActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/configureVoiceInstructionsAction';
121
+ import './agentSessions/agentSessions.contribution.js';
116
122
  import { AgentHostChatDebugContribution } from './chatDebug/agentHostChatDebugProvider.js';
123
+ import { ChatDebugEditor } from './chatDebug/chatDebugEditor.js';
117
124
  import { ChatDebugEditorInput, ChatDebugEditorInputSerializer } from './chatDebug/chatDebugEditorInput.js';
118
- import './agentSessions/agentSessions.contribution.js';
125
+ import './chatGoalSummaryService.js';
126
+ import { PromptsDebugContribution } from './promptsDebugContribution.js';
127
+ import { PromptLanguageFeaturesProvider } from './promptSyntax/promptFileContributions.js';
128
+ import { DictationSettingId, DICTATION_MAI_MODEL_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/speechToText/chatSpeechToTextService';
129
+ import { IChatSpeechToTextService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/speechToText/chatSpeechToTextService.service';
130
+ import './speechToText/voiceCodeTranscriptionClient.js';
131
+ import './telemetry/chatEditorTopologyTelemetry.js';
132
+ import './telemetry/chatModelCountTelemetry.js';
133
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService';
134
+ import { ClientToolSetsContribution } from './tools/clientToolSetsContribution.js';
135
+ import { RenameToolContribution } from './tools/renameTool.js';
136
+ import { UsagesToolContribution } from './tools/usagesTool.js';
137
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService';
138
+ import './voiceClient/ttsPlaybackService.js';
139
+ import './voiceClient/voiceClientService.js';
140
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController';
141
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService';
142
+ import './voiceInputMode/voiceInputMode.js';
143
+ import { ChatVoiceInputModeAction, ChatVoiceInputModeToggleListenAction, registerVoiceInputModeSimulateActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputModeActionViewItem';
119
144
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
120
- import { ChatViewId, isIChatViewViewContext, isIChatResourceViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
121
- import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
145
+ import { AICustomizationManagementCommands } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
122
146
  import './accessibility/chatAccessibilityService.js';
123
- import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel';
124
- import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService';
125
- import './attachments/chatAttachmentResolveService.js';
126
- import '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
127
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
128
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
129
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
130
- import { ChatInputBoxContentProvider } from './widget/input/editor/chatEditorInputContentProvider.js';
131
- import { ChatEditingEditorAccessibility } from './chatEditing/chatEditingEditorAccessibility.js';
132
- import { registerChatEditorActions } from './chatEditing/chatEditingEditorActions.js';
133
- import { ChatEditingEditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
134
- import { ChatEditingEditorOverlay } from './chatEditing/chatEditingEditorOverlay.js';
135
- import './chatEditing/chatEditingServiceImpl.js';
136
- import { ChatEditingNotebookFileSystemProviderContrib } from './chatEditing/notebook/chatEditingNotebookFileSystemProvider.js';
137
- import { ChatEditor } from './widgetHosts/editor/chatEditor.js';
138
- import { ChatEditorInput, ChatEditorInputSerializer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput';
139
- import './widget/chatLayoutService.js';
140
- import { ChatLanguageModelsDataContribution } from './languageModelsConfigurationService.js';
141
- import './chatManagement/chatManagement.contribution.js';
142
- import './aiCustomization/aiCustomizationWorkspaceService.js';
143
- import './aiCustomization/customizationHarnessService.js';
144
- import './aiCustomization/aiCustomizationManagement.contribution.js';
145
147
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
148
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
146
149
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
147
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
148
150
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
149
151
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
150
152
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
@@ -153,66 +155,113 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
153
155
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
154
156
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
155
157
  import '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
158
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
159
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
160
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-root/state';
161
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-session/state';
162
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-chat/state';
163
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-terminal/state';
164
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-changeset/state';
165
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-resource-watch/state';
166
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-automation/state';
167
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/channels-automation-run/state';
168
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
156
169
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
157
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
158
170
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility';
159
171
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
160
172
  import './aiCustomization/aiCustomizationIcons.js';
161
173
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
162
174
  import './aiCustomization/promptsServiceCustomizationItemProvider.js';
163
175
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
164
- import './chatOutputItemRenderer.js';
165
- import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
166
- import { ChatPasteProvidersFeature } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders';
167
- import './widgetHosts/chatQuick.js';
168
- import { ChatResponseAccessibleView } from './accessibility/chatResponseAccessibleView.js';
169
- import { ChatTerminalOutputAccessibleView } from './accessibility/chatTerminalOutputAccessibleView.js';
170
- import { ChatSetupContribution, ChatTeardownContribution } from './chatSetup/chatSetupContributions.js';
171
- import { ChatQuotaNotificationContribution } from './chatQuotaNotification.js';
172
- import { HasByokModelsContribution } from './hasByokModelsContribution.js';
173
- import { ChatStatusBarEntry } from './chatStatus/chatStatusEntry.js';
174
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
175
- import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
176
- import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
177
- import { ChatImplicitContextContribution } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext';
178
- import './widget/input/editor/chatInputCompletions.js';
179
- import './widget/input/editor/agentHostInputCompletions.js';
180
- import './widget/input/editor/chatInputEditorContrib.js';
181
- import './widget/input/editor/chatInputEditorHover.js';
182
- import './tools/languageModelToolsConfirmationService.js';
183
- import { globalAutoApproveDescription } from './tools/languageModelToolsService.js';
184
- import './tools/toolResultCompressorService.js';
176
+ import './aiCustomization/aiCustomizationManagement.contribution.js';
177
+ import './aiCustomization/aiCustomizationWorkspaceService.js';
178
+ import './aiCustomization/customizationHarnessService.js';
179
+ import { CustomizationMigrationCategoryId } from './aiCustomization/customizationMigrationCategories.js';
180
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel';
181
+ import './attachments/chatAttachmentResolveService.js';
182
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
183
+ import { ChatReferenceAttachmentWidgetContribution } from './attachments/chatReferenceAttachmentWidget.contribution.js';
184
+ import { TranscriptContextAttachmentWidgetContribution } from './attachments/transcriptContextAttachmentWidget.contribution.js';
185
+ import { ChatViewId, isIChatViewViewContext, isIChatResourceViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
186
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
187
+ import { ChatEditingEditorAccessibility } from './chatEditing/chatEditingEditorAccessibility.js';
188
+ import { registerChatEditorActions } from './chatEditing/chatEditingEditorActions.js';
189
+ import { ChatEditingEditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
190
+ import { ChatEditingEditorOverlay } from './chatEditing/chatEditingEditorOverlay.js';
191
+ import './chatEditing/chatEditingServiceImpl.js';
192
+ import { ChatEditingNotebookFileSystemProviderContrib } from './chatEditing/notebook/chatEditingNotebookFileSystemProvider.js';
193
+ import './chatManagement/chatManagement.contribution.js';
194
+ import { ChatOutlineCreator } from './chatOutlineCreator.js';
195
+ import { ChatLanguageModelsDataContribution } from './languageModelsConfigurationService.js';
196
+ import '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
197
+ import './widget/chatLayoutService.js';
198
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHost';
199
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService';
200
+ import { ChatInputBoxContentProvider } from './widget/input/editor/chatEditorInputContentProvider.js';
201
+ import { ChatEditor } from './widgetHosts/editor/chatEditor.js';
202
+ import { ChatEditorInput, ChatEditorInputSerializer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput';
185
203
  import { ConfiguredAgentPluginDiscovery, MarketplaceAgentPluginDiscovery, ExtensionAgentPluginDiscovery, CopilotCliAgentPluginDiscovery } from '../common/plugins/agentPluginServiceImpl.js';
186
- import '../common/plugins/pluginMarketplaceService.js';
204
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService';
187
205
  import '../common/plugins/workspacePluginSettingsService.js';
188
- import { AgentPluginRecommendations } from './claudePluginRecommendations.js';
206
+ import { VALID_PROMPT_FOLDER_PATTERN } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator';
207
+ import { ChatResponseAccessibleView } from './accessibility/chatResponseAccessibleView.js';
208
+ import { ChatTerminalOutputAccessibleView } from './accessibility/chatTerminalOutputAccessibleView.js';
209
+ import { AgentPluginCommandsContribution } from './agentPluginCommands.js';
189
210
  import { AgentPluginEditor } from './agentPluginEditor/agentPluginEditor.js';
190
211
  import { AgentPluginEditorInput } from './agentPluginEditor/agentPluginEditorInput.js';
191
212
  import './agentPluginRepositoryService.js';
213
+ import './agentSessions/sessionSummaryHover.js';
214
+ import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
215
+ import { ChatImplicitContextContribution } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext';
216
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
217
+ import './chatImageCarouselService.js';
218
+ import './chatOutputItemRenderer.js';
219
+ import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
220
+ import { ChatPetAchievementsAccessibilityHelp, ChatPetContextContribution, ChatPetCustomizationAchievementContribution, ChatPetEditingAchievementContribution } from './chatPetAchievements.contribution.js';
221
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/chatPetService';
222
+ import './widget/chatPetWidgetService.js';
223
+ import { ChatPromoNotificationContribution } from './chatPromoNotification.js';
224
+ import { ChatExpNotificationContribution } from './expNotification/chatExpNotificationContribution.js';
225
+ import { ChatQuotaNotificationContribution } from './chatQuotaNotification.js';
226
+ import { ChatRepoInfoContribution } from './chatRepoInfo.js';
227
+ import { ChatSetupContribution, ChatTeardownContribution } from './chatSetup/chatSetupContributions.js';
228
+ import { ChatSlashCommandsContribution, ChatSessionOptionSlashCommandsContribution } from './chatSlashCommands.js';
229
+ import { ChatStatusBarEntry } from './chatStatus/chatStatusEntry.js';
230
+ import './chatTipService.js';
231
+ import { ChatWindowNotifier } from './chatWindowNotifier.js';
232
+ import { AgentPluginRecommendations } from './claudePluginRecommendations.js';
233
+ import { ExploreAgentDefaultModel } from './exploreAgentDefaultModel.js';
234
+ import { HasByokModelsContribution } from './hasByokModelsContribution.js';
235
+ import { PlanAgentDefaultModel } from './planAgentDefaultModel.js';
236
+ import './planReviewFeedback/planReviewFeedbackEditorOverlay.js';
237
+ import './planReviewFeedback/planReviewFeedbackService.js';
238
+ import { PluginAutoUpdate } from './pluginAutoUpdate.js';
192
239
  import './pluginGitCommandService.js';
193
240
  import './pluginInstallService.js';
194
- import { PluginAutoUpdate } from './pluginAutoUpdate.js';
241
+ import { PluginUrlHandler } from './pluginUrlHandler.js';
195
242
  import './promptSyntax/promptCodingAgentActionContribution.js';
196
243
  import './promptSyntax/promptToolsCodeLensProvider.js';
197
244
  import './promptSyntax/promptToolSetsCodeLensProvider.js';
198
- import { ChatSlashCommandsContribution, ChatSessionOptionSlashCommandsContribution } from './chatSlashCommands.js';
199
- import './planReviewFeedback/planReviewFeedbackEditorContribution.js';
200
- import { registerPlanReviewFeedbackEditorActions } from './planReviewFeedback/planReviewFeedbackEditorActions.js';
201
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
202
- import { PluginUrlHandler } from './pluginUrlHandler.js';
203
245
  import { PromptUrlHandler } from './promptSyntax/promptUrlHandler.js';
246
+ import './promptTimeline/promptTimeline.contribution.js';
247
+ import './tools/languageModelToolsConfirmationService.js';
248
+ import { globalAutoApproveDescription } from './tools/languageModelToolsService.js';
249
+ import './tools/toolResultCompressorService.js';
204
250
  import { UserToolSetsContributions, ConfigureToolSets } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/tools/toolSetsContribution';
251
+ import { UtilitySmallModelContribution, UtilityModelContribution } from './utilityModelContribution.js';
205
252
  import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler.js';
253
+ import './widget/chatContentParts/chatSubagentOpenChat.js';
254
+ import { ChatFindAccessibilityHelp } from './widget/chatFind/chatFindAccessibilityHelp.js';
255
+ import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
206
256
  import './widget/chatWidgetService.js';
207
- import { ChatWindowNotifier } from './chatWindowNotifier.js';
208
- import { ChatRepoInfoContribution } from './chatRepoInfo.js';
209
- import { VALID_PROMPT_FOLDER_PATTERN } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator';
210
- import './chatTipService.js';
211
257
  import { ChatQueuePickerRendering } from './widget/input/chatQueuePickerActionItem.js';
212
- import { ExploreAgentDefaultModel } from './exploreAgentDefaultModel.js';
213
- import { PlanAgentDefaultModel } from './planAgentDefaultModel.js';
214
- import { UtilitySmallModelContribution, UtilityModelContribution } from './utilityModelContribution.js';
215
- import './chatImageCarouselService.js';
258
+ import './widget/input/editor/agentHostInputCompletions.js';
259
+ import './widget/input/editor/chatInputCommandArgumentHint.js';
260
+ import './widget/input/editor/chatInputCompletions.js';
261
+ import './widget/input/editor/chatInputEditorContrib.js';
262
+ import './widget/input/editor/chatInputEditorHover.js';
263
+ import { ChatPasteProvidersFeature } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders';
264
+ import './widgetHosts/chatQuick.js';
216
265
  import '../../notebook/browser/controller/chat/notebook.chat.contribution.js';
217
266
  import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
218
267
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -225,15 +274,33 @@ const toolReferenceNameEnumDescriptions = [];
225
274
  const jsonContributionRegistry = ( Registry.as(Extensions.JSONContribution));
226
275
  jsonContributionRegistry.registerSchema(HOOK_SCHEMA_URI, hookFileSchema);
227
276
  const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
277
+ const migrateLocationSettingsLink = createMarkdownCommandLink({
278
+ id: AICustomizationManagementCommands.OpenEditor,
279
+ text: ( localize(7163, "Migrate Location Settings")),
280
+ tooltip: ( localize(7164, "Open Migrate Location Settings")),
281
+ arguments: [{
282
+ migration: true,
283
+ migrationCategory: CustomizationMigrationCategoryId.ConfiguredLocations
284
+ }]
285
+ });
286
+ const migratePromptFilesLink = createMarkdownCommandLink({
287
+ id: AICustomizationManagementCommands.OpenEditor,
288
+ text: ( localize(7165, "Migrate Prompt Files")),
289
+ tooltip: ( localize(7166, "Open Migrate Prompt Files")),
290
+ arguments: [{
291
+ migration: true,
292
+ migrationCategory: CustomizationMigrationCategoryId.PromptFiles
293
+ }]
294
+ });
228
295
  configurationRegistry.registerConfiguration({
229
296
  id: "chatSidebar",
230
- title: ( localize(6246, "Chat")),
297
+ title: ( localize(7167, "Chat")),
231
298
  type: "object",
232
299
  properties: {
233
300
  "chat.experimentalSessionsWindowOverride": {
234
301
  type: "boolean",
235
302
  description: ( localize(
236
- 6247,
303
+ 7168,
237
304
  "When true, enables sessions-window-specific behavior for extensions."
238
305
  )),
239
306
  default: false,
@@ -242,43 +309,187 @@ configurationRegistry.registerConfiguration({
242
309
  default: true
243
310
  }
244
311
  },
312
+ "chat.experimentalModelPicker": {
313
+ type: "boolean",
314
+ description: ( localize(
315
+ 7169,
316
+ "When enabled, the model picker uses a tab per model provider and configures thinking effort and context from a detail card next to each model, instead of a separate configuration button."
317
+ )),
318
+ default: false,
319
+ tags: ["experimental"],
320
+ experiment: {
321
+ mode: "auto"
322
+ }
323
+ },
324
+ [ChatConfiguration.ExperimentalModePermissionsPicker]: {
325
+ type: "boolean",
326
+ description: ( localize(
327
+ 7170,
328
+ "Shows mode and permissions in a combined picker with expandable permission choices for Copilot Agent Host sessions."
329
+ )),
330
+ default: product.quality !== "stable",
331
+ tags: ["experimental"]
332
+ },
245
333
  "chat.fontSize": {
246
334
  type: "number",
247
- description: ( localize(6248, "Controls the font size in pixels in chat messages.")),
335
+ description: ( localize(7171, "Controls the font size in pixels in chat messages.")),
248
336
  default: 13,
249
337
  minimum: 6,
250
338
  maximum: 100
251
339
  },
252
340
  "chat.fontFamily": {
253
341
  type: "string",
254
- description: ( localize(6249, "Controls the font family in chat messages.")),
342
+ description: ( localize(7172, "Controls the font family in chat messages.")),
255
343
  default: "default"
256
344
  },
345
+ "dictation.enabled": {
346
+ type: "boolean",
347
+ markdownDescription: ( localize(
348
+ 7173,
349
+ "Enables dictation across the product (chat input, editor, and terminal). When enabled, a microphone button appears in the chat input and the dictation shortcut becomes available. Desktop uses the selected transcription model; web uses cloud transcription."
350
+ )),
351
+ default: true,
352
+ tags: ["experimental"],
353
+ policy: {
354
+ name: "DictationEnabled",
355
+ category: PolicyCategory.InteractiveSession,
356
+ minimumVersion: "1.131",
357
+ localization: {
358
+ description: {
359
+ key: "dictation.enabled.policy",
360
+ value: ( localize(
361
+ 7174,
362
+ "Controls whether dictation is available across the product (chat input, editor, and terminal)."
363
+ ))
364
+ }
365
+ }
366
+ }
367
+ },
368
+ "dictation.model": {
369
+ type: "string",
370
+ enum: [DEFAULT_LOCAL_TRANSCRIPTION_MODEL, DICTATION_MAI_MODEL_ID],
371
+ enumItemLabels: [( localize(7175, "Nemotron 3.5 ASR (Multilingual) — On-Device")), ( localize(7176, "MAI — Cloud"))],
372
+ markdownEnumDescriptions: [( localize(
373
+ 7177,
374
+ "NVIDIA Nemotron 3.5 multilingual streaming RNN-T, run on-device through Microsoft Foundry Local. Works offline; no audio leaves the device. Automatic language selection follows the Voice Mode language setting; when that setting is Automatic, dictation uses the configured display language when supported, then the system or browser locale, with model detection as a fallback. Downloaded on first use and cached on disk."
375
+ )), ( localize(
376
+ 7178,
377
+ "Cloud transcription through the same Microsoft AI voice service used by Voice Mode. Requires a network connection and GitHub sign-in; audio is streamed to the service."
378
+ ))],
379
+ markdownDescription: ( localize(
380
+ 7179,
381
+ "The model used for dictation. On-device models download on first use and run locally through Microsoft Foundry Local; the cloud option streams audio to the Microsoft AI voice service. On the web, user and default on-device selections use cloud transcription because local transcription is unsupported. If policy requires on-device transcription, dictation is unavailable on the web."
382
+ )),
383
+ default: isWeb ? DICTATION_MAI_MODEL_ID : DEFAULT_LOCAL_TRANSCRIPTION_MODEL,
384
+ tags: ["experimental"],
385
+ experiment: {
386
+ mode: "auto"
387
+ },
388
+ policy: {
389
+ name: "DictationModel",
390
+ category: PolicyCategory.InteractiveSession,
391
+ minimumVersion: "1.136",
392
+ localization: {
393
+ description: {
394
+ key: "dictation.model.policy",
395
+ value: ( localize(7180, "Controls the transcription model used for dictation."))
396
+ },
397
+ enumDescriptions: [{
398
+ key: "dictation.model.nemotronMultilingual.policy",
399
+ value: ( localize(
400
+ 7181,
401
+ "Use the on-device transcription model. Audio does not leave the device."
402
+ ))
403
+ }, {
404
+ key: "dictation.model.mai.policy",
405
+ value: ( localize(
406
+ 7182,
407
+ "Use the cloud transcription service. Audio is streamed to the service."
408
+ ))
409
+ }]
410
+ }
411
+ }
412
+ },
413
+ [DictationSettingId.ShowTranscript]: {
414
+ type: "boolean",
415
+ markdownDescription: ( localize(
416
+ 7183,
417
+ "Controls whether the transcript is shown while dictating. The final transcript is inserted when dictation ends."
418
+ )),
419
+ default: true,
420
+ tags: ["experimental"]
421
+ },
422
+ [DictationSettingId.ShowButton]: {
423
+ type: "boolean",
424
+ markdownDescription: ( localize(
425
+ 7184,
426
+ "Controls whether the dictation microphone button is shown in the chat input. When hidden, dictation can still be started with its keyboard shortcut."
427
+ )),
428
+ default: true,
429
+ tags: ["experimental"]
430
+ },
431
+ "dictation.experimental.llmCleanup": {
432
+ type: "boolean",
433
+ markdownDescription: ( localize(
434
+ 7185,
435
+ "Experimental: when dictation ends, the final transcript is passed through a small language model to restore punctuation, capitalization, paragraphs, and lists. Requires Copilot to be enabled; the transcript is sent to the language model for cleanup. Falls back to the raw transcript when no model is available. Use [dictation instructions](command:{0}) to customize terminology and formatting.",
436
+ CONFIGURE_DICTATION_INSTRUCTIONS_ACTION_ID
437
+ )),
438
+ default: true,
439
+ tags: ["experimental"],
440
+ policy: {
441
+ name: "DictationLLMCleanup",
442
+ category: PolicyCategory.InteractiveSession,
443
+ minimumVersion: "1.136",
444
+ localization: {
445
+ description: {
446
+ key: "dictation.experimental.llmCleanup.policy",
447
+ value: ( localize(
448
+ 7186,
449
+ "Controls whether final dictation transcripts are sent to a language model for cleanup."
450
+ ))
451
+ }
452
+ }
453
+ }
454
+ },
455
+ "dictation.experimental.llmCleanupModel": {
456
+ type: "string",
457
+ enum: ["auto", "copilot-utility-small", "gpt-5.6-luna"],
458
+ markdownDescription: ( localize(
459
+ 7187,
460
+ "Controls the language model used for experimental dictation cleanup. `auto` follows the experiment-provided default."
461
+ )),
462
+ default: "auto",
463
+ tags: ["experimental"],
464
+ experiment: {
465
+ mode: "auto"
466
+ }
467
+ },
257
468
  "chat.editor.fontSize": {
258
469
  type: "number",
259
- description: ( localize(6250, "Controls the font size in pixels in chat codeblocks.")),
470
+ description: ( localize(7188, "Controls the font size in pixels in chat codeblocks.")),
260
471
  default: isMacintosh ? 12 : 14
261
472
  },
262
473
  "chat.editor.fontFamily": {
263
474
  type: "string",
264
- description: ( localize(6251, "Controls the font family in chat codeblocks.")),
475
+ description: ( localize(7189, "Controls the font family in chat codeblocks.")),
265
476
  default: "default"
266
477
  },
267
478
  "chat.editor.fontWeight": {
268
479
  type: "string",
269
- description: ( localize(6252, "Controls the font weight in chat codeblocks.")),
480
+ description: ( localize(7190, "Controls the font weight in chat codeblocks.")),
270
481
  default: "default"
271
482
  },
272
483
  "chat.editor.wordWrap": {
273
484
  type: "string",
274
- description: ( localize(6253, "Controls whether lines should wrap in chat codeblocks.")),
485
+ description: ( localize(7191, "Controls whether lines should wrap in chat codeblocks.")),
275
486
  default: "off",
276
487
  enum: ["on", "off"]
277
488
  },
278
489
  "chat.editor.lineHeight": {
279
490
  type: "number",
280
491
  description: ( localize(
281
- 6254,
492
+ 7192,
282
493
  "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
283
494
  )),
284
495
  default: 0
@@ -286,12 +497,12 @@ configurationRegistry.registerConfiguration({
286
497
  [ChatConfiguration.AgentStatusEnabled]: {
287
498
  type: "string",
288
499
  enum: ["hidden", "badge", "compact"],
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,
500
+ enumDescriptions: [( localize(7193, "The agent status indicator is hidden from the title bar.")), ( localize(7194, "Shows the agent status as a badge next to the command center.")), ( localize(
501
+ 7195,
291
502
  "Replaces the command center search box with a compact agent status indicator and unified chat widget."
292
503
  ))],
293
504
  markdownDescription: ( localize(
294
- 6258,
505
+ 7196,
295
506
  "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.",
296
507
  "`#window.commandCenter#`",
297
508
  "`#chat.viewSessions.enabled#`"
@@ -302,7 +513,7 @@ configurationRegistry.registerConfiguration({
302
513
  [ChatConfiguration.UnifiedAgentsBar]: {
303
514
  type: "boolean",
304
515
  markdownDescription: ( localize(
305
- 6259,
516
+ 7197,
306
517
  "Replaces the command center search box with a unified chat and search widget."
307
518
  )),
308
519
  default: false,
@@ -311,23 +522,73 @@ configurationRegistry.registerConfiguration({
311
522
  [ChatConfiguration.AgentSessionProjectionEnabled]: {
312
523
  type: "boolean",
313
524
  markdownDescription: ( localize(
314
- 6260,
525
+ 7198,
315
526
  "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
316
527
  )),
317
528
  default: false,
318
529
  tags: ["experimental"]
319
530
  },
531
+ [ChatConfiguration.MigrateLegacyCopilotCliSessions]: {
532
+ type: "boolean",
533
+ markdownDescription: ( localize(
534
+ 7199,
535
+ "Controls whether legacy extension host Copilot CLI chat sessions are migrated in place to the Agent host when opened, so their history becomes editable. When disabled, legacy sessions open as before.\n\nChanging this setting requires a restart to take effect."
536
+ )),
537
+ default: false,
538
+ tags: ["experimental"],
539
+ scope: ConfigurationScope.APPLICATION,
540
+ experiment: {
541
+ mode: "startup"
542
+ },
543
+ agentHost: {
544
+ key: AgentHostMigrateLegacyCopilotCliEnabledConfigKey
545
+ }
546
+ },
547
+ [ChatConfiguration.ShowExternalAgentSessions]: {
548
+ type: "string",
549
+ enum: [
550
+ ChatExternalSessionsMode.None,
551
+ ChatExternalSessionsMode.Recent,
552
+ ChatExternalSessionsMode.Last24Hours,
553
+ ChatExternalSessionsMode.Last7Days,
554
+ ChatExternalSessionsMode.Last30Days
555
+ ],
556
+ enumDescriptions: [( localize(7200, "Do not show external sessions.")), ( localize(
557
+ 7201,
558
+ "Show up to the 2 most recent external sessions updated in the last 7 days. At startup, external sessions older than the second-most-recently updated local session are hidden."
559
+ )), ( localize(7202, "Show external sessions updated in the last 24 hours.")), ( localize(7203, "Show external sessions updated in the last 7 days.")), ( localize(7204, "Show external sessions updated in the last 30 days."))],
560
+ default: ChatExternalSessionsMode.Recent,
561
+ markdownDescription: ( localize(
562
+ 7205,
563
+ "Controls which external agent sessions, created outside VS Code's Agent Host, are shown."
564
+ )),
565
+ tags: ["experimental"],
566
+ experiment: {
567
+ mode: "auto"
568
+ },
569
+ agentHost: {
570
+ key: AgentHostShowExternalSessionsConfigKey
571
+ }
572
+ },
573
+ [ChatConfiguration.SaveBeforeSend]: {
574
+ type: "boolean",
575
+ description: ( localize(
576
+ 7206,
577
+ "Controls whether all dirty editors except untitled editors are saved before sending a chat message."
578
+ )),
579
+ default: true
580
+ },
320
581
  "chat.implicitContext.enabled": {
321
582
  type: "object",
322
583
  description: ( localize(
323
- 6261,
584
+ 7207,
324
585
  "Enables automatically using the active editor as chat context for specified chat locations."
325
586
  )),
326
587
  additionalProperties: {
327
588
  type: "string",
328
589
  enum: ["never", "first", "always"],
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."))]
590
+ description: ( localize(7208, "The value for the implicit context.")),
591
+ enumDescriptions: [( localize(7209, "Implicit context is never enabled.")), ( localize(7210, "Implicit context is enabled for the first interaction.")), ( localize(7211, "Implicit context is always enabled."))]
331
592
  },
332
593
  default: {
333
594
  "panel": "always"
@@ -345,7 +606,7 @@ configurationRegistry.registerConfiguration({
345
606
  "chat.implicitContext.suggestedContext": {
346
607
  type: "boolean",
347
608
  markdownDescription: ( localize(
348
- 6266,
609
+ 7212,
349
610
  "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."
350
611
  )),
351
612
  default: true,
@@ -356,8 +617,8 @@ configurationRegistry.registerConfiguration({
356
617
  "chat.implicitContext.includeActiveEditor": {
357
618
  type: "boolean",
358
619
  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)."
620
+ 7213,
621
+ "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 Copilot)."
361
622
  )),
362
623
  default: true,
363
624
  tags: ["experimental"],
@@ -368,7 +629,7 @@ configurationRegistry.registerConfiguration({
368
629
  "chat.editing.autoAcceptDelay": {
369
630
  type: "number",
370
631
  markdownDescription: ( localize(
371
- 6268,
632
+ 7214,
372
633
  "Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
373
634
  )),
374
635
  default: 0,
@@ -379,7 +640,7 @@ configurationRegistry.registerConfiguration({
379
640
  type: "boolean",
380
641
  scope: ConfigurationScope.APPLICATION,
381
642
  markdownDescription: ( localize(
382
- 6269,
643
+ 7215,
383
644
  "Whether to show a confirmation before removing a request and its associated edits."
384
645
  )),
385
646
  default: true
@@ -388,7 +649,7 @@ configurationRegistry.registerConfiguration({
388
649
  type: "boolean",
389
650
  scope: ConfigurationScope.APPLICATION,
390
651
  markdownDescription: ( localize(
391
- 6270,
652
+ 7216,
392
653
  "Whether to show a confirmation before retrying a request and its associated edits."
393
654
  )),
394
655
  default: true
@@ -396,7 +657,7 @@ configurationRegistry.registerConfiguration({
396
657
  "chat.editing.explainChanges.enabled": {
397
658
  type: "boolean",
398
659
  markdownDescription: ( localize(
399
- 6271,
660
+ 7217,
400
661
  "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."
401
662
  )),
402
663
  default: false,
@@ -408,7 +669,7 @@ configurationRegistry.registerConfiguration({
408
669
  [ChatConfiguration.RevealNextChangeOnResolve]: {
409
670
  type: "boolean",
410
671
  markdownDescription: ( localize(
411
- 6272,
672
+ 7218,
412
673
  "Controls whether the editor automatically reveals the next change after keeping or undoing a chat edit."
413
674
  )),
414
675
  default: true
@@ -416,7 +677,7 @@ configurationRegistry.registerConfiguration({
416
677
  [ChatConfiguration.OpenChangedFileInDiffEditor]: {
417
678
  type: "boolean",
418
679
  markdownDescription: ( localize(
419
- 6273,
680
+ 7219,
420
681
  "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
682
  )),
422
683
  default: true
@@ -425,7 +686,7 @@ configurationRegistry.registerConfiguration({
425
686
  type: "boolean",
426
687
  scope: ConfigurationScope.APPLICATION,
427
688
  description: ( localize(
428
- 6274,
689
+ 7220,
429
690
  "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."
430
691
  )),
431
692
  default: true
@@ -433,9 +694,9 @@ configurationRegistry.registerConfiguration({
433
694
  "chat.upvoteAnimation": {
434
695
  type: "string",
435
696
  enum: ["off", "confetti", "floatingThumbs", "pulseWave", "radiantLines"],
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."))],
697
+ enumDescriptions: [( localize(7221, "No animation is shown.")), ( localize(7222, "Shows a confetti burst animation around the thumbs up button.")), ( localize(7223, "Shows floating thumbs up icons rising from the button.")), ( localize(7224, "Shows expanding pulse rings from the button.")), ( localize(7225, "Shows radiant lines emanating from the button."))],
437
698
  description: ( localize(
438
- 6280,
699
+ 7226,
439
700
  "Controls whether an animation is shown when clicking the thumbs up button on a chat response."
440
701
  )),
441
702
  default: "floatingThumbs"
@@ -443,54 +704,83 @@ configurationRegistry.registerConfiguration({
443
704
  "chat.experimental.detectParticipant.enabled": {
444
705
  type: "boolean",
445
706
  deprecationMessage: ( localize(
446
- 6281,
707
+ 7227,
447
708
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
448
709
  )),
449
- description: ( localize(6282, "Enables chat participant autodetection for panel chat.")),
710
+ description: ( localize(7228, "Enables chat participant autodetection for panel chat.")),
450
711
  default: null
451
712
  },
452
713
  [ChatConfiguration.IncrementalRendering]: {
453
714
  type: "boolean",
454
715
  description: ( localize(
455
- 6283,
716
+ 7229,
456
717
  "Enables incremental rendering with optional block-level animation when streaming chat responses."
457
718
  )),
458
719
  default: false,
459
720
  tags: ["experimental"]
460
721
  },
722
+ [ChatConfiguration.RichLinks]: {
723
+ type: "boolean",
724
+ description: ( localize(
725
+ 7230,
726
+ "Controls whether supported links in chat are rendered as rich links with live metadata. Enabling this may make authenticated requests to services such as GitHub."
727
+ )),
728
+ default: false,
729
+ tags: ["experimental"],
730
+ experiment: {
731
+ mode: "auto"
732
+ }
733
+ },
461
734
  [ChatConfiguration.IncrementalRenderingStyle]: {
462
735
  type: "string",
463
736
  enum: ["none", "fade", "rise", "blur", "scale", "slide", "reveal"],
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.")),
737
+ enumDescriptions: [( localize(7231, "No animation. Content appears instantly.")), ( localize(7232, "Simple opacity fade from 0 to 1.")), ( localize(7233, "Content fades in while rising upward.")), ( localize(7234, "Content fades in from a blurred state.")), ( localize(7235, "Content scales up from slightly smaller.")), ( localize(7236, "Content slides in from the left.")), ( localize(7237, "Content reveals top-to-bottom with a soft gradient edge."))],
738
+ description: ( localize(7238, "Controls the animation style for incremental rendering.")),
466
739
  default: "fade",
467
740
  tags: ["experimental"]
468
741
  },
469
742
  [ChatConfiguration.IncrementalRenderingBuffering]: {
470
743
  type: "string",
471
744
  enum: ["off", "word", "paragraph"],
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."))],
745
+ enumDescriptions: [( localize(7239, "Renders content immediately as tokens arrive.")), ( localize(7240, "Reveals content word by word.")), ( localize(7241, "Buffers content until a paragraph break before rendering."))],
473
746
  description: ( localize(
474
- 6295,
747
+ 7242,
475
748
  "Controls how content is buffered before rendering during incremental rendering. Lower buffering levels render faster but may show incomplete sentences or partially formed markdown."
476
749
  )),
477
750
  default: "word",
478
751
  tags: ["experimental"]
479
752
  },
753
+ [ChatConfiguration.CollapseCompletedResponses]: {
754
+ type: "boolean",
755
+ description: ( localize(
756
+ 7243,
757
+ "Controls whether completed chat responses collapse intermediate work while keeping the final response visible."
758
+ )),
759
+ default: true
760
+ },
480
761
  "chat.detectParticipant.enabled": {
481
762
  type: "boolean",
482
- description: ( localize(6296, "Enables chat participant autodetection for panel chat.")),
763
+ description: ( localize(7244, "Enables chat participant autodetection for panel chat.")),
483
764
  default: true
484
765
  },
766
+ [ChatConfiguration.ExperimentalStickyScrollEnabled]: {
767
+ type: "boolean",
768
+ description: ( localize(
769
+ 7245,
770
+ "Controls whether chat requests use experimental tree-based sticky scroll instead of the sticky prompt header."
771
+ )),
772
+ default: true,
773
+ tags: ["experimental"]
774
+ },
485
775
  [ChatConfiguration.InlineReferencesStyle]: {
486
776
  type: "string",
487
777
  enum: ["box", "link"],
488
- enumDescriptions: [( localize(6297, "Display file and symbol references as boxed widgets with icons.")), ( localize(
489
- 6298,
778
+ enumDescriptions: [( localize(7246, "Display file and symbol references as boxed widgets with icons.")), ( localize(
779
+ 7247,
490
780
  "Display file and symbol references as simple blue links without icons."
491
781
  ))],
492
782
  description: ( localize(
493
- 6299,
783
+ 7248,
494
784
  "Controls how file and symbol references are displayed in chat messages."
495
785
  )),
496
786
  default: "box"
@@ -498,7 +788,7 @@ configurationRegistry.registerConfiguration({
498
788
  [ChatConfiguration.EditorAssociations]: {
499
789
  type: "object",
500
790
  markdownDescription: ( localize(
501
- 6300,
791
+ 7249,
502
792
  "Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
503
793
  )),
504
794
  additionalProperties: {
@@ -509,15 +799,15 @@ configurationRegistry.registerConfiguration({
509
799
  [ChatConfiguration.NotifyWindowOnConfirmation]: {
510
800
  type: "string",
511
801
  enum: ["off", "windowNotFocused", "always"],
512
- enumDescriptions: [( localize(6301, "Never show OS notifications for confirmations.")), ( localize(
513
- 6302,
802
+ enumDescriptions: [( localize(7250, "Never show OS notifications for confirmations.")), ( localize(
803
+ 7251,
514
804
  "Show OS notifications for confirmations when the window is not focused."
515
805
  )), ( localize(
516
- 6303,
806
+ 7252,
517
807
  "Always show OS notifications for confirmations, even when the window is focused."
518
808
  ))],
519
809
  description: ( localize(
520
- 6304,
810
+ 7253,
521
811
  "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."
522
812
  )),
523
813
  default: "windowNotFocused"
@@ -525,30 +815,25 @@ configurationRegistry.registerConfiguration({
525
815
  [ChatConfiguration.AutoReply]: {
526
816
  default: false,
527
817
  markdownDescription: ( localize(
528
- 6305,
818
+ 7254,
529
819
  "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."
530
820
  )),
531
821
  type: "boolean",
532
822
  scope: ConfigurationScope.APPLICATION_MACHINE,
533
- tags: ["experimental", "advanced"]
823
+ tags: ["experimental", "advanced"],
824
+ agentHost: {
825
+ key: AgentHostAutoReplyEnabledConfigKey
826
+ }
534
827
  },
535
828
  [ChatConfiguration.AutopilotAdvancedEnabled]: {
536
829
  type: "boolean",
537
830
  markdownDescription: ( localize(
538
- 6306,
831
+ 7255,
539
832
  "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."
540
833
  )),
541
834
  default: false,
542
835
  tags: ["experimental"]
543
836
  },
544
- [ChatConfiguration.PlanReviewInlineEditorEnabled]: {
545
- type: "boolean",
546
- markdownDescription: ( localize(
547
- 6307,
548
- "When enabled, the plan review widget mounts an editor inline, as opposed to in a separate editor tab."
549
- )),
550
- default: true
551
- },
552
837
  [ChatConfiguration.DefaultPermissionLevel]: {
553
838
  type: "string",
554
839
  enum: [
@@ -556,20 +841,32 @@ configurationRegistry.registerConfiguration({
556
841
  ChatPermissionLevel.AutoApprove,
557
842
  ChatPermissionLevel.Autopilot
558
843
  ],
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."))],
844
+ enumItemLabels: [( localize(7256, "Default Permissions")), ( localize(7257, "Bypass Approvals")), ( localize(7258, "Autopilot (Preview)"))],
845
+ enumDescriptions: [( localize(7259, "Start new chat sessions with Default Permissions.")), ( localize(7260, "Start new chat sessions in Bypass Approvals mode.")), ( localize(7261, "Start new chat sessions in Autopilot mode."))],
561
846
  description: ( localize(
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."
847
+ 7262,
848
+ "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 Permissions."
564
849
  )),
565
850
  default: ChatPermissionLevel.Default
566
851
  },
852
+ [ChatConfiguration.AssistedPermissionsEnabled]: {
853
+ type: "boolean",
854
+ default: product.quality !== "stable",
855
+ description: ( localize(
856
+ 7263,
857
+ "Controls whether Assisted permissions is shown in Agent Host approval pickers."
858
+ )),
859
+ tags: ["experimental"],
860
+ experiment: {
861
+ mode: "auto"
862
+ }
863
+ },
567
864
  [ChatConfiguration.PermissionsSandboxToggleEnabled]: {
568
865
  type: "boolean",
569
- default: false,
866
+ default: true,
570
867
  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#`."
868
+ 7264,
869
+ "Controls whether the permissions picker shows a \"Sandboxing for terminal\" toggle. Local sessions show it on the Default permissions option. Copilot Agent Host sessions show it as a session-specific setting that applies to every permission mode; changing it saves the choice only for that session. New Copilot Agent Host sessions initially follow `#chat.agentHost.sdkSandbox.enabled#` or `#chat.agentHost.sdkSandbox.enabledWindows#` when using the SDK's built-in shell tool, and `#chat.agent.sandbox.enabled#` or `#chat.agent.sandbox.enabledWindows#` when using the Agent Host terminal tool."
573
870
  )),
574
871
  tags: ["experimental"],
575
872
  experiment: {
@@ -583,37 +880,44 @@ configurationRegistry.registerConfiguration({
583
880
  mode: {
584
881
  type: "string",
585
882
  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."))],
883
+ enumDescriptions: [( localize(7265, "Interactive — step-by-step collaboration.")), ( localize(7266, "Plan — plan first, execute when ready.")), ( localize(7267, "Autopilot — autonomously iterate from start to finish."))],
587
884
  default: "interactive",
588
- description: ( localize(6319, "The starting mode for new agent sessions."))
885
+ description: ( localize(7268, "The starting mode for new agent sessions."))
589
886
  },
590
887
  approvals: {
591
888
  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,
889
+ enum: [
890
+ ChatDefaultPermissionLevel.Manual,
891
+ ChatDefaultPermissionLevel.Assisted,
892
+ ChatDefaultPermissionLevel.AllowAll
893
+ ],
894
+ enumDescriptions: [( localize(7269, "Manual permissions — asks when approval settings don't apply.")), ( localize(7270, "Assisted permissions — evaluates risk before running tools.")), ( localize(7271, "Allow All — runs tool calls without asking."))],
895
+ default: ChatDefaultPermissionLevel.Manual,
595
896
  description: ( localize(
596
- 6322,
597
- "The starting approval behavior for new agent sessions. If enterprise policy disables auto approval, new sessions use Default Approvals."
897
+ 7272,
898
+ "The starting approval behavior for new agent sessions. If enterprise policy disables auto approval, new sessions use Manual permissions."
598
899
  ))
599
900
  }
600
901
  },
601
902
  default: {
602
903
  mode: "interactive",
603
- approvals: ChatPermissionLevel.Default
904
+ approvals: ChatDefaultPermissionLevel.Manual
604
905
  },
605
906
  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."
907
+ 7273,
908
+ "Controls the default configuration for new agent sessions (such as Copilot). You can still change the mode and approval behavior per session, and each session remembers what was used."
608
909
  ))
609
910
  },
610
911
  [ChatConfiguration.DefaultModel]: {
611
912
  type: "string",
612
913
  default: "",
613
914
  markdownDescription: ( localize(
614
- 6324,
915
+ 7274,
615
916
  "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
917
  )),
918
+ experiment: {
919
+ mode: "auto"
920
+ },
617
921
  policy: {
618
922
  name: "ChatDefaultModel",
619
923
  category: PolicyCategory.InteractiveSession,
@@ -622,13 +926,16 @@ configurationRegistry.registerConfiguration({
622
926
  managedSettings: {
623
927
  [COPILOT_MODEL_KEY]: {
624
928
  type: "string"
929
+ },
930
+ [COPILOT_TOP_LEVEL_MODEL_KEY]: {
931
+ type: "string"
625
932
  }
626
933
  },
627
934
  localization: {
628
935
  description: {
629
936
  key: "chat.defaultModel.policy",
630
937
  value: ( localize(
631
- 6325,
938
+ 7275,
632
939
  "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
940
  ))
634
941
  }
@@ -641,11 +948,14 @@ configurationRegistry.registerConfiguration({
641
948
  type: "boolean",
642
949
  scope: ConfigurationScope.APPLICATION_MACHINE,
643
950
  tags: ["experimental"],
951
+ agentHost: {
952
+ key: AgentHostGlobalAutoApproveEnabledConfigKey
953
+ },
644
954
  policy: {
645
955
  name: "ChatToolsAutoApprove",
646
956
  category: PolicyCategory.InteractiveSession,
647
957
  minimumVersion: "1.99",
648
- value: policyData => policyData.managedSettings?.[COPILOT_DISABLE_BYPASS_PERMISSIONS_MODE_KEY] === "disable" || policyData.chat_preview_features_enabled === false ? false : undefined,
958
+ value: autoApprovePolicyValue,
649
959
  managedSettings: {
650
960
  [COPILOT_DISABLE_BYPASS_PERMISSIONS_MODE_KEY]: {
651
961
  type: "string"
@@ -655,7 +965,7 @@ configurationRegistry.registerConfiguration({
655
965
  description: {
656
966
  key: "autoApprove3.description",
657
967
  value: ( localize(
658
- 6326,
968
+ 7276,
659
969
  "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."
660
970
  ))
661
971
  }
@@ -665,7 +975,7 @@ configurationRegistry.registerConfiguration({
665
975
  [ChatConfiguration.SessionSyncEnabled]: {
666
976
  default: false,
667
977
  markdownDescription: ( localize(
668
- 6327,
978
+ 7277,
669
979
  "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."
670
980
  )),
671
981
  type: "boolean",
@@ -682,11 +992,14 @@ configurationRegistry.registerConfiguration({
682
992
  description: {
683
993
  key: "chat.sessionSync.enabled.policy",
684
994
  value: ( localize(
685
- 6328,
995
+ 7278,
686
996
  "Enable session sync to GitHub.com for cross-device Copilot session history. When disabled by organization policy, session data is kept local only."
687
997
  ))
688
998
  }
689
999
  }
1000
+ },
1001
+ agentHost: {
1002
+ key: AgentHostSessionSyncEnabledConfigKey
690
1003
  }
691
1004
  },
692
1005
  [ChatConfiguration.SessionSyncExcludeRepositories]: {
@@ -696,30 +1009,25 @@ configurationRegistry.registerConfiguration({
696
1009
  },
697
1010
  default: [],
698
1011
  markdownDescription: ( localize(
699
- 6329,
1012
+ 7279,
700
1013
  "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."
701
1014
  )),
702
1015
  tags: ["experimental", "advanced"]
703
1016
  },
704
1017
  [ChatConfiguration.AutoApproveEdits]: {
705
- default: {
706
- "**/*": true,
707
- "**/.vscode/*.json": false,
708
- "**/.git/**": false,
709
- "**/{package.json,server.xml,build.rs,web.config,.gitattributes,.env,Cargo.toml}": false,
710
- "**/*.{code-workspace,csproj,fsproj,vbproj,vcxproj,proj,targets,props,gradle,gradle.kts}": false,
711
- "**/gradle.properties": false,
712
- "**/ruby_lsp/*/addon": false,
713
- "**/*.lock": false,
714
- "**/*-lock.{yaml,json}": false
715
- },
716
- markdownDescription: ( localize(
717
- 6330,
1018
+ default: DEFAULT_EDIT_AUTO_APPROVE_PATTERNS,
1019
+ markdownDescription: ( localize(
1020
+ 7280,
718
1021
  "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."
719
1022
  )),
720
1023
  type: "object",
721
1024
  additionalProperties: {
722
1025
  type: "boolean"
1026
+ },
1027
+ scope: ConfigurationScope.APPLICATION,
1028
+ agentHost: {
1029
+ key: AgentHostEditAutoApprovePatternsConfigKey,
1030
+ transform: mergeChatEditAutoApprovePatterns
723
1031
  }
724
1032
  },
725
1033
  [ChatConfiguration.AutoApprovedUrls]: {
@@ -728,7 +1036,7 @@ configurationRegistry.registerConfiguration({
728
1036
  "https://github.com/microsoft/vscode/wiki/*": true
729
1037
  },
730
1038
  markdownDescription: ( localize(
731
- 6331,
1039
+ 7281,
732
1040
  "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"
733
1041
  )),
734
1042
  type: "object",
@@ -751,7 +1059,7 @@ configurationRegistry.registerConfiguration({
751
1059
  [ChatConfiguration.EligibleForAutoApproval]: {
752
1060
  default: {},
753
1061
  markdownDescription: ( localize(
754
- 6332,
1062
+ 7282,
755
1063
  "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."
756
1064
  )),
757
1065
  type: "object",
@@ -774,7 +1082,7 @@ configurationRegistry.registerConfiguration({
774
1082
  description: {
775
1083
  key: "chat.tools.eligibleForAutoApproval",
776
1084
  value: ( localize(
777
- 6332,
1085
+ 7282,
778
1086
  "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."
779
1087
  ))
780
1088
  }
@@ -783,7 +1091,7 @@ configurationRegistry.registerConfiguration({
783
1091
  },
784
1092
  [ChatConfiguration.ArtifactsEnabled]: {
785
1093
  default: false,
786
- description: ( localize(6333, "Controls whether the artifacts view is available in chat.")),
1094
+ description: ( localize(7283, "Controls whether the artifacts view is available in chat.")),
787
1095
  type: "boolean",
788
1096
  tags: ["experimental"]
789
1097
  },
@@ -795,7 +1103,7 @@ configurationRegistry.registerConfiguration({
795
1103
  }
796
1104
  },
797
1105
  description: ( localize(
798
- 6334,
1106
+ 7284,
799
1107
  "Rules for extracting artifacts from tool results by MIME type. Maps MIME type patterns (e.g. 'image/*') to group configuration."
800
1108
  )),
801
1109
  type: "object",
@@ -804,11 +1112,11 @@ configurationRegistry.registerConfiguration({
804
1112
  properties: {
805
1113
  groupName: {
806
1114
  type: "string",
807
- description: ( localize(6335, "Display name for the artifact group."))
1115
+ description: ( localize(7285, "Display name for the artifact group."))
808
1116
  },
809
1117
  onlyShowGroup: {
810
1118
  type: "boolean",
811
- description: ( localize(6336, "When true, show only the group header instead of individual items."))
1119
+ description: ( localize(7286, "When true, show only the group header instead of individual items."))
812
1120
  }
813
1121
  },
814
1122
  required: ["groupName"]
@@ -822,7 +1130,7 @@ configurationRegistry.registerConfiguration({
822
1130
  }
823
1131
  },
824
1132
  description: ( localize(
825
- 6337,
1133
+ 7287,
826
1134
  "Rules for extracting artifacts from written files by file path pattern. Maps glob patterns to group configuration."
827
1135
  )),
828
1136
  type: "object",
@@ -831,11 +1139,11 @@ configurationRegistry.registerConfiguration({
831
1139
  properties: {
832
1140
  groupName: {
833
1141
  type: "string",
834
- description: ( localize(6338, "Display name for the artifact group."))
1142
+ description: ( localize(7288, "Display name for the artifact group."))
835
1143
  },
836
1144
  onlyShowGroup: {
837
1145
  type: "boolean",
838
- description: ( localize(6339, "When true, show only the group header instead of individual items."))
1146
+ description: ( localize(7289, "When true, show only the group header instead of individual items."))
839
1147
  }
840
1148
  },
841
1149
  required: ["groupName"]
@@ -849,7 +1157,7 @@ configurationRegistry.registerConfiguration({
849
1157
  }
850
1158
  },
851
1159
  description: ( localize(
852
- 6340,
1160
+ 7290,
853
1161
  "Rules for extracting artifacts from memory tool calls by memory file path pattern. Maps glob patterns to group configuration."
854
1162
  )),
855
1163
  type: "object",
@@ -858,11 +1166,11 @@ configurationRegistry.registerConfiguration({
858
1166
  properties: {
859
1167
  groupName: {
860
1168
  type: "string",
861
- description: ( localize(6341, "Display name for the artifact group."))
1169
+ description: ( localize(7291, "Display name for the artifact group."))
862
1170
  },
863
1171
  onlyShowGroup: {
864
1172
  type: "boolean",
865
- description: ( localize(6342, "When true, show only the group header instead of individual items."))
1173
+ description: ( localize(7292, "When true, show only the group header instead of individual items."))
866
1174
  }
867
1175
  },
868
1176
  required: ["groupName"]
@@ -872,25 +1180,34 @@ configurationRegistry.registerConfiguration({
872
1180
  "chat.undoRequests.restoreInput": {
873
1181
  default: true,
874
1182
  markdownDescription: ( localize(
875
- 6343,
1183
+ 7293,
876
1184
  "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."
877
1185
  )),
878
1186
  type: "boolean"
879
1187
  },
880
1188
  "chat.editRequests": {
881
1189
  markdownDescription: ( localize(
882
- 6344,
1190
+ 7294,
883
1191
  "Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
884
1192
  )),
885
1193
  type: "string",
886
1194
  enum: ["inline", "hover", "input", "none"],
887
1195
  default: "inline"
888
1196
  },
1197
+ [ChatConfiguration.PasteAsAttachmentThreshold]: {
1198
+ markdownDescription: ( localize(
1199
+ 7295,
1200
+ "The number of characters a paste must exceed before it is added to the chat input as an attachment instead of being inserted inline. Set this to a very large number to always paste inline."
1201
+ )),
1202
+ type: "number",
1203
+ minimum: 0,
1204
+ default: 10000
1205
+ },
889
1206
  [ChatConfiguration.ChatViewSessionsEnabled]: {
890
1207
  type: "boolean",
891
1208
  default: true,
892
1209
  description: ( localize(
893
- 6345,
1210
+ 7296,
894
1211
  "Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
895
1212
  )),
896
1213
  agentsWindow: {
@@ -901,15 +1218,15 @@ configurationRegistry.registerConfiguration({
901
1218
  type: "string",
902
1219
  enum: ["stacked", "sideBySide"],
903
1220
  enumDescriptions: [( localize(
904
- 6346,
1221
+ 7297,
905
1222
  "Display chat sessions vertically stacked above the chat input unless a chat session is visible."
906
1223
  )), ( localize(
907
- 6347,
1224
+ 7298,
908
1225
  "Display chat sessions side by side if space is sufficient, otherwise fallback to stacked above the chat input unless a chat session is visible."
909
1226
  ))],
910
1227
  default: "sideBySide",
911
1228
  description: ( localize(
912
- 6348,
1229
+ 7299,
913
1230
  "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
914
1231
  ))
915
1232
  },
@@ -917,44 +1234,45 @@ configurationRegistry.registerConfiguration({
917
1234
  type: "boolean",
918
1235
  default: false,
919
1236
  description: ( localize(
920
- 6349,
1237
+ 7300,
921
1238
  "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
922
1239
  ))
923
1240
  },
1241
+ [ChatSessionArchiveActionWordingSettingId]: {
1242
+ type: "string",
1243
+ enum: ["archive", "done"],
1244
+ enumDescriptions: [( localize(7301, "Use Archive, Archive All, Unarchive, and Unarchive All.")), ( localize(7302, "Use Mark as Done, Mark All as Done, Restore, and Restore All."))],
1245
+ default: "done",
1246
+ tags: ["experimental"],
1247
+ experiment: {
1248
+ mode: "startup"
1249
+ },
1250
+ description: ( localize(
1251
+ 7303,
1252
+ "Controls the wording and icons used by actions that archive and unarchive chat sessions, as well as the label of the archived sessions section."
1253
+ ))
1254
+ },
924
1255
  [ChatConfiguration.AgentsHandoffTipMode]: {
925
1256
  type: "string",
926
1257
  enum: ["hidden", "default", "custom"],
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."))],
1258
+ enumDescriptions: [( localize(7304, "Never show the handoff tip.")), ( localize(7305, "Show the handoff tip with the default description.")), ( localize(7306, "Show the handoff tip with an alternate description."))],
928
1259
  default: "hidden",
929
1260
  tags: ["experimental"],
930
1261
  experiment: {
931
1262
  mode: "startup"
932
1263
  },
933
1264
  description: ( localize(
934
- 6353,
1265
+ 7307,
935
1266
  "Controls the tip shown above the chat input offering to continue eligible agent sessions in the Agents Window."
936
1267
  ))
937
1268
  },
938
- [ClaudePreferAgentHostAgentsSettingId]: {
1269
+ [CodexPreferAgentHostEditorSettingId]: {
939
1270
  type: "boolean",
940
1271
  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
1272
+ 7308,
1273
+ "When enabled, Codex sessions opened from the regular workbench (sidebar chat) run inside the agent host process using the Codex App Server instead of the OpenAI extension. Only one Codex implementation surfaces per window. Requires `#chat.agentHost.codexAgent.enabled#`."
944
1274
  )),
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,
1275
+ default: product.quality !== "stable",
958
1276
  tags: ["experimental"],
959
1277
  experiment: {
960
1278
  mode: "startup"
@@ -963,35 +1281,46 @@ configurationRegistry.registerConfiguration({
963
1281
  [ChatConfiguration.ChatContextUsageEnabled]: {
964
1282
  type: "boolean",
965
1283
  default: true,
966
- description: ( localize(6356, "Show the context window usage indicator in the chat input."))
1284
+ description: ( localize(7309, "Show the context window usage indicator in the chat input."))
967
1285
  },
968
- [ChatConfiguration.ChatPersistentProgressEnabled]: {
1286
+ [ChatConfiguration.Verbose]: {
969
1287
  type: "boolean",
970
- default: product.quality !== "stable",
971
- description: ( localize(6357, "Always show progress in chat."))
1288
+ default: true,
1289
+ description: ( localize(
1290
+ 7310,
1291
+ "Show request and completion timestamps. Hover over a completion timestamp to show the elapsed response time."
1292
+ ))
972
1293
  },
973
1294
  [ChatConfiguration.ProgressBorder]: {
974
1295
  type: "boolean",
975
1296
  default: true,
976
1297
  markdownDescription: ( localize(
977
- 6358,
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.",
979
- "`#chat.persistentProgress.enabled#`"
1298
+ 7311,
1299
+ "Show an animated gradient border around the chat input while the agent is working or thinking. Has no effect when reduced motion is enabled."
980
1300
  ))
981
1301
  },
1302
+ [ChatConfiguration.SessionStateIndicatorEnabled]: {
1303
+ type: "boolean",
1304
+ default: false,
1305
+ markdownDescription: ( localize(
1306
+ 7312,
1307
+ "Enable state indicators around chat editor sessions that are in progress, need input, or have an unvisited completion. Customize the borders with `chat.sessionStateIndicator.inProgressBorder`, `chat.sessionStateIndicator.needsInputBorder`, and `chat.sessionStateIndicator.unvisitedBorder` in `#workbench.colorCustomizations#`."
1308
+ )),
1309
+ tags: ["experimental"]
1310
+ },
982
1311
  [ChatConfiguration.NotifyWindowOnResponseReceived]: {
983
1312
  type: "string",
984
1313
  enum: ["off", "windowNotFocused", "always"],
985
- enumDescriptions: [( localize(6359, "Never show OS notifications for responses.")), ( localize(
986
- 6360,
1314
+ enumDescriptions: [( localize(7313, "Never show OS notifications for responses.")), ( localize(
1315
+ 7314,
987
1316
  "Show OS notifications for responses when the window is not focused."
988
1317
  )), ( localize(
989
- 6361,
1318
+ 7315,
990
1319
  "Always show OS notifications for responses, even when the window is focused."
991
1320
  ))],
992
1321
  default: "windowNotFocused",
993
1322
  description: ( localize(
994
- 6362,
1323
+ 7316,
995
1324
  "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."
996
1325
  ))
997
1326
  },
@@ -999,92 +1328,226 @@ configurationRegistry.registerConfiguration({
999
1328
  type: "boolean",
1000
1329
  default: true,
1001
1330
  description: ( localize(
1002
- 6363,
1331
+ 7317,
1003
1332
  "Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
1004
1333
  ))
1005
1334
  },
1006
1335
  "chat.checkpoints.showFileChanges": {
1007
1336
  type: "boolean",
1008
- description: ( localize(6364, "Controls whether to show chat checkpoint file changes.")),
1337
+ description: ( localize(7318, "Controls whether to show chat checkpoint file changes.")),
1009
1338
  default: false
1010
1339
  },
1011
- [ChatConfiguration.TurnStatusPills]: {
1012
- type: "object",
1340
+ [mcpAccessConfig]: {
1341
+ type: "string",
1342
+ description: ( localize(7319, "Controls access to installed Model Context Protocol servers.")),
1343
+ enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
1344
+ enumDescriptions: [( localize(7320, "No access to MCP servers.")), ( localize(
1345
+ 7321,
1346
+ "Allows access to MCP servers listed in the registry that VS Code is connected to."
1347
+ )), ( localize(7322, "Allow access to any installed MCP server."))],
1348
+ default: McpAccessValue.All,
1349
+ policy: {
1350
+ name: "ChatMCP",
1351
+ category: PolicyCategory.InteractiveSession,
1352
+ minimumVersion: "1.99",
1353
+ value: policyData => {
1354
+ if (policyData.mcp === false) {
1355
+ return McpAccessValue.None;
1356
+ }
1357
+ if (policyData.mcpAccess === "registry_only") {
1358
+ return McpAccessValue.Registry;
1359
+ }
1360
+ return undefined;
1361
+ },
1362
+ localization: {
1363
+ description: {
1364
+ key: "chat.mcp.access",
1365
+ value: ( localize(7319, "Controls access to installed Model Context Protocol servers."))
1366
+ },
1367
+ enumDescriptions: [{
1368
+ key: "chat.mcp.access.none",
1369
+ value: ( localize(7320, "No access to MCP servers."))
1370
+ }, {
1371
+ key: "chat.mcp.access.registry",
1372
+ value: ( localize(
1373
+ 7321,
1374
+ "Allows access to MCP servers listed in the registry that VS Code is connected to."
1375
+ ))
1376
+ }, {
1377
+ key: "chat.mcp.access.any",
1378
+ value: ( localize(7322, "Allow access to any installed MCP server."))
1379
+ }]
1380
+ }
1381
+ }
1382
+ },
1383
+ [mcpAllowedServersConfig]: {
1384
+ type: ["array", "null"],
1385
+ items: {
1386
+ type: "object",
1387
+ additionalProperties: false,
1388
+ properties: {
1389
+ serverName: {
1390
+ type: "string",
1391
+ minLength: 1,
1392
+ description: ( localize(7323, "Match a server by its configured name."))
1393
+ },
1394
+ serverUrl: {
1395
+ type: "string",
1396
+ minLength: 1,
1397
+ description: ( localize(
1398
+ 7324,
1399
+ "Match a remote server by its URL. Supports `*` wildcards, for example `https://*.example.com/*`."
1400
+ ))
1401
+ },
1402
+ serverCommand: {
1403
+ type: "array",
1404
+ minItems: 1,
1405
+ items: {
1406
+ type: "string"
1407
+ },
1408
+ description: ( localize(
1409
+ 7325,
1410
+ "Match a local server by its exact command invocation, given as the command followed by its arguments."
1411
+ ))
1412
+ }
1413
+ },
1414
+ oneOf: [{
1415
+ required: ["serverName"]
1416
+ }, {
1417
+ required: ["serverUrl"]
1418
+ }, {
1419
+ required: ["serverCommand"]
1420
+ }]
1421
+ },
1013
1422
  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."
1423
+ 7326,
1424
+ "Enterprise-managed allowlist that controls which Model Context Protocol servers may be installed and run. When set, only servers matching an entry are permitted; any other server is blocked. Servers can be matched by name, remote URL pattern (with `*` wildcards), or local command invocation. Omit entirely to allow all servers (subject to the deny list). Delivered via enterprise policy for governance; this setting is not surfaced to end users."
1016
1425
  )),
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
- ))
1426
+ default: null,
1427
+ scope: ConfigurationScope.APPLICATION,
1428
+ included: false,
1429
+ policy: {
1430
+ name: "ChatAllowedMcpServers",
1431
+ category: PolicyCategory.InteractiveSession,
1432
+ minimumVersion: "1.130",
1433
+ value: managedSettingValue(COPILOT_ALLOWED_MCP_SERVERS_KEY),
1434
+ managedSettings: {
1435
+ [COPILOT_ALLOWED_MCP_SERVERS_KEY]: {
1436
+ type: "string"
1437
+ }
1025
1438
  },
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
- ))
1439
+ localization: {
1440
+ description: {
1441
+ key: "chat.mcp.allowedServers.policy",
1442
+ value: ( localize(
1443
+ 7327,
1444
+ "Allowlist of Model Context Protocol servers. When set, only servers matching an entry may be installed or run; omit entirely to allow all servers (subject to the deny list)."
1445
+ ))
1446
+ }
1033
1447
  }
1448
+ }
1449
+ },
1450
+ [mcpDeniedServersConfig]: {
1451
+ type: ["array", "null"],
1452
+ items: {
1453
+ type: "object",
1454
+ additionalProperties: false,
1455
+ properties: {
1456
+ serverName: {
1457
+ type: "string",
1458
+ minLength: 1,
1459
+ description: ( localize(7328, "Match a server by its configured name."))
1460
+ },
1461
+ serverUrl: {
1462
+ type: "string",
1463
+ minLength: 1,
1464
+ description: ( localize(
1465
+ 7329,
1466
+ "Match a remote server by its URL. Supports `*` wildcards, for example `https://*.example.com/*`."
1467
+ ))
1468
+ },
1469
+ serverCommand: {
1470
+ type: "array",
1471
+ minItems: 1,
1472
+ items: {
1473
+ type: "string"
1474
+ },
1475
+ description: ( localize(
1476
+ 7330,
1477
+ "Match a local server by its exact command invocation, given as the command followed by its arguments."
1478
+ ))
1479
+ }
1480
+ },
1481
+ oneOf: [{
1482
+ required: ["serverName"]
1483
+ }, {
1484
+ required: ["serverUrl"]
1485
+ }, {
1486
+ required: ["serverCommand"]
1487
+ }]
1034
1488
  },
1035
- default: {
1036
- changes: false,
1037
- preview: false
1038
- },
1039
- additionalProperties: false
1489
+ markdownDescription: ( localize(
1490
+ 7331,
1491
+ "Enterprise-managed denylist of Model Context Protocol servers. Servers matching any entry are unconditionally blocked from being installed or run, even if they also match the allow list — deny rules always take precedence. Servers can be matched by name, remote URL pattern (with `*` wildcards), or local command invocation. Delivered via enterprise policy for governance; this setting is not surfaced to end users."
1492
+ )),
1493
+ default: null,
1494
+ scope: ConfigurationScope.APPLICATION,
1495
+ included: false,
1496
+ policy: {
1497
+ name: "ChatDeniedMcpServers",
1498
+ category: PolicyCategory.InteractiveSession,
1499
+ minimumVersion: "1.130",
1500
+ value: managedSettingValue(COPILOT_DENIED_MCP_SERVERS_KEY),
1501
+ managedSettings: {
1502
+ [COPILOT_DENIED_MCP_SERVERS_KEY]: {
1503
+ type: "string"
1504
+ }
1505
+ },
1506
+ localization: {
1507
+ description: {
1508
+ key: "chat.mcp.deniedServers.policy",
1509
+ value: ( localize(
1510
+ 7332,
1511
+ "Denylist of Model Context Protocol servers. Servers matching any entry are blocked from being installed or run, even if they also match the allow list; deny rules always take precedence."
1512
+ ))
1513
+ }
1514
+ }
1515
+ }
1040
1516
  },
1041
- [mcpAccessConfig]: {
1042
- type: "string",
1043
- description: ( localize(6368, "Controls access to installed Model Context Protocol servers.")),
1044
- enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
1045
- enumDescriptions: [( localize(6369, "No access to MCP servers.")), ( localize(
1046
- 6370,
1047
- "Allows access to MCP servers installed from the registry that VS Code is connected to."
1048
- )), ( localize(6371, "Allow access to any installed MCP server."))],
1049
- default: McpAccessValue.All,
1517
+ [COPILOT_ALLOW_MANAGED_MCP_SERVERS_ONLY_CONFIG]: {
1518
+ type: "boolean",
1519
+ default: false,
1520
+ scope: ConfigurationScope.APPLICATION,
1521
+ included: false,
1522
+ description: ( localize(
1523
+ 7333,
1524
+ "Use only the enterprise-managed MCP allowlist when deciding which servers may run."
1525
+ )),
1050
1526
  policy: {
1051
- name: "ChatMCP",
1527
+ name: "ChatAllowManagedMcpServersOnly",
1052
1528
  category: PolicyCategory.InteractiveSession,
1053
- minimumVersion: "1.99",
1054
- value: policyData => {
1055
- if (policyData.mcp === false) {
1056
- return McpAccessValue.None;
1057
- }
1058
- if (policyData.mcpAccess === "registry_only") {
1059
- return McpAccessValue.Registry;
1529
+ minimumVersion: "1.132",
1530
+ value: managedSettingValue(COPILOT_ALLOW_MANAGED_MCP_SERVERS_ONLY_KEY),
1531
+ managedSettings: {
1532
+ [COPILOT_ALLOW_MANAGED_MCP_SERVERS_ONLY_KEY]: {
1533
+ type: "boolean"
1060
1534
  }
1061
- return undefined;
1062
1535
  },
1063
1536
  localization: {
1064
1537
  description: {
1065
- key: "chat.mcp.access",
1066
- value: ( localize(6368, "Controls access to installed Model Context Protocol servers."))
1067
- },
1068
- enumDescriptions: [{
1069
- key: "chat.mcp.access.none",
1070
- value: ( localize(6369, "No access to MCP servers."))
1071
- }, {
1072
- key: "chat.mcp.access.registry",
1538
+ key: "chat.mcp.allowManagedServersOnly.policy",
1073
1539
  value: ( localize(
1074
- 6370,
1075
- "Allows access to MCP servers installed from the registry that VS Code is connected to."
1540
+ 7334,
1541
+ "Use only the enterprise-managed MCP allowlist when deciding which servers may run."
1076
1542
  ))
1077
- }, {
1078
- key: "chat.mcp.access.any",
1079
- value: ( localize(6371, "Allow access to any installed MCP server."))
1080
- }]
1543
+ }
1081
1544
  }
1082
1545
  }
1083
1546
  },
1084
1547
  [mcpAutoStartConfig]: {
1085
1548
  type: "string",
1086
1549
  description: ( localize(
1087
- 6372,
1550
+ 7335,
1088
1551
  "Controls whether MCP servers should be automatically started when the chat messages are submitted."
1089
1552
  )),
1090
1553
  default: McpAutoStartValue.NewAndOutdated,
@@ -1093,8 +1556,8 @@ configurationRegistry.registerConfiguration({
1093
1556
  McpAutoStartValue.OnlyNew,
1094
1557
  McpAutoStartValue.NewAndOutdated
1095
1558
  ],
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,
1559
+ enumDescriptions: [( localize(7336, "Never automatically start MCP servers.")), ( localize(7337, "Only automatically start new MCP servers that have never been run.")), ( localize(
1560
+ 7338,
1098
1561
  "Automatically start new and outdated MCP servers that are not yet running."
1099
1562
  ))],
1100
1563
  tags: ["experimental"]
@@ -1102,7 +1565,7 @@ configurationRegistry.registerConfiguration({
1102
1565
  [mcpAppsEnabledConfig]: {
1103
1566
  type: "boolean",
1104
1567
  description: ( localize(
1105
- 6376,
1568
+ 7339,
1106
1569
  "Controls whether MCP servers can provide custom UI for tool invocations."
1107
1570
  )),
1108
1571
  default: true,
@@ -1120,27 +1583,27 @@ configurationRegistry.registerConfiguration({
1120
1583
  type: "string",
1121
1584
  format: "uri",
1122
1585
  markdownDescription: ( localize(
1123
- 6377,
1586
+ 7340,
1124
1587
  "The OAuth/OIDC issuer URL of the SSO authorization server. Must be an `https://` URL."
1125
1588
  ))
1126
1589
  },
1127
1590
  clientId: {
1128
1591
  type: "string",
1129
1592
  markdownDescription: ( localize(
1130
- 6378,
1593
+ 7341,
1131
1594
  "The OAuth client ID registered with the SSO issuer for this device."
1132
1595
  ))
1133
1596
  },
1134
1597
  clientSecret: {
1135
1598
  type: "string",
1136
1599
  markdownDescription: ( localize(
1137
- 6379,
1600
+ 7342,
1138
1601
  "The OAuth client secret paired with `clientId`. Intended for local development only."
1139
1602
  ))
1140
1603
  }
1141
1604
  },
1142
1605
  markdownDescription: ( localize(
1143
- 6380,
1606
+ 7343,
1144
1607
  "(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`."
1145
1608
  )),
1146
1609
  policy: {
@@ -1151,7 +1614,7 @@ configurationRegistry.registerConfiguration({
1151
1614
  description: {
1152
1615
  key: "mcp.enterpriseManagedAuth.idp.policy",
1153
1616
  value: ( localize(
1154
- 6381,
1617
+ 7344,
1155
1618
  "The OAuth/OIDC IdP configuration used for enterprise-managed Model Context Protocol (MCP) server authentication."
1156
1619
  ))
1157
1620
  }
@@ -1161,19 +1624,19 @@ configurationRegistry.registerConfiguration({
1161
1624
  [mcpServerCollisionBehaviorSection]: {
1162
1625
  type: "string",
1163
1626
  description: ( localize(
1164
- 6382,
1627
+ 7345,
1165
1628
  "Controls behavior when multiple MCP servers are discovered with the same name. 'disable' disables lower-priority duplicates. 'suffix' appends numeric suffixes to disambiguate."
1166
1629
  )),
1167
1630
  enum: [McpCollisionBehavior.Disable, McpCollisionBehavior.Suffix],
1168
- enumDescriptions: [( localize(6383, "Disable lower-priority servers with duplicate names.")), ( localize(6384, "Append numeric suffixes to servers with duplicate names."))],
1631
+ enumDescriptions: [( localize(7346, "Disable lower-priority servers with duplicate names.")), ( localize(7347, "Append numeric suffixes to servers with duplicate names."))],
1169
1632
  default: McpCollisionBehavior.Disable
1170
1633
  },
1171
1634
  [mcpServerSamplingSection]: {
1172
1635
  type: "object",
1173
1636
  description: ( localize(
1174
- 6385,
1637
+ 7348,
1175
1638
  "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.",
1176
- "MCP: " + ( localize(6386, "List Servers"))
1639
+ "MCP: " + ( localize(7349, "List Servers"))
1177
1640
  )),
1178
1641
  scope: ConfigurationScope.RESOURCE,
1179
1642
  additionalProperties: {
@@ -1182,7 +1645,7 @@ configurationRegistry.registerConfiguration({
1182
1645
  allowedDuringChat: {
1183
1646
  type: "boolean",
1184
1647
  description: ( localize(
1185
- 6387,
1648
+ 7350,
1186
1649
  "Whether this server is allowed to make sampling requests during its tool calls in a chat session."
1187
1650
  )),
1188
1651
  default: true
@@ -1190,7 +1653,7 @@ configurationRegistry.registerConfiguration({
1190
1653
  allowedOutsideChat: {
1191
1654
  type: "boolean",
1192
1655
  description: ( localize(
1193
- 6388,
1656
+ 7351,
1194
1657
  "Whether this server is allowed to make sampling requests outside of a chat session."
1195
1658
  )),
1196
1659
  default: false
@@ -1199,7 +1662,7 @@ configurationRegistry.registerConfiguration({
1199
1662
  type: "array",
1200
1663
  items: {
1201
1664
  type: "string",
1202
- description: ( localize(6389, "A model the MCP server has access to."))
1665
+ description: ( localize(7352, "A model the MCP server has access to."))
1203
1666
  }
1204
1667
  }
1205
1668
  }
@@ -1208,7 +1671,7 @@ configurationRegistry.registerConfiguration({
1208
1671
  [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
1209
1672
  type: "boolean",
1210
1673
  description: ( localize(
1211
- 6390,
1674
+ 7353,
1212
1675
  "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)."
1213
1676
  )),
1214
1677
  default: false,
@@ -1219,7 +1682,7 @@ configurationRegistry.registerConfiguration({
1219
1682
  },
1220
1683
  [ChatConfiguration.ExtensionToolsEnabled]: {
1221
1684
  type: "boolean",
1222
- description: ( localize(6391, "Enable using tools contributed by third-party extensions.")),
1685
+ description: ( localize(7354, "Enable using tools contributed by third-party extensions.")),
1223
1686
  default: true,
1224
1687
  policy: {
1225
1688
  name: "ChatAgentExtensionTools",
@@ -1228,14 +1691,14 @@ configurationRegistry.registerConfiguration({
1228
1691
  localization: {
1229
1692
  description: {
1230
1693
  key: "chat.extensionToolsEnabled",
1231
- value: ( localize(6391, "Enable using tools contributed by third-party extensions."))
1694
+ value: ( localize(7354, "Enable using tools contributed by third-party extensions."))
1232
1695
  }
1233
1696
  }
1234
1697
  }
1235
1698
  },
1236
1699
  [ChatConfiguration.PluginsEnabled]: {
1237
1700
  type: "boolean",
1238
- description: ( localize(6392, "Enable agent plugin integration in chat.")),
1701
+ description: ( localize(7355, "Enable agent plugin integration in chat.")),
1239
1702
  default: true,
1240
1703
  policy: {
1241
1704
  name: "ChatPluginsEnabled",
@@ -1244,7 +1707,7 @@ configurationRegistry.registerConfiguration({
1244
1707
  localization: {
1245
1708
  description: {
1246
1709
  key: "chat.plugins.enabled",
1247
- value: ( localize(6392, "Enable agent plugin integration in chat."))
1710
+ value: ( localize(7355, "Enable agent plugin integration in chat."))
1248
1711
  }
1249
1712
  }
1250
1713
  }
@@ -1256,7 +1719,7 @@ configurationRegistry.registerConfiguration({
1256
1719
  },
1257
1720
  restricted: true,
1258
1721
  markdownDescription: ( localize(
1259
- 6393,
1722
+ 7356,
1260
1723
  "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."
1261
1724
  )),
1262
1725
  scope: ConfigurationScope.MACHINE,
@@ -1268,8 +1731,8 @@ configurationRegistry.registerConfiguration({
1268
1731
  type: "boolean"
1269
1732
  },
1270
1733
  markdownDescription: ( localize(
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.",
1734
+ 7357,
1735
+ "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, entries are additive: plugins mapped to `true` are enabled in addition to the user's own plugins, and only plugins mapped to `false` are blocked from loading.",
1273
1736
  `\`#${ChatConfiguration.PluginLocations}#\``,
1274
1737
  `\`#${ChatConfiguration.PluginMarketplaces}#\``
1275
1738
  )),
@@ -1288,7 +1751,7 @@ configurationRegistry.registerConfiguration({
1288
1751
  description: {
1289
1752
  key: "chat.plugins.enabledPlugins.policy",
1290
1753
  value: ( localize(
1291
- 6395,
1754
+ 7358,
1292
1755
  "Plugin enablement. Keys are plugin IDs in `{plugin}@{marketplace}` form; values enable or disable the plugin."
1293
1756
  ))
1294
1757
  }
@@ -1301,7 +1764,7 @@ configurationRegistry.registerConfiguration({
1301
1764
  type: "string"
1302
1765
  },
1303
1766
  markdownDescription: ( localize(
1304
- 6396,
1767
+ 7359,
1305
1768
  "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."
1306
1769
  )),
1307
1770
  default: ["github/copilot-plugins", "github/awesome-copilot#marketplace"],
@@ -1317,9 +1780,10 @@ configurationRegistry.registerConfiguration({
1317
1780
  scope: ConfigurationScope.APPLICATION,
1318
1781
  included: false,
1319
1782
  markdownDescription: ( localize(
1320
- 6397,
1321
- "Enterprise-managed additional plugin marketplaces. Unioned with {0}.",
1322
- `\`#${ChatConfiguration.PluginMarketplaces}#\``
1783
+ 7360,
1784
+ "Enterprise-managed additional plugin marketplaces. Unioned with {0}. An entry's `autoUpdate` value overrides {1} for plugins from that marketplace.",
1785
+ `\`#${ChatConfiguration.PluginMarketplaces}#\``,
1786
+ "`#extensions.autoUpdate#`"
1323
1787
  )),
1324
1788
  policy: {
1325
1789
  name: "ChatExtraMarketplaces",
@@ -1335,8 +1799,8 @@ configurationRegistry.registerConfiguration({
1335
1799
  description: {
1336
1800
  key: "chat.plugins.extraMarketplaces.policy",
1337
1801
  value: ( localize(
1338
- 6398,
1339
- "Additional plugin marketplaces to query. Keys are marketplace names; values are GitHub shorthand (`owner/repo[#ref]`) or Git URIs (`{url}[#ref]`)."
1802
+ 7361,
1803
+ "Additional plugin marketplaces to query. Keys are marketplace names; values are GitHub shorthand (`owner/repo[#ref]`) or Git URIs (`{url}[#ref]`), optionally with an enterprise-managed auto-update override."
1340
1804
  ))
1341
1805
  }
1342
1806
  }
@@ -1391,7 +1855,7 @@ configurationRegistry.registerConfiguration({
1391
1855
  required: ["source"]
1392
1856
  },
1393
1857
  markdownDescription: ( localize(
1394
- 6399,
1858
+ 7362,
1395
1859
  "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."
1396
1860
  )),
1397
1861
  default: null,
@@ -1412,17 +1876,77 @@ configurationRegistry.registerConfiguration({
1412
1876
  description: {
1413
1877
  key: "chat.plugins.strictMarketplaces.policy",
1414
1878
  value: ( localize(
1415
- 6400,
1879
+ 7363,
1416
1880
  "Allowlist of plugin marketplace sources. When set, only marketplaces matching an entry are trusted; an empty array blocks all marketplaces."
1417
1881
  ))
1418
1882
  }
1419
1883
  }
1420
1884
  }
1421
1885
  },
1886
+ [COPILOT_STRICT_PLUGIN_ONLY_CUSTOMIZATION_CONFIG]: {
1887
+ type: "boolean",
1888
+ default: false,
1889
+ scope: ConfigurationScope.APPLICATION,
1890
+ included: false,
1891
+ description: ( localize(
1892
+ 7364,
1893
+ "Blocks standalone user and workspace skills, agents, hooks, instructions, and MCP servers while keeping eligible plugin customizations available."
1894
+ )),
1895
+ policy: {
1896
+ name: "ChatStrictPluginOnlyCustomization",
1897
+ category: PolicyCategory.InteractiveSession,
1898
+ minimumVersion: "1.132",
1899
+ value: managedSettingValue(COPILOT_STRICT_PLUGIN_ONLY_CUSTOMIZATION_KEY),
1900
+ managedSettings: {
1901
+ [COPILOT_STRICT_PLUGIN_ONLY_CUSTOMIZATION_KEY]: {
1902
+ type: "boolean"
1903
+ }
1904
+ },
1905
+ localization: {
1906
+ description: {
1907
+ key: "chat.customizations.strictPluginOnlyCustomization.policy",
1908
+ value: ( localize(
1909
+ 7365,
1910
+ "Blocks standalone user and workspace skills, agents, hooks, instructions, and MCP servers while keeping eligible plugin customizations available."
1911
+ ))
1912
+ }
1913
+ }
1914
+ }
1915
+ },
1916
+ [COPILOT_ALLOW_MANAGED_HOOKS_ONLY_CONFIG]: {
1917
+ type: "boolean",
1918
+ default: false,
1919
+ scope: ConfigurationScope.APPLICATION,
1920
+ included: false,
1921
+ description: ( localize(
1922
+ 7366,
1923
+ "Allows hooks only from enterprise-managed sources and plugins force-enabled by policy."
1924
+ )),
1925
+ policy: {
1926
+ name: "ChatAllowManagedHooksOnly",
1927
+ category: PolicyCategory.InteractiveSession,
1928
+ minimumVersion: "1.132",
1929
+ value: managedSettingValue(COPILOT_ALLOW_MANAGED_HOOKS_ONLY_KEY),
1930
+ managedSettings: {
1931
+ [COPILOT_ALLOW_MANAGED_HOOKS_ONLY_KEY]: {
1932
+ type: "boolean"
1933
+ }
1934
+ },
1935
+ localization: {
1936
+ description: {
1937
+ key: "chat.hooks.allowManagedOnly.policy",
1938
+ value: ( localize(
1939
+ 7367,
1940
+ "Allows hooks only from enterprise-managed sources and plugins force-enabled by policy."
1941
+ ))
1942
+ }
1943
+ }
1944
+ }
1945
+ },
1422
1946
  [ChatConfiguration.AgentEnabled]: {
1423
1947
  type: "boolean",
1424
1948
  description: ( localize(
1425
- 6401,
1949
+ 7368,
1426
1950
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
1427
1951
  )),
1428
1952
  default: true,
@@ -1436,7 +1960,7 @@ configurationRegistry.registerConfiguration({
1436
1960
  description: {
1437
1961
  key: "chat.agent.enabled.description",
1438
1962
  value: ( localize(
1439
- 6401,
1963
+ 7368,
1440
1964
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
1441
1965
  ))
1442
1966
  }
@@ -1445,14 +1969,15 @@ configurationRegistry.registerConfiguration({
1445
1969
  },
1446
1970
  [AgentNetworkDomainSettingId.NetworkFilter]: {
1447
1971
  markdownDescription: ( localize(
1448
- 6402,
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.",
1972
+ 7369,
1973
+ "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.\n\nChanges may not take full effect until VS Code is restarted.",
1450
1974
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1451
1975
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``,
1452
1976
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``
1453
1977
  )),
1454
1978
  type: "boolean",
1455
1979
  default: false,
1980
+ scope: ConfigurationScope.APPLICATION,
1456
1981
  restricted: true,
1457
1982
  policy: {
1458
1983
  name: "ChatAgentNetworkFilter",
@@ -1462,8 +1987,8 @@ configurationRegistry.registerConfiguration({
1462
1987
  description: {
1463
1988
  key: "chat.agent.networkFilter",
1464
1989
  value: ( localize(
1465
- 6402,
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.",
1990
+ 7369,
1991
+ "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.\n\nChanges may not take full effect until VS Code is restarted.",
1467
1992
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1468
1993
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``,
1469
1994
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``
@@ -1474,8 +1999,8 @@ configurationRegistry.registerConfiguration({
1474
1999
  },
1475
2000
  [AgentNetworkDomainSettingId.AllowedNetworkDomains]: {
1476
2001
  markdownDescription: ( localize(
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.",
2002
+ 7370,
2003
+ "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.\n\nChanges may not take full effect until VS Code is restarted.",
1479
2004
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1480
2005
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1481
2006
  `\`#${AgentSandboxSettingId.AgentSandboxAllowNetwork}#\``,
@@ -1487,6 +2012,7 @@ configurationRegistry.registerConfiguration({
1487
2012
  type: "string"
1488
2013
  },
1489
2014
  default: [],
2015
+ scope: ConfigurationScope.APPLICATION,
1490
2016
  restricted: true,
1491
2017
  policy: {
1492
2018
  name: "ChatAgentAllowedNetworkDomains",
@@ -1496,8 +2022,8 @@ configurationRegistry.registerConfiguration({
1496
2022
  description: {
1497
2023
  key: "chat.agent.allowedNetworkDomains",
1498
2024
  value: ( localize(
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.",
2025
+ 7370,
2026
+ "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.\n\nChanges may not take full effect until VS Code is restarted.",
1501
2027
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1502
2028
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1503
2029
  `\`#${AgentSandboxSettingId.AgentSandboxAllowNetwork}#\``,
@@ -1510,8 +2036,8 @@ configurationRegistry.registerConfiguration({
1510
2036
  },
1511
2037
  [AgentNetworkDomainSettingId.DeniedNetworkDomains]: {
1512
2038
  markdownDescription: ( localize(
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}.",
2039
+ 7371,
2040
+ "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}.\n\nChanges may not take full effect until VS Code is restarted.",
1515
2041
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1516
2042
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1517
2043
  `\`#${AgentSandboxSettingId.AgentSandboxAllowNetwork}#\``,
@@ -1523,6 +2049,7 @@ configurationRegistry.registerConfiguration({
1523
2049
  type: "string"
1524
2050
  },
1525
2051
  default: [],
2052
+ scope: ConfigurationScope.APPLICATION,
1526
2053
  restricted: true,
1527
2054
  policy: {
1528
2055
  name: "ChatAgentDeniedNetworkDomains",
@@ -1532,8 +2059,8 @@ configurationRegistry.registerConfiguration({
1532
2059
  description: {
1533
2060
  key: "chat.agent.deniedNetworkDomains",
1534
2061
  value: ( localize(
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}.",
2062
+ 7371,
2063
+ "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}.\n\nChanges may not take full effect until VS Code is restarted.",
1537
2064
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1538
2065
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1539
2066
  `\`#${AgentSandboxSettingId.AgentSandboxAllowNetwork}#\``,
@@ -1542,111 +2069,345 @@ configurationRegistry.registerConfiguration({
1542
2069
  ))
1543
2070
  }
1544
2071
  }
1545
- }
1546
- },
1547
- [AgentNetworkDomainSettingId.DeprecatedOldAllowedNetworkDomains]: {
1548
- type: "array",
1549
- items: {
1550
- type: "string"
1551
- },
1552
- deprecated: true,
1553
- markdownDeprecationMessage: ( localize(
1554
- 6405,
1555
- "Use {0} instead",
1556
- `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``
1557
- ))
1558
- },
1559
- [AgentNetworkDomainSettingId.DeprecatedOldDeniedNetworkDomains]: {
1560
- type: "array",
1561
- items: {
1562
- type: "string"
1563
- },
1564
- deprecated: true,
1565
- markdownDeprecationMessage: ( localize(
1566
- 6406,
1567
- "Use {0} instead",
1568
- `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1569
- ))
1570
- },
1571
- [AgentNetworkDomainSettingId.DeprecatedSandboxAllowedNetworkDomains]: {
1572
- type: "array",
1573
- items: {
1574
- type: "string"
1575
- },
1576
- deprecated: true,
1577
- markdownDeprecationMessage: ( localize(
1578
- 6407,
1579
- "Use {0} instead",
1580
- `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``
1581
- ))
1582
- },
1583
- [AgentNetworkDomainSettingId.DeprecatedSandboxDeniedNetworkDomains]: {
1584
- type: "array",
1585
- items: {
1586
- type: "string"
2072
+ }
2073
+ },
2074
+ [ChatConfiguration.DefaultNewSessionMode]: {
2075
+ type: "string",
2076
+ description: ( localize(
2077
+ 7372,
2078
+ "The default mode for new chat sessions. When empty, the chat view's default mode is used."
2079
+ )),
2080
+ default: ""
2081
+ },
2082
+ [AgentHostAhpJsonlLoggingSettingId]: {
2083
+ type: "boolean",
2084
+ description: ( localize(
2085
+ 7373,
2086
+ "When enabled, logs all AHP transport messages for agent host connections to JSONL files under the window's log directory."
2087
+ )),
2088
+ default: product.quality !== "stable",
2089
+ tags: ["experimental", "advanced"]
2090
+ },
2091
+ [AgentHostAgentDebugLogEnabledSettingId]: {
2092
+ type: "boolean",
2093
+ markdownDescription: ( localize(
2094
+ 7374,
2095
+ "Enable agent debug logging for agent host sessions: surface their debug events in the agent debug panel. Takes effect immediately; only sessions that run while this is enabled are captured."
2096
+ )),
2097
+ default: false,
2098
+ tags: ["experimental", "advanced"],
2099
+ experiment: {
2100
+ mode: "startup"
2101
+ }
2102
+ },
2103
+ [AgentHostAgentDebugLogMaxEventsSettingId]: {
2104
+ type: "number",
2105
+ minimum: 10,
2106
+ markdownDescription: ( localize(
2107
+ 7375,
2108
+ "Maximum number of debug events kept in memory per agent host session for the agent debug panel. Older events beyond this limit are dropped from the in-memory buffer, which also lowers the totals (such as token usage) shown in the panel overview."
2109
+ )),
2110
+ default: 10000,
2111
+ tags: ["experimental", "advanced"],
2112
+ experiment: {
2113
+ mode: "startup"
2114
+ }
2115
+ },
2116
+ [AgentHostCustomTerminalToolEnabledSettingId]: {
2117
+ type: "boolean",
2118
+ description: ( localize(
2119
+ 7376,
2120
+ "When enabled, Copilot SDK sessions use the Agent Host terminal tool override instead of the SDK's default terminal behavior."
2121
+ )),
2122
+ default: false,
2123
+ tags: ["experimental", "advanced"],
2124
+ policy: {
2125
+ name: "ChatAgentHostCustomTerminalTool",
2126
+ category: PolicyCategory.InteractiveSession,
2127
+ minimumVersion: "1.137",
2128
+ value: managedSettingsDisabledValue,
2129
+ localization: {
2130
+ description: {
2131
+ key: "chat.agentHost.customTerminalTool.enabled.policy",
2132
+ value: ( localize(
2133
+ 7377,
2134
+ "Enable the Agent Host custom terminal tool override for Copilot SDK sessions."
2135
+ ))
2136
+ }
2137
+ }
2138
+ }
2139
+ },
2140
+ [AgentHostShellToolInitScriptEnabledSettingId]: {
2141
+ type: "boolean",
2142
+ markdownDescription: ( localize(
2143
+ 7378,
2144
+ "When enabled, Copilot SDK sessions load your shell profile (`~/.bashrc` on macOS and Linux, PowerShell profiles on Windows) and activate the Python environment selected for the workspace before each shell command. Python activation requires the Python Environments extension with `#python-envs.terminal.autoActivationType#` set to `shellStartup`. Local windows only."
2145
+ )),
2146
+ default: false,
2147
+ tags: ["experimental", "advanced"],
2148
+ scope: ConfigurationScope.APPLICATION
2149
+ },
2150
+ [AgentHostCopilotSdkLogLevelSettingId]: {
2151
+ type: "string",
2152
+ enum: [...copilotSdkLogLevelSettingValues],
2153
+ enumDescriptions: [( localize(
2154
+ 7379,
2155
+ "Log informational messages. Running VS Code with trace logging still enables all Copilot SDK runtime diagnostics."
2156
+ )), ( localize(7380, "Log all Copilot SDK runtime diagnostics."))],
2157
+ markdownDescription: ( localize(
2158
+ 7381,
2159
+ "Controls the log level for the Copilot SDK runtime used by the local agent host. Changing this setting restarts the Copilot SDK client; active sessions are reloaded when next used."
2160
+ )),
2161
+ default: "info",
2162
+ scope: ConfigurationScope.APPLICATION,
2163
+ tags: ["experimental", "advanced"]
2164
+ },
2165
+ [CopilotClaudeAdvisorEnabledSettingId]: {
2166
+ type: "boolean",
2167
+ markdownDescription: ( localize(
2168
+ 7382,
2169
+ "When enabled, Copilot Agent Host sessions using a supported Claude model can call the provider-native Advisor tool. Changing this setting restarts the Copilot SDK client after active turns finish."
2170
+ )),
2171
+ default: false,
2172
+ tags: ["experimental", "advanced"],
2173
+ scope: ConfigurationScope.APPLICATION
2174
+ },
2175
+ [AgentHostMapLegacySettingsToManagedSettingsSettingId]: {
2176
+ type: "boolean",
2177
+ markdownDescription: ( localize(
2178
+ 7383,
2179
+ "When enabled, maps supported legacy VS Code settings to equivalent Copilot SDK managed settings for local Agent Host sessions. Only restrictions are mapped, and only from globally-scoped values — workspace and folder values are ignored. Applies to local sessions using the Copilot agent; remote hosts and other agents are unaffected. This compatibility bridge is temporary and is not used for new settings."
2180
+ )),
2181
+ default: false,
2182
+ scope: ConfigurationScope.APPLICATION_MACHINE,
2183
+ tags: ["experimental", "advanced"]
2184
+ },
2185
+ [AgentHostOpus48PromptEnabledSettingId]: {
2186
+ type: "boolean",
2187
+ description: ( localize(
2188
+ 7384,
2189
+ "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."
2190
+ )),
2191
+ default: false,
2192
+ tags: ["experimental", "advanced"]
2193
+ },
2194
+ [AgentHostToolSearchEnabledSettingId]: {
2195
+ type: "boolean",
2196
+ description: ( localize(
2197
+ 7385,
2198
+ "When enabled, Copilot SDK sessions defer MCP and non-core VS Code tools behind a tool-search tool so the model discovers them on demand instead of loading every tool definition up front."
2199
+ )),
2200
+ default: true,
2201
+ tags: ["experimental", "advanced"]
2202
+ },
2203
+ [AgentHostToolSearchDeferThresholdSettingId]: {
2204
+ type: "number",
2205
+ description: ( localize(
2206
+ 7386,
2207
+ "Minimum number of tools before MCP and external tools are deferred behind tool search. Set to 0 to always defer external tools. Only effective when tool search is enabled."
2208
+ )),
2209
+ default: 1,
2210
+ minimum: 0,
2211
+ tags: ["experimental", "advanced"]
2212
+ },
2213
+ [CopilotSemanticSearchEnabledSettingId]: {
2214
+ type: "boolean",
2215
+ description: ( localize(
2216
+ 7387,
2217
+ "Controls whether Copilot Agent Host sessions can use VS Code's semantic workspace search. When disabled, semantic search is unavailable."
2218
+ )),
2219
+ default: false,
2220
+ experiment: {
2221
+ mode: "auto"
2222
+ },
2223
+ tags: ["experimental", "advanced"]
2224
+ },
2225
+ [AgentHostReasoningEffortOverrideSettingId]: {
2226
+ type: "string",
2227
+ markdownDescription: ( localize(
2228
+ 7388,
2229
+ "Overrides the reasoning effort for Copilot SDK agent sessions regardless of the per-model picker value. Set it to a level the selected model supports (for example `low`, `medium`, `high`, or `xhigh`) — choosing a level the model does not support may be rejected by the model. A value that isn't a recognized effort level is ignored and the session falls back to the picker value. Applied when a session is created and when its model changes. Only affects Copilot CLI agent sessions.\n\n**Note**: This is an advanced setting for experimentation."
2230
+ )),
2231
+ default: "",
2232
+ tags: ["experimental", "advanced"]
2233
+ },
2234
+ [AgentHostReasoningSummaryEnabledSettingId]: {
2235
+ type: "boolean",
2236
+ markdownDescription: ( localize(
2237
+ 7389,
2238
+ "When enabled, requests concise reasoning summaries for supported Copilot SDK agent sessions."
2239
+ )),
2240
+ default: false,
2241
+ experiment: {
2242
+ mode: "startup"
2243
+ },
2244
+ tags: ["experimental", "advanced"]
2245
+ },
2246
+ [CopilotAutoModeTiersEnabledSettingId]: {
2247
+ type: "boolean",
2248
+ markdownDescription: ( localize(
2249
+ 7390,
2250
+ "Show the Auto model's \"Optimize for\" picker with Efficiency, Balance, and Intelligence options in Copilot Chat and Copilot SDK sessions. When disabled, the service chooses how to route unless an override is configured."
2251
+ )),
2252
+ default: false,
2253
+ experiment: {
2254
+ mode: "startup",
2255
+ name: AutoModeTiersExperimentName
2256
+ },
2257
+ tags: ["experimental", "advanced"]
2258
+ },
2259
+ [CopilotAutoModeTierOverrideSettingId]: {
2260
+ type: ["string", "null"],
2261
+ markdownDescription: ( localize(
2262
+ 7391,
2263
+ "Override Auto's \"Optimize for\" preference for evals and debugging, even when the picker is disabled. Accepts `efficiency`, `balance`, or `intelligence` in both Copilot Chat and Copilot SDK sessions; `fast` is extension-only. Set to `null` to clear."
2264
+ )),
2265
+ default: null,
2266
+ tags: ["advanced"]
2267
+ },
2268
+ [CopilotSubagentModelGuidanceEnabledSettingId]: {
2269
+ type: "boolean",
2270
+ markdownDescription: ( localize(
2271
+ 7392,
2272
+ "When enabled, Copilot SDK agent sessions instruct the model to keep subagents on their default model, setting the task tool's `model` parameter only when you explicitly name the model a subagent should run on. Applied when a session launches or resumes."
2273
+ )),
2274
+ default: false,
2275
+ experiment: {
2276
+ mode: "startup"
2277
+ },
2278
+ tags: ["experimental", "advanced"]
2279
+ },
2280
+ [AgentHostCopilotModelCapabilityOverridesSettingId]: {
2281
+ type: "object",
2282
+ markdownDescription: ( localize(
2283
+ 7393,
2284
+ "Per-model overrides for Copilot Agent Host sessions. Use `*` to match every model. Supports model family, reasoning effort, tool filters, model capabilities, and YAML prompt overrides."
2285
+ )),
2286
+ additionalProperties: {
2287
+ type: "object",
2288
+ properties: {
2289
+ family: {
2290
+ type: "string",
2291
+ description: ( localize(
2292
+ 7394,
2293
+ "Route the model to another family's tuned system prompt and tool profile (e.g. `claude-opus-4.8`). The model id sent to the runtime is unaffected, so the session still runs on the selected model."
2294
+ ))
2295
+ },
2296
+ reasoningEffort: {
2297
+ type: "string",
2298
+ enum: [...reasoningEffortLevels],
2299
+ description: ( localize(
2300
+ 7395,
2301
+ "Reasoning effort for sessions on this model, overriding the model picker's thinking level. Use the `*` entry to set it for every model. Unrecognized values are ignored."
2302
+ ))
2303
+ },
2304
+ availableTools: {
2305
+ type: "array",
2306
+ items: {
2307
+ type: "string"
2308
+ },
2309
+ description: ( localize(
2310
+ 7396,
2311
+ "When set, only matching tools are available to sessions on this model. Patterns: bare tool names, `builtin:*` or `builtin:<name>` (Copilot runtime tools), `mcp:*` or `mcp:<name>` (MCP server tools), and `custom:*` or `custom:<name>` (every tool VS Code registers with the SDK, including the agent host's own terminal tools); a bare `*` expands to all three sources."
2312
+ ))
2313
+ },
2314
+ excludedTools: {
2315
+ type: "array",
2316
+ items: {
2317
+ type: "string"
2318
+ },
2319
+ description: ( localize(
2320
+ 7397,
2321
+ "Tools disabled for sessions on this model; same pattern syntax as `availableTools` and takes precedence over it. Note that `custom:*` and a bare `*` also disable the agent host's own terminal tools registered with the SDK."
2322
+ ))
2323
+ },
2324
+ modelCapabilities: {
2325
+ type: "object",
2326
+ additionalProperties: true,
2327
+ description: ( localize(
2328
+ 7398,
2329
+ "Per-property model capability overrides passed through to the Copilot SDK's `modelCapabilities` session field (e.g. `{ \"supports\": { \"vision\": false }, \"limits\": { \"max_context_window_tokens\": 64000 } }`), deep-merged over the runtime's resolved defaults for this model. Applied when the session launches or resumes."
2330
+ ))
2331
+ },
2332
+ promptOverrideString: {
2333
+ type: "string",
2334
+ description: ( localize(
2335
+ 7399,
2336
+ "Inline YAML containing `systemPrompt` and/or `toolDescriptions` overrides. Takes precedence over `promptOverrideFile`. A system prompt replaces all Agent Host and SDK prompt sections and guardrails."
2337
+ ))
2338
+ },
2339
+ promptOverrideFile: {
2340
+ type: "string",
2341
+ description: ( localize(
2342
+ 7400,
2343
+ "Path to a YAML file containing `systemPrompt` and/or `toolDescriptions` overrides. Ignored when `promptOverrideString` is configured."
2344
+ ))
2345
+ }
2346
+ }
1587
2347
  },
1588
- deprecated: true,
1589
- markdownDeprecationMessage: ( localize(
1590
- 6408,
1591
- "Use {0} instead",
1592
- `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1593
- ))
1594
- },
1595
- [ChatConfiguration.DefaultNewSessionMode]: {
1596
- type: "string",
1597
- description: ( localize(
1598
- 6409,
1599
- "The default mode for new chat sessions. When empty, the chat view's default mode is used."
1600
- )),
1601
- default: ""
1602
- },
1603
- [AgentHostAhpJsonlLoggingSettingId]: {
1604
- type: "boolean",
1605
- description: ( localize(
1606
- 6410,
1607
- "When enabled, logs all AHP transport messages for agent host connections to JSONL files under the window's log directory."
1608
- )),
1609
- default: product.quality !== "stable",
2348
+ default: {},
2349
+ scope: ConfigurationScope.APPLICATION,
1610
2350
  tags: ["experimental", "advanced"]
1611
2351
  },
1612
- [AgentHostCustomTerminalToolEnabledSettingId]: {
2352
+ [AgentHostAllowSignedOutWhenUsableSettingId]: {
1613
2353
  type: "boolean",
1614
- description: ( localize(
1615
- 6411,
1616
- "When enabled, Copilot SDK sessions use the Agent Host terminal tool override instead of the SDK's default terminal behavior."
2354
+ markdownDescription: ( localize(
2355
+ 7401,
2356
+ "When enabled, Agent Host sessions remain available while signed out. The Agents window opens without forcing GitHub sign-in, and editor chat lets you select the Copilot harness. Agents usable without GitHub (for example Codex with ChatGPT authentication or Claude in native mode with your own Anthropic credentials) work while signed out; agents that require GitHub prompt you to add a model or sign in. When disabled (the default), GitHub sign-in is required before the Agents window opens."
1617
2357
  )),
1618
2358
  default: false,
1619
- tags: ["experimental", "advanced"]
2359
+ scope: ConfigurationScope.APPLICATION,
2360
+ tags: ["experimental", "advanced"],
2361
+ experiment: {
2362
+ mode: "startup"
2363
+ }
1620
2364
  },
1621
- [AgentHostOpus48PromptEnabledSettingId]: {
2365
+ [ChatMicrosoftAuthenticationEnabledSettingId]: {
1622
2366
  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."
2367
+ markdownDescription: ( localize(
2368
+ 7402,
2369
+ "When enabled, sign-in dialogs offer \"Continue with Microsoft\". Signing in with Microsoft exchanges your Microsoft account for the GitHub access your organization has linked to it. The resulting GitHub sign-in lasts for the current window session only and is not saved."
1626
2370
  )),
1627
2371
  default: false,
1628
- tags: ["experimental", "advanced"]
2372
+ scope: ConfigurationScope.APPLICATION,
2373
+ tags: ["experimental", "advanced"],
2374
+ experiment: {
2375
+ mode: "startup"
2376
+ }
1629
2377
  },
1630
2378
  [AgentHostSdkSandboxEnabledSettingId]: {
1631
2379
  type: "string",
1632
- enum: [
1633
- AgentSandboxEnabledValue.Off,
1634
- AgentSandboxEnabledValue.On,
1635
- AgentSandboxEnabledValue.AllowNetwork
1636
- ],
2380
+ enum: [AgentSandboxEnabledValue.Off, AgentSandboxEnabledValue.On],
1637
2381
  enumDescriptions: [( localize(
1638
- 6413,
2382
+ 7403,
1639
2383
  "No sandbox policy is forwarded for the SDK's built-in shell tool — commands run unsandboxed."
1640
2384
  )), ( 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."
2385
+ 7404,
2386
+ "The SDK's built-in shell tool runs inside a sandbox using the configured filesystem policy with outbound network blocked."
2387
+ ))],
2388
+ markdownDescription: ( localize(
2389
+ 7405,
2390
+ "Sandbox mode for the Copilot SDK's built-in shell tool on macOS and Linux. 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 to every permission mode. Unrestricted network is controlled by `#chat.agent.sandbox.allowNetwork#`. Use `#chat.agentHost.sdkSandbox.enabledWindows#` on Windows."
2391
+ )),
2392
+ default: AgentSandboxEnabledValue.Off,
2393
+ tags: ["experimental", "advanced"],
2394
+ experiment: {
2395
+ mode: "auto"
2396
+ }
2397
+ },
2398
+ [AgentHostSdkSandboxWindowsEnabledSettingId]: {
2399
+ type: "string",
2400
+ enum: [AgentSandboxEnabledValue.Off, AgentSandboxEnabledValue.On],
2401
+ enumDescriptions: [( localize(
2402
+ 7406,
2403
+ "No sandbox policy is forwarded for the SDK's built-in shell tool on Windows — commands run unsandboxed."
1643
2404
  )), ( localize(
1644
- 6415,
1645
- "The SDK's built-in shell tool runs inside a sandbox with unrestricted outbound network access."
2405
+ 7407,
2406
+ "The SDK's built-in shell tool runs inside the Windows sandbox using the configured filesystem policy."
1646
2407
  ))],
1647
2408
  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."
2409
+ 7408,
2410
+ "Sandbox mode for the Copilot SDK's built-in shell tool on Windows. Only takes effect when `#chat.agentHost.customTerminalTool.enabled#` is `false`. This setting is independent of `#chat.agentHost.sdkSandbox.enabled#` so Windows sandbox support can be enabled separately. Unrestricted network is controlled by `#chat.agent.sandbox.allowNetwork#`."
1650
2411
  )),
1651
2412
  default: AgentSandboxEnabledValue.Off,
1652
2413
  tags: ["experimental", "advanced"],
@@ -1657,7 +2418,7 @@ configurationRegistry.registerConfiguration({
1657
2418
  [ChatConfiguration.ToolConfirmationCarousel]: {
1658
2419
  type: "boolean",
1659
2420
  description: ( localize(
1660
- 6417,
2421
+ 7409,
1661
2422
  "When enabled, multiple tool confirmations are batched into a carousel above the input."
1662
2423
  )),
1663
2424
  default: true
@@ -1665,7 +2426,7 @@ configurationRegistry.registerConfiguration({
1665
2426
  [ChatConfiguration.ToolRiskAssessmentEnabled]: {
1666
2427
  type: "boolean",
1667
2428
  description: ( localize(
1668
- 6418,
2429
+ 7410,
1669
2430
  "When enabled, tool confirmations show an LLM-generated risk level (Safe / Caution / Review carefully) and a short explanation."
1670
2431
  )),
1671
2432
  default: true,
@@ -1676,7 +2437,7 @@ configurationRegistry.registerConfiguration({
1676
2437
  [ChatConfiguration.ToolRiskAssessmentModel]: {
1677
2438
  type: "string",
1678
2439
  description: ( localize(
1679
- 6419,
2440
+ 7411,
1680
2441
  "The language model id used to generate tool risk assessments. Should be a small, fast model."
1681
2442
  )),
1682
2443
  default: "copilot-utility-small",
@@ -1688,7 +2449,7 @@ configurationRegistry.registerConfiguration({
1688
2449
  [ChatConfiguration.PlanAgentDefaultModel]: {
1689
2450
  type: "string",
1690
2451
  description: ( localize(
1691
- 6420,
2452
+ 7412,
1692
2453
  "Select the default language model to use for the Plan agent from the available providers."
1693
2454
  )),
1694
2455
  default: "",
@@ -1699,7 +2460,7 @@ configurationRegistry.registerConfiguration({
1699
2460
  [ChatConfiguration.ExploreAgentDefaultModel]: {
1700
2461
  type: "string",
1701
2462
  description: ( localize(
1702
- 6421,
2463
+ 7413,
1703
2464
  "Select the default language model to use for the Explore subagent from the available providers."
1704
2465
  )),
1705
2466
  default: "",
@@ -1710,7 +2471,7 @@ configurationRegistry.registerConfiguration({
1710
2471
  [ChatConfiguration.BYOKUtilityModelDefault]: {
1711
2472
  type: "string",
1712
2473
  markdownDescription: ( localize(
1713
- 6422,
2474
+ 7414,
1714
2475
  "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
2476
  "`#chat.utilityModel#`",
1716
2477
  "`#chat.utilitySmallModel#`"
@@ -1720,14 +2481,14 @@ configurationRegistry.registerConfiguration({
1720
2481
  BYOKUtilityModelDefault.MainAgent,
1721
2482
  BYOKUtilityModelDefault.Copilot
1722
2483
  ],
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
2484
+ enumItemLabels: [( localize(7415, "None")), ( localize(7416, "Main Agent Model")), ( localize(7417, "GitHub Copilot"))],
2485
+ markdownEnumDescriptions: [( localize(7418, "Do not use a default utility model.")), ( localize(7419, "Use the selected BYOK main agent model.")), ( localize(7420, "Use the default GitHub Copilot utility models."))],
2486
+ default: BYOKUtilityModelDefault.Copilot
1726
2487
  },
1727
2488
  [ChatConfiguration.UtilityModel]: {
1728
2489
  type: "string",
1729
2490
  description: ( localize(
1730
- 6429,
2491
+ 7421,
1731
2492
  "Override the language model used by built-in utility flows. Leave empty to use the configured default behavior."
1732
2493
  )),
1733
2494
  default: "",
@@ -1738,7 +2499,7 @@ configurationRegistry.registerConfiguration({
1738
2499
  [ChatConfiguration.UtilitySmallModel]: {
1739
2500
  type: "string",
1740
2501
  description: ( localize(
1741
- 6430,
2502
+ 7422,
1742
2503
  "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."
1743
2504
  )),
1744
2505
  default: "",
@@ -1749,25 +2510,25 @@ configurationRegistry.registerConfiguration({
1749
2510
  [ChatConfiguration.RequestQueueingDefaultAction]: {
1750
2511
  type: "string",
1751
2512
  enum: ["queue", "steer"],
1752
- enumDescriptions: [( localize(6431, "Queue the message to send after the current request completes.")), ( localize(
1753
- 6432,
2513
+ enumDescriptions: [( localize(7423, "Queue the message to send after the current request completes.")), ( localize(
2514
+ 7424,
1754
2515
  "Steer the current request by sending the message immediately, signaling the current request to yield."
1755
2516
  ))],
1756
2517
  description: ( localize(
1757
- 6433,
2518
+ 7425,
1758
2519
  "Controls which action is the default for the queue button when a request is in progress."
1759
2520
  )),
1760
2521
  default: "steer"
1761
2522
  },
1762
2523
  [ChatConfiguration.EnableMath]: {
1763
2524
  type: "boolean",
1764
- description: ( localize(6434, "Enable math rendering in chat responses using KaTeX.")),
2525
+ description: ( localize(7426, "Enable math rendering in chat responses using KaTeX.")),
1765
2526
  default: true
1766
2527
  },
1767
2528
  [ChatConfiguration.ShowCodeBlockProgressAnimation]: {
1768
2529
  type: "boolean",
1769
2530
  description: ( localize(
1770
- 6435,
2531
+ 7427,
1771
2532
  "When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
1772
2533
  )),
1773
2534
  default: true,
@@ -1782,7 +2543,7 @@ configurationRegistry.registerConfiguration({
1782
2543
  additionalProperties: false,
1783
2544
  default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
1784
2545
  markdownDescription: ( localize(
1785
- 6436,
2546
+ 7428,
1786
2547
  "Configures discovery of Model Context Protocol servers from configuration from various other applications."
1787
2548
  ))
1788
2549
  },
@@ -1791,14 +2552,14 @@ configurationRegistry.registerConfiguration({
1791
2552
  default: false,
1792
2553
  tags: ["preview"],
1793
2554
  description: ( localize(
1794
- 6437,
2555
+ 7429,
1795
2556
  "Enables the default Marketplace for Model Context Protocol (MCP) servers."
1796
2557
  )),
1797
2558
  included: product.quality === "stable"
1798
2559
  },
1799
2560
  [mcpGalleryServiceUrlConfig]: {
1800
2561
  type: "string",
1801
- description: ( localize(6438, "Configure the MCP Gallery service URL to connect to")),
2562
+ description: ( localize(7430, "Configure the MCP Gallery service URL to connect to")),
1802
2563
  default: "",
1803
2564
  scope: ConfigurationScope.APPLICATION,
1804
2565
  tags: ["usesOnlineServices", "advanced"],
@@ -1811,19 +2572,19 @@ configurationRegistry.registerConfiguration({
1811
2572
  localization: {
1812
2573
  description: {
1813
2574
  key: "mcp.gallery.serviceUrl",
1814
- value: ( localize(6438, "Configure the MCP Gallery service URL to connect to"))
2575
+ value: ( localize(7430, "Configure the MCP Gallery service URL to connect to"))
1815
2576
  }
1816
2577
  }
1817
2578
  }
1818
2579
  },
1819
2580
  [PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
1820
2581
  type: "object",
1821
- title: ( localize(6439, "Instructions File Locations")),
2582
+ title: ( localize(7431, "Instructions File Locations")),
1822
2583
  markdownDescription: ( localize(
1823
- 6440,
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.",
2584
+ 7432,
2585
+ "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.\n\nThis setting is only used by the Local agent harness.",
1825
2586
  INSTRUCTION_FILE_EXTENSION,
1826
- INSTRUCTIONS_DOCUMENTATION_URL
2587
+ getDocumentationUrl(PromptsType.instructions)
1827
2588
  )),
1828
2589
  default: {
1829
2590
  ...( DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS.map(folder => ({
@@ -1833,13 +2594,19 @@ configurationRegistry.registerConfiguration({
1833
2594
  ...curr
1834
2595
  }), {})
1835
2596
  },
2597
+ markdownDeprecationMessage: ( localize(
2598
+ 7433,
2599
+ "This setting and the Local agent harness will be removed in a future release. Use {0} in the Agent Customizations editor to move instructions into supported locations.",
2600
+ migrateLocationSettingsLink
2601
+ )),
2602
+ deprecationMessageSeverity: "info",
1836
2603
  additionalProperties: {
1837
2604
  type: "boolean"
1838
2605
  },
1839
2606
  propertyNames: {
1840
2607
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1841
2608
  patternErrorMessage: ( localize(
1842
- 6441,
2609
+ 7434,
1843
2610
  "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."
1844
2611
  ))
1845
2612
  },
@@ -1854,16 +2621,22 @@ configurationRegistry.registerConfiguration({
1854
2621
  },
1855
2622
  [PromptsConfig.PROMPT_LOCATIONS_KEY]: {
1856
2623
  type: "object",
1857
- title: ( localize(6442, "Prompt File Locations")),
2624
+ title: ( localize(7435, "Prompt File Locations")),
1858
2625
  markdownDescription: ( localize(
1859
- 6443,
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.",
2626
+ 7436,
2627
+ "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.\n\nThis setting is only used by the Local agent harness.",
1861
2628
  PROMPT_FILE_EXTENSION,
1862
- PROMPT_DOCUMENTATION_URL
2629
+ getDocumentationUrl(PromptsType.prompt)
1863
2630
  )),
1864
2631
  default: {
1865
2632
  [PROMPT_DEFAULT_SOURCE_FOLDER]: true
1866
2633
  },
2634
+ markdownDeprecationMessage: ( localize(
2635
+ 7437,
2636
+ "This setting and the Local agent harness will be removed in a future release. Use {0} in the Agent Customizations editor to convert prompt files into skills.",
2637
+ migratePromptFilesLink
2638
+ )),
2639
+ deprecationMessageSeverity: "info",
1867
2640
  additionalProperties: {
1868
2641
  type: "boolean"
1869
2642
  },
@@ -1873,7 +2646,7 @@ configurationRegistry.registerConfiguration({
1873
2646
  propertyNames: {
1874
2647
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1875
2648
  patternErrorMessage: ( localize(
1876
- 6444,
2649
+ 7438,
1877
2650
  "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."
1878
2651
  ))
1879
2652
  },
@@ -1888,20 +2661,22 @@ configurationRegistry.registerConfiguration({
1888
2661
  },
1889
2662
  [PromptsConfig.MODE_LOCATION_KEY]: {
1890
2663
  type: "object",
1891
- title: ( localize(6445, "Mode File Locations")),
2664
+ title: ( localize(7439, "Mode File Locations")),
1892
2665
  markdownDescription: ( localize(
1893
- 6446,
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.",
2666
+ 7440,
2667
+ "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.\n\nThis setting is only used by the Local agent harness.",
1895
2668
  LEGACY_MODE_FILE_EXTENSION,
1896
- AGENT_DOCUMENTATION_URL
2669
+ getDocumentationUrl(PromptsType.agent)
1897
2670
  )),
1898
2671
  default: {
1899
2672
  [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
1900
2673
  },
1901
- deprecationMessage: ( localize(
1902
- 6447,
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`"
2674
+ markdownDeprecationMessage: ( localize(
2675
+ 7441,
2676
+ "This setting and the Local agent harness will be removed in a future release. Chat modes are now called custom agents and are located in `.github/agents`. Use {0} in the Agent Customizations editor to move them into supported locations.",
2677
+ migrateLocationSettingsLink
1904
2678
  )),
2679
+ deprecationMessageSeverity: "info",
1905
2680
  additionalProperties: {
1906
2681
  type: "boolean"
1907
2682
  },
@@ -1925,25 +2700,31 @@ configurationRegistry.registerConfiguration({
1925
2700
  },
1926
2701
  [PromptsConfig.AGENTS_LOCATION_KEY]: {
1927
2702
  type: "object",
1928
- title: ( localize(6448, "Agent File Locations")),
2703
+ title: ( localize(7442, "Agent File Locations")),
1929
2704
  markdownDescription: ( localize(
1930
- 6449,
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.",
2705
+ 7443,
2706
+ "Specify location(s) of custom agent files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.\n\nThis setting is only used by the Local agent harness.",
1932
2707
  AGENT_FILE_EXTENSION,
1933
- AGENT_DOCUMENTATION_URL
2708
+ getDocumentationUrl(PromptsType.agent)
1934
2709
  )),
1935
2710
  default: {
1936
2711
  [AGENTS_SOURCE_FOLDER]: true,
1937
2712
  [CLAUDE_AGENTS_SOURCE_FOLDER]: true,
1938
2713
  [COPILOT_USER_AGENTS_SOURCE_FOLDER]: true
1939
2714
  },
2715
+ markdownDeprecationMessage: ( localize(
2716
+ 7444,
2717
+ "This setting and the Local agent harness will be removed in a future release. Use {0} in the Agent Customizations editor to move agents into supported locations.",
2718
+ migrateLocationSettingsLink
2719
+ )),
2720
+ deprecationMessageSeverity: "info",
1940
2721
  additionalProperties: {
1941
2722
  type: "boolean"
1942
2723
  },
1943
2724
  propertyNames: {
1944
2725
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1945
2726
  patternErrorMessage: ( localize(
1946
- 6450,
2727
+ 7445,
1947
2728
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1948
2729
  ))
1949
2730
  },
@@ -1960,10 +2741,10 @@ configurationRegistry.registerConfiguration({
1960
2741
  },
1961
2742
  [PromptsConfig.USE_AGENT_MD]: {
1962
2743
  type: "boolean",
1963
- title: ( localize(6451, "Use AGENTS.md file")),
2744
+ title: ( localize(7446, "Use AGENTS.md file")),
1964
2745
  markdownDescription: ( localize(
1965
- 6452,
1966
- "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
2746
+ 7447,
2747
+ "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests. This setting is only used by the Local agent harness."
1967
2748
  )),
1968
2749
  default: true,
1969
2750
  restricted: true,
@@ -1972,10 +2753,10 @@ configurationRegistry.registerConfiguration({
1972
2753
  },
1973
2754
  [PromptsConfig.USE_NESTED_AGENT_MD]: {
1974
2755
  type: "boolean",
1975
- title: ( localize(6453, "Use nested AGENTS.md files")),
2756
+ title: ( localize(7448, "Use nested AGENTS.md files")),
1976
2757
  markdownDescription: ( localize(
1977
- 6454,
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."
2758
+ 7449,
2759
+ "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. This setting is only used by the Local agent harness."
1979
2760
  )),
1980
2761
  default: false,
1981
2762
  restricted: true,
@@ -1990,10 +2771,10 @@ configurationRegistry.registerConfiguration({
1990
2771
  },
1991
2772
  [PromptsConfig.USE_CLAUDE_MD]: {
1992
2773
  type: "boolean",
1993
- title: ( localize(6455, "Use CLAUDE.md file")),
2774
+ title: ( localize(7450, "Use CLAUDE.md file")),
1994
2775
  markdownDescription: ( localize(
1995
- 6456,
1996
- "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests."
2776
+ 7451,
2777
+ "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests. This setting is only used by the Local agent harness."
1997
2778
  )),
1998
2779
  default: true,
1999
2780
  restricted: true,
@@ -2002,10 +2783,10 @@ configurationRegistry.registerConfiguration({
2002
2783
  },
2003
2784
  [PromptsConfig.USE_AGENT_SKILLS]: {
2004
2785
  type: "boolean",
2005
- title: ( localize(6457, "Use Agent skills")),
2786
+ title: ( localize(7452, "Use Agent skills")),
2006
2787
  markdownDescription: ( localize(
2007
- 6458,
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)."
2788
+ 7453,
2789
+ "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). This setting is only used by the Local agent harness."
2009
2790
  )),
2010
2791
  default: true,
2011
2792
  restricted: true,
@@ -2014,10 +2795,10 @@ configurationRegistry.registerConfiguration({
2014
2795
  },
2015
2796
  [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
2016
2797
  type: "boolean",
2017
- title: ( localize(6459, "Use Skill Adherence Prompt")),
2798
+ title: ( localize(7454, "Use Skill Adherence Prompt")),
2018
2799
  markdownDescription: ( localize(
2019
- 6460,
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."
2800
+ 7455,
2801
+ "Controls whether a stronger skill adherence prompt is used that encourages the model to immediately invoke skills when relevant rather than just announcing them. This setting is only used by the Local agent harness."
2021
2802
  )),
2022
2803
  default: false,
2023
2804
  restricted: true,
@@ -2035,10 +2816,10 @@ configurationRegistry.registerConfiguration({
2035
2816
  },
2036
2817
  [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
2037
2818
  type: "boolean",
2038
- title: ( localize(6461, "Include Applying Instructions")),
2819
+ title: ( localize(7456, "Include Applying Instructions")),
2039
2820
  markdownDescription: ( localize(
2040
- 6462,
2041
- "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
2821
+ 7457,
2822
+ "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests. This setting is only used by the Local agent harness."
2042
2823
  )),
2043
2824
  default: true,
2044
2825
  restricted: true,
@@ -2047,10 +2828,10 @@ configurationRegistry.registerConfiguration({
2047
2828
  },
2048
2829
  [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
2049
2830
  type: "boolean",
2050
- title: ( localize(6463, "Include Referenced Instructions")),
2831
+ title: ( localize(7458, "Include Referenced Instructions")),
2051
2832
  markdownDescription: ( localize(
2052
- 6464,
2053
- "Controls whether referenced instructions are automatically included in chat requests."
2833
+ 7459,
2834
+ "Controls whether referenced instructions are automatically included in chat requests. This setting is only used by the Local agent harness."
2054
2835
  )),
2055
2836
  default: false,
2056
2837
  restricted: true,
@@ -2059,10 +2840,10 @@ configurationRegistry.registerConfiguration({
2059
2840
  },
2060
2841
  [PromptsConfig.USE_CUSTOMIZATIONS_IN_PARENT_REPOS]: {
2061
2842
  type: "boolean",
2062
- title: ( localize(6465, "Use Customizations in Parent Repositories")),
2843
+ title: ( localize(7460, "Use Customizations in Parent Repositories")),
2063
2844
  markdownDescription: ( localize(
2064
- 6466,
2065
- "Controls whether to use chat customization files in parent repositories."
2845
+ 7461,
2846
+ "Controls whether to use chat customization files in parent repositories. This setting is only used by the Local agent harness."
2066
2847
  )),
2067
2848
  default: false,
2068
2849
  restricted: true,
@@ -2071,12 +2852,12 @@ configurationRegistry.registerConfiguration({
2071
2852
  },
2072
2853
  [PromptsConfig.SKILLS_LOCATION_KEY]: {
2073
2854
  type: "object",
2074
- title: ( localize(6467, "Agent Skills Locations")),
2855
+ title: ( localize(7462, "Agent Skills Locations")),
2075
2856
  markdownDescription: ( localize(
2076
- 6468,
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.",
2857
+ 7463,
2858
+ "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.\n\nThis setting is only used by the Local agent harness.",
2078
2859
  SKILL_FILENAME,
2079
- SKILL_DOCUMENTATION_URL
2860
+ getDocumentationUrl(PromptsType.skill)
2080
2861
  )),
2081
2862
  default: {
2082
2863
  ...( DEFAULT_SKILL_SOURCE_FOLDERS.map(folder => ({
@@ -2086,13 +2867,19 @@ configurationRegistry.registerConfiguration({
2086
2867
  ...curr
2087
2868
  }), {})
2088
2869
  },
2870
+ markdownDeprecationMessage: ( localize(
2871
+ 7464,
2872
+ "This setting and the Local agent harness will be removed in a future release. Use {0} in the Agent Customizations editor to move skills into supported locations.",
2873
+ migrateLocationSettingsLink
2874
+ )),
2875
+ deprecationMessageSeverity: "info",
2089
2876
  additionalProperties: {
2090
2877
  type: "boolean"
2091
2878
  },
2092
2879
  propertyNames: {
2093
2880
  pattern: VALID_PROMPT_FOLDER_PATTERN,
2094
2881
  patternErrorMessage: ( localize(
2095
- 6469,
2882
+ 7465,
2096
2883
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
2097
2884
  ))
2098
2885
  },
@@ -2109,11 +2896,11 @@ configurationRegistry.registerConfiguration({
2109
2896
  },
2110
2897
  [PromptsConfig.HOOKS_LOCATION_KEY]: {
2111
2898
  type: "object",
2112
- title: ( localize(6470, "Hook File Locations")),
2899
+ title: ( localize(7466, "Hook File Locations")),
2113
2900
  markdownDescription: ( localize(
2114
- 6471,
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`).",
2116
- HOOK_DOCUMENTATION_URL
2901
+ 7467,
2902
+ "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`).\n\nThis setting is only used by the Local agent harness.",
2903
+ getDocumentationUrl(PromptsType.hook)
2117
2904
  )),
2118
2905
  default: {
2119
2906
  ...( DEFAULT_HOOK_FILE_PATHS.map(f => ({
@@ -2129,7 +2916,7 @@ configurationRegistry.registerConfiguration({
2129
2916
  propertyNames: {
2130
2917
  pattern: VALID_PROMPT_FOLDER_PATTERN,
2131
2918
  patternErrorMessage: ( localize(
2132
- 6472,
2919
+ 7468,
2133
2920
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
2134
2921
  ))
2135
2922
  },
@@ -2151,10 +2938,10 @@ configurationRegistry.registerConfiguration({
2151
2938
  },
2152
2939
  [PromptsConfig.USE_CHAT_HOOKS]: {
2153
2940
  type: "boolean",
2154
- title: ( localize(6473, "Use Chat Hooks")),
2941
+ title: ( localize(7469, "Use Chat Hooks")),
2155
2942
  markdownDescription: ( localize(
2156
- 6474,
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#`."
2943
+ 7470,
2944
+ "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`. This setting is only used by the Local agent harness."
2158
2945
  )),
2159
2946
  default: true,
2160
2947
  restricted: true,
@@ -2169,8 +2956,8 @@ configurationRegistry.registerConfiguration({
2169
2956
  description: {
2170
2957
  key: "chat.useHooks.description",
2171
2958
  value: ( localize(
2172
- 6474,
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#`."
2959
+ 7470,
2960
+ "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`. This setting is only used by the Local agent harness."
2174
2961
  ))
2175
2962
  }
2176
2963
  }
@@ -2178,10 +2965,10 @@ configurationRegistry.registerConfiguration({
2178
2965
  },
2179
2966
  [PromptsConfig.USE_CLAUDE_HOOKS]: {
2180
2967
  type: "boolean",
2181
- title: ( localize(6475, "Use Claude Hooks")),
2968
+ title: ( localize(7471, "Use Claude Hooks")),
2182
2969
  markdownDescription: ( localize(
2183
- 6476,
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#`."
2970
+ 7472,
2971
+ "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#`. This setting is only used by the Local agent harness."
2185
2972
  )),
2186
2973
  default: false,
2187
2974
  restricted: true,
@@ -2191,9 +2978,9 @@ configurationRegistry.registerConfiguration({
2191
2978
  [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
2192
2979
  type: "object",
2193
2980
  scope: ConfigurationScope.RESOURCE,
2194
- title: ( localize(6477, "Prompt File Recommendations")),
2981
+ title: ( localize(7473, "Prompt File Recommendations")),
2195
2982
  markdownDescription: ( localize(
2196
- 6478,
2983
+ 7474,
2197
2984
  "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`."
2198
2985
  )),
2199
2986
  default: {},
@@ -2215,7 +3002,7 @@ configurationRegistry.registerConfiguration({
2215
3002
  type: "boolean",
2216
3003
  default: true,
2217
3004
  description: ( localize(
2218
- 6479,
3005
+ 7475,
2219
3006
  "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."
2220
3007
  ))
2221
3008
  },
@@ -2223,21 +3010,24 @@ configurationRegistry.registerConfiguration({
2223
3010
  type: "string",
2224
3011
  default: "fixedScrolling",
2225
3012
  enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
2226
- enumDescriptions: [( localize(6480, "Thinking parts will be collapsed by default.")), ( localize(
2227
- 6481,
3013
+ enumDescriptions: [( localize(7476, "Thinking parts will be collapsed by default.")), ( localize(
3014
+ 7477,
2228
3015
  "Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
2229
3016
  )), ( localize(
2230
- 6482,
3017
+ 7478,
2231
3018
  "Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
2232
3019
  ))],
2233
- description: ( localize(6483, "Controls how thinking is rendered.")),
3020
+ description: ( localize(
3021
+ 7479,
3022
+ "Controls how thinking is rendered. Read-only chats always use the collapsed preview style."
3023
+ )),
2234
3024
  tags: ["experimental"]
2235
3025
  },
2236
3026
  [ChatConfiguration.ThinkingGenerateTitles]: {
2237
3027
  type: "boolean",
2238
3028
  default: true,
2239
3029
  description: ( localize(
2240
- 6484,
3030
+ 7480,
2241
3031
  "Controls whether to use an LLM to generate summary titles for thinking sections."
2242
3032
  )),
2243
3033
  tags: ["experimental"]
@@ -2246,12 +3036,12 @@ configurationRegistry.registerConfiguration({
2246
3036
  type: "string",
2247
3037
  default: "always",
2248
3038
  enum: ["off", "withThinking", "always"],
2249
- enumDescriptions: [( localize(6485, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
2250
- 6486,
3039
+ enumDescriptions: [( localize(7481, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
3040
+ 7482,
2251
3041
  "Tool calls are collapsed into thinking sections when thinking is present."
2252
- )), ( localize(6487, "Tool calls are always collapsed, even without thinking."))],
3042
+ )), ( localize(7483, "Tool calls are always collapsed, even without thinking."))],
2253
3043
  markdownDescription: ( localize(
2254
- 6488,
3044
+ 7484,
2255
3045
  "Controls how tool calls are displayed in relation to thinking sections."
2256
3046
  )),
2257
3047
  tags: ["experimental"]
@@ -2260,7 +3050,7 @@ configurationRegistry.registerConfiguration({
2260
3050
  type: "boolean",
2261
3051
  default: true,
2262
3052
  markdownDescription: ( localize(
2263
- 6489,
3053
+ 7485,
2264
3054
  "When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
2265
3055
  )),
2266
3056
  tags: ["experimental"]
@@ -2269,7 +3059,7 @@ configurationRegistry.registerConfiguration({
2269
3059
  type: "boolean",
2270
3060
  default: true,
2271
3061
  markdownDescription: ( localize(
2272
- 6490,
3062
+ 7486,
2273
3063
  "When enabled, terminal tool calls are always displayed in a collapsible container with a simplified view."
2274
3064
  )),
2275
3065
  tags: ["experimental"]
@@ -2278,7 +3068,7 @@ configurationRegistry.registerConfiguration({
2278
3068
  type: "boolean",
2279
3069
  default: false,
2280
3070
  markdownDescription: ( localize(
2281
- 6491,
3071
+ 7487,
2282
3072
  "Post-process tool output (for example `git diff`, `ls -l`, or `npm install`) to reduce token usage before it is sent to the model."
2283
3073
  )),
2284
3074
  tags: ["preview"],
@@ -2298,7 +3088,7 @@ configurationRegistry.registerConfiguration({
2298
3088
  enum: ["replace", "append"],
2299
3089
  default: "append",
2300
3090
  description: ( localize(
2301
- 6492,
3091
+ 7488,
2302
3092
  "'replace' replaces all default phrases entirely; 'append' adds your phrases to all default categories."
2303
3093
  ))
2304
3094
  },
@@ -2309,14 +3099,14 @@ configurationRegistry.registerConfiguration({
2309
3099
  },
2310
3100
  default: [],
2311
3101
  description: ( localize(
2312
- 6493,
3102
+ 7489,
2313
3103
  "Custom loading messages to show during thinking, working progress, terminal, and tool operations."
2314
3104
  ))
2315
3105
  }
2316
3106
  },
2317
3107
  additionalProperties: false,
2318
3108
  markdownDescription: ( localize(
2319
- 6494,
3109
+ 7490,
2320
3110
  "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."
2321
3111
  )),
2322
3112
  tags: ["experimental"]
@@ -2325,14 +3115,14 @@ configurationRegistry.registerConfiguration({
2325
3115
  type: "boolean",
2326
3116
  default: true,
2327
3117
  markdownDescription: ( localize(
2328
- 6495,
2329
- "When enabled, tool failures are automatically expanded in the chat UI to show error details."
3118
+ 7491,
3119
+ "When enabled, terminal tool failures are automatically expanded in the chat UI to show error details."
2330
3120
  ))
2331
3121
  },
2332
- [ChatConfiguration.AIDisabled]: {
3122
+ [ChatAIDisabledSettingId]: {
2333
3123
  type: "boolean",
2334
3124
  description: ( localize(
2335
- 6496,
3125
+ 7492,
2336
3126
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
2337
3127
  )),
2338
3128
  default: false,
@@ -2345,7 +3135,7 @@ configurationRegistry.registerConfiguration({
2345
3135
  description: {
2346
3136
  key: "chat.disableAIFeatures",
2347
3137
  value: ( localize(
2348
- 6496,
3138
+ 7492,
2349
3139
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
2350
3140
  ))
2351
3141
  }
@@ -2355,7 +3145,7 @@ configurationRegistry.registerConfiguration({
2355
3145
  [ChatConfiguration.TitleBarSignInEnabled]: {
2356
3146
  type: "boolean",
2357
3147
  description: ( localize(
2358
- 6497,
3148
+ 7493,
2359
3149
  "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."
2360
3150
  )),
2361
3151
  default: true
@@ -2363,18 +3153,30 @@ configurationRegistry.registerConfiguration({
2363
3153
  [ChatConfiguration.TitleBarOpenInAgentsWindowEnabled]: {
2364
3154
  type: "boolean",
2365
3155
  description: ( localize(
2366
- 6498,
3156
+ 7494,
2367
3157
  "Controls whether the Open in Agents Window button is shown in the title bar."
2368
3158
  )),
2369
3159
  default: true
2370
3160
  },
3161
+ [ChatConfiguration.OpenInAgentsWindowRevealCurrentSession]: {
3162
+ type: "boolean",
3163
+ description: ( localize(
3164
+ 7495,
3165
+ "Controls whether Open in Agents Window reveals the current local Agent Host session instead of opening a new session."
3166
+ )),
3167
+ default: false,
3168
+ tags: ["experimental"],
3169
+ experiment: {
3170
+ mode: "auto"
3171
+ }
3172
+ },
2371
3173
  "chat.approvedAccountOrganizations": {
2372
3174
  type: "array",
2373
3175
  items: {
2374
3176
  type: "string"
2375
3177
  },
2376
3178
  description: ( localize(
2377
- 6499,
3179
+ 7496,
2378
3180
  "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."
2379
3181
  )),
2380
3182
  default: [],
@@ -2387,7 +3189,7 @@ configurationRegistry.registerConfiguration({
2387
3189
  description: {
2388
3190
  key: "chat.approvedAccountOrganizations.policy.description",
2389
3191
  value: ( localize(
2390
- 6500,
3192
+ 7497,
2391
3193
  "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)."
2392
3194
  ))
2393
3195
  }
@@ -2396,7 +3198,7 @@ configurationRegistry.registerConfiguration({
2396
3198
  },
2397
3199
  "chat.allowAnonymousAccess": {
2398
3200
  type: "boolean",
2399
- description: ( localize(6501, "Controls whether anonymous access is allowed in chat.")),
3201
+ description: ( localize(7498, "Controls whether anonymous access is allowed in chat.")),
2400
3202
  default: false,
2401
3203
  included: false,
2402
3204
  tags: ["experimental"],
@@ -2407,7 +3209,7 @@ configurationRegistry.registerConfiguration({
2407
3209
  [ChatConfiguration.GrowthNotificationEnabled]: {
2408
3210
  type: "boolean",
2409
3211
  description: ( localize(
2410
- 6502,
3212
+ 7499,
2411
3213
  "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
2412
3214
  )),
2413
3215
  default: false,
@@ -2419,7 +3221,7 @@ configurationRegistry.registerConfiguration({
2419
3221
  [ChatConfiguration.RestoreLastPanelSession]: {
2420
3222
  type: "boolean",
2421
3223
  description: ( localize(
2422
- 6503,
3224
+ 7500,
2423
3225
  "Controls whether the last session is restored in panel after restart."
2424
3226
  )),
2425
3227
  default: false
@@ -2427,7 +3229,7 @@ configurationRegistry.registerConfiguration({
2427
3229
  [ChatConfiguration.ExitAfterDelegation]: {
2428
3230
  type: "boolean",
2429
3231
  description: ( localize(
2430
- 6504,
3232
+ 7501,
2431
3233
  "Controls whether the chat panel automatically exits after delegating a request to another session."
2432
3234
  )),
2433
3235
  default: false,
@@ -2436,7 +3238,7 @@ configurationRegistry.registerConfiguration({
2436
3238
  "chat.extensionUnification.enabled": {
2437
3239
  type: "boolean",
2438
3240
  description: ( localize(
2439
- 6505,
3241
+ 7502,
2440
3242
  "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."
2441
3243
  )),
2442
3244
  default: true,
@@ -2445,34 +3247,74 @@ configurationRegistry.registerConfiguration({
2445
3247
  mode: "auto"
2446
3248
  }
2447
3249
  },
2448
- [ChatConfiguration.GeneralPurposeAgentEnabled]: {
3250
+ [ChatConfiguration.SubagentsAllowInvocationsFromSubagents]: {
2449
3251
  type: "boolean",
2450
- description: ( localize(
2451
- 6506,
2452
- "Controls whether the built-in General Purpose agent is available as a subagent."
3252
+ description: ( localize(7503, "Allow subagents to invoke subagents.")),
3253
+ markdownDescription: ( localize(
3254
+ 7504,
3255
+ "Controls whether subagents can invoke other subagents. When enabled, nesting is limited to a maximum depth of 5."
2453
3256
  )),
2454
3257
  default: false,
2455
- tags: ["experimental", "advanced"],
2456
3258
  experiment: {
2457
3259
  mode: "auto"
2458
3260
  }
2459
3261
  },
2460
- [ChatConfiguration.SubagentsAllowInvocationsFromSubagents]: {
3262
+ [ChatConfiguration.SubagentsDefaultToAuto]: {
2461
3263
  type: "boolean",
2462
- description: ( localize(6507, "Allow subagents to invoke subagents.")),
2463
3264
  markdownDescription: ( localize(
2464
- 6508,
2465
- "Controls whether subagents can invoke other subagents. When enabled, nesting is limited to a maximum depth of 5."
3265
+ 7505,
3266
+ "Controls whether local subagents use the Auto model when neither the tool call nor the selected agent specifies a model. Explicit tool and agent model selections take precedence. Subagents of a BYOK main model continue to use that model. Auto routing is not constrained by the main model's fixed cost tier."
2466
3267
  )),
2467
3268
  default: false,
3269
+ tags: ["experimental"],
2468
3270
  experiment: {
2469
3271
  mode: "auto"
2470
3272
  }
2471
3273
  },
3274
+ [ChatConfiguration.SubagentsUseRichRendering]: {
3275
+ type: "boolean",
3276
+ description: ( localize(
3277
+ 7506,
3278
+ "Controls whether subagents in chat editors use a rich presentation that opens each subagent in its own editor instead of rendering its full activity inline in the parent chat."
3279
+ )),
3280
+ default: true
3281
+ },
3282
+ [ChatConfiguration.SubagentsShowCreditUsage]: {
3283
+ type: "boolean",
3284
+ description: ( localize(
3285
+ 7507,
3286
+ "Controls whether AI credit usage is shown next to the duration for subagents."
3287
+ )),
3288
+ default: false
3289
+ },
3290
+ [ChatConfiguration.TerminalAgentHostEnabled]: {
3291
+ type: "boolean",
3292
+ description: ( localize(
3293
+ 7508,
3294
+ "Controls whether Terminal Chat is backed by the Agent Host instead of the extension host. Applied on startup."
3295
+ )),
3296
+ default: false,
3297
+ tags: ["experimental"],
3298
+ experiment: {
3299
+ mode: "startup"
3300
+ }
3301
+ },
3302
+ [ChatConfiguration.InlineChatAgentHostEnabled]: {
3303
+ type: "boolean",
3304
+ description: ( localize(
3305
+ 7509,
3306
+ "Controls whether editor inline chat is backed by the Agent Host instead of the extension host. Applied on startup."
3307
+ )),
3308
+ default: false,
3309
+ tags: ["experimental"],
3310
+ experiment: {
3311
+ mode: "startup"
3312
+ }
3313
+ },
2472
3314
  [ChatConfiguration.CollectInstructionsInExtension]: {
2473
3315
  type: "boolean",
2474
3316
  description: ( localize(
2475
- 6509,
3317
+ 7510,
2476
3318
  "When enabled, automatic instruction collection (.instructions.md, agent instructions, customizations index) is performed by the GitHub Copilot Chat extension instead of the core workbench."
2477
3319
  )),
2478
3320
  default: false,
@@ -2482,32 +3324,130 @@ configurationRegistry.registerConfiguration({
2482
3324
  type: "boolean",
2483
3325
  tags: ["preview"],
2484
3326
  description: ( localize(
2485
- 6510,
3327
+ 7511,
2486
3328
  "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."
2487
3329
  )),
2488
3330
  default: false
3331
+ },
3332
+ [ChatConfiguration.ChatCustomizationsPromptMigrationEnabled]: {
3333
+ type: "boolean",
3334
+ tags: ["experimental"],
3335
+ description: ( localize(
3336
+ 7512,
3337
+ "Controls whether the Chat Customizations editor offers to convert prompt files into skills for agent-host harnesses, which ignore prompt files. When disabled, the migration card and sidebar shortcut are hidden."
3338
+ )),
3339
+ default: true
3340
+ },
3341
+ [ChatConfiguration.ChatCustomizationsUserDataMigrationEnabled]: {
3342
+ type: "boolean",
3343
+ tags: ["experimental"],
3344
+ description: ( localize(
3345
+ 7513,
3346
+ "Controls whether the Chat Customizations editor offers to move agents and instructions stored in user data to the active agent-host harness, which ignores the user data location. When disabled, the migration card and sidebar shortcut are hidden."
3347
+ )),
3348
+ default: false
3349
+ },
3350
+ [ChatConfiguration.ChatCustomizationsLocationsMigrationEnabled]: {
3351
+ type: "boolean",
3352
+ tags: ["experimental"],
3353
+ description: ( localize(
3354
+ 7514,
3355
+ "Controls whether the Chat Customizations editor offers to move agents, instructions, and skills from configured locations that are not supported by the active agent-host harness. When disabled, the migration card and sidebar shortcut are hidden."
3356
+ )),
3357
+ default: false
3358
+ },
3359
+ [ChatConfiguration.ChatCustomizationsMcpServerMigrationEnabled]: {
3360
+ type: "boolean",
3361
+ tags: ["experimental"],
3362
+ description: ( localize(
3363
+ 7515,
3364
+ "Controls whether the Chat Customizations editor offers to move supported workspace MCP servers out of .vscode/mcp.json and into a .mcp.json file at the workspace root, where the active agent-host harness discovers them directly. When disabled, the migration card and sidebar shortcut are hidden."
3365
+ )),
3366
+ default: false
3367
+ },
3368
+ [ChatConfiguration.ChatCustomizationsMigrationHint]: {
3369
+ type: "string",
3370
+ enum: [
3371
+ CustomizationMigrationHintMode.Never,
3372
+ CustomizationMigrationHintMode.Once,
3373
+ CustomizationMigrationHintMode.Always
3374
+ ],
3375
+ enumDescriptions: [( localize(7516, "Never show customization migration hints in chat.")), ( localize(7517, "Show a customization migration hint once per chat session.")), ( localize(7518, "Show a customization migration hint for every chat request."))],
3376
+ description: ( localize(
3377
+ 7519,
3378
+ "Controls whether chat shows information about customizations that are not used by the active Agent Host harness."
3379
+ )),
3380
+ default: CustomizationMigrationHintMode.Never,
3381
+ tags: ["experimental"],
3382
+ experiment: {
3383
+ mode: "auto"
3384
+ }
2489
3385
  }
2490
3386
  }
2491
3387
  });
2492
3388
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2493
- EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(6511, "Chat"))),
3389
+ EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(7520, "Chat"))),
2494
3390
  [( new SyncDescriptor(ChatEditorInput))]
2495
3391
  );
2496
3392
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2497
- EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(6512, "Debug View"))),
3393
+ EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(7521, "Debug View"))),
2498
3394
  [( new SyncDescriptor(ChatDebugEditorInput))]
2499
3395
  );
2500
3396
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2501
- EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(6513, "Agent Plugin"))),
3397
+ EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(7522, "Agent Plugin"))),
2502
3398
  [( new SyncDescriptor(AgentPluginEditorInput))]
2503
3399
  );
3400
+ function isStringKeyedObject(value) {
3401
+ return !!value && typeof value === "object" && !Array.isArray(value);
3402
+ }
3403
+ function migrateChatDefaultConfiguration(value) {
3404
+ if (!isStringKeyedObject(value)) {
3405
+ return undefined;
3406
+ }
3407
+ let approvals;
3408
+ switch (value.approvals) {
3409
+ case ChatPermissionLevel.Default:
3410
+ approvals = ChatDefaultPermissionLevel.Manual;
3411
+ break;
3412
+ case ChatPermissionLevel.AutoApprove:
3413
+ approvals = ChatDefaultPermissionLevel.AllowAll;
3414
+ break;
3415
+ default:
3416
+ return undefined;
3417
+ }
3418
+ return {
3419
+ ...value,
3420
+ approvals
3421
+ };
3422
+ }
3423
+ function migrateAgentMergeMergePullRequest(value) {
3424
+ return typeof value === "boolean" ? (value ? "always" : "never") : value;
3425
+ }
2504
3426
  ( Registry.as(Extensions$2.ConfigurationMigration)).registerConfigurationMigrations([{
2505
3427
  key: "chat.agentSessions.defaultConfiguration",
2506
3428
  migrateFn: (value, _accessor) => ([["chat.agentSessions.defaultConfiguration", {
2507
3429
  value: undefined
2508
3430
  }], [ChatConfiguration.DefaultConfiguration, {
2509
- value
3431
+ value: migrateChatDefaultConfiguration(value) ?? value
2510
3432
  }]])
3433
+ }, {
3434
+ key: ChatConfiguration.DefaultConfiguration,
3435
+ migrateFn: value => ({
3436
+ value: migrateChatDefaultConfiguration(value) ?? value
3437
+ })
3438
+ }, {
3439
+ key: "chat.experimental.autoApprovals.enabled",
3440
+ migrateFn: (value, accessor) => {
3441
+ const pairs = [["chat.experimental.autoApprovals.enabled", {
3442
+ value: undefined
3443
+ }]];
3444
+ if (accessor(ChatConfiguration.AssistedPermissionsEnabled) === undefined) {
3445
+ pairs.push([ChatConfiguration.AssistedPermissionsEnabled, {
3446
+ value
3447
+ }]);
3448
+ }
3449
+ return pairs;
3450
+ }
2511
3451
  }, {
2512
3452
  key: "chat.experimental.detectParticipant.enabled",
2513
3453
  migrateFn: (value, _accessor) => ([["chat.experimental.detectParticipant.enabled", {
@@ -2547,6 +3487,11 @@ configurationRegistry.registerConfiguration({
2547
3487
  value
2548
3488
  };
2549
3489
  }
3490
+ }, {
3491
+ key: ChatConfiguration.ShowExternalAgentSessions,
3492
+ migrateFn: value => ({
3493
+ value: value === "all" ? ChatExternalSessionsMode.Last30Days : value
3494
+ })
2550
3495
  }, {
2551
3496
  key: ChatConfiguration.NotifyWindowOnConfirmation,
2552
3497
  migrateFn: value => {
@@ -2582,62 +3527,77 @@ configurationRegistry.registerConfiguration({
2582
3527
  }], [ChatConfiguration.PluginLocations, {
2583
3528
  value
2584
3529
  }]])
2585
- }, {
2586
- key: AgentNetworkDomainSettingId.DeprecatedSandboxAllowedNetworkDomains,
2587
- migrateFn: (value, accessor) => {
2588
- const pairs = [];
2589
- pairs.push([AgentNetworkDomainSettingId.DeprecatedSandboxAllowedNetworkDomains, {
2590
- value: undefined
2591
- }]);
2592
- if (value !== undefined && accessor(AgentNetworkDomainSettingId.AllowedNetworkDomains) === undefined) {
2593
- pairs.push([AgentNetworkDomainSettingId.AllowedNetworkDomains, {
2594
- value
2595
- }]);
3530
+ },
3531
+ ...( ( Object.values(AgentMergeSettingId)).map(settingId => {
3532
+ const legacyKey = settingId.replace(/^chat\./, "chat.agentHost.");
3533
+ return {
3534
+ key: legacyKey,
3535
+ migrateFn: (value, accessor) => {
3536
+ const pairs = [[legacyKey, {
3537
+ value: undefined
3538
+ }]];
3539
+ if (accessor(settingId) === undefined) {
3540
+ pairs.push([settingId, {
3541
+ value: settingId === AgentMergeSettingId.MergePullRequest ? migrateAgentMergeMergePullRequest(value) : value
3542
+ }]);
3543
+ }
3544
+ return pairs;
2596
3545
  }
2597
- return pairs;
2598
- }
2599
- }, {
2600
- key: AgentNetworkDomainSettingId.DeprecatedSandboxDeniedNetworkDomains,
2601
- migrateFn: (value, accessor) => {
2602
- const pairs = [];
2603
- pairs.push([AgentNetworkDomainSettingId.DeprecatedSandboxDeniedNetworkDomains, {
2604
- value: undefined
2605
- }]);
2606
- if (value !== undefined && accessor(AgentNetworkDomainSettingId.DeniedNetworkDomains) === undefined) {
2607
- pairs.push([AgentNetworkDomainSettingId.DeniedNetworkDomains, {
2608
- value
2609
- }]);
3546
+ };
3547
+ })), {
3548
+ key: AgentMergeSettingId.MergePullRequest,
3549
+ migrateFn: value => {
3550
+ if (typeof value !== "boolean") {
3551
+ return [];
2610
3552
  }
2611
- return pairs;
3553
+ return [[AgentMergeSettingId.MergePullRequest, {
3554
+ value: migrateAgentMergeMergePullRequest(value)
3555
+ }]];
2612
3556
  }
2613
3557
  }, {
2614
- key: AgentNetworkDomainSettingId.DeprecatedOldAllowedNetworkDomains,
3558
+ key: "chat.speechToText.model",
2615
3559
  migrateFn: (value, accessor) => {
2616
- const pairs = [];
2617
- pairs.push([AgentNetworkDomainSettingId.DeprecatedOldAllowedNetworkDomains, {
3560
+ const legacyModelIds = [
3561
+ "onnx-community/whisper-tiny",
3562
+ "onnx-community/whisper-base",
3563
+ "onnx-community/whisper-small",
3564
+ "onnx-community/nemotron-3.5-asr-streaming-0.6b-onnx-int4",
3565
+ "nemotron-speech-streaming-en-0.6b"
3566
+ ];
3567
+ const migrated = (typeof value === "string" && legacyModelIds.includes(value)) ? DEFAULT_LOCAL_TRANSCRIPTION_MODEL : value;
3568
+ const pairs = [["chat.speechToText.model", {
2618
3569
  value: undefined
2619
- }]);
2620
- if (value !== undefined && accessor(AgentNetworkDomainSettingId.AllowedNetworkDomains) === undefined) {
2621
- pairs.push([AgentNetworkDomainSettingId.AllowedNetworkDomains, {
2622
- value
3570
+ }]];
3571
+ if (accessor("dictation.model") === undefined) {
3572
+ pairs.push(["dictation.model", {
3573
+ value: migrated
2623
3574
  }]);
2624
3575
  }
2625
3576
  return pairs;
2626
3577
  }
2627
3578
  }, {
2628
- key: AgentNetworkDomainSettingId.DeprecatedOldDeniedNetworkDomains,
3579
+ key: "dictation.model",
3580
+ migrateFn: value => ({
3581
+ value: value === "nemotron-speech-streaming-en-0.6b" ? DEFAULT_LOCAL_TRANSCRIPTION_MODEL : value
3582
+ })
3583
+ }, {
3584
+ key: "chat.speechToText.enabled",
2629
3585
  migrateFn: (value, accessor) => {
2630
- const pairs = [];
2631
- pairs.push([AgentNetworkDomainSettingId.DeprecatedOldDeniedNetworkDomains, {
3586
+ const pairs = [["chat.speechToText.enabled", {
2632
3587
  value: undefined
2633
- }]);
2634
- if (value !== undefined && accessor(AgentNetworkDomainSettingId.DeniedNetworkDomains) === undefined) {
2635
- pairs.push([AgentNetworkDomainSettingId.DeniedNetworkDomains, {
3588
+ }]];
3589
+ if (accessor("dictation.enabled") === undefined) {
3590
+ pairs.push(["dictation.enabled", {
2636
3591
  value
2637
3592
  }]);
2638
3593
  }
2639
3594
  return pairs;
2640
3595
  }
3596
+ }, {
3597
+ key: "chat.speechToText.mode",
3598
+ migrateFn: () => ([["chat.speechToText.mode", {
3599
+ value: undefined
3600
+ }]])
2641
3601
  }]);
2642
3602
  let ChatResolverContribution = class ChatResolverContribution extends Disposable {
2643
3603
  static {
@@ -2665,7 +3625,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
2665
3625
  _registerEditor(scheme) {
2666
3626
  this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
2667
3627
  id: ChatEditorInput.EditorID,
2668
- label: ( localize(6511, "Chat")),
3628
+ label: ( localize(7520, "Chat")),
2669
3629
  priority: RegisteredEditorPriority.builtin
2670
3630
  }, {
2671
3631
  singlePerResource: true,
@@ -2717,7 +3677,7 @@ let ChatDebugResolverContribution = class ChatDebugResolverContribution {
2717
3677
  constructor(editorResolverService) {
2718
3678
  editorResolverService.registerEditor(`${ChatDebugEditorInput.RESOURCE.scheme}:**/**`, {
2719
3679
  id: ChatDebugEditorInput.ID,
2720
- label: ( localize(6512, "Debug View")),
3680
+ label: ( localize(7521, "Debug View")),
2721
3681
  priority: RegisteredEditorPriority.exclusive
2722
3682
  }, {
2723
3683
  singlePerResource: true,
@@ -2756,13 +3716,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
2756
3716
  this.experimentService.getTreatment(treatmentId).then(value => {
2757
3717
  const node = {
2758
3718
  id: "chatSidebar",
2759
- title: ( localize(6246, "Chat")),
3719
+ title: ( localize(7167, "Chat")),
2760
3720
  type: "object",
2761
3721
  properties: {
2762
3722
  "chat.agent.maxRequests": {
2763
3723
  type: "number",
2764
3724
  markdownDescription: ( localize(
2765
- 6514,
3725
+ 7523,
2766
3726
  "The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."
2767
3727
  )),
2768
3728
  default: value ?? 50,
@@ -2799,13 +3759,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
2799
3759
  this.experimentService.getTreatment("chatDefaultNewSessionMode").then(value => {
2800
3760
  const node = {
2801
3761
  id: "chatSidebar",
2802
- title: ( localize(6246, "Chat")),
3762
+ title: ( localize(7167, "Chat")),
2803
3763
  type: "object",
2804
3764
  properties: {
2805
3765
  [ChatConfiguration.DefaultNewSessionMode]: {
2806
3766
  type: "string",
2807
3767
  description: ( localize(
2808
- 6409,
3768
+ 7372,
2809
3769
  "The default mode for new chat sessions. When empty, the chat view's default mode is used."
2810
3770
  )),
2811
3771
  default: typeof value === "string" ? value : ""
@@ -2824,17 +3784,16 @@ let ChatForegroundSessionCountContribution = class ChatForegroundSessionCountCon
2824
3784
  static {
2825
3785
  this.ID = "workbench.contrib.chatForegroundSessionCount";
2826
3786
  }
2827
- constructor(contextKeyService, chatWidgetService, viewsService, editorService) {
3787
+ constructor(contextKeyService, chatWidgetService, viewsService) {
2828
3788
  super();
2829
3789
  this.contextKeyService = contextKeyService;
2830
3790
  this.chatWidgetService = chatWidgetService;
2831
3791
  this.viewsService = viewsService;
2832
- this.editorService = editorService;
2833
3792
  this.foregroundSessionCountContextKey = ChatContextKeys.foregroundSessionCount.bindTo(this.contextKeyService);
2834
3793
  this._register(this.chatWidgetService.onDidAddWidget(() => {
2835
3794
  this.updateForegroundSessionCount();
2836
3795
  }));
2837
- this._register(this.editorService.onDidVisibleEditorsChange(() => {
3796
+ this._register(this.chatWidgetService.onDidChangeWidgetVisibility(() => {
2838
3797
  this.updateForegroundSessionCount();
2839
3798
  }));
2840
3799
  this._register(
@@ -2847,7 +3806,7 @@ let ChatForegroundSessionCountContribution = class ChatForegroundSessionCountCon
2847
3806
  updateForegroundSessionCount() {
2848
3807
  let count = this.viewsService.isViewVisible(ChatViewId) ? 1 : 0;
2849
3808
  for (const widget of this.chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat)) {
2850
- if (widget.domNode.offsetParent === null) {
3809
+ if (!widget.visible) {
2851
3810
  continue;
2852
3811
  }
2853
3812
  if (isIChatViewViewContext(widget.viewContext)) {
@@ -2861,7 +3820,7 @@ let ChatForegroundSessionCountContribution = class ChatForegroundSessionCountCon
2861
3820
  this.foregroundSessionCountContextKey.set(count);
2862
3821
  }
2863
3822
  };
2864
- ChatForegroundSessionCountContribution = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IChatWidgetService)), ( __param(2, IViewsService)), ( __param(3, IEditorService))], ChatForegroundSessionCountContribution));
3823
+ ChatForegroundSessionCountContribution = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IChatWidgetService)), ( __param(2, IViewsService))], ChatForegroundSessionCountContribution));
2865
3824
  function getCustomModesWithUniqueNames(builtinModes, customModes) {
2866
3825
  const customModeIds = ( new Set());
2867
3826
  const builtinNames = ( new Set(( builtinModes.map(mode => mode.name.get()))));
@@ -2981,7 +3940,7 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
2981
3940
  for (const tool of tools) {
2982
3941
  toolReferenceNameEnumValues.push(tool.toolReferenceName);
2983
3942
  toolReferenceNameEnumDescriptions.push(( localize(
2984
- 6515,
3943
+ 7524,
2985
3944
  "{0} - {1}",
2986
3945
  tool.toolReferenceName,
2987
3946
  tool.userDescription || tool.displayName
@@ -2996,12 +3955,33 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
2996
3955
  }
2997
3956
  };
2998
3957
  ToolReferenceNamesContribution = ( __decorate([( __param(0, ILanguageModelToolsService))], ToolReferenceNamesContribution));
3958
+ let ChatSpeechToTextInitContribution = class ChatSpeechToTextInitContribution {
3959
+ static {
3960
+ this.ID = "workbench.contrib.chatSpeechToTextInit";
3961
+ }
3962
+ constructor(_chatSpeechToTextService) {}
3963
+ };
3964
+ ChatSpeechToTextInitContribution = ( __decorate([( __param(0, IChatSpeechToTextService))], ChatSpeechToTextInitContribution));
3965
+ let CustomizationMigrationHintContribution = class CustomizationMigrationHintContribution extends Disposable {
3966
+ static {
3967
+ this.ID = "workbench.contrib.customizationMigrationHint";
3968
+ }
3969
+ constructor(chatService, customizationMigrationService) {
3970
+ super();
3971
+ this._register(chatService.registerCustomizationMigrationHintProvider(
3972
+ (sessionResource, token) => customizationMigrationService.computeMigrationHint(sessionResource, token)
3973
+ ));
3974
+ }
3975
+ };
3976
+ CustomizationMigrationHintContribution = ( __decorate([( __param(0, IChatService)), ( __param(1, ICustomizationMigrationService))], CustomizationMigrationHintContribution));
2999
3977
  AccessibleViewRegistry.register(( new ChatTerminalOutputAccessibleView()));
3000
3978
  AccessibleViewRegistry.register(( new ChatResponseAccessibleView()));
3001
3979
  AccessibleViewRegistry.register(( new PanelChatAccessibilityHelp()));
3002
3980
  AccessibleViewRegistry.register(( new QuickChatAccessibilityHelp()));
3003
3981
  AccessibleViewRegistry.register(( new EditsChatAccessibilityHelp()));
3004
3982
  AccessibleViewRegistry.register(( new AgentChatAccessibilityHelp()));
3983
+ AccessibleViewRegistry.register(( new ChatFindAccessibilityHelp()));
3984
+ AccessibleViewRegistry.register(( new ChatPetAchievementsAccessibilityHelp()));
3005
3985
  registerEditorFeature(ChatInputBoxContentProvider);
3006
3986
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(ChatEditorInput.TypeID, ChatEditorInputSerializer);
3007
3987
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(ChatDebugEditorInput.ID, ChatDebugEditorInputSerializer);
@@ -3010,6 +3990,16 @@ registerWorkbenchContribution2(
3010
3990
  CopilotTelemetryContribution,
3011
3991
  WorkbenchPhase.BlockRestore
3012
3992
  );
3993
+ registerWorkbenchContribution2(
3994
+ ChatSpeechToTextInitContribution.ID,
3995
+ ChatSpeechToTextInitContribution,
3996
+ WorkbenchPhase.BlockRestore
3997
+ );
3998
+ registerWorkbenchContribution2(
3999
+ CustomizationMigrationHintContribution.ID,
4000
+ CustomizationMigrationHintContribution,
4001
+ WorkbenchPhase.AfterRestored
4002
+ );
3013
4003
  registerWorkbenchContribution2(
3014
4004
  ChatResolverContribution.ID,
3015
4005
  ChatResolverContribution,
@@ -3045,6 +4035,7 @@ registerWorkbenchContribution2(
3045
4035
  ChatSessionOptionSlashCommandsContribution,
3046
4036
  WorkbenchPhase.Eventually
3047
4037
  );
4038
+ registerWorkbenchContribution2(ChatOutlineCreator.ID, ChatOutlineCreator, WorkbenchPhase.AfterRestored);
3048
4039
  registerWorkbenchContribution2(
3049
4040
  ChatExtensionPointHandler.ID,
3050
4041
  ChatExtensionPointHandler,
@@ -3053,7 +4044,7 @@ registerWorkbenchContribution2(
3053
4044
  registerWorkbenchContribution2(
3054
4045
  LanguageModelToolsExtensionPointHandler.ID,
3055
4046
  LanguageModelToolsExtensionPointHandler,
3056
- WorkbenchPhase.BlockRestore
4047
+ WorkbenchPhase.BlockStartup
3057
4048
  );
3058
4049
  registerWorkbenchContribution2(
3059
4050
  ChatPromptFilesExtensionPointHandler.ID,
@@ -3075,6 +4066,16 @@ registerWorkbenchContribution2(
3075
4066
  ChatCopyActionRendering,
3076
4067
  WorkbenchPhase.BlockRestore
3077
4068
  );
4069
+ registerWorkbenchContribution2(
4070
+ ChatModelFeedbackSurveyActionRendering.ID,
4071
+ ChatModelFeedbackSurveyActionRendering,
4072
+ WorkbenchPhase.BlockRestore
4073
+ );
4074
+ registerWorkbenchContribution2(
4075
+ ChatModelFeedbackSurveyPromptContribution.ID,
4076
+ ChatModelFeedbackSurveyPromptContribution,
4077
+ WorkbenchPhase.Eventually
4078
+ );
3078
4079
  registerWorkbenchContribution2(
3079
4080
  ChatImplicitContextContribution.ID,
3080
4081
  ChatImplicitContextContribution,
@@ -3101,8 +4102,13 @@ registerWorkbenchContribution2(
3101
4102
  WorkbenchPhase.AfterRestored
3102
4103
  );
3103
4104
  registerWorkbenchContribution2(
3104
- LocalAgentDisabledInputTipContribution.ID,
3105
- LocalAgentDisabledInputTipContribution,
4105
+ ChatPromoNotificationContribution.ID,
4106
+ ChatPromoNotificationContribution,
4107
+ WorkbenchPhase.AfterRestored
4108
+ );
4109
+ registerWorkbenchContribution2(
4110
+ ChatExpNotificationContribution.ID,
4111
+ ChatExpNotificationContribution,
3106
4112
  WorkbenchPhase.AfterRestored
3107
4113
  );
3108
4114
  registerWorkbenchContribution2(
@@ -3229,10 +4235,41 @@ registerWorkbenchContribution2(
3229
4235
  AgentPluginRecommendations,
3230
4236
  WorkbenchPhase.Eventually
3231
4237
  );
4238
+ registerWorkbenchContribution2(
4239
+ AgentPluginCommandsContribution.ID,
4240
+ AgentPluginCommandsContribution,
4241
+ WorkbenchPhase.AfterRestored
4242
+ );
3232
4243
  registerWorkbenchContribution2(PluginAutoUpdate.ID, PluginAutoUpdate, WorkbenchPhase.Eventually);
4244
+ registerWorkbenchContribution2(
4245
+ ChatReferenceAttachmentWidgetContribution.ID,
4246
+ ChatReferenceAttachmentWidgetContribution,
4247
+ WorkbenchPhase.AfterRestored
4248
+ );
4249
+ registerWorkbenchContribution2(
4250
+ TranscriptContextAttachmentWidgetContribution.ID,
4251
+ TranscriptContextAttachmentWidgetContribution,
4252
+ WorkbenchPhase.AfterRestored
4253
+ );
4254
+ registerWorkbenchContribution2(
4255
+ ChatPetContextContribution.ID,
4256
+ ChatPetContextContribution,
4257
+ WorkbenchPhase.BlockRestore
4258
+ );
4259
+ registerWorkbenchContribution2(
4260
+ ChatPetCustomizationAchievementContribution.ID,
4261
+ ChatPetCustomizationAchievementContribution,
4262
+ WorkbenchPhase.AfterRestored
4263
+ );
4264
+ registerWorkbenchContribution2(
4265
+ ChatPetEditingAchievementContribution.ID,
4266
+ ChatPetEditingAchievementContribution,
4267
+ WorkbenchPhase.AfterRestored
4268
+ );
3233
4269
  registerChatActions();
3234
4270
  registerChatAccessibilityActions();
3235
4271
  registerChatCopyActions();
4272
+ registerChatModelFeedbackSurveyActions();
3236
4273
  registerChatOpenAgentDebugPanelAction();
3237
4274
  registerChatCodeBlockActions();
3238
4275
  registerChatCodeCompareBlockActions();
@@ -3240,6 +4277,12 @@ registerChatFileTreeActions();
3240
4277
  registerChatPromptNavigationActions();
3241
4278
  registerChatTitleActions();
3242
4279
  registerChatExecuteActions();
4280
+ registerChatFindActions();
4281
+ registerAction2(ChatVoiceInputModeAction);
4282
+ registerAction2(ChatVoiceInputModeToggleListenAction);
4283
+ registerVoiceInputModeSimulateActions();
4284
+ registerChatSpeechToTextActions();
4285
+ registerConfigureSpeechInstructionsActions();
3243
4286
  registerChatQueueActions();
3244
4287
  registerQuickChatActions();
3245
4288
  registerChatExportActions();
@@ -3252,7 +4295,6 @@ registerChatElicitationActions();
3252
4295
  registerChatToolActions();
3253
4296
  registerLanguageModelActions();
3254
4297
  registerChatPluginActions();
3255
- registerPlanReviewFeedbackEditorActions();
3256
4298
  registerAction2(ConfigureToolSets);
3257
4299
  registerEditorFeature(ChatPasteProvidersFeature);
3258
4300
  agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ConfiguredAgentPluginDiscovery)), AgentPluginDiscoveryPriority.Configured);