@codingame/monaco-vscode-chat-service-override 33.0.8 → 34.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 (403) hide show
  1. package/index.js +19 -5
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +32 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +77 -0
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +84 -17
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +235 -190
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +3 -2
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +23 -4
  9. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +22 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +107 -8
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +272 -49
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +2 -2
  14. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.d.ts → agentHostResourceService.d.ts} +26 -0
  15. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +11 -1
  16. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +13 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +26 -18
  18. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.d.ts +1 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +119 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +135 -19
  21. package/vscode/src/vs/platform/agentHost/common/agentService.js +8 -2
  22. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +5 -1
  23. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +85 -22
  24. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +36 -0
  25. package/vscode/src/vs/platform/agentHost/common/customAgents.js +12 -0
  26. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +81 -0
  27. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +103 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +86 -10
  29. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +129 -37
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +12 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +72 -0
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
  35. package/vscode/src/vs/platform/agentHost/common/state/protocol/{reducers.js → channels-session/reducer.js} +99 -168
  36. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
  37. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +110 -0
  38. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.d.ts → common/errors.d.ts} +13 -2
  39. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.js → common/errors.js} +1 -2
  40. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
  41. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
  42. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +33 -8
  43. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +2 -3
  44. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +36 -5
  45. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +6 -3
  46. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  47. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  48. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
  49. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  50. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  51. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +4 -1
  52. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +9 -0
  53. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +21 -0
  54. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +28 -0
  55. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +31 -0
  56. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +49 -0
  57. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +182 -0
  58. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +784 -0
  59. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +18 -0
  60. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +305 -0
  61. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  62. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +120 -0
  63. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +100 -0
  64. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  67. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  68. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  69. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  71. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  72. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +106 -8
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +22 -36
  76. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  78. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +21 -13
  80. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  81. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +38 -18
  82. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  84. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  86. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +3 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +10 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +40 -11
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +15 -9
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +0 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +23 -17
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +24 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.js +55 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +30 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +119 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +13 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +32 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +55 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +104 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +177 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +3 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +11 -11
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.d.ts +6 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +14 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +3 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +44 -5
  113. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +60 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +103 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -62
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +9 -7
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +38 -28
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +4 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +22 -31
  128. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -16
  130. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +8 -2
  132. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +112 -113
  133. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +62 -68
  134. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +3 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +149 -145
  136. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +3 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  139. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +8 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +13 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +8 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +15 -13
  146. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +1 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +78 -55
  148. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +140 -67
  149. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +11 -21
  150. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +3 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +59 -57
  152. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +440 -357
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.d.ts +21 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.js +115 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +5 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +6 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +28 -1
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -1
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +187 -106
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +41 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  194. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +66 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +346 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +3 -2
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -2
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +72 -29
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +5 -1
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +144 -67
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +126 -80
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +32 -31
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +11 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +40 -33
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +5 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +25 -24
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  216. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  217. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  218. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  219. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  220. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +1 -19
  222. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +12 -22
  223. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +14 -6
  224. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +6 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +56 -18
  226. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  228. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +3 -3
  229. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +5 -6
  230. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +33 -36
  232. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +31 -16
  234. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +4 -4
  235. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +16 -13
  236. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  237. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  238. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  243. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  245. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  246. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  247. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  248. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -23
  249. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  250. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +18 -0
  251. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +23 -1
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  253. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +5 -2
  254. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  255. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +22 -13
  257. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  258. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  260. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  261. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +14 -3
  262. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +55 -24
  263. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  264. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +38 -0
  265. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +47 -0
  266. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +54 -12
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +1 -0
  268. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  269. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +39 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +40 -4
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +30 -8
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +205 -46
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +4 -3
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +8 -3
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +57 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +153 -38
  277. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +12 -7
  278. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +70 -37
  279. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +6 -28
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
  285. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  288. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  289. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  290. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  291. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  292. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  296. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +21 -1
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +55 -0
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +122 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +52 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +232 -0
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +65 -0
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +225 -0
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +143 -0
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +37 -0
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +205 -0
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +52 -0
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +260 -0
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +44 -0
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +98 -0
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -7
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +226 -0
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +54 -0
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +27 -0
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +177 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  349. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  350. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  351. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  352. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  353. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +42 -0
  354. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +102 -0
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  357. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  358. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  359. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  360. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  361. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +28 -0
  362. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +15 -0
  363. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +55 -0
  364. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  365. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +3 -0
  366. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +31 -9
  367. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  368. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  369. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +177 -0
  370. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +518 -0
  371. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  372. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  373. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  374. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
  375. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
  376. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +297 -0
  377. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2961 -0
  378. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +29 -0
  379. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +63 -0
  380. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +14 -14
  381. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +58 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +223 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +20 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +81 -0
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +63 -0
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +349 -0
  396. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +75 -0
  397. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +192 -0
  398. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +89 -0
  399. package/vscode/src/vs/workbench/services/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +226 -9
  400. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +0 -30
  401. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +0 -119
  402. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +0 -552
  403. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +0 -83
@@ -6,10 +6,12 @@ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/netw
6
6
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
7
7
  import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
8
8
  import { PolicyCategory } from '@codingame/monaco-vscode-api/vscode/vs/base/common/policy';
9
- import { AgentHostOTelDbSpanExporterEnabledSettingId, AgentHostOTelOutfileSettingId, AgentHostOTelCaptureContentSettingId, AgentHostOTelOtlpEndpointSettingId, AgentHostOTelExporterTypeSettingId, AgentHostOTelEnabledSettingId, AgentHostCustomTerminalToolEnabledSettingId, AgentHostAhpJsonlLoggingSettingId, AgentHostIpcLoggingSettingId, AgentHostClaudeAgentSdkPathSettingId, AgentHostEnabledSettingId } from '../../../../platform/agentHost/common/agentService.js';
9
+ import '../../../../platform/agentHost/common/agentHost.config.contribution.js';
10
+ import '../../../../platform/agentHost/common/agentHostStarter.config.contribution.js';
11
+ import { AgentHostEnabledSettingId, AgentHostCustomTerminalToolEnabledSettingId, AgentHostAhpJsonlLoggingSettingId } from '../../../../platform/agentHost/common/agentService.js';
10
12
  import '../../../../platform/networkFilter/common/networkFilterService.js';
11
13
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
12
- import { AgentNetworkDomainSettingId } from '@codingame/monaco-vscode-katex-common/vscode/vs/platform/networkFilter/common/settings';
14
+ import { AgentNetworkDomainSettingId } from '../../../../platform/networkFilter/common/settings.js';
13
15
  import { AgentSandboxSettingId, AgentSandboxEnabledValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
14
16
  import { registerEditorFeature } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorFeatures';
15
17
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
@@ -37,7 +39,7 @@ import { IEditorResolverService } from '@codingame/monaco-vscode-api/vscode/vs/w
37
39
  import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
38
40
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
39
41
  import { AssistedTypes, AddConfigurationType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration';
40
- import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection, mcpServerCollisionBehaviorSection, McpCollisionBehavior } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
42
+ import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection, mcpServerCollisionBehaviorSection, McpCollisionBehavior, mcpEnterpriseManagedAuthIdpSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
41
43
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents';
42
44
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatColors';
43
45
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
@@ -56,6 +58,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/lan
56
58
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
57
59
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
58
60
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService';
61
+ import './chatGoalSummaryService.js';
59
62
  import { agentPluginDiscoveryRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService';
60
63
  import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
61
64
  import { PromptsConfig, isTildePath } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
@@ -128,18 +131,25 @@ import './chatManagement/chatManagement.contribution.js';
128
131
  import './aiCustomization/aiCustomizationWorkspaceService.js';
129
132
  import './aiCustomization/customizationHarnessService.js';
130
133
  import './aiCustomization/aiCustomizationManagement.contribution.js';
134
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
131
135
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
132
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
136
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
133
137
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
134
138
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
139
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
140
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
141
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
142
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
135
143
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
136
144
  import '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
145
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
137
146
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
138
147
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
139
148
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility';
140
149
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
141
150
  import './aiCustomization/aiCustomizationIcons.js';
142
151
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
152
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
143
153
  import './chatOutputItemRenderer.js';
144
154
  import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
145
155
  import { ChatPasteProvidersFeature } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders';
@@ -147,6 +157,7 @@ import './widgetHosts/chatQuick.js';
147
157
  import { ChatResponseAccessibleView } from './accessibility/chatResponseAccessibleView.js';
148
158
  import { ChatTerminalOutputAccessibleView } from './accessibility/chatTerminalOutputAccessibleView.js';
149
159
  import { ChatSetupContribution, ChatTeardownContribution } from './chatSetup/chatSetupContributions.js';
160
+ import { ChatQuotaNotificationContribution } from './chatQuotaNotification.js';
150
161
  import { HasByokModelsContribution } from './hasByokModelsContribution.js';
151
162
  import { ChatStatusBarEntry } from './chatStatus/chatStatusEntry.js';
152
163
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
@@ -192,6 +203,7 @@ import { UtilitySmallModelContribution, UtilityModelContribution } from './utili
192
203
  import './chatImageCarouselService.js';
193
204
  import { browserChatToolReferenceNames } from '../../browserView/common/browserChatToolReferenceNames.js';
194
205
  import '../../notebook/browser/controller/chat/notebook.chat.contribution.js';
206
+ import { extraKnownMarketplacesToConfigDict } from '../common/plugins/marketplaceReference.js';
195
207
  import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
196
208
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
197
209
 
@@ -205,13 +217,13 @@ jsonContributionRegistry.registerSchema(HOOK_SCHEMA_URI, hookFileSchema);
205
217
  const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
206
218
  configurationRegistry.registerConfiguration({
207
219
  id: "chatSidebar",
208
- title: ( localize(5806, "Chat")),
220
+ title: ( localize(5880, "Chat")),
209
221
  type: "object",
210
222
  properties: {
211
223
  "chat.experimentalSessionsWindowOverride": {
212
224
  type: "boolean",
213
225
  description: ( localize(
214
- 5807,
226
+ 5881,
215
227
  "When true, enables sessions-window-specific behavior for extensions."
216
228
  )),
217
229
  default: false,
@@ -222,41 +234,41 @@ configurationRegistry.registerConfiguration({
222
234
  },
223
235
  "chat.fontSize": {
224
236
  type: "number",
225
- description: ( localize(5808, "Controls the font size in pixels in chat messages.")),
237
+ description: ( localize(5882, "Controls the font size in pixels in chat messages.")),
226
238
  default: 13,
227
239
  minimum: 6,
228
240
  maximum: 100
229
241
  },
230
242
  "chat.fontFamily": {
231
243
  type: "string",
232
- description: ( localize(5809, "Controls the font family in chat messages.")),
244
+ description: ( localize(5883, "Controls the font family in chat messages.")),
233
245
  default: "default"
234
246
  },
235
247
  "chat.editor.fontSize": {
236
248
  type: "number",
237
- description: ( localize(5810, "Controls the font size in pixels in chat codeblocks.")),
249
+ description: ( localize(5884, "Controls the font size in pixels in chat codeblocks.")),
238
250
  default: isMacintosh ? 12 : 14
239
251
  },
240
252
  "chat.editor.fontFamily": {
241
253
  type: "string",
242
- description: ( localize(5811, "Controls the font family in chat codeblocks.")),
254
+ description: ( localize(5885, "Controls the font family in chat codeblocks.")),
243
255
  default: "default"
244
256
  },
245
257
  "chat.editor.fontWeight": {
246
258
  type: "string",
247
- description: ( localize(5812, "Controls the font weight in chat codeblocks.")),
259
+ description: ( localize(5886, "Controls the font weight in chat codeblocks.")),
248
260
  default: "default"
249
261
  },
250
262
  "chat.editor.wordWrap": {
251
263
  type: "string",
252
- description: ( localize(5813, "Controls whether lines should wrap in chat codeblocks.")),
264
+ description: ( localize(5887, "Controls whether lines should wrap in chat codeblocks.")),
253
265
  default: "off",
254
266
  enum: ["on", "off"]
255
267
  },
256
268
  "chat.editor.lineHeight": {
257
269
  type: "number",
258
270
  description: ( localize(
259
- 5814,
271
+ 5888,
260
272
  "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
261
273
  )),
262
274
  default: 0
@@ -264,12 +276,12 @@ configurationRegistry.registerConfiguration({
264
276
  [ChatConfiguration.AgentStatusEnabled]: {
265
277
  type: "string",
266
278
  enum: ["hidden", "badge", "compact"],
267
- enumDescriptions: [( localize(5815, "The agent status indicator is hidden from the title bar.")), ( localize(5816, "Shows the agent status as a badge next to the command center.")), ( localize(
268
- 5817,
279
+ enumDescriptions: [( localize(5889, "The agent status indicator is hidden from the title bar.")), ( localize(5890, "Shows the agent status as a badge next to the command center.")), ( localize(
280
+ 5891,
269
281
  "Replaces the command center search box with a compact agent status indicator and unified chat widget."
270
282
  ))],
271
283
  markdownDescription: ( localize(
272
- 5818,
284
+ 5892,
273
285
  "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.",
274
286
  "`#window.commandCenter#`",
275
287
  "`#chat.viewSessions.enabled#`"
@@ -280,7 +292,7 @@ configurationRegistry.registerConfiguration({
280
292
  [ChatConfiguration.UnifiedAgentsBar]: {
281
293
  type: "boolean",
282
294
  markdownDescription: ( localize(
283
- 5819,
295
+ 5893,
284
296
  "Replaces the command center search box with a unified chat and search widget."
285
297
  )),
286
298
  default: false,
@@ -289,7 +301,7 @@ configurationRegistry.registerConfiguration({
289
301
  [ChatConfiguration.AgentSessionProjectionEnabled]: {
290
302
  type: "boolean",
291
303
  markdownDescription: ( localize(
292
- 5820,
304
+ 5894,
293
305
  "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
294
306
  )),
295
307
  default: false,
@@ -298,14 +310,14 @@ configurationRegistry.registerConfiguration({
298
310
  "chat.implicitContext.enabled": {
299
311
  type: "object",
300
312
  description: ( localize(
301
- 5821,
313
+ 5895,
302
314
  "Enables automatically using the active editor as chat context for specified chat locations."
303
315
  )),
304
316
  additionalProperties: {
305
317
  type: "string",
306
318
  enum: ["never", "first", "always"],
307
- description: ( localize(5822, "The value for the implicit context.")),
308
- enumDescriptions: [( localize(5823, "Implicit context is never enabled.")), ( localize(5824, "Implicit context is enabled for the first interaction.")), ( localize(5825, "Implicit context is always enabled."))]
319
+ description: ( localize(5896, "The value for the implicit context.")),
320
+ enumDescriptions: [( localize(5897, "Implicit context is never enabled.")), ( localize(5898, "Implicit context is enabled for the first interaction.")), ( localize(5899, "Implicit context is always enabled."))]
309
321
  },
310
322
  default: {
311
323
  "panel": "always"
@@ -323,7 +335,7 @@ configurationRegistry.registerConfiguration({
323
335
  "chat.implicitContext.suggestedContext": {
324
336
  type: "boolean",
325
337
  markdownDescription: ( localize(
326
- 5826,
338
+ 5900,
327
339
  "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."
328
340
  )),
329
341
  default: true,
@@ -334,7 +346,7 @@ configurationRegistry.registerConfiguration({
334
346
  "chat.editing.autoAcceptDelay": {
335
347
  type: "number",
336
348
  markdownDescription: ( localize(
337
- 5827,
349
+ 5901,
338
350
  "Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
339
351
  )),
340
352
  default: 0,
@@ -345,7 +357,7 @@ configurationRegistry.registerConfiguration({
345
357
  type: "boolean",
346
358
  scope: ConfigurationScope.APPLICATION,
347
359
  markdownDescription: ( localize(
348
- 5828,
360
+ 5902,
349
361
  "Whether to show a confirmation before removing a request and its associated edits."
350
362
  )),
351
363
  default: true
@@ -354,7 +366,7 @@ configurationRegistry.registerConfiguration({
354
366
  type: "boolean",
355
367
  scope: ConfigurationScope.APPLICATION,
356
368
  markdownDescription: ( localize(
357
- 5829,
369
+ 5903,
358
370
  "Whether to show a confirmation before retrying a request and its associated edits."
359
371
  )),
360
372
  default: true
@@ -362,7 +374,7 @@ configurationRegistry.registerConfiguration({
362
374
  "chat.editing.explainChanges.enabled": {
363
375
  type: "boolean",
364
376
  markdownDescription: ( localize(
365
- 5830,
377
+ 5904,
366
378
  "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."
367
379
  )),
368
380
  default: false,
@@ -374,7 +386,7 @@ configurationRegistry.registerConfiguration({
374
386
  [ChatConfiguration.RevealNextChangeOnResolve]: {
375
387
  type: "boolean",
376
388
  markdownDescription: ( localize(
377
- 5831,
389
+ 5905,
378
390
  "Controls whether the editor automatically reveals the next change after keeping or undoing a chat edit."
379
391
  )),
380
392
  default: true
@@ -383,7 +395,7 @@ configurationRegistry.registerConfiguration({
383
395
  type: "boolean",
384
396
  scope: ConfigurationScope.APPLICATION,
385
397
  description: ( localize(
386
- 5832,
398
+ 5906,
387
399
  "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."
388
400
  )),
389
401
  default: true
@@ -391,9 +403,9 @@ configurationRegistry.registerConfiguration({
391
403
  "chat.upvoteAnimation": {
392
404
  type: "string",
393
405
  enum: ["off", "confetti", "floatingThumbs", "pulseWave", "radiantLines"],
394
- enumDescriptions: [( localize(5833, "No animation is shown.")), ( localize(5834, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5835, "Shows floating thumbs up icons rising from the button.")), ( localize(5836, "Shows expanding pulse rings from the button.")), ( localize(5837, "Shows radiant lines emanating from the button."))],
406
+ enumDescriptions: [( localize(5907, "No animation is shown.")), ( localize(5908, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5909, "Shows floating thumbs up icons rising from the button.")), ( localize(5910, "Shows expanding pulse rings from the button.")), ( localize(5911, "Shows radiant lines emanating from the button."))],
395
407
  description: ( localize(
396
- 5838,
408
+ 5912,
397
409
  "Controls whether an animation is shown when clicking the thumbs up button on a chat response."
398
410
  )),
399
411
  default: "floatingThumbs"
@@ -401,16 +413,16 @@ configurationRegistry.registerConfiguration({
401
413
  "chat.experimental.detectParticipant.enabled": {
402
414
  type: "boolean",
403
415
  deprecationMessage: ( localize(
404
- 5839,
416
+ 5913,
405
417
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
406
418
  )),
407
- description: ( localize(5840, "Enables chat participant autodetection for panel chat.")),
419
+ description: ( localize(5914, "Enables chat participant autodetection for panel chat.")),
408
420
  default: null
409
421
  },
410
422
  [ChatConfiguration.IncrementalRendering]: {
411
423
  type: "boolean",
412
424
  description: ( localize(
413
- 5841,
425
+ 5915,
414
426
  "Enables incremental rendering with optional block-level animation when streaming chat responses."
415
427
  )),
416
428
  default: false,
@@ -419,17 +431,17 @@ configurationRegistry.registerConfiguration({
419
431
  [ChatConfiguration.IncrementalRenderingStyle]: {
420
432
  type: "string",
421
433
  enum: ["none", "fade", "rise", "blur", "scale", "slide", "reveal"],
422
- enumDescriptions: [( localize(5842, "No animation. Content appears instantly.")), ( localize(5843, "Simple opacity fade from 0 to 1.")), ( localize(5844, "Content fades in while rising upward.")), ( localize(5845, "Content fades in from a blurred state.")), ( localize(5846, "Content scales up from slightly smaller.")), ( localize(5847, "Content slides in from the left.")), ( localize(5848, "Content reveals top-to-bottom with a soft gradient edge."))],
423
- description: ( localize(5849, "Controls the animation style for incremental rendering.")),
434
+ enumDescriptions: [( localize(5916, "No animation. Content appears instantly.")), ( localize(5917, "Simple opacity fade from 0 to 1.")), ( localize(5918, "Content fades in while rising upward.")), ( localize(5919, "Content fades in from a blurred state.")), ( localize(5920, "Content scales up from slightly smaller.")), ( localize(5921, "Content slides in from the left.")), ( localize(5922, "Content reveals top-to-bottom with a soft gradient edge."))],
435
+ description: ( localize(5923, "Controls the animation style for incremental rendering.")),
424
436
  default: "fade",
425
437
  tags: ["experimental"]
426
438
  },
427
439
  [ChatConfiguration.IncrementalRenderingBuffering]: {
428
440
  type: "string",
429
441
  enum: ["off", "word", "paragraph"],
430
- enumDescriptions: [( localize(5850, "Renders content immediately as tokens arrive.")), ( localize(5851, "Reveals content word by word.")), ( localize(5852, "Buffers content until a paragraph break before rendering."))],
442
+ enumDescriptions: [( localize(5924, "Renders content immediately as tokens arrive.")), ( localize(5925, "Reveals content word by word.")), ( localize(5926, "Buffers content until a paragraph break before rendering."))],
431
443
  description: ( localize(
432
- 5853,
444
+ 5927,
433
445
  "Controls how content is buffered before rendering during incremental rendering. Lower buffering levels render faster but may show incomplete sentences or partially formed markdown."
434
446
  )),
435
447
  default: "word",
@@ -437,18 +449,18 @@ configurationRegistry.registerConfiguration({
437
449
  },
438
450
  "chat.detectParticipant.enabled": {
439
451
  type: "boolean",
440
- description: ( localize(5854, "Enables chat participant autodetection for panel chat.")),
452
+ description: ( localize(5928, "Enables chat participant autodetection for panel chat.")),
441
453
  default: true
442
454
  },
443
455
  [ChatConfiguration.InlineReferencesStyle]: {
444
456
  type: "string",
445
457
  enum: ["box", "link"],
446
- enumDescriptions: [( localize(5855, "Display file and symbol references as boxed widgets with icons.")), ( localize(
447
- 5856,
458
+ enumDescriptions: [( localize(5929, "Display file and symbol references as boxed widgets with icons.")), ( localize(
459
+ 5930,
448
460
  "Display file and symbol references as simple blue links without icons."
449
461
  ))],
450
462
  description: ( localize(
451
- 5857,
463
+ 5931,
452
464
  "Controls how file and symbol references are displayed in chat messages."
453
465
  )),
454
466
  default: "box"
@@ -456,7 +468,7 @@ configurationRegistry.registerConfiguration({
456
468
  [ChatConfiguration.EditorAssociations]: {
457
469
  type: "object",
458
470
  markdownDescription: ( localize(
459
- 5858,
471
+ 5932,
460
472
  "Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
461
473
  )),
462
474
  additionalProperties: {
@@ -467,15 +479,15 @@ configurationRegistry.registerConfiguration({
467
479
  [ChatConfiguration.NotifyWindowOnConfirmation]: {
468
480
  type: "string",
469
481
  enum: ["off", "windowNotFocused", "always"],
470
- enumDescriptions: [( localize(5859, "Never show OS notifications for confirmations.")), ( localize(
471
- 5860,
482
+ enumDescriptions: [( localize(5933, "Never show OS notifications for confirmations.")), ( localize(
483
+ 5934,
472
484
  "Show OS notifications for confirmations when the window is not focused."
473
485
  )), ( localize(
474
- 5861,
486
+ 5935,
475
487
  "Always show OS notifications for confirmations, even when the window is focused."
476
488
  ))],
477
489
  description: ( localize(
478
- 5862,
490
+ 5936,
479
491
  "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."
480
492
  )),
481
493
  default: "windowNotFocused"
@@ -483,26 +495,26 @@ configurationRegistry.registerConfiguration({
483
495
  [ChatConfiguration.AutoReply]: {
484
496
  default: false,
485
497
  markdownDescription: ( localize(
486
- 5863,
498
+ 5937,
487
499
  "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."
488
500
  )),
489
501
  type: "boolean",
490
502
  scope: ConfigurationScope.APPLICATION_MACHINE,
491
503
  tags: ["experimental", "advanced"]
492
504
  },
493
- [ChatConfiguration.AutopilotEnabled]: {
505
+ [ChatConfiguration.AutopilotAdvancedEnabled]: {
494
506
  type: "boolean",
495
507
  markdownDescription: ( localize(
496
- 5864,
497
- "Controls whether the Autopilot mode is available in the permissions picker. When enabled, Autopilot auto-approves all tool calls and continues until the task is done."
508
+ 5938,
509
+ "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."
498
510
  )),
499
- default: true,
511
+ default: false,
500
512
  tags: ["experimental"]
501
513
  },
502
514
  [ChatConfiguration.PlanReviewInlineEditorEnabled]: {
503
515
  type: "boolean",
504
516
  markdownDescription: ( localize(
505
- 5865,
517
+ 5939,
506
518
  "When enabled, the plan review widget mounts an editor inline, as opposed to in a separate editor tab."
507
519
  )),
508
520
  default: true
@@ -514,14 +526,13 @@ configurationRegistry.registerConfiguration({
514
526
  ChatPermissionLevel.AutoApprove,
515
527
  ChatPermissionLevel.Autopilot
516
528
  ],
517
- enumItemLabels: [( localize(5866, "Default Approvals")), ( localize(5867, "Bypass Approvals")), ( localize(5868, "Autopilot (Preview)"))],
518
- enumDescriptions: [( localize(5869, "Start new chat sessions with Default Approvals.")), ( localize(5870, "Start new chat sessions in Bypass Approvals mode.")), ( localize(5871, "Start new chat sessions in Autopilot mode."))],
529
+ enumItemLabels: [( localize(5940, "Default Approvals")), ( localize(5941, "Bypass Approvals")), ( localize(5942, "Autopilot (Preview)"))],
530
+ enumDescriptions: [( localize(5943, "Start new chat sessions with Default Approvals.")), ( localize(5944, "Start new chat sessions in Bypass Approvals mode.")), ( localize(5945, "Start new chat sessions in Autopilot mode."))],
519
531
  description: ( localize(
520
- 5872,
532
+ 5946,
521
533
  "Controls the default permissions picker mode for new chat sessions. You can still change the permission mode per session, and each session remembers the permission mode that was used. If enterprise policy disables auto approval, new sessions use Default Approvals."
522
534
  )),
523
- default: ChatPermissionLevel.Default,
524
- tags: ["experimental"]
535
+ default: ChatPermissionLevel.Default
525
536
  },
526
537
  [ChatConfiguration.GlobalAutoApprove]: {
527
538
  default: false,
@@ -538,7 +549,7 @@ configurationRegistry.registerConfiguration({
538
549
  description: {
539
550
  key: "autoApprove3.description",
540
551
  value: ( localize(
541
- 5873,
552
+ 5947,
542
553
  "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."
543
554
  ))
544
555
  }
@@ -548,11 +559,11 @@ configurationRegistry.registerConfiguration({
548
559
  [ChatConfiguration.SessionSyncEnabled]: {
549
560
  default: false,
550
561
  markdownDescription: ( localize(
551
- 5874,
562
+ 5948,
552
563
  "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."
553
564
  )),
554
565
  type: "boolean",
555
- tags: ["experimental", "advanced"],
566
+ tags: ["experimental"],
556
567
  experiment: {
557
568
  mode: "auto"
558
569
  },
@@ -565,7 +576,7 @@ configurationRegistry.registerConfiguration({
565
576
  description: {
566
577
  key: "chat.sessionSync.enabled.policy",
567
578
  value: ( localize(
568
- 5875,
579
+ 5949,
569
580
  "Enable session sync to GitHub.com for cross-device Copilot session history. When disabled by organization policy, session data is kept local only."
570
581
  ))
571
582
  }
@@ -579,7 +590,7 @@ configurationRegistry.registerConfiguration({
579
590
  },
580
591
  default: [],
581
592
  markdownDescription: ( localize(
582
- 5876,
593
+ 5950,
583
594
  "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."
584
595
  )),
585
596
  tags: ["experimental", "advanced"]
@@ -589,13 +600,15 @@ configurationRegistry.registerConfiguration({
589
600
  "**/*": true,
590
601
  "**/.vscode/*.json": false,
591
602
  "**/.git/**": false,
592
- "**/{package.json,server.xml,build.rs,web.config,.gitattributes,.env}": false,
593
- "**/*.{code-workspace,csproj,fsproj,vbproj,vcxproj,proj,targets,props}": false,
603
+ "**/{package.json,server.xml,build.rs,web.config,.gitattributes,.env,Cargo.toml}": false,
604
+ "**/*.{code-workspace,csproj,fsproj,vbproj,vcxproj,proj,targets,props,gradle,gradle.kts}": false,
605
+ "**/gradle.properties": false,
606
+ "**/ruby_lsp/*/addon": false,
594
607
  "**/*.lock": false,
595
608
  "**/*-lock.{yaml,json}": false
596
609
  },
597
610
  markdownDescription: ( localize(
598
- 5877,
611
+ 5951,
599
612
  "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."
600
613
  )),
601
614
  type: "object",
@@ -609,7 +622,7 @@ configurationRegistry.registerConfiguration({
609
622
  "https://github.com/microsoft/vscode/wiki/*": true
610
623
  },
611
624
  markdownDescription: ( localize(
612
- 5878,
625
+ 5952,
613
626
  "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"
614
627
  )),
615
628
  type: "object",
@@ -632,7 +645,7 @@ configurationRegistry.registerConfiguration({
632
645
  [ChatConfiguration.EligibleForAutoApproval]: {
633
646
  default: {},
634
647
  markdownDescription: ( localize(
635
- 5879,
648
+ 5953,
636
649
  "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."
637
650
  )),
638
651
  type: "object",
@@ -655,7 +668,7 @@ configurationRegistry.registerConfiguration({
655
668
  description: {
656
669
  key: "chat.tools.eligibleForAutoApproval",
657
670
  value: ( localize(
658
- 5879,
671
+ 5953,
659
672
  "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."
660
673
  ))
661
674
  }
@@ -665,7 +678,7 @@ configurationRegistry.registerConfiguration({
665
678
  "chat.sendElementsToChat.attachImages": {
666
679
  default: true,
667
680
  markdownDescription: ( localize(
668
- 5880,
681
+ 5954,
669
682
  "Controls whether a screenshot of the selected element will be added to the chat."
670
683
  )),
671
684
  type: "boolean",
@@ -673,7 +686,7 @@ configurationRegistry.registerConfiguration({
673
686
  },
674
687
  [ChatConfiguration.ArtifactsEnabled]: {
675
688
  default: false,
676
- description: ( localize(5881, "Controls whether the artifacts view is available in chat.")),
689
+ description: ( localize(5955, "Controls whether the artifacts view is available in chat.")),
677
690
  type: "boolean",
678
691
  tags: ["experimental"]
679
692
  },
@@ -685,7 +698,7 @@ configurationRegistry.registerConfiguration({
685
698
  }
686
699
  },
687
700
  description: ( localize(
688
- 5882,
701
+ 5956,
689
702
  "Rules for extracting artifacts from tool results by MIME type. Maps MIME type patterns (e.g. 'image/*') to group configuration."
690
703
  )),
691
704
  type: "object",
@@ -694,11 +707,11 @@ configurationRegistry.registerConfiguration({
694
707
  properties: {
695
708
  groupName: {
696
709
  type: "string",
697
- description: ( localize(5883, "Display name for the artifact group."))
710
+ description: ( localize(5957, "Display name for the artifact group."))
698
711
  },
699
712
  onlyShowGroup: {
700
713
  type: "boolean",
701
- description: ( localize(5884, "When true, show only the group header instead of individual items."))
714
+ description: ( localize(5958, "When true, show only the group header instead of individual items."))
702
715
  }
703
716
  },
704
717
  required: ["groupName"]
@@ -712,7 +725,7 @@ configurationRegistry.registerConfiguration({
712
725
  }
713
726
  },
714
727
  description: ( localize(
715
- 5885,
728
+ 5959,
716
729
  "Rules for extracting artifacts from written files by file path pattern. Maps glob patterns to group configuration."
717
730
  )),
718
731
  type: "object",
@@ -721,11 +734,11 @@ configurationRegistry.registerConfiguration({
721
734
  properties: {
722
735
  groupName: {
723
736
  type: "string",
724
- description: ( localize(5886, "Display name for the artifact group."))
737
+ description: ( localize(5960, "Display name for the artifact group."))
725
738
  },
726
739
  onlyShowGroup: {
727
740
  type: "boolean",
728
- description: ( localize(5887, "When true, show only the group header instead of individual items."))
741
+ description: ( localize(5961, "When true, show only the group header instead of individual items."))
729
742
  }
730
743
  },
731
744
  required: ["groupName"]
@@ -739,7 +752,7 @@ configurationRegistry.registerConfiguration({
739
752
  }
740
753
  },
741
754
  description: ( localize(
742
- 5888,
755
+ 5962,
743
756
  "Rules for extracting artifacts from memory tool calls by memory file path pattern. Maps glob patterns to group configuration."
744
757
  )),
745
758
  type: "object",
@@ -748,11 +761,11 @@ configurationRegistry.registerConfiguration({
748
761
  properties: {
749
762
  groupName: {
750
763
  type: "string",
751
- description: ( localize(5889, "Display name for the artifact group."))
764
+ description: ( localize(5963, "Display name for the artifact group."))
752
765
  },
753
766
  onlyShowGroup: {
754
767
  type: "boolean",
755
- description: ( localize(5890, "When true, show only the group header instead of individual items."))
768
+ description: ( localize(5964, "When true, show only the group header instead of individual items."))
756
769
  }
757
770
  },
758
771
  required: ["groupName"]
@@ -762,14 +775,14 @@ configurationRegistry.registerConfiguration({
762
775
  "chat.undoRequests.restoreInput": {
763
776
  default: true,
764
777
  markdownDescription: ( localize(
765
- 5891,
778
+ 5965,
766
779
  "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."
767
780
  )),
768
781
  type: "boolean"
769
782
  },
770
783
  "chat.editRequests": {
771
784
  markdownDescription: ( localize(
772
- 5892,
785
+ 5966,
773
786
  "Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
774
787
  )),
775
788
  type: "string",
@@ -780,7 +793,7 @@ configurationRegistry.registerConfiguration({
780
793
  type: "boolean",
781
794
  default: true,
782
795
  description: ( localize(
783
- 5893,
796
+ 5967,
784
797
  "Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
785
798
  )),
786
799
  agentsWindow: {
@@ -791,15 +804,15 @@ configurationRegistry.registerConfiguration({
791
804
  type: "string",
792
805
  enum: ["stacked", "sideBySide"],
793
806
  enumDescriptions: [( localize(
794
- 5894,
807
+ 5968,
795
808
  "Display chat sessions vertically stacked above the chat input unless a chat session is visible."
796
809
  )), ( localize(
797
- 5895,
810
+ 5969,
798
811
  "Display chat sessions side by side if space is sufficient, otherwise fallback to stacked above the chat input unless a chat session is visible."
799
812
  ))],
800
813
  default: "sideBySide",
801
814
  description: ( localize(
802
- 5896,
815
+ 5970,
803
816
  "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
804
817
  ))
805
818
  },
@@ -807,25 +820,39 @@ configurationRegistry.registerConfiguration({
807
820
  type: "boolean",
808
821
  default: false,
809
822
  description: ( localize(
810
- 5897,
823
+ 5971,
811
824
  "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
812
825
  ))
813
826
  },
827
+ [ChatConfiguration.AgentsHandoffTipMode]: {
828
+ type: "string",
829
+ enum: ["hidden", "default", "custom"],
830
+ enumDescriptions: [( localize(5972, "Never show the handoff tip.")), ( localize(5973, "Show the handoff tip with the default description.")), ( localize(5974, "Show the handoff tip with an alternate description."))],
831
+ default: "hidden",
832
+ tags: ["experimental"],
833
+ experiment: {
834
+ mode: "startup"
835
+ },
836
+ description: ( localize(
837
+ 5975,
838
+ "Controls the tip shown above the chat input offering to continue eligible agent sessions in the Agents Window."
839
+ ))
840
+ },
814
841
  [ChatConfiguration.ChatContextUsageEnabled]: {
815
842
  type: "boolean",
816
843
  default: true,
817
- description: ( localize(5898, "Show the context window usage indicator in the chat input."))
844
+ description: ( localize(5976, "Show the context window usage indicator in the chat input."))
818
845
  },
819
846
  [ChatConfiguration.ChatPersistentProgressEnabled]: {
820
847
  type: "boolean",
821
848
  default: product.quality !== "stable",
822
- description: ( localize(5899, "Always show progress in chat."))
849
+ description: ( localize(5977, "Always show progress in chat."))
823
850
  },
824
851
  [ChatConfiguration.ProgressBorder]: {
825
852
  type: "boolean",
826
853
  default: true,
827
854
  markdownDescription: ( localize(
828
- 5900,
855
+ 5978,
829
856
  "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.",
830
857
  "`#chat.persistentProgress.enabled#`"
831
858
  ))
@@ -833,16 +860,16 @@ configurationRegistry.registerConfiguration({
833
860
  [ChatConfiguration.NotifyWindowOnResponseReceived]: {
834
861
  type: "string",
835
862
  enum: ["off", "windowNotFocused", "always"],
836
- enumDescriptions: [( localize(5901, "Never show OS notifications for responses.")), ( localize(
837
- 5902,
863
+ enumDescriptions: [( localize(5979, "Never show OS notifications for responses.")), ( localize(
864
+ 5980,
838
865
  "Show OS notifications for responses when the window is not focused."
839
866
  )), ( localize(
840
- 5903,
867
+ 5981,
841
868
  "Always show OS notifications for responses, even when the window is focused."
842
869
  ))],
843
870
  default: "windowNotFocused",
844
871
  description: ( localize(
845
- 5904,
872
+ 5982,
846
873
  "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."
847
874
  ))
848
875
  },
@@ -850,23 +877,23 @@ configurationRegistry.registerConfiguration({
850
877
  type: "boolean",
851
878
  default: true,
852
879
  description: ( localize(
853
- 5905,
880
+ 5983,
854
881
  "Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
855
882
  ))
856
883
  },
857
884
  "chat.checkpoints.showFileChanges": {
858
885
  type: "boolean",
859
- description: ( localize(5906, "Controls whether to show chat checkpoint file changes.")),
886
+ description: ( localize(5984, "Controls whether to show chat checkpoint file changes.")),
860
887
  default: false
861
888
  },
862
889
  [mcpAccessConfig]: {
863
890
  type: "string",
864
- description: ( localize(5907, "Controls access to installed Model Context Protocol servers.")),
891
+ description: ( localize(5985, "Controls access to installed Model Context Protocol servers.")),
865
892
  enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
866
- enumDescriptions: [( localize(5908, "No access to MCP servers.")), ( localize(
867
- 5909,
893
+ enumDescriptions: [( localize(5986, "No access to MCP servers.")), ( localize(
894
+ 5987,
868
895
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
869
- )), ( localize(5910, "Allow access to any installed MCP server."))],
896
+ )), ( localize(5988, "Allow access to any installed MCP server."))],
870
897
  default: McpAccessValue.All,
871
898
  policy: {
872
899
  name: "ChatMCP",
@@ -884,20 +911,20 @@ configurationRegistry.registerConfiguration({
884
911
  localization: {
885
912
  description: {
886
913
  key: "chat.mcp.access",
887
- value: ( localize(5907, "Controls access to installed Model Context Protocol servers."))
914
+ value: ( localize(5985, "Controls access to installed Model Context Protocol servers."))
888
915
  },
889
916
  enumDescriptions: [{
890
917
  key: "chat.mcp.access.none",
891
- value: ( localize(5908, "No access to MCP servers."))
918
+ value: ( localize(5986, "No access to MCP servers."))
892
919
  }, {
893
920
  key: "chat.mcp.access.registry",
894
921
  value: ( localize(
895
- 5909,
922
+ 5987,
896
923
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
897
924
  ))
898
925
  }, {
899
926
  key: "chat.mcp.access.any",
900
- value: ( localize(5910, "Allow access to any installed MCP server."))
927
+ value: ( localize(5988, "Allow access to any installed MCP server."))
901
928
  }]
902
929
  }
903
930
  }
@@ -905,7 +932,7 @@ configurationRegistry.registerConfiguration({
905
932
  [mcpAutoStartConfig]: {
906
933
  type: "string",
907
934
  description: ( localize(
908
- 5911,
935
+ 5989,
909
936
  "Controls whether MCP servers should be automatically started when the chat messages are submitted."
910
937
  )),
911
938
  default: McpAutoStartValue.NewAndOutdated,
@@ -914,8 +941,8 @@ configurationRegistry.registerConfiguration({
914
941
  McpAutoStartValue.OnlyNew,
915
942
  McpAutoStartValue.NewAndOutdated
916
943
  ],
917
- enumDescriptions: [( localize(5912, "Never automatically start MCP servers.")), ( localize(5913, "Only automatically start new MCP servers that have never been run.")), ( localize(
918
- 5914,
944
+ enumDescriptions: [( localize(5990, "Never automatically start MCP servers.")), ( localize(5991, "Only automatically start new MCP servers that have never been run.")), ( localize(
945
+ 5992,
919
946
  "Automatically start new and outdated MCP servers that are not yet running."
920
947
  ))],
921
948
  tags: ["experimental"]
@@ -923,28 +950,78 @@ configurationRegistry.registerConfiguration({
923
950
  [mcpAppsEnabledConfig]: {
924
951
  type: "boolean",
925
952
  description: ( localize(
926
- 5915,
953
+ 5993,
927
954
  "Controls whether MCP servers can provide custom UI for tool invocations."
928
955
  )),
929
956
  default: true,
930
957
  tags: ["experimental"]
931
958
  },
959
+ [mcpEnterpriseManagedAuthIdpSection]: {
960
+ type: "object",
961
+ default: {},
962
+ scope: ConfigurationScope.APPLICATION,
963
+ tags: ["preview", "experimental"],
964
+ additionalProperties: false,
965
+ included: false,
966
+ properties: {
967
+ issuer: {
968
+ type: "string",
969
+ format: "uri",
970
+ markdownDescription: ( localize(
971
+ 5994,
972
+ "The OAuth/OIDC issuer URL of the SSO authorization server. Must be an `https://` URL."
973
+ ))
974
+ },
975
+ clientId: {
976
+ type: "string",
977
+ markdownDescription: ( localize(
978
+ 5995,
979
+ "The OAuth client ID registered with the SSO issuer for this device."
980
+ ))
981
+ },
982
+ clientSecret: {
983
+ type: "string",
984
+ markdownDescription: ( localize(
985
+ 5996,
986
+ "The OAuth client secret paired with `clientId`. Intended for local development only."
987
+ ))
988
+ }
989
+ },
990
+ markdownDescription: ( localize(
991
+ 5997,
992
+ "(Preview) The OAuth/OIDC IdP configuration used for enterprise-managed Model Context Protocol (MCP) servers. Typically delivered via enterprise policy (Windows Group Policy / macOS managed preferences / Linux `/etc/vscode/policy.json`); developers may hand-edit `settings.json` for local testing. Properties: `issuer` (HTTPS URL), `clientId`, `clientSecret`."
993
+ )),
994
+ policy: {
995
+ name: "McpEnterpriseManagedAuthIdp",
996
+ category: PolicyCategory.InteractiveSession,
997
+ minimumVersion: "1.122",
998
+ localization: {
999
+ description: {
1000
+ key: "mcp.enterpriseManagedAuth.idp.policy",
1001
+ value: ( localize(
1002
+ 5998,
1003
+ "The OAuth/OIDC IdP configuration used for enterprise-managed Model Context Protocol (MCP) server authentication. Delivered through enterprise policy (Windows Group Policy, macOS managed preferences, Linux `/etc/vscode/policy.json`)."
1004
+ ))
1005
+ }
1006
+ }
1007
+ }
1008
+ },
932
1009
  [mcpServerCollisionBehaviorSection]: {
933
1010
  type: "string",
934
1011
  description: ( localize(
935
- 5916,
1012
+ 5999,
936
1013
  "Controls behavior when multiple MCP servers are discovered with the same name. 'disable' disables lower-priority duplicates. 'suffix' appends numeric suffixes to disambiguate."
937
1014
  )),
938
1015
  enum: [McpCollisionBehavior.Disable, McpCollisionBehavior.Suffix],
939
- enumDescriptions: [( localize(5917, "Disable lower-priority servers with duplicate names.")), ( localize(5918, "Append numeric suffixes to servers with duplicate names."))],
1016
+ enumDescriptions: [( localize(6000, "Disable lower-priority servers with duplicate names.")), ( localize(6001, "Append numeric suffixes to servers with duplicate names."))],
940
1017
  default: McpCollisionBehavior.Disable
941
1018
  },
942
1019
  [mcpServerSamplingSection]: {
943
1020
  type: "object",
944
1021
  description: ( localize(
945
- 5919,
1022
+ 6002,
946
1023
  "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.",
947
- "MCP: " + ( localize(5920, "List Servers"))
1024
+ "MCP: " + ( localize(6003, "List Servers"))
948
1025
  )),
949
1026
  scope: ConfigurationScope.RESOURCE,
950
1027
  additionalProperties: {
@@ -953,7 +1030,7 @@ configurationRegistry.registerConfiguration({
953
1030
  allowedDuringChat: {
954
1031
  type: "boolean",
955
1032
  description: ( localize(
956
- 5921,
1033
+ 6004,
957
1034
  "Whether this server is allowed to make sampling requests during its tool calls in a chat session."
958
1035
  )),
959
1036
  default: true
@@ -961,7 +1038,7 @@ configurationRegistry.registerConfiguration({
961
1038
  allowedOutsideChat: {
962
1039
  type: "boolean",
963
1040
  description: ( localize(
964
- 5922,
1041
+ 6005,
965
1042
  "Whether this server is allowed to make sampling requests outside of a chat session."
966
1043
  )),
967
1044
  default: false
@@ -970,7 +1047,7 @@ configurationRegistry.registerConfiguration({
970
1047
  type: "array",
971
1048
  items: {
972
1049
  type: "string",
973
- description: ( localize(5923, "A model the MCP server has access to."))
1050
+ description: ( localize(6006, "A model the MCP server has access to."))
974
1051
  }
975
1052
  }
976
1053
  }
@@ -979,7 +1056,7 @@ configurationRegistry.registerConfiguration({
979
1056
  [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
980
1057
  type: "boolean",
981
1058
  description: ( localize(
982
- 5924,
1059
+ 6007,
983
1060
  "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)."
984
1061
  )),
985
1062
  default: false,
@@ -990,7 +1067,7 @@ configurationRegistry.registerConfiguration({
990
1067
  },
991
1068
  [ChatConfiguration.ExtensionToolsEnabled]: {
992
1069
  type: "boolean",
993
- description: ( localize(5925, "Enable using tools contributed by third-party extensions.")),
1070
+ description: ( localize(6008, "Enable using tools contributed by third-party extensions.")),
994
1071
  default: true,
995
1072
  policy: {
996
1073
  name: "ChatAgentExtensionTools",
@@ -999,14 +1076,14 @@ configurationRegistry.registerConfiguration({
999
1076
  localization: {
1000
1077
  description: {
1001
1078
  key: "chat.extensionToolsEnabled",
1002
- value: ( localize(5925, "Enable using tools contributed by third-party extensions."))
1079
+ value: ( localize(6008, "Enable using tools contributed by third-party extensions."))
1003
1080
  }
1004
1081
  }
1005
1082
  }
1006
1083
  },
1007
1084
  [ChatConfiguration.PluginsEnabled]: {
1008
1085
  type: "boolean",
1009
- description: ( localize(5926, "Enable agent plugin integration in chat.")),
1086
+ description: ( localize(6009, "Enable agent plugin integration in chat.")),
1010
1087
  default: true,
1011
1088
  tags: ["preview"],
1012
1089
  policy: {
@@ -1016,7 +1093,7 @@ configurationRegistry.registerConfiguration({
1016
1093
  localization: {
1017
1094
  description: {
1018
1095
  key: "chat.plugins.enabled",
1019
- value: ( localize(5926, "Enable agent plugin integration in chat."))
1096
+ value: ( localize(6009, "Enable agent plugin integration in chat."))
1020
1097
  }
1021
1098
  }
1022
1099
  }
@@ -1028,29 +1105,116 @@ configurationRegistry.registerConfiguration({
1028
1105
  },
1029
1106
  restricted: true,
1030
1107
  markdownDescription: ( localize(
1031
- 5927,
1108
+ 6010,
1032
1109
  "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."
1033
1110
  )),
1034
1111
  scope: ConfigurationScope.MACHINE,
1035
1112
  tags: ["experimental"]
1036
1113
  },
1114
+ [ChatConfiguration.EnabledPlugins]: {
1115
+ type: "object",
1116
+ additionalProperties: {
1117
+ type: "boolean"
1118
+ },
1119
+ markdownDescription: ( localize(
1120
+ 6011,
1121
+ "Enterprise-managed plugin enablement. Keys are plugin IDs in `<plugin>@<marketplace>` form (resolved to Copilot CLI install paths); values enable (`true`) or disable (`false`) the plugin. Discovered alongside the path-keyed entries in {0}. When set by policy, also restricts which marketplace-discovered plugins are allowed to load (only IDs mapped to `true` here pass the gate).",
1122
+ `\`#${ChatConfiguration.PluginLocations}#\``
1123
+ )),
1124
+ scope: ConfigurationScope.APPLICATION,
1125
+ tags: ["experimental"],
1126
+ policy: {
1127
+ name: "ChatEnabledPlugins",
1128
+ category: PolicyCategory.InteractiveSession,
1129
+ minimumVersion: "1.122",
1130
+ value: policyData => policyData.enabledPlugins ? JSON.stringify(policyData.enabledPlugins) : undefined,
1131
+ localization: {
1132
+ description: {
1133
+ key: "chat.plugins.enabledPlugins.policy",
1134
+ value: ( localize(
1135
+ 6012,
1136
+ "Plugin enablement. Keys are plugin IDs in `<plugin>@<marketplace>` form; values enable or disable the plugin."
1137
+ ))
1138
+ }
1139
+ }
1140
+ }
1141
+ },
1037
1142
  [ChatConfiguration.PluginMarketplaces]: {
1038
1143
  type: "array",
1039
1144
  items: {
1040
1145
  type: "string"
1041
1146
  },
1042
1147
  markdownDescription: ( localize(
1043
- 5928,
1044
- "Plugin marketplaces to query. Entries may be GitHub shorthand (`owner/repo`), direct Git repository URIs (`https://...git`, `ssh://...git`, or `git@host:path.git`), or local repository URIs (`file:///...`). Equivalent GitHub shorthand and URI entries are deduplicated."
1148
+ 6013,
1149
+ "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."
1045
1150
  )),
1046
- default: ["github/copilot-plugins", "github/awesome-copilot"],
1151
+ default: ["github/copilot-plugins", "github/awesome-copilot#marketplace"],
1047
1152
  scope: ConfigurationScope.APPLICATION,
1048
1153
  tags: ["experimental"]
1049
1154
  },
1155
+ [ChatConfiguration.ExtraMarketplaces]: {
1156
+ type: "object",
1157
+ additionalProperties: {
1158
+ type: ["string"]
1159
+ },
1160
+ default: {},
1161
+ scope: ConfigurationScope.APPLICATION,
1162
+ included: false,
1163
+ tags: ["experimental"],
1164
+ markdownDescription: ( localize(
1165
+ 6014,
1166
+ "Enterprise-managed additional plugin marketplaces. Unioned with {0}.",
1167
+ `\`#${ChatConfiguration.PluginMarketplaces}#\``
1168
+ )),
1169
+ policy: {
1170
+ name: "ChatExtraMarketplaces",
1171
+ category: PolicyCategory.InteractiveSession,
1172
+ minimumVersion: "1.122",
1173
+ value: policyData => {
1174
+ const obj = extraKnownMarketplacesToConfigDict(policyData.extraKnownMarketplaces);
1175
+ return obj ? JSON.stringify(obj) : undefined;
1176
+ },
1177
+ localization: {
1178
+ description: {
1179
+ key: "chat.plugins.extraMarketplaces.policy",
1180
+ value: ( localize(
1181
+ 6015,
1182
+ "Additional plugin marketplaces to query. Keys are marketplace names; values are GitHub shorthand (`owner/repo[#ref]`) or Git URIs (`<url>[#ref]`)."
1183
+ ))
1184
+ }
1185
+ }
1186
+ }
1187
+ },
1188
+ [ChatConfiguration.StrictMarketplaces]: {
1189
+ type: "boolean",
1190
+ markdownDescription: ( localize(
1191
+ 6016,
1192
+ "When enabled, only marketplaces supplied via enterprise policy are trusted. Plugins from any other marketplace will not load."
1193
+ )),
1194
+ default: false,
1195
+ restricted: true,
1196
+ scope: ConfigurationScope.APPLICATION,
1197
+ tags: ["experimental"],
1198
+ policy: {
1199
+ name: "ChatStrictMarketplaces",
1200
+ category: PolicyCategory.InteractiveSession,
1201
+ minimumVersion: "1.122",
1202
+ value: policyData => policyData.strictKnownMarketplaces,
1203
+ localization: {
1204
+ description: {
1205
+ key: "chat.plugins.strictMarketplaces.policy",
1206
+ value: ( localize(
1207
+ 6017,
1208
+ "Only trust marketplaces supplied via enterprise policy; plugins from any other marketplace will not load."
1209
+ ))
1210
+ }
1211
+ }
1212
+ }
1213
+ },
1050
1214
  [ChatConfiguration.AgentEnabled]: {
1051
1215
  type: "boolean",
1052
1216
  description: ( localize(
1053
- 5929,
1217
+ 6018,
1054
1218
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
1055
1219
  )),
1056
1220
  default: true,
@@ -1064,7 +1228,7 @@ configurationRegistry.registerConfiguration({
1064
1228
  description: {
1065
1229
  key: "chat.agent.enabled.description",
1066
1230
  value: ( localize(
1067
- 5929,
1231
+ 6018,
1068
1232
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
1069
1233
  ))
1070
1234
  }
@@ -1073,7 +1237,7 @@ configurationRegistry.registerConfiguration({
1073
1237
  },
1074
1238
  [AgentNetworkDomainSettingId.NetworkFilter]: {
1075
1239
  markdownDescription: ( localize(
1076
- 5930,
1240
+ 6019,
1077
1241
  "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.",
1078
1242
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1079
1243
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``,
@@ -1090,7 +1254,7 @@ configurationRegistry.registerConfiguration({
1090
1254
  description: {
1091
1255
  key: "chat.agent.networkFilter",
1092
1256
  value: ( localize(
1093
- 5930,
1257
+ 6019,
1094
1258
  "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.",
1095
1259
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1096
1260
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``,
@@ -1102,7 +1266,7 @@ configurationRegistry.registerConfiguration({
1102
1266
  },
1103
1267
  [AgentNetworkDomainSettingId.AllowedNetworkDomains]: {
1104
1268
  markdownDescription: ( localize(
1105
- 5931,
1269
+ 6020,
1106
1270
  "Allowed domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {1} is set to {2}, all domains are allowed. Supports wildcards like {3}. When both allowed and denied lists are empty, all domains are blocked. Denied domains (see {4}) take precedence.",
1107
1271
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1108
1272
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
@@ -1124,7 +1288,7 @@ configurationRegistry.registerConfiguration({
1124
1288
  description: {
1125
1289
  key: "chat.agent.allowedNetworkDomains",
1126
1290
  value: ( localize(
1127
- 5931,
1291
+ 6020,
1128
1292
  "Allowed domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {1} is set to {2}, all domains are allowed. Supports wildcards like {3}. When both allowed and denied lists are empty, all domains are blocked. Denied domains (see {4}) take precedence.",
1129
1293
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1130
1294
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
@@ -1138,7 +1302,7 @@ configurationRegistry.registerConfiguration({
1138
1302
  },
1139
1303
  [AgentNetworkDomainSettingId.DeniedNetworkDomains]: {
1140
1304
  markdownDescription: ( localize(
1141
- 5932,
1305
+ 6021,
1142
1306
  "Denied domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. This does not apply when {1} is set to {2}. Takes precedence over {3}. Supports wildcards like {4}.",
1143
1307
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1144
1308
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
@@ -1160,7 +1324,7 @@ configurationRegistry.registerConfiguration({
1160
1324
  description: {
1161
1325
  key: "chat.agent.deniedNetworkDomains",
1162
1326
  value: ( localize(
1163
- 5932,
1327
+ 6021,
1164
1328
  "Denied domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. This does not apply when {1} is set to {2}. Takes precedence over {3}. Supports wildcards like {4}.",
1165
1329
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1166
1330
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
@@ -1179,7 +1343,7 @@ configurationRegistry.registerConfiguration({
1179
1343
  },
1180
1344
  deprecated: true,
1181
1345
  markdownDeprecationMessage: ( localize(
1182
- 5933,
1346
+ 6022,
1183
1347
  "Use {0} instead",
1184
1348
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``
1185
1349
  ))
@@ -1191,7 +1355,7 @@ configurationRegistry.registerConfiguration({
1191
1355
  },
1192
1356
  deprecated: true,
1193
1357
  markdownDeprecationMessage: ( localize(
1194
- 5934,
1358
+ 6023,
1195
1359
  "Use {0} instead",
1196
1360
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1197
1361
  ))
@@ -1203,7 +1367,7 @@ configurationRegistry.registerConfiguration({
1203
1367
  },
1204
1368
  deprecated: true,
1205
1369
  markdownDeprecationMessage: ( localize(
1206
- 5935,
1370
+ 6024,
1207
1371
  "Use {0} instead",
1208
1372
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``
1209
1373
  ))
@@ -1215,7 +1379,7 @@ configurationRegistry.registerConfiguration({
1215
1379
  },
1216
1380
  deprecated: true,
1217
1381
  markdownDeprecationMessage: ( localize(
1218
- 5936,
1382
+ 6025,
1219
1383
  "Use {0} instead",
1220
1384
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1221
1385
  ))
@@ -1223,118 +1387,41 @@ configurationRegistry.registerConfiguration({
1223
1387
  [ChatConfiguration.DefaultNewSessionMode]: {
1224
1388
  type: "string",
1225
1389
  description: ( localize(
1226
- 5937,
1390
+ 6026,
1227
1391
  "The default mode for new chat sessions. When empty, the chat view's default mode is used."
1228
1392
  )),
1229
1393
  default: ""
1230
1394
  },
1231
- [AgentHostEnabledSettingId]: {
1232
- type: "boolean",
1233
- description: ( localize(5938, "When enabled, some agents run in a separate agent host process.")),
1234
- default: false,
1235
- tags: ["experimental", "advanced"],
1236
- included: product.quality !== "stable"
1237
- },
1238
- [AgentHostClaudeAgentSdkPathSettingId]: {
1239
- type: "string",
1240
- description: ( localize(
1241
- 5939,
1242
- "Experimental, for local testing only. Absolute path to a locally-installed `@anthropic-ai/claude-agent-sdk` package. When set, the Claude agent provider is registered inside the agent host and the SDK is loaded from this path. Requires `#chat.agentHost.enabled#`. The agent host process must be restarted for changes to take effect. This setting will be removed once the SDK is delivered through the Extension Marketplace."
1243
- )),
1244
- default: "",
1245
- tags: ["experimental", "advanced"],
1246
- included: product.quality !== "stable"
1247
- },
1248
- [AgentHostIpcLoggingSettingId]: {
1249
- type: "boolean",
1250
- description: ( localize(
1251
- 5940,
1252
- "When enabled, logs all IPC traffic for each agent host to a dedicated output channel."
1253
- )),
1254
- default: product.quality !== "stable",
1255
- tags: ["experimental", "advanced"],
1256
- included: product.quality !== "stable"
1257
- },
1258
1395
  [AgentHostAhpJsonlLoggingSettingId]: {
1259
1396
  type: "boolean",
1260
1397
  description: ( localize(
1261
- 5941,
1398
+ 6027,
1262
1399
  "When enabled, logs all AHP transport messages for agent host connections to JSONL files under the window's log directory."
1263
1400
  )),
1264
1401
  default: product.quality !== "stable",
1265
- tags: ["experimental", "advanced"],
1266
- included: product.quality !== "stable"
1402
+ tags: ["experimental", "advanced"]
1267
1403
  },
1268
1404
  [AgentHostCustomTerminalToolEnabledSettingId]: {
1269
1405
  type: "boolean",
1270
1406
  description: ( localize(
1271
- 5942,
1407
+ 6028,
1272
1408
  "When enabled, Copilot SDK sessions use the Agent Host terminal tool override instead of the SDK's default terminal behavior."
1273
1409
  )),
1274
- default: true,
1275
- tags: ["experimental", "advanced"],
1276
- included: product.quality !== "stable"
1277
- },
1278
- [AgentHostOTelEnabledSettingId]: {
1279
- type: "boolean",
1280
- description: ( localize(
1281
- 5943,
1282
- "When enabled, the agent host emits OpenTelemetry traces from the Copilot SDK. Requires `#chat.agentHost.enabled#`. Either configure `#chat.agentHost.otel.otlpEndpoint#` to ship traces to an external collector or enable `#chat.agentHost.otel.dbSpanExporter.enabled#` to capture them locally."
1283
- )),
1284
1410
  default: false,
1285
- tags: ["experimental", "advanced"],
1286
- included: product.quality !== "stable"
1287
- },
1288
- [AgentHostOTelExporterTypeSettingId]: {
1289
- type: "string",
1290
- enum: ["otlp-http", "otlp-grpc", "console", "file"],
1291
- description: ( localize(
1292
- 5944,
1293
- "Exporter backend used by the Copilot SDK when `#chat.agentHost.otel.enabled#` is on. `otlp-grpc` is downgraded to `otlp-http` transparently in the CLI runtime."
1294
- )),
1295
- default: "otlp-http",
1296
- tags: ["experimental", "advanced"],
1297
- included: product.quality !== "stable"
1298
- },
1299
- [AgentHostOTelOtlpEndpointSettingId]: {
1300
- type: "string",
1301
- description: ( localize(
1302
- 5945,
1303
- "OTLP endpoint URL when exporter type is `otlp-http` or `otlp-grpc`. Sets `OTEL_EXPORTER_OTLP_ENDPOINT` inside the agent host process."
1304
- )),
1305
- default: "",
1306
- tags: ["experimental", "advanced"],
1307
- included: product.quality !== "stable"
1308
- },
1309
- [AgentHostOTelCaptureContentSettingId]: {
1310
- type: "boolean",
1311
- description: ( localize(
1312
- 5946,
1313
- "When enabled, includes prompt and response content in OTel span attributes. Sets `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT`. Privacy-sensitive: do not enable in environments that ship spans to shared sinks."
1314
- )),
1315
- default: false,
1316
- tags: ["experimental", "advanced"],
1317
- included: product.quality !== "stable"
1318
- },
1319
- [AgentHostOTelOutfileSettingId]: {
1320
- type: "string",
1321
- description: ( localize(
1322
- 5947,
1323
- "Output path for span JSON lines when exporter type is `file`. Sets `COPILOT_OTEL_FILE_EXPORTER_PATH`."
1324
- )),
1325
- default: "",
1326
- tags: ["experimental", "advanced"],
1327
- included: product.quality !== "stable"
1411
+ tags: ["experimental", "advanced"]
1328
1412
  },
1329
- [AgentHostOTelDbSpanExporterEnabledSettingId]: {
1413
+ [ChatConfiguration.AgentHostDefaultChatProvider]: {
1330
1414
  type: "boolean",
1331
- description: ( localize(
1332
- 5948,
1333
- "When enabled, the agent host persists every emitted OTel span to a local SQLite database. Spans can be inspected via the `Export Agent Host Traces Database` command. Compatible with external exporters: spans are written to SQLite *and* forwarded to the user-configured sink."
1334
- )),
1335
1415
  default: false,
1336
- tags: ["experimental", "advanced"],
1337
- included: product.quality !== "stable"
1416
+ tags: ["experimental"],
1417
+ experiment: {
1418
+ mode: "startup"
1419
+ },
1420
+ markdownDescription: ( localize(
1421
+ 6029,
1422
+ "When enabled, the local agent host is used as the default provider in the VS Code chat session-target picker. Requires `#{0}#`.",
1423
+ AgentHostEnabledSettingId
1424
+ ))
1338
1425
  },
1339
1426
  [ChatConfiguration.AgentHostClientTools]: {
1340
1427
  type: "array",
@@ -1342,7 +1429,7 @@ configurationRegistry.registerConfiguration({
1342
1429
  type: "string"
1343
1430
  },
1344
1431
  description: ( localize(
1345
- 5949,
1432
+ 6030,
1346
1433
  "Tool reference names to expose as client-provided tools in agent host sessions."
1347
1434
  )),
1348
1435
  default: [
@@ -1352,22 +1439,20 @@ configurationRegistry.registerConfiguration({
1352
1439
  "runTests",
1353
1440
  ...browserChatToolReferenceNames
1354
1441
  ],
1355
- tags: ["experimental", "advanced"],
1356
- included: product.quality !== "stable"
1442
+ tags: ["experimental", "advanced"]
1357
1443
  },
1358
1444
  [ChatConfiguration.ToolConfirmationCarousel]: {
1359
1445
  type: "boolean",
1360
1446
  description: ( localize(
1361
- 5950,
1447
+ 6031,
1362
1448
  "When enabled, multiple tool confirmations are batched into a carousel above the input."
1363
1449
  )),
1364
- default: product.quality !== "stable",
1365
- tags: ["experimental"]
1450
+ default: true
1366
1451
  },
1367
1452
  [ChatConfiguration.ToolRiskAssessmentEnabled]: {
1368
1453
  type: "boolean",
1369
1454
  description: ( localize(
1370
- 5951,
1455
+ 6032,
1371
1456
  "When enabled, terminal tool confirmations show an LLM-generated risk level (Safe / Caution / Review carefully) and a short explanation."
1372
1457
  )),
1373
1458
  default: true,
@@ -1378,7 +1463,7 @@ configurationRegistry.registerConfiguration({
1378
1463
  [ChatConfiguration.ToolRiskAssessmentModel]: {
1379
1464
  type: "string",
1380
1465
  description: ( localize(
1381
- 5952,
1466
+ 6033,
1382
1467
  "The language model id used to generate tool risk assessments. Should be a small, fast model."
1383
1468
  )),
1384
1469
  default: "copilot-utility-small",
@@ -1390,7 +1475,7 @@ configurationRegistry.registerConfiguration({
1390
1475
  [ChatConfiguration.PlanAgentDefaultModel]: {
1391
1476
  type: "string",
1392
1477
  description: ( localize(
1393
- 5953,
1478
+ 6034,
1394
1479
  "Select the default language model to use for the Plan agent from the available providers."
1395
1480
  )),
1396
1481
  default: "",
@@ -1401,7 +1486,7 @@ configurationRegistry.registerConfiguration({
1401
1486
  [ChatConfiguration.ExploreAgentDefaultModel]: {
1402
1487
  type: "string",
1403
1488
  description: ( localize(
1404
- 5954,
1489
+ 6035,
1405
1490
  "Select the default language model to use for the Explore subagent from the available providers."
1406
1491
  )),
1407
1492
  default: "",
@@ -1412,8 +1497,8 @@ configurationRegistry.registerConfiguration({
1412
1497
  [ChatConfiguration.UtilityModel]: {
1413
1498
  type: "string",
1414
1499
  description: ( localize(
1415
- 5955,
1416
- "Override the language model used by built-in utility flows (titles, summaries, fallback responses, etc.). Leave empty to use the default model."
1500
+ 6036,
1501
+ "Override the language model used by built-in utility flows. Leave empty to use the default model."
1417
1502
  )),
1418
1503
  default: "",
1419
1504
  enum: UtilityModelContribution.modelIds,
@@ -1423,8 +1508,8 @@ configurationRegistry.registerConfiguration({
1423
1508
  [ChatConfiguration.UtilitySmallModel]: {
1424
1509
  type: "string",
1425
1510
  description: ( localize(
1426
- 5956,
1427
- "Override the language model used by built-in small/fast utility flows (commit messages, intent detection, inline-chat progress, etc.). A fast and inexpensive model is recommended. Leave empty to use the default model."
1511
+ 6037,
1512
+ "Override the language model used by built-in small/fast utility flows. A fast and inexpensive model is recommended. Leave empty to use the default model."
1428
1513
  )),
1429
1514
  default: "",
1430
1515
  enum: UtilitySmallModelContribution.modelIds,
@@ -1434,19 +1519,19 @@ configurationRegistry.registerConfiguration({
1434
1519
  [ChatConfiguration.RequestQueueingDefaultAction]: {
1435
1520
  type: "string",
1436
1521
  enum: ["queue", "steer"],
1437
- enumDescriptions: [( localize(5957, "Queue the message to send after the current request completes.")), ( localize(
1438
- 5958,
1522
+ enumDescriptions: [( localize(6038, "Queue the message to send after the current request completes.")), ( localize(
1523
+ 6039,
1439
1524
  "Steer the current request by sending the message immediately, signaling the current request to yield."
1440
1525
  ))],
1441
1526
  description: ( localize(
1442
- 5959,
1527
+ 6040,
1443
1528
  "Controls which action is the default for the queue button when a request is in progress."
1444
1529
  )),
1445
1530
  default: "steer"
1446
1531
  },
1447
1532
  [ChatConfiguration.EditModeHidden]: {
1448
1533
  type: "boolean",
1449
- description: ( localize(5960, "When enabled, hides the Edit mode from the chat mode picker.")),
1534
+ description: ( localize(6041, "When enabled, hides the Edit mode from the chat mode picker.")),
1450
1535
  default: true,
1451
1536
  tags: ["experimental"],
1452
1537
  experiment: {
@@ -1459,20 +1544,20 @@ configurationRegistry.registerConfiguration({
1459
1544
  localization: {
1460
1545
  description: {
1461
1546
  key: "chat.editMode.hidden",
1462
- value: ( localize(5960, "When enabled, hides the Edit mode from the chat mode picker."))
1547
+ value: ( localize(6041, "When enabled, hides the Edit mode from the chat mode picker."))
1463
1548
  }
1464
1549
  }
1465
1550
  }
1466
1551
  },
1467
1552
  [ChatConfiguration.EnableMath]: {
1468
1553
  type: "boolean",
1469
- description: ( localize(5961, "Enable math rendering in chat responses using KaTeX.")),
1554
+ description: ( localize(6042, "Enable math rendering in chat responses using KaTeX.")),
1470
1555
  default: true
1471
1556
  },
1472
1557
  [ChatConfiguration.ShowCodeBlockProgressAnimation]: {
1473
1558
  type: "boolean",
1474
1559
  description: ( localize(
1475
- 5962,
1560
+ 6043,
1476
1561
  "When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
1477
1562
  )),
1478
1563
  default: true,
@@ -1487,7 +1572,7 @@ configurationRegistry.registerConfiguration({
1487
1572
  additionalProperties: false,
1488
1573
  default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
1489
1574
  markdownDescription: ( localize(
1490
- 5963,
1575
+ 6044,
1491
1576
  "Configures discovery of Model Context Protocol servers from configuration from various other applications."
1492
1577
  ))
1493
1578
  },
@@ -1496,14 +1581,14 @@ configurationRegistry.registerConfiguration({
1496
1581
  default: false,
1497
1582
  tags: ["preview"],
1498
1583
  description: ( localize(
1499
- 5964,
1584
+ 6045,
1500
1585
  "Enables the default Marketplace for Model Context Protocol (MCP) servers."
1501
1586
  )),
1502
1587
  included: product.quality === "stable"
1503
1588
  },
1504
1589
  [mcpGalleryServiceUrlConfig]: {
1505
1590
  type: "string",
1506
- description: ( localize(5965, "Configure the MCP Gallery service URL to connect to")),
1591
+ description: ( localize(6046, "Configure the MCP Gallery service URL to connect to")),
1507
1592
  default: "",
1508
1593
  scope: ConfigurationScope.APPLICATION,
1509
1594
  tags: ["usesOnlineServices", "advanced"],
@@ -1516,16 +1601,16 @@ configurationRegistry.registerConfiguration({
1516
1601
  localization: {
1517
1602
  description: {
1518
1603
  key: "mcp.gallery.serviceUrl",
1519
- value: ( localize(5965, "Configure the MCP Gallery service URL to connect to"))
1604
+ value: ( localize(6046, "Configure the MCP Gallery service URL to connect to"))
1520
1605
  }
1521
1606
  }
1522
1607
  }
1523
1608
  },
1524
1609
  [PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
1525
1610
  type: "object",
1526
- title: ( localize(5966, "Instructions File Locations")),
1611
+ title: ( localize(6047, "Instructions File Locations")),
1527
1612
  markdownDescription: ( localize(
1528
- 5967,
1613
+ 6048,
1529
1614
  "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.",
1530
1615
  INSTRUCTION_FILE_EXTENSION,
1531
1616
  INSTRUCTIONS_DOCUMENTATION_URL
@@ -1544,7 +1629,7 @@ configurationRegistry.registerConfiguration({
1544
1629
  propertyNames: {
1545
1630
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1546
1631
  patternErrorMessage: ( localize(
1547
- 5968,
1632
+ 6049,
1548
1633
  "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."
1549
1634
  ))
1550
1635
  },
@@ -1559,9 +1644,9 @@ configurationRegistry.registerConfiguration({
1559
1644
  },
1560
1645
  [PromptsConfig.PROMPT_LOCATIONS_KEY]: {
1561
1646
  type: "object",
1562
- title: ( localize(5969, "Prompt File Locations")),
1647
+ title: ( localize(6050, "Prompt File Locations")),
1563
1648
  markdownDescription: ( localize(
1564
- 5970,
1649
+ 6051,
1565
1650
  "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.",
1566
1651
  PROMPT_FILE_EXTENSION,
1567
1652
  PROMPT_DOCUMENTATION_URL
@@ -1578,7 +1663,7 @@ configurationRegistry.registerConfiguration({
1578
1663
  propertyNames: {
1579
1664
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1580
1665
  patternErrorMessage: ( localize(
1581
- 5971,
1666
+ 6052,
1582
1667
  "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."
1583
1668
  ))
1584
1669
  },
@@ -1593,9 +1678,9 @@ configurationRegistry.registerConfiguration({
1593
1678
  },
1594
1679
  [PromptsConfig.MODE_LOCATION_KEY]: {
1595
1680
  type: "object",
1596
- title: ( localize(5972, "Mode File Locations")),
1681
+ title: ( localize(6053, "Mode File Locations")),
1597
1682
  markdownDescription: ( localize(
1598
- 5973,
1683
+ 6054,
1599
1684
  "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.",
1600
1685
  LEGACY_MODE_FILE_EXTENSION,
1601
1686
  AGENT_DOCUMENTATION_URL
@@ -1604,7 +1689,7 @@ configurationRegistry.registerConfiguration({
1604
1689
  [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
1605
1690
  },
1606
1691
  deprecationMessage: ( localize(
1607
- 5974,
1692
+ 6055,
1608
1693
  "This setting is deprecated and will be removed in future releases. Chat modes are now called custom agents and are located in `.github/agents`"
1609
1694
  )),
1610
1695
  additionalProperties: {
@@ -1630,9 +1715,9 @@ configurationRegistry.registerConfiguration({
1630
1715
  },
1631
1716
  [PromptsConfig.AGENTS_LOCATION_KEY]: {
1632
1717
  type: "object",
1633
- title: ( localize(5975, "Agent File Locations")),
1718
+ title: ( localize(6056, "Agent File Locations")),
1634
1719
  markdownDescription: ( localize(
1635
- 5976,
1720
+ 6057,
1636
1721
  "Specify location(s) of custom agent files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
1637
1722
  AGENT_FILE_EXTENSION,
1638
1723
  AGENT_DOCUMENTATION_URL
@@ -1648,7 +1733,7 @@ configurationRegistry.registerConfiguration({
1648
1733
  propertyNames: {
1649
1734
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1650
1735
  patternErrorMessage: ( localize(
1651
- 5977,
1736
+ 6058,
1652
1737
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1653
1738
  ))
1654
1739
  },
@@ -1665,9 +1750,9 @@ configurationRegistry.registerConfiguration({
1665
1750
  },
1666
1751
  [PromptsConfig.USE_AGENT_MD]: {
1667
1752
  type: "boolean",
1668
- title: ( localize(5978, "Use AGENTS.md file")),
1753
+ title: ( localize(6059, "Use AGENTS.md file")),
1669
1754
  markdownDescription: ( localize(
1670
- 5979,
1755
+ 6060,
1671
1756
  "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
1672
1757
  )),
1673
1758
  default: true,
@@ -1677,9 +1762,9 @@ configurationRegistry.registerConfiguration({
1677
1762
  },
1678
1763
  [PromptsConfig.USE_NESTED_AGENT_MD]: {
1679
1764
  type: "boolean",
1680
- title: ( localize(5980, "Use nested AGENTS.md files")),
1765
+ title: ( localize(6061, "Use nested AGENTS.md files")),
1681
1766
  markdownDescription: ( localize(
1682
- 5981,
1767
+ 6062,
1683
1768
  "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."
1684
1769
  )),
1685
1770
  default: false,
@@ -1695,9 +1780,9 @@ configurationRegistry.registerConfiguration({
1695
1780
  },
1696
1781
  [PromptsConfig.USE_CLAUDE_MD]: {
1697
1782
  type: "boolean",
1698
- title: ( localize(5982, "Use CLAUDE.md file")),
1783
+ title: ( localize(6063, "Use CLAUDE.md file")),
1699
1784
  markdownDescription: ( localize(
1700
- 5983,
1785
+ 6064,
1701
1786
  "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests."
1702
1787
  )),
1703
1788
  default: true,
@@ -1707,9 +1792,9 @@ configurationRegistry.registerConfiguration({
1707
1792
  },
1708
1793
  [PromptsConfig.USE_AGENT_SKILLS]: {
1709
1794
  type: "boolean",
1710
- title: ( localize(5984, "Use Agent skills")),
1795
+ title: ( localize(6065, "Use Agent skills")),
1711
1796
  markdownDescription: ( localize(
1712
- 5985,
1797
+ 6066,
1713
1798
  "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)."
1714
1799
  )),
1715
1800
  default: true,
@@ -1719,9 +1804,9 @@ configurationRegistry.registerConfiguration({
1719
1804
  },
1720
1805
  [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
1721
1806
  type: "boolean",
1722
- title: ( localize(5986, "Use Skill Adherence Prompt")),
1807
+ title: ( localize(6067, "Use Skill Adherence Prompt")),
1723
1808
  markdownDescription: ( localize(
1724
- 5987,
1809
+ 6068,
1725
1810
  "Controls whether a stronger skill adherence prompt is used that encourages the model to immediately invoke skills when relevant rather than just announcing them."
1726
1811
  )),
1727
1812
  default: false,
@@ -1740,9 +1825,9 @@ configurationRegistry.registerConfiguration({
1740
1825
  },
1741
1826
  [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
1742
1827
  type: "boolean",
1743
- title: ( localize(5988, "Include Applying Instructions")),
1828
+ title: ( localize(6069, "Include Applying Instructions")),
1744
1829
  markdownDescription: ( localize(
1745
- 5989,
1830
+ 6070,
1746
1831
  "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
1747
1832
  )),
1748
1833
  default: true,
@@ -1752,9 +1837,9 @@ configurationRegistry.registerConfiguration({
1752
1837
  },
1753
1838
  [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
1754
1839
  type: "boolean",
1755
- title: ( localize(5990, "Include Referenced Instructions")),
1840
+ title: ( localize(6071, "Include Referenced Instructions")),
1756
1841
  markdownDescription: ( localize(
1757
- 5991,
1842
+ 6072,
1758
1843
  "Controls whether referenced instructions are automatically included in chat requests."
1759
1844
  )),
1760
1845
  default: false,
@@ -1764,9 +1849,9 @@ configurationRegistry.registerConfiguration({
1764
1849
  },
1765
1850
  [PromptsConfig.USE_CUSTOMIZATIONS_IN_PARENT_REPOS]: {
1766
1851
  type: "boolean",
1767
- title: ( localize(5992, "Use Customizations in Parent Repositories")),
1852
+ title: ( localize(6073, "Use Customizations in Parent Repositories")),
1768
1853
  markdownDescription: ( localize(
1769
- 5993,
1854
+ 6074,
1770
1855
  "Controls whether to use chat customization files in parent repositories."
1771
1856
  )),
1772
1857
  default: false,
@@ -1776,9 +1861,9 @@ configurationRegistry.registerConfiguration({
1776
1861
  },
1777
1862
  [PromptsConfig.SKILLS_LOCATION_KEY]: {
1778
1863
  type: "object",
1779
- title: ( localize(5994, "Agent Skills Locations")),
1864
+ title: ( localize(6075, "Agent Skills Locations")),
1780
1865
  markdownDescription: ( localize(
1781
- 5995,
1866
+ 6076,
1782
1867
  "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.",
1783
1868
  SKILL_FILENAME,
1784
1869
  SKILL_DOCUMENTATION_URL
@@ -1797,7 +1882,7 @@ configurationRegistry.registerConfiguration({
1797
1882
  propertyNames: {
1798
1883
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1799
1884
  patternErrorMessage: ( localize(
1800
- 5996,
1885
+ 6077,
1801
1886
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1802
1887
  ))
1803
1888
  },
@@ -1814,9 +1899,9 @@ configurationRegistry.registerConfiguration({
1814
1899
  },
1815
1900
  [PromptsConfig.HOOKS_LOCATION_KEY]: {
1816
1901
  type: "object",
1817
- title: ( localize(5997, "Hook File Locations")),
1902
+ title: ( localize(6078, "Hook File Locations")),
1818
1903
  markdownDescription: ( localize(
1819
- 5998,
1904
+ 6079,
1820
1905
  "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`).",
1821
1906
  HOOK_DOCUMENTATION_URL
1822
1907
  )),
@@ -1834,7 +1919,7 @@ configurationRegistry.registerConfiguration({
1834
1919
  propertyNames: {
1835
1920
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1836
1921
  patternErrorMessage: ( localize(
1837
- 5999,
1922
+ 6080,
1838
1923
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1839
1924
  ))
1840
1925
  },
@@ -1856,9 +1941,9 @@ configurationRegistry.registerConfiguration({
1856
1941
  },
1857
1942
  [PromptsConfig.USE_CHAT_HOOKS]: {
1858
1943
  type: "boolean",
1859
- title: ( localize(6000, "Use Chat Hooks")),
1944
+ title: ( localize(6081, "Use Chat Hooks")),
1860
1945
  markdownDescription: ( localize(
1861
- 6001,
1946
+ 6082,
1862
1947
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1863
1948
  )),
1864
1949
  default: true,
@@ -1874,7 +1959,7 @@ configurationRegistry.registerConfiguration({
1874
1959
  description: {
1875
1960
  key: "chat.useHooks.description",
1876
1961
  value: ( localize(
1877
- 6001,
1962
+ 6082,
1878
1963
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1879
1964
  ))
1880
1965
  }
@@ -1883,9 +1968,9 @@ configurationRegistry.registerConfiguration({
1883
1968
  },
1884
1969
  [PromptsConfig.USE_CLAUDE_HOOKS]: {
1885
1970
  type: "boolean",
1886
- title: ( localize(6002, "Use Claude Hooks")),
1971
+ title: ( localize(6083, "Use Claude Hooks")),
1887
1972
  markdownDescription: ( localize(
1888
- 6003,
1973
+ 6084,
1889
1974
  "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#`."
1890
1975
  )),
1891
1976
  default: false,
@@ -1896,9 +1981,9 @@ configurationRegistry.registerConfiguration({
1896
1981
  [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
1897
1982
  type: "object",
1898
1983
  scope: ConfigurationScope.RESOURCE,
1899
- title: ( localize(6004, "Prompt File Recommendations")),
1984
+ title: ( localize(6085, "Prompt File Recommendations")),
1900
1985
  markdownDescription: ( localize(
1901
- 6005,
1986
+ 6086,
1902
1987
  "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`."
1903
1988
  )),
1904
1989
  default: {},
@@ -1920,7 +2005,7 @@ configurationRegistry.registerConfiguration({
1920
2005
  type: "boolean",
1921
2006
  default: true,
1922
2007
  description: ( localize(
1923
- 6006,
2008
+ 6087,
1924
2009
  "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."
1925
2010
  ))
1926
2011
  },
@@ -1928,21 +2013,21 @@ configurationRegistry.registerConfiguration({
1928
2013
  type: "string",
1929
2014
  default: "fixedScrolling",
1930
2015
  enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
1931
- enumDescriptions: [( localize(6007, "Thinking parts will be collapsed by default.")), ( localize(
1932
- 6008,
2016
+ enumDescriptions: [( localize(6088, "Thinking parts will be collapsed by default.")), ( localize(
2017
+ 6089,
1933
2018
  "Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
1934
2019
  )), ( localize(
1935
- 6009,
2020
+ 6090,
1936
2021
  "Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
1937
2022
  ))],
1938
- description: ( localize(6010, "Controls how thinking is rendered.")),
2023
+ description: ( localize(6091, "Controls how thinking is rendered.")),
1939
2024
  tags: ["experimental"]
1940
2025
  },
1941
2026
  [ChatConfiguration.ThinkingGenerateTitles]: {
1942
2027
  type: "boolean",
1943
2028
  default: true,
1944
2029
  description: ( localize(
1945
- 6011,
2030
+ 6092,
1946
2031
  "Controls whether to use an LLM to generate summary titles for thinking sections."
1947
2032
  )),
1948
2033
  tags: ["experimental"]
@@ -1951,12 +2036,12 @@ configurationRegistry.registerConfiguration({
1951
2036
  type: "string",
1952
2037
  default: "always",
1953
2038
  enum: ["off", "withThinking", "always"],
1954
- enumDescriptions: [( localize(6012, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1955
- 6013,
2039
+ enumDescriptions: [( localize(6093, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
2040
+ 6094,
1956
2041
  "Tool calls are collapsed into thinking sections when thinking is present."
1957
- )), ( localize(6014, "Tool calls are always collapsed, even without thinking."))],
2042
+ )), ( localize(6095, "Tool calls are always collapsed, even without thinking."))],
1958
2043
  markdownDescription: ( localize(
1959
- 6015,
2044
+ 6096,
1960
2045
  "Controls how tool calls are displayed in relation to thinking sections."
1961
2046
  )),
1962
2047
  tags: ["experimental"]
@@ -1965,7 +2050,7 @@ configurationRegistry.registerConfiguration({
1965
2050
  type: "boolean",
1966
2051
  default: true,
1967
2052
  markdownDescription: ( localize(
1968
- 6016,
2053
+ 6097,
1969
2054
  "When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
1970
2055
  )),
1971
2056
  tags: ["experimental"]
@@ -1974,7 +2059,7 @@ configurationRegistry.registerConfiguration({
1974
2059
  type: "boolean",
1975
2060
  default: true,
1976
2061
  markdownDescription: ( localize(
1977
- 6017,
2062
+ 6098,
1978
2063
  "When enabled, terminal tool calls are always displayed in a collapsible container with a simplified view."
1979
2064
  )),
1980
2065
  tags: ["experimental"]
@@ -1983,7 +2068,7 @@ configurationRegistry.registerConfiguration({
1983
2068
  type: "boolean",
1984
2069
  default: false,
1985
2070
  markdownDescription: ( localize(
1986
- 6018,
2071
+ 6099,
1987
2072
  "Post-process tool output (for example `git diff`, `ls -l`, or `npm install`) to reduce token usage before it is sent to the model."
1988
2073
  )),
1989
2074
  tags: ["preview"],
@@ -2003,7 +2088,7 @@ configurationRegistry.registerConfiguration({
2003
2088
  enum: ["replace", "append"],
2004
2089
  default: "append",
2005
2090
  description: ( localize(
2006
- 6019,
2091
+ 6100,
2007
2092
  "'replace' replaces all default phrases entirely; 'append' adds your phrases to all default categories."
2008
2093
  ))
2009
2094
  },
@@ -2014,14 +2099,14 @@ configurationRegistry.registerConfiguration({
2014
2099
  },
2015
2100
  default: [],
2016
2101
  description: ( localize(
2017
- 6020,
2102
+ 6101,
2018
2103
  "Custom loading messages to show during thinking, working progress, terminal, and tool operations."
2019
2104
  ))
2020
2105
  }
2021
2106
  },
2022
2107
  additionalProperties: false,
2023
2108
  markdownDescription: ( localize(
2024
- 6021,
2109
+ 6102,
2025
2110
  "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."
2026
2111
  )),
2027
2112
  tags: ["experimental"]
@@ -2030,14 +2115,14 @@ configurationRegistry.registerConfiguration({
2030
2115
  type: "boolean",
2031
2116
  default: true,
2032
2117
  markdownDescription: ( localize(
2033
- 6022,
2118
+ 6103,
2034
2119
  "When enabled, tool failures are automatically expanded in the chat UI to show error details."
2035
2120
  ))
2036
2121
  },
2037
2122
  [ChatConfiguration.AIDisabled]: {
2038
2123
  type: "boolean",
2039
2124
  description: ( localize(
2040
- 6023,
2125
+ 6104,
2041
2126
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
2042
2127
  )),
2043
2128
  default: false,
@@ -2050,35 +2135,36 @@ configurationRegistry.registerConfiguration({
2050
2135
  description: {
2051
2136
  key: "chat.disableAIFeatures",
2052
2137
  value: ( localize(
2053
- 6023,
2138
+ 6104,
2054
2139
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
2055
2140
  ))
2056
2141
  }
2057
2142
  }
2058
2143
  }
2059
2144
  },
2060
- [ChatConfiguration.OfflineByok]: {
2061
- type: "boolean",
2062
- description: ( localize(6024, "Experimental: enable BYOK chat features without GitHub sign-in.")),
2063
- default: false,
2064
- scope: ConfigurationScope.WINDOW,
2065
- included: false
2066
- },
2067
2145
  [ChatConfiguration.TitleBarSignInEnabled]: {
2068
2146
  type: "boolean",
2069
2147
  description: ( localize(
2070
- 6025,
2148
+ 6105,
2071
2149
  "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."
2072
2150
  )),
2073
2151
  default: true
2074
2152
  },
2153
+ [ChatConfiguration.TitleBarOpenInAgentsWindowEnabled]: {
2154
+ type: "boolean",
2155
+ description: ( localize(
2156
+ 6106,
2157
+ "Controls whether the Open in Agents Window button is shown in the title bar."
2158
+ )),
2159
+ default: true
2160
+ },
2075
2161
  "chat.approvedAccountOrganizations": {
2076
2162
  type: "array",
2077
2163
  items: {
2078
2164
  type: "string"
2079
2165
  },
2080
2166
  description: ( localize(
2081
- 6026,
2167
+ 6107,
2082
2168
  "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."
2083
2169
  )),
2084
2170
  default: [],
@@ -2091,7 +2177,7 @@ configurationRegistry.registerConfiguration({
2091
2177
  description: {
2092
2178
  key: "chat.approvedAccountOrganizations.policy.description",
2093
2179
  value: ( localize(
2094
- 6027,
2180
+ 6108,
2095
2181
  "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)."
2096
2182
  ))
2097
2183
  }
@@ -2100,8 +2186,9 @@ configurationRegistry.registerConfiguration({
2100
2186
  },
2101
2187
  "chat.allowAnonymousAccess": {
2102
2188
  type: "boolean",
2103
- description: ( localize(6028, "Controls whether anonymous access is allowed in chat.")),
2189
+ description: ( localize(6109, "Controls whether anonymous access is allowed in chat.")),
2104
2190
  default: false,
2191
+ included: false,
2105
2192
  tags: ["experimental"],
2106
2193
  experiment: {
2107
2194
  mode: "auto"
@@ -2110,7 +2197,7 @@ configurationRegistry.registerConfiguration({
2110
2197
  [ChatConfiguration.GrowthNotificationEnabled]: {
2111
2198
  type: "boolean",
2112
2199
  description: ( localize(
2113
- 6029,
2200
+ 6110,
2114
2201
  "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
2115
2202
  )),
2116
2203
  default: false,
@@ -2122,7 +2209,7 @@ configurationRegistry.registerConfiguration({
2122
2209
  [ChatConfiguration.RestoreLastPanelSession]: {
2123
2210
  type: "boolean",
2124
2211
  description: ( localize(
2125
- 6030,
2212
+ 6111,
2126
2213
  "Controls whether the last session is restored in panel after restart."
2127
2214
  )),
2128
2215
  default: false
@@ -2130,7 +2217,7 @@ configurationRegistry.registerConfiguration({
2130
2217
  [ChatConfiguration.ExitAfterDelegation]: {
2131
2218
  type: "boolean",
2132
2219
  description: ( localize(
2133
- 6031,
2220
+ 6112,
2134
2221
  "Controls whether the chat panel automatically exits after delegating a request to another session."
2135
2222
  )),
2136
2223
  default: false,
@@ -2139,7 +2226,7 @@ configurationRegistry.registerConfiguration({
2139
2226
  "chat.extensionUnification.enabled": {
2140
2227
  type: "boolean",
2141
2228
  description: ( localize(
2142
- 6032,
2229
+ 6113,
2143
2230
  "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."
2144
2231
  )),
2145
2232
  default: true,
@@ -2151,7 +2238,7 @@ configurationRegistry.registerConfiguration({
2151
2238
  [ChatConfiguration.GeneralPurposeAgentEnabled]: {
2152
2239
  type: "boolean",
2153
2240
  description: ( localize(
2154
- 6033,
2241
+ 6114,
2155
2242
  "Controls whether the built-in General Purpose agent is available as a subagent."
2156
2243
  )),
2157
2244
  default: false,
@@ -2162,9 +2249,9 @@ configurationRegistry.registerConfiguration({
2162
2249
  },
2163
2250
  [ChatConfiguration.SubagentsAllowInvocationsFromSubagents]: {
2164
2251
  type: "boolean",
2165
- description: ( localize(6034, "Allow subagents to invoke subagents.")),
2252
+ description: ( localize(6115, "Allow subagents to invoke subagents.")),
2166
2253
  markdownDescription: ( localize(
2167
- 6035,
2254
+ 6116,
2168
2255
  "Controls whether subagents can invoke other subagents. When enabled, nesting is limited to a maximum depth of 5."
2169
2256
  )),
2170
2257
  default: false,
@@ -2176,7 +2263,7 @@ configurationRegistry.registerConfiguration({
2176
2263
  type: "boolean",
2177
2264
  tags: ["preview"],
2178
2265
  description: ( localize(
2179
- 6036,
2266
+ 6117,
2180
2267
  "Controls whether the harness selector is shown in the Chat Customizations editor sidebar. When disabled, the editor always shows all customizations without filtering."
2181
2268
  )),
2182
2269
  default: true
@@ -2185,35 +2272,23 @@ configurationRegistry.registerConfiguration({
2185
2272
  type: "boolean",
2186
2273
  tags: ["preview"],
2187
2274
  description: ( localize(
2188
- 6037,
2275
+ 6118,
2189
2276
  "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."
2190
2277
  )),
2191
2278
  default: false
2192
- },
2193
- [ChatConfiguration.UseChatSessionCustomizationsForCustomAgents]: {
2194
- type: "boolean",
2195
- description: ( localize(
2196
- 6038,
2197
- "When enabled, custom agents shown in the chat mode picker are sourced from the customization harness service (scoped per session type) instead of the prompts service."
2198
- )),
2199
- default: false,
2200
- tags: ["experimental", "advanced"],
2201
- experiment: {
2202
- mode: "auto"
2203
- }
2204
2279
  }
2205
2280
  }
2206
2281
  });
2207
2282
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2208
- EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(6039, "Chat"))),
2283
+ EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(6119, "Chat"))),
2209
2284
  [( new SyncDescriptor(ChatEditorInput))]
2210
2285
  );
2211
2286
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2212
- EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(6040, "Debug View"))),
2287
+ EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(6120, "Debug View"))),
2213
2288
  [( new SyncDescriptor(ChatDebugEditorInput))]
2214
2289
  );
2215
2290
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
2216
- EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(6041, "Agent Plugin"))),
2291
+ EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(6121, "Agent Plugin"))),
2217
2292
  [( new SyncDescriptor(AgentPluginEditorInput))]
2218
2293
  );
2219
2294
  ( Registry.as(Extensions$2.ConfigurationMigration)).registerConfigurationMigrations([{
@@ -2360,7 +2435,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
2360
2435
  _registerEditor(scheme) {
2361
2436
  this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
2362
2437
  id: ChatEditorInput.EditorID,
2363
- label: ( localize(6039, "Chat")),
2438
+ label: ( localize(6119, "Chat")),
2364
2439
  priority: RegisteredEditorPriority.builtin
2365
2440
  }, {
2366
2441
  singlePerResource: true,
@@ -2389,16 +2464,19 @@ let CopilotTelemetryContribution = class CopilotTelemetryContribution extends Di
2389
2464
  super();
2390
2465
  this.telemetryService = telemetryService;
2391
2466
  this.chatEntitlementService = chatEntitlementService;
2392
- this.updateCopilotTrackingId();
2467
+ this.updateCommonProperties();
2393
2468
  this._register(this.chatEntitlementService.onDidChangeEntitlement(() => {
2394
- this.updateCopilotTrackingId();
2469
+ this.updateCommonProperties();
2395
2470
  }));
2396
2471
  }
2397
- updateCopilotTrackingId() {
2472
+ updateCommonProperties() {
2398
2473
  const copilotTrackingId = this.chatEntitlementService.copilotTrackingId;
2399
2474
  if (copilotTrackingId) {
2400
2475
  this.telemetryService.setCommonProperty("common.copilotTrackingId", copilotTrackingId);
2401
2476
  }
2477
+ if (this.chatEntitlementService.isInternal) {
2478
+ this.telemetryService.setCommonProperty("common.msftInternal", true);
2479
+ }
2402
2480
  }
2403
2481
  };
2404
2482
  CopilotTelemetryContribution = ( __decorate([( __param(0, ITelemetryService)), ( __param(1, IChatEntitlementService))], CopilotTelemetryContribution));
@@ -2409,7 +2487,7 @@ let ChatDebugResolverContribution = class ChatDebugResolverContribution {
2409
2487
  constructor(editorResolverService) {
2410
2488
  editorResolverService.registerEditor(`${ChatDebugEditorInput.RESOURCE.scheme}:**/**`, {
2411
2489
  id: ChatDebugEditorInput.ID,
2412
- label: ( localize(6040, "Debug View")),
2490
+ label: ( localize(6120, "Debug View")),
2413
2491
  priority: RegisteredEditorPriority.exclusive
2414
2492
  }, {
2415
2493
  singlePerResource: true,
@@ -2448,13 +2526,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
2448
2526
  this.experimentService.getTreatment(treatmentId).then(value => {
2449
2527
  const node = {
2450
2528
  id: "chatSidebar",
2451
- title: ( localize(5806, "Chat")),
2529
+ title: ( localize(5880, "Chat")),
2452
2530
  type: "object",
2453
2531
  properties: {
2454
2532
  "chat.agent.maxRequests": {
2455
2533
  type: "number",
2456
2534
  markdownDescription: ( localize(
2457
- 6042,
2535
+ 6122,
2458
2536
  "The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."
2459
2537
  )),
2460
2538
  default: value ?? 50,
@@ -2491,13 +2569,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
2491
2569
  this.experimentService.getTreatment("chatDefaultNewSessionMode").then(value => {
2492
2570
  const node = {
2493
2571
  id: "chatSidebar",
2494
- title: ( localize(5806, "Chat")),
2572
+ title: ( localize(5880, "Chat")),
2495
2573
  type: "object",
2496
2574
  properties: {
2497
2575
  [ChatConfiguration.DefaultNewSessionMode]: {
2498
2576
  type: "string",
2499
2577
  description: ( localize(
2500
- 5937,
2578
+ 6026,
2501
2579
  "The default mode for new chat sessions. When empty, the chat view's default mode is used."
2502
2580
  )),
2503
2581
  default: typeof value === "string" ? value : ""
@@ -2673,7 +2751,7 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
2673
2751
  for (const tool of tools) {
2674
2752
  toolReferenceNameEnumValues.push(tool.toolReferenceName);
2675
2753
  toolReferenceNameEnumDescriptions.push(( localize(
2676
- 6043,
2754
+ 6123,
2677
2755
  "{0} - {1}",
2678
2756
  tool.toolReferenceName,
2679
2757
  tool.userDescription || tool.displayName
@@ -2782,6 +2860,11 @@ registerWorkbenchContribution2(
2782
2860
  ChatSetupContribution,
2783
2861
  WorkbenchPhase.BlockRestore
2784
2862
  );
2863
+ registerWorkbenchContribution2(
2864
+ ChatQuotaNotificationContribution.ID,
2865
+ ChatQuotaNotificationContribution,
2866
+ WorkbenchPhase.AfterRestored
2867
+ );
2785
2868
  registerWorkbenchContribution2(
2786
2869
  HasByokModelsContribution.ID,
2787
2870
  HasByokModelsContribution,