@codingame/monaco-vscode-chat-service-override 31.0.0 → 32.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 (341) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +21 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/base/common/defaultAccount.d.ts +69 -0
  5. package/vscode/src/vs/base/common/defaultAccount.js +12 -0
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +91 -22
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +301 -68
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +24 -5
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +89 -16
  10. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +17 -5
  11. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +73 -10
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +32 -6
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +32 -20
  14. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.d.ts +37 -0
  15. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.js +15 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +242 -201
  17. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  18. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +35 -0
  19. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +106 -0
  20. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +38 -30
  21. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +2 -1
  22. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +114 -4
  23. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +10 -10
  24. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +52 -19
  25. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +42 -0
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +7 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +42 -41
  28. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +6 -6
  29. package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +15 -0
  30. package/vscode/src/vs/platform/agentHost/common/transportConstants.js +6 -0
  31. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +4 -3
  32. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +4 -3
  33. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +4 -2
  34. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +15 -7
  35. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.d.ts +19 -0
  36. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.js +17 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -10
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +64 -59
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +31 -16
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +18 -9
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +16 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +30 -5
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +8 -7
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +27 -18
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  59. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -20
  60. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +22 -22
  61. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.d.ts +12 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +171 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +4 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -10
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +28 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +99 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +2 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +11 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +9 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +63 -53
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +2 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +10 -7
  78. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +3 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -4
  83. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -48
  84. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  85. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  86. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +5 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +8 -4
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +99 -39
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -30
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +78 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +38 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +35 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +347 -326
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +6 -2
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +1 -11
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +113 -109
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +37 -15
  99. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +436 -134
  100. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +2 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +52 -26
  103. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +13 -5
  106. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +23 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +60 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +25 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +93 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +73 -104
  112. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +272 -41
  113. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +12 -2
  114. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +30 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +430 -185
  116. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +5 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +44 -3
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +480 -279
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.d.ts +138 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +221 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +84 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +1216 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +2 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +32 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +26 -19
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +28 -25
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -24
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +68 -33
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +650 -6
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +29 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +390 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -3
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +11 -11
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -2
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +1 -7
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +6 -87
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -1
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +116 -182
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -39
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +61 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +27 -27
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -13
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +20 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +106 -36
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +25 -7
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +629 -425
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +9 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +105 -29
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +175 -148
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +20 -33
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +9 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  188. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  189. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  190. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  191. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.d.ts +58 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +339 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +160 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +9 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +123 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +37 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +572 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +36 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +167 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +49 -7
  203. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +315 -19
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +45 -24
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +44 -40
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  218. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  219. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +9 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +111 -52
  221. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +3 -7
  222. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +13 -47
  223. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +3 -2
  224. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +4 -8
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +18 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +56 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -7
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +14 -52
  229. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  230. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +3 -1
  231. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +17 -2
  232. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +23 -12
  234. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +39 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +136 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +72 -0
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +56 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +7 -0
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +14 -1
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +41 -26
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +30 -12
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +2 -5
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +25 -6
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  247. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -2
  248. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +5 -4
  249. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -0
  250. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +108 -45
  251. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -3
  252. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +3 -1
  253. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +20 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +65 -26
  255. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  256. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +38 -11
  257. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +17 -1
  258. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +165 -16
  259. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +1 -0
  260. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +62 -1
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -1
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -3
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +15 -21
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -3
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +18 -24
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +4 -2
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +203 -180
  270. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  271. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +30 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +35 -0
  273. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +2 -1
  274. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +27 -2
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +14 -49
  277. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +0 -16
  278. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +35 -177
  279. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -8
  280. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -2
  281. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +2 -3
  282. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +4 -4
  283. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  284. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  285. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +13 -13
  287. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  288. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +29 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +129 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -2
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +2 -1
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -6
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -4
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +12 -38
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +12 -7
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +77 -70
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +32 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +232 -0
  311. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +83 -0
  312. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.js +243 -0
  313. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +0 -749
  314. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +0 -14
  315. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +0 -17
  316. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +0 -5
  317. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +0 -40
  318. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +0 -14
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +0 -61
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +0 -638
  321. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +0 -131
  322. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +0 -363
  323. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +0 -24
  324. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +0 -306
  325. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -23
  326. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +0 -97
  327. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatStatusWidget.css +0 -57
  328. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +0 -50
  329. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +0 -29
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +0 -50
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +0 -78
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +0 -77
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +0 -120
  334. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -10
  335. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +0 -23
  336. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +0 -242
  337. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +0 -1701
  338. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +0 -191
  339. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +0 -728
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +0 -14
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +0 -69
@@ -5,15 +5,17 @@ import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vs
5
5
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
6
  import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
7
7
  import { PolicyCategory } from '@codingame/monaco-vscode-api/vscode/vs/base/common/policy';
8
- import { AgentHostIpcLoggingSettingId, AgentHostEnabledSettingId } from '../../../../platform/agentHost/common/agentService.js';
8
+ import { CopilotSessionSearchPolicy } from '../../../../base/common/defaultAccount.js';
9
+ import { AgentHostAhpJsonlLoggingSettingId, AgentHostIpcLoggingSettingId, AgentHostClaudeAgentSdkPathSettingId, AgentHostEnabledSettingId } from '../../../../platform/agentHost/common/agentService.js';
9
10
  import '../../../../platform/networkFilter/common/networkFilterService.js';
10
11
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
11
12
  import { AgentNetworkDomainSettingId } from '@codingame/monaco-vscode-katex-common/vscode/vs/platform/networkFilter/common/settings';
12
- import { AgentSandboxSettingId } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
13
+ import { AgentSandboxSettingId, AgentSandboxEnabledValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/settings';
13
14
  import { registerEditorFeature } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorFeatures';
14
15
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
15
16
  import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
16
17
  import { registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
18
+ import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
17
19
  import { Extensions as Extensions$1, ConfigurationScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
18
20
  import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
19
21
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
@@ -35,13 +37,15 @@ import { IEditorResolverService } from '@codingame/monaco-vscode-api/vscode/vs/w
35
37
  import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
36
38
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
37
39
  import { AssistedTypes, AddConfigurationType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration';
38
- import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
40
+ import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection, mcpServerCollisionBehaviorSection, McpCollisionBehavior } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
39
41
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents';
40
42
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatColors';
41
43
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
42
44
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
43
45
  import { ChatResponseResourceWorkbenchContribution } from '../common/widget/chatResponseResourceFileSystemProvider.js';
46
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
44
47
  import '../common/chatService/chatServiceImpl.js';
48
+ import { SessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
45
49
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
46
50
  import '../common/participants/chatSlashCommands.js';
47
51
  import '../common/tools/chatArtifactsService.js';
@@ -52,7 +56,8 @@ import { ChatConfiguration, ChatPermissionLevel, ChatNotificationMode, ChatAgent
52
56
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
53
57
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
54
58
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
55
- import { agentPluginDiscoveryRegistry } from '../common/plugins/agentPluginService.js';
59
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService';
60
+ import { agentPluginDiscoveryRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService';
56
61
  import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
57
62
  import { PromptsConfig, isTildePath } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
58
63
  import { DEFAULT_HOOK_FILE_PATHS, DEFAULT_SKILL_SOURCE_FOLDERS, SKILL_FILENAME, AGENTS_SOURCE_FOLDER, COPILOT_USER_AGENTS_SOURCE_FOLDER, CLAUDE_AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
@@ -61,7 +66,7 @@ import { HOOK_DOCUMENTATION_URL, SKILL_DOCUMENTATION_URL, AGENT_DOCUMENTATION_UR
61
66
  import { HOOK_SCHEMA_URI, hookFileSchema } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
62
67
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
63
68
  import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
64
- import '../common/promptSyntax/service/promptsServiceImpl.js';
69
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl';
65
70
  import { LanguageModelToolsExtensionPointHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution';
66
71
  import './telemetry/chatModelCountTelemetry.js';
67
72
  import { BuiltinToolsContribution } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/builtinTools/tools';
@@ -104,7 +109,7 @@ import { ChatViewId, isIChatViewViewContext, isIChatResourceViewContext } from '
104
109
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
105
110
  import './accessibility/chatAccessibilityService.js';
106
111
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel';
107
- import './widget/input/chatStatusWidget.js';
112
+ import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService';
108
113
  import './attachments/chatAttachmentResolveService.js';
109
114
  import '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
110
115
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
@@ -113,9 +118,9 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
113
118
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
114
119
  import { ChatInputBoxContentProvider } from './widget/input/editor/chatEditorInputContentProvider.js';
115
120
  import { ChatEditingEditorAccessibility } from './chatEditing/chatEditingEditorAccessibility.js';
116
- import { registerChatEditorActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions';
121
+ import { registerChatEditorActions } from './chatEditing/chatEditingEditorActions.js';
117
122
  import { ChatEditingEditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
118
- import { ChatEditingEditorOverlay } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay';
123
+ import { ChatEditingEditorOverlay } from './chatEditing/chatEditingEditorOverlay.js';
119
124
  import './chatEditing/chatEditingServiceImpl.js';
120
125
  import { ChatEditingNotebookFileSystemProviderContrib } from './chatEditing/notebook/chatEditingNotebookFileSystemProvider.js';
121
126
  import { ChatEditor } from './widgetHosts/editor/chatEditor.js';
@@ -124,10 +129,19 @@ import './widget/chatLayoutService.js';
124
129
  import { ChatLanguageModelsDataContribution } from './languageModelsConfigurationService.js';
125
130
  import './chatManagement/chatManagement.contribution.js';
126
131
  import './aiCustomization/aiCustomizationWorkspaceService.js';
127
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService';
128
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
129
- import '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
132
+ import './aiCustomization/customizationHarnessService.js';
130
133
  import './aiCustomization/aiCustomizationManagement.contribution.js';
134
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
135
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
136
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
137
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
138
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
139
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
140
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
141
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility';
142
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
143
+ import './aiCustomization/aiCustomizationIcons.js';
144
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
131
145
  import './chatOutputItemRenderer.js';
132
146
  import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
133
147
  import { ChatPasteProvidersFeature } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders';
@@ -141,22 +155,27 @@ import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/work
141
155
  import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
142
156
  import { ChatImplicitContextContribution } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext';
143
157
  import './widget/input/editor/chatInputCompletions.js';
158
+ import './widget/input/editor/agentHostInputCompletions.js';
144
159
  import './widget/input/editor/chatInputEditorContrib.js';
145
160
  import './widget/input/editor/chatInputEditorHover.js';
146
161
  import './tools/languageModelToolsConfirmationService.js';
147
162
  import { globalAutoApproveDescription } from './tools/languageModelToolsService.js';
148
- import { ConfiguredAgentPluginDiscovery, MarketplaceAgentPluginDiscovery, ExtensionAgentPluginDiscovery } from '../common/plugins/agentPluginServiceImpl.js';
163
+ import './tools/toolResultCompressorService.js';
164
+ import { ConfiguredAgentPluginDiscovery, MarketplaceAgentPluginDiscovery, ExtensionAgentPluginDiscovery, CopilotCliAgentPluginDiscovery } from '../common/plugins/agentPluginServiceImpl.js';
149
165
  import '../common/plugins/pluginMarketplaceService.js';
150
166
  import '../common/plugins/workspacePluginSettingsService.js';
151
- import { AgentPluginsViewsContribution } from './agentPluginsView.js';
152
167
  import { AgentPluginRecommendations } from './claudePluginRecommendations.js';
153
168
  import { AgentPluginEditor } from './agentPluginEditor/agentPluginEditor.js';
154
169
  import { AgentPluginEditorInput } from './agentPluginEditor/agentPluginEditorInput.js';
155
170
  import './agentPluginRepositoryService.js';
171
+ import './pluginGitCommandService.js';
156
172
  import './pluginInstallService.js';
157
173
  import './promptSyntax/promptCodingAgentActionContribution.js';
158
174
  import './promptSyntax/promptToolsCodeLensProvider.js';
159
- import { ChatSlashCommandsContribution } from './chatSlashCommands.js';
175
+ import { ChatSlashCommandsContribution, ChatSessionOptionSlashCommandsContribution } from './chatSlashCommands.js';
176
+ import './planReviewFeedback/planReviewFeedbackEditorContribution.js';
177
+ import { registerPlanReviewFeedbackEditorActions } from './planReviewFeedback/planReviewFeedbackEditorActions.js';
178
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
160
179
  import { PluginUrlHandler } from './pluginUrlHandler.js';
161
180
  import { PromptUrlHandler } from './promptSyntax/promptUrlHandler.js';
162
181
  import { UserToolSetsContributions, ConfigureToolSets } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/tools/toolSetsContribution';
@@ -164,14 +183,18 @@ import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler.
164
183
  import './widget/chatWidgetService.js';
165
184
  import { ChatWindowNotifier } from './chatWindowNotifier.js';
166
185
  import { ChatRepoInfoContribution } from './chatRepoInfo.js';
167
- import { VALID_PROMPT_FOLDER_PATTERN } from '../common/promptSyntax/utils/promptFilesLocator.js';
186
+ import { VALID_PROMPT_FOLDER_PATTERN } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator';
168
187
  import './chatTipService.js';
169
188
  import { ChatQueuePickerRendering } from './widget/input/chatQueuePickerActionItem.js';
170
189
  import { ExploreAgentDefaultModel } from './exploreAgentDefaultModel.js';
171
190
  import { PlanAgentDefaultModel } from './planAgentDefaultModel.js';
172
191
  import './chatImageCarouselService.js';
173
192
  import '../../notebook/browser/controller/chat/notebook.chat.contribution.js';
193
+ import { browserChatToolReferenceNames } from '../../browserView/common/browserChatToolReferenceNames.js';
174
194
 
195
+ CommandsRegistry.registerCommand("_chat.notifyQuestionCarouselAnswer", (accessor, resolveId, answers) => {
196
+ accessor.get(IChatService).notifyQuestionCarouselAnswer("", resolveId, answers);
197
+ });
175
198
  const toolReferenceNameEnumValues = [];
176
199
  const toolReferenceNameEnumDescriptions = [];
177
200
  const jsonContributionRegistry = ( Registry.as(Extensions.JSONContribution));
@@ -179,55 +202,58 @@ jsonContributionRegistry.registerSchema(HOOK_SCHEMA_URI, hookFileSchema);
179
202
  const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
180
203
  configurationRegistry.registerConfiguration({
181
204
  id: "chatSidebar",
182
- title: ( localize(5633, "Chat")),
205
+ title: ( localize(5745, "Chat")),
183
206
  type: "object",
184
207
  properties: {
185
208
  "chat.experimentalSessionsWindowOverride": {
186
209
  type: "boolean",
187
210
  description: ( localize(
188
- 5634,
211
+ 5746,
189
212
  "When true, enables sessions-window-specific behavior for extensions."
190
213
  )),
191
214
  default: false,
192
- tags: ["experimental"]
215
+ tags: ["experimental"],
216
+ agentsWindow: {
217
+ default: true
218
+ }
193
219
  },
194
220
  "chat.fontSize": {
195
221
  type: "number",
196
- description: ( localize(5635, "Controls the font size in pixels in chat messages.")),
222
+ description: ( localize(5747, "Controls the font size in pixels in chat messages.")),
197
223
  default: 13,
198
224
  minimum: 6,
199
225
  maximum: 100
200
226
  },
201
227
  "chat.fontFamily": {
202
228
  type: "string",
203
- description: ( localize(5636, "Controls the font family in chat messages.")),
229
+ description: ( localize(5748, "Controls the font family in chat messages.")),
204
230
  default: "default"
205
231
  },
206
232
  "chat.editor.fontSize": {
207
233
  type: "number",
208
- description: ( localize(5637, "Controls the font size in pixels in chat codeblocks.")),
234
+ description: ( localize(5749, "Controls the font size in pixels in chat codeblocks.")),
209
235
  default: isMacintosh ? 12 : 14
210
236
  },
211
237
  "chat.editor.fontFamily": {
212
238
  type: "string",
213
- description: ( localize(5638, "Controls the font family in chat codeblocks.")),
239
+ description: ( localize(5750, "Controls the font family in chat codeblocks.")),
214
240
  default: "default"
215
241
  },
216
242
  "chat.editor.fontWeight": {
217
243
  type: "string",
218
- description: ( localize(5639, "Controls the font weight in chat codeblocks.")),
244
+ description: ( localize(5751, "Controls the font weight in chat codeblocks.")),
219
245
  default: "default"
220
246
  },
221
247
  "chat.editor.wordWrap": {
222
248
  type: "string",
223
- description: ( localize(5640, "Controls whether lines should wrap in chat codeblocks.")),
249
+ description: ( localize(5752, "Controls whether lines should wrap in chat codeblocks.")),
224
250
  default: "off",
225
251
  enum: ["on", "off"]
226
252
  },
227
253
  "chat.editor.lineHeight": {
228
254
  type: "number",
229
255
  description: ( localize(
230
- 5641,
256
+ 5753,
231
257
  "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
232
258
  )),
233
259
  default: 0
@@ -235,12 +261,12 @@ configurationRegistry.registerConfiguration({
235
261
  [ChatConfiguration.AgentStatusEnabled]: {
236
262
  type: "string",
237
263
  enum: ["hidden", "badge", "compact"],
238
- enumDescriptions: [( localize(5642, "The agent status indicator is hidden from the title bar.")), ( localize(5643, "Shows the agent status as a badge next to the command center.")), ( localize(
239
- 5644,
264
+ enumDescriptions: [( localize(5754, "The agent status indicator is hidden from the title bar.")), ( localize(5755, "Shows the agent status as a badge next to the command center.")), ( localize(
265
+ 5756,
240
266
  "Replaces the command center search box with a compact agent status indicator and unified chat widget."
241
267
  ))],
242
268
  markdownDescription: ( localize(
243
- 5645,
269
+ 5757,
244
270
  "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.",
245
271
  "`#window.commandCenter#`",
246
272
  "`#chat.viewSessions.enabled#`"
@@ -251,7 +277,7 @@ configurationRegistry.registerConfiguration({
251
277
  [ChatConfiguration.UnifiedAgentsBar]: {
252
278
  type: "boolean",
253
279
  markdownDescription: ( localize(
254
- 5646,
280
+ 5758,
255
281
  "Replaces the command center search box with a unified chat and search widget."
256
282
  )),
257
283
  default: false,
@@ -260,7 +286,7 @@ configurationRegistry.registerConfiguration({
260
286
  [ChatConfiguration.AgentSessionProjectionEnabled]: {
261
287
  type: "boolean",
262
288
  markdownDescription: ( localize(
263
- 5647,
289
+ 5759,
264
290
  "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
265
291
  )),
266
292
  default: false,
@@ -269,14 +295,14 @@ configurationRegistry.registerConfiguration({
269
295
  "chat.implicitContext.enabled": {
270
296
  type: "object",
271
297
  description: ( localize(
272
- 5648,
298
+ 5760,
273
299
  "Enables automatically using the active editor as chat context for specified chat locations."
274
300
  )),
275
301
  additionalProperties: {
276
302
  type: "string",
277
303
  enum: ["never", "first", "always"],
278
- description: ( localize(5649, "The value for the implicit context.")),
279
- enumDescriptions: [( localize(5650, "Implicit context is never enabled.")), ( localize(5651, "Implicit context is enabled for the first interaction.")), ( localize(5652, "Implicit context is always enabled."))]
304
+ description: ( localize(5761, "The value for the implicit context.")),
305
+ enumDescriptions: [( localize(5762, "Implicit context is never enabled.")), ( localize(5763, "Implicit context is enabled for the first interaction.")), ( localize(5764, "Implicit context is always enabled."))]
280
306
  },
281
307
  default: {
282
308
  "panel": "always"
@@ -284,20 +310,28 @@ configurationRegistry.registerConfiguration({
284
310
  tags: ["experimental"],
285
311
  experiment: {
286
312
  mode: "startup"
313
+ },
314
+ agentsWindow: {
315
+ default: {
316
+ "panel": "never"
317
+ }
287
318
  }
288
319
  },
289
320
  "chat.implicitContext.suggestedContext": {
290
321
  type: "boolean",
291
322
  markdownDescription: ( localize(
292
- 5653,
323
+ 5765,
293
324
  "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."
294
325
  )),
295
- default: true
326
+ default: true,
327
+ agentsWindow: {
328
+ default: false
329
+ }
296
330
  },
297
331
  "chat.editing.autoAcceptDelay": {
298
332
  type: "number",
299
333
  markdownDescription: ( localize(
300
- 5654,
334
+ 5766,
301
335
  "Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
302
336
  )),
303
337
  default: 0,
@@ -308,7 +342,7 @@ configurationRegistry.registerConfiguration({
308
342
  type: "boolean",
309
343
  scope: ConfigurationScope.APPLICATION,
310
344
  markdownDescription: ( localize(
311
- 5655,
345
+ 5767,
312
346
  "Whether to show a confirmation before removing a request and its associated edits."
313
347
  )),
314
348
  default: true
@@ -317,7 +351,7 @@ configurationRegistry.registerConfiguration({
317
351
  type: "boolean",
318
352
  scope: ConfigurationScope.APPLICATION,
319
353
  markdownDescription: ( localize(
320
- 5656,
354
+ 5768,
321
355
  "Whether to show a confirmation before retrying a request and its associated edits."
322
356
  )),
323
357
  default: true
@@ -325,7 +359,7 @@ configurationRegistry.registerConfiguration({
325
359
  "chat.editing.explainChanges.enabled": {
326
360
  type: "boolean",
327
361
  markdownDescription: ( localize(
328
- 5657,
362
+ 5769,
329
363
  "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."
330
364
  )),
331
365
  default: false,
@@ -337,7 +371,7 @@ configurationRegistry.registerConfiguration({
337
371
  [ChatConfiguration.RevealNextChangeOnResolve]: {
338
372
  type: "boolean",
339
373
  markdownDescription: ( localize(
340
- 5658,
374
+ 5770,
341
375
  "Controls whether the editor automatically reveals the next change after keeping or undoing a chat edit."
342
376
  )),
343
377
  default: true
@@ -346,7 +380,7 @@ configurationRegistry.registerConfiguration({
346
380
  type: "boolean",
347
381
  scope: ConfigurationScope.APPLICATION,
348
382
  description: ( localize(
349
- 5659,
383
+ 5771,
350
384
  "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."
351
385
  )),
352
386
  default: true
@@ -354,9 +388,9 @@ configurationRegistry.registerConfiguration({
354
388
  "chat.upvoteAnimation": {
355
389
  type: "string",
356
390
  enum: ["off", "confetti", "floatingThumbs", "pulseWave", "radiantLines"],
357
- enumDescriptions: [( localize(5660, "No animation is shown.")), ( localize(5661, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5662, "Shows floating thumbs up icons rising from the button.")), ( localize(5663, "Shows expanding pulse rings from the button.")), ( localize(5664, "Shows radiant lines emanating from the button."))],
391
+ enumDescriptions: [( localize(5772, "No animation is shown.")), ( localize(5773, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5774, "Shows floating thumbs up icons rising from the button.")), ( localize(5775, "Shows expanding pulse rings from the button.")), ( localize(5776, "Shows radiant lines emanating from the button."))],
358
392
  description: ( localize(
359
- 5665,
393
+ 5777,
360
394
  "Controls whether an animation is shown when clicking the thumbs up button on a chat response."
361
395
  )),
362
396
  default: "floatingThumbs"
@@ -364,16 +398,16 @@ configurationRegistry.registerConfiguration({
364
398
  "chat.experimental.detectParticipant.enabled": {
365
399
  type: "boolean",
366
400
  deprecationMessage: ( localize(
367
- 5666,
401
+ 5778,
368
402
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
369
403
  )),
370
- description: ( localize(5667, "Enables chat participant autodetection for panel chat.")),
404
+ description: ( localize(5779, "Enables chat participant autodetection for panel chat.")),
371
405
  default: null
372
406
  },
373
407
  [ChatConfiguration.IncrementalRendering]: {
374
408
  type: "boolean",
375
409
  description: ( localize(
376
- 5668,
410
+ 5780,
377
411
  "Enables incremental rendering with optional block-level animation when streaming chat responses."
378
412
  )),
379
413
  default: false,
@@ -382,17 +416,17 @@ configurationRegistry.registerConfiguration({
382
416
  [ChatConfiguration.IncrementalRenderingStyle]: {
383
417
  type: "string",
384
418
  enum: ["none", "fade", "rise", "blur", "scale", "slide", "reveal"],
385
- enumDescriptions: [( localize(5669, "No animation. Content appears instantly.")), ( localize(5670, "Simple opacity fade from 0 to 1.")), ( localize(5671, "Content fades in while rising upward.")), ( localize(5672, "Content fades in from a blurred state.")), ( localize(5673, "Content scales up from slightly smaller.")), ( localize(5674, "Content slides in from the left.")), ( localize(5675, "Content reveals top-to-bottom with a soft gradient edge."))],
386
- description: ( localize(5676, "Controls the animation style for incremental rendering.")),
419
+ enumDescriptions: [( localize(5781, "No animation. Content appears instantly.")), ( localize(5782, "Simple opacity fade from 0 to 1.")), ( localize(5783, "Content fades in while rising upward.")), ( localize(5784, "Content fades in from a blurred state.")), ( localize(5785, "Content scales up from slightly smaller.")), ( localize(5786, "Content slides in from the left.")), ( localize(5787, "Content reveals top-to-bottom with a soft gradient edge."))],
420
+ description: ( localize(5788, "Controls the animation style for incremental rendering.")),
387
421
  default: "fade",
388
422
  tags: ["experimental"]
389
423
  },
390
424
  [ChatConfiguration.IncrementalRenderingBuffering]: {
391
425
  type: "string",
392
426
  enum: ["off", "word", "paragraph"],
393
- enumDescriptions: [( localize(5677, "Renders content immediately as tokens arrive.")), ( localize(5678, "Reveals content word by word.")), ( localize(5679, "Buffers content until a paragraph break before rendering."))],
427
+ enumDescriptions: [( localize(5789, "Renders content immediately as tokens arrive.")), ( localize(5790, "Reveals content word by word.")), ( localize(5791, "Buffers content until a paragraph break before rendering."))],
394
428
  description: ( localize(
395
- 5680,
429
+ 5792,
396
430
  "Controls how content is buffered before rendering during incremental rendering. Lower buffering levels render faster but may show incomplete sentences or partially formed markdown."
397
431
  )),
398
432
  default: "word",
@@ -400,18 +434,18 @@ configurationRegistry.registerConfiguration({
400
434
  },
401
435
  "chat.detectParticipant.enabled": {
402
436
  type: "boolean",
403
- description: ( localize(5681, "Enables chat participant autodetection for panel chat.")),
437
+ description: ( localize(5793, "Enables chat participant autodetection for panel chat.")),
404
438
  default: true
405
439
  },
406
440
  [ChatConfiguration.InlineReferencesStyle]: {
407
441
  type: "string",
408
442
  enum: ["box", "link"],
409
- enumDescriptions: [( localize(5682, "Display file and symbol references as boxed widgets with icons.")), ( localize(
410
- 5683,
443
+ enumDescriptions: [( localize(5794, "Display file and symbol references as boxed widgets with icons.")), ( localize(
444
+ 5795,
411
445
  "Display file and symbol references as simple blue links without icons."
412
446
  ))],
413
447
  description: ( localize(
414
- 5684,
448
+ 5796,
415
449
  "Controls how file and symbol references are displayed in chat messages."
416
450
  )),
417
451
  default: "box"
@@ -419,7 +453,7 @@ configurationRegistry.registerConfiguration({
419
453
  [ChatConfiguration.EditorAssociations]: {
420
454
  type: "object",
421
455
  markdownDescription: ( localize(
422
- 5685,
456
+ 5797,
423
457
  "Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
424
458
  )),
425
459
  additionalProperties: {
@@ -430,15 +464,15 @@ configurationRegistry.registerConfiguration({
430
464
  [ChatConfiguration.NotifyWindowOnConfirmation]: {
431
465
  type: "string",
432
466
  enum: ["off", "windowNotFocused", "always"],
433
- enumDescriptions: [( localize(5686, "Never show OS notifications for confirmations.")), ( localize(
434
- 5687,
467
+ enumDescriptions: [( localize(5798, "Never show OS notifications for confirmations.")), ( localize(
468
+ 5799,
435
469
  "Show OS notifications for confirmations when the window is not focused."
436
470
  )), ( localize(
437
- 5688,
471
+ 5800,
438
472
  "Always show OS notifications for confirmations, even when the window is focused."
439
473
  ))],
440
474
  description: ( localize(
441
- 5689,
475
+ 5801,
442
476
  "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."
443
477
  )),
444
478
  default: "windowNotFocused"
@@ -446,7 +480,7 @@ configurationRegistry.registerConfiguration({
446
480
  [ChatConfiguration.AutoReply]: {
447
481
  default: false,
448
482
  markdownDescription: ( localize(
449
- 5690,
483
+ 5802,
450
484
  "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."
451
485
  )),
452
486
  type: "boolean",
@@ -456,12 +490,20 @@ configurationRegistry.registerConfiguration({
456
490
  [ChatConfiguration.AutopilotEnabled]: {
457
491
  type: "boolean",
458
492
  markdownDescription: ( localize(
459
- 5691,
493
+ 5803,
460
494
  "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."
461
495
  )),
462
496
  default: true,
463
497
  tags: ["experimental"]
464
498
  },
499
+ [ChatConfiguration.PlanReviewInlineEditorEnabled]: {
500
+ type: "boolean",
501
+ markdownDescription: ( localize(
502
+ 5804,
503
+ "When enabled, the plan review widget mounts an editor inline, as opposed to in a separate editor tab."
504
+ )),
505
+ default: true
506
+ },
465
507
  [ChatConfiguration.DefaultPermissionLevel]: {
466
508
  type: "string",
467
509
  enum: [
@@ -469,10 +511,10 @@ configurationRegistry.registerConfiguration({
469
511
  ChatPermissionLevel.AutoApprove,
470
512
  ChatPermissionLevel.Autopilot
471
513
  ],
472
- enumItemLabels: [( localize(5692, "Default Approvals")), ( localize(5693, "Bypass Approvals")), ( localize(5694, "Autopilot (Preview)"))],
473
- enumDescriptions: [( localize(5695, "Start new chat sessions with Default Approvals.")), ( localize(5696, "Start new chat sessions in Bypass Approvals mode.")), ( localize(5697, "Start new chat sessions in Autopilot mode."))],
514
+ enumItemLabels: [( localize(5805, "Default Approvals")), ( localize(5806, "Bypass Approvals")), ( localize(5807, "Autopilot (Preview)"))],
515
+ enumDescriptions: [( localize(5808, "Start new chat sessions with Default Approvals.")), ( localize(5809, "Start new chat sessions in Bypass Approvals mode.")), ( localize(5810, "Start new chat sessions in Autopilot mode."))],
474
516
  description: ( localize(
475
- 5698,
517
+ 5811,
476
518
  "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."
477
519
  )),
478
520
  default: ChatPermissionLevel.Default,
@@ -493,13 +535,49 @@ configurationRegistry.registerConfiguration({
493
535
  description: {
494
536
  key: "autoApprove3.description",
495
537
  value: ( localize(
496
- 5699,
538
+ 5812,
497
539
  "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."
498
540
  ))
499
541
  }
500
542
  }
501
543
  }
502
544
  },
545
+ [ChatConfiguration.SessionSyncEnabled]: {
546
+ default: false,
547
+ markdownDescription: ( localize(
548
+ 5813,
549
+ "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 local session tracking to also be enabled."
550
+ )),
551
+ type: "boolean",
552
+ tags: ["experimental", "advanced"],
553
+ policy: {
554
+ name: "CopilotSessionSync",
555
+ category: PolicyCategory.InteractiveSession,
556
+ minimumVersion: "1.119",
557
+ value: policyData => policyData.session_search === CopilotSessionSearchPolicy.Disabled ? false : undefined,
558
+ localization: {
559
+ description: {
560
+ key: "chat.sessionSync.enabled.policy",
561
+ value: ( localize(
562
+ 5814,
563
+ "Enable session sync to GitHub.com for cross-device Copilot session history. When disabled by organization policy, session data is kept local only."
564
+ ))
565
+ }
566
+ }
567
+ }
568
+ },
569
+ [ChatConfiguration.SessionSyncExcludeRepositories]: {
570
+ type: "array",
571
+ items: {
572
+ type: "string"
573
+ },
574
+ default: [],
575
+ markdownDescription: ( localize(
576
+ 5815,
577
+ "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."
578
+ )),
579
+ tags: ["experimental", "advanced"]
580
+ },
503
581
  [ChatConfiguration.AutoApproveEdits]: {
504
582
  default: {
505
583
  "**/*": true,
@@ -511,7 +589,7 @@ configurationRegistry.registerConfiguration({
511
589
  "**/*-lock.{yaml,json}": false
512
590
  },
513
591
  markdownDescription: ( localize(
514
- 5700,
592
+ 5816,
515
593
  "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."
516
594
  )),
517
595
  type: "object",
@@ -525,7 +603,7 @@ configurationRegistry.registerConfiguration({
525
603
  "https://github.com/microsoft/vscode/wiki/*": true
526
604
  },
527
605
  markdownDescription: ( localize(
528
- 5701,
606
+ 5817,
529
607
  "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"
530
608
  )),
531
609
  type: "object",
@@ -548,7 +626,7 @@ configurationRegistry.registerConfiguration({
548
626
  [ChatConfiguration.EligibleForAutoApproval]: {
549
627
  default: {},
550
628
  markdownDescription: ( localize(
551
- 5702,
629
+ 5818,
552
630
  "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."
553
631
  )),
554
632
  type: "object",
@@ -571,26 +649,17 @@ configurationRegistry.registerConfiguration({
571
649
  description: {
572
650
  key: "chat.tools.eligibleForAutoApproval",
573
651
  value: ( localize(
574
- 5702,
652
+ 5818,
575
653
  "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."
576
654
  ))
577
655
  }
578
656
  }
579
657
  }
580
658
  },
581
- "chat.sendElementsToChat.attachCSS": {
582
- default: true,
583
- markdownDescription: ( localize(
584
- 5703,
585
- "Controls whether CSS of the selected element will be added to the chat."
586
- )),
587
- type: "boolean",
588
- tags: ["preview"]
589
- },
590
659
  "chat.sendElementsToChat.attachImages": {
591
660
  default: true,
592
661
  markdownDescription: ( localize(
593
- 5704,
662
+ 5819,
594
663
  "Controls whether a screenshot of the selected element will be added to the chat."
595
664
  )),
596
665
  type: "boolean",
@@ -598,7 +667,7 @@ configurationRegistry.registerConfiguration({
598
667
  },
599
668
  [ChatConfiguration.ArtifactsEnabled]: {
600
669
  default: false,
601
- description: ( localize(5705, "Controls whether the artifacts view is available in chat.")),
670
+ description: ( localize(5820, "Controls whether the artifacts view is available in chat.")),
602
671
  type: "boolean",
603
672
  tags: ["experimental"]
604
673
  },
@@ -610,7 +679,7 @@ configurationRegistry.registerConfiguration({
610
679
  }
611
680
  },
612
681
  description: ( localize(
613
- 5706,
682
+ 5821,
614
683
  "Rules for extracting artifacts from tool results by MIME type. Maps MIME type patterns (e.g. 'image/*') to group configuration."
615
684
  )),
616
685
  type: "object",
@@ -619,11 +688,11 @@ configurationRegistry.registerConfiguration({
619
688
  properties: {
620
689
  groupName: {
621
690
  type: "string",
622
- description: ( localize(5707, "Display name for the artifact group."))
691
+ description: ( localize(5822, "Display name for the artifact group."))
623
692
  },
624
693
  onlyShowGroup: {
625
694
  type: "boolean",
626
- description: ( localize(5708, "When true, show only the group header instead of individual items."))
695
+ description: ( localize(5823, "When true, show only the group header instead of individual items."))
627
696
  }
628
697
  },
629
698
  required: ["groupName"]
@@ -637,7 +706,7 @@ configurationRegistry.registerConfiguration({
637
706
  }
638
707
  },
639
708
  description: ( localize(
640
- 5709,
709
+ 5824,
641
710
  "Rules for extracting artifacts from written files by file path pattern. Maps glob patterns to group configuration."
642
711
  )),
643
712
  type: "object",
@@ -646,11 +715,11 @@ configurationRegistry.registerConfiguration({
646
715
  properties: {
647
716
  groupName: {
648
717
  type: "string",
649
- description: ( localize(5710, "Display name for the artifact group."))
718
+ description: ( localize(5825, "Display name for the artifact group."))
650
719
  },
651
720
  onlyShowGroup: {
652
721
  type: "boolean",
653
- description: ( localize(5711, "When true, show only the group header instead of individual items."))
722
+ description: ( localize(5826, "When true, show only the group header instead of individual items."))
654
723
  }
655
724
  },
656
725
  required: ["groupName"]
@@ -664,7 +733,7 @@ configurationRegistry.registerConfiguration({
664
733
  }
665
734
  },
666
735
  description: ( localize(
667
- 5712,
736
+ 5827,
668
737
  "Rules for extracting artifacts from memory tool calls by memory file path pattern. Maps glob patterns to group configuration."
669
738
  )),
670
739
  type: "object",
@@ -673,11 +742,11 @@ configurationRegistry.registerConfiguration({
673
742
  properties: {
674
743
  groupName: {
675
744
  type: "string",
676
- description: ( localize(5713, "Display name for the artifact group."))
745
+ description: ( localize(5828, "Display name for the artifact group."))
677
746
  },
678
747
  onlyShowGroup: {
679
748
  type: "boolean",
680
- description: ( localize(5714, "When true, show only the group header instead of individual items."))
749
+ description: ( localize(5829, "When true, show only the group header instead of individual items."))
681
750
  }
682
751
  },
683
752
  required: ["groupName"]
@@ -687,14 +756,14 @@ configurationRegistry.registerConfiguration({
687
756
  "chat.undoRequests.restoreInput": {
688
757
  default: true,
689
758
  markdownDescription: ( localize(
690
- 5715,
759
+ 5830,
691
760
  "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."
692
761
  )),
693
762
  type: "boolean"
694
763
  },
695
764
  "chat.editRequests": {
696
765
  markdownDescription: ( localize(
697
- 5716,
766
+ 5831,
698
767
  "Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
699
768
  )),
700
769
  type: "string",
@@ -705,23 +774,26 @@ configurationRegistry.registerConfiguration({
705
774
  type: "boolean",
706
775
  default: true,
707
776
  description: ( localize(
708
- 5717,
777
+ 5832,
709
778
  "Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
710
- ))
779
+ )),
780
+ agentsWindow: {
781
+ default: false
782
+ }
711
783
  },
712
784
  [ChatConfiguration.ChatViewSessionsOrientation]: {
713
785
  type: "string",
714
786
  enum: ["stacked", "sideBySide"],
715
787
  enumDescriptions: [( localize(
716
- 5718,
788
+ 5833,
717
789
  "Display chat sessions vertically stacked above the chat input unless a chat session is visible."
718
790
  )), ( localize(
719
- 5719,
791
+ 5834,
720
792
  "Display chat sessions side by side if space is sufficient, otherwise fallback to stacked above the chat input unless a chat session is visible."
721
793
  ))],
722
794
  default: "sideBySide",
723
795
  description: ( localize(
724
- 5720,
796
+ 5835,
725
797
  "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
726
798
  ))
727
799
  },
@@ -729,33 +801,42 @@ configurationRegistry.registerConfiguration({
729
801
  type: "boolean",
730
802
  default: false,
731
803
  description: ( localize(
732
- 5721,
804
+ 5836,
733
805
  "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
734
806
  ))
735
807
  },
736
808
  [ChatConfiguration.ChatContextUsageEnabled]: {
737
809
  type: "boolean",
738
810
  default: true,
739
- description: ( localize(5722, "Show the context window usage indicator in the chat input."))
811
+ description: ( localize(5837, "Show the context window usage indicator in the chat input."))
740
812
  },
741
813
  [ChatConfiguration.ChatPersistentProgressEnabled]: {
742
814
  type: "boolean",
743
815
  default: product.quality !== "stable",
744
- description: ( localize(5723, "Show elapsed time and token usage in chat response progress."))
816
+ description: ( localize(5838, "Always show progress in chat."))
817
+ },
818
+ [ChatConfiguration.ProgressBorder]: {
819
+ type: "boolean",
820
+ default: true,
821
+ markdownDescription: ( localize(
822
+ 5839,
823
+ "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.",
824
+ "`#chat.persistentProgress.enabled#`"
825
+ ))
745
826
  },
746
827
  [ChatConfiguration.NotifyWindowOnResponseReceived]: {
747
828
  type: "string",
748
829
  enum: ["off", "windowNotFocused", "always"],
749
- enumDescriptions: [( localize(5724, "Never show OS notifications for responses.")), ( localize(
750
- 5725,
830
+ enumDescriptions: [( localize(5840, "Never show OS notifications for responses.")), ( localize(
831
+ 5841,
751
832
  "Show OS notifications for responses when the window is not focused."
752
833
  )), ( localize(
753
- 5726,
834
+ 5842,
754
835
  "Always show OS notifications for responses, even when the window is focused."
755
836
  ))],
756
837
  default: "windowNotFocused",
757
838
  description: ( localize(
758
- 5727,
839
+ 5843,
759
840
  "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."
760
841
  ))
761
842
  },
@@ -763,23 +844,23 @@ configurationRegistry.registerConfiguration({
763
844
  type: "boolean",
764
845
  default: true,
765
846
  description: ( localize(
766
- 5728,
847
+ 5844,
767
848
  "Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
768
849
  ))
769
850
  },
770
851
  "chat.checkpoints.showFileChanges": {
771
852
  type: "boolean",
772
- description: ( localize(5729, "Controls whether to show chat checkpoint file changes.")),
853
+ description: ( localize(5845, "Controls whether to show chat checkpoint file changes.")),
773
854
  default: false
774
855
  },
775
856
  [mcpAccessConfig]: {
776
857
  type: "string",
777
- description: ( localize(5730, "Controls access to installed Model Context Protocol servers.")),
858
+ description: ( localize(5846, "Controls access to installed Model Context Protocol servers.")),
778
859
  enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
779
- enumDescriptions: [( localize(5731, "No access to MCP servers.")), ( localize(
780
- 5732,
860
+ enumDescriptions: [( localize(5847, "No access to MCP servers.")), ( localize(
861
+ 5848,
781
862
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
782
- )), ( localize(5733, "Allow access to any installed MCP server."))],
863
+ )), ( localize(5849, "Allow access to any installed MCP server."))],
783
864
  default: McpAccessValue.All,
784
865
  policy: {
785
866
  name: "ChatMCP",
@@ -797,20 +878,20 @@ configurationRegistry.registerConfiguration({
797
878
  localization: {
798
879
  description: {
799
880
  key: "chat.mcp.access",
800
- value: ( localize(5730, "Controls access to installed Model Context Protocol servers."))
881
+ value: ( localize(5846, "Controls access to installed Model Context Protocol servers."))
801
882
  },
802
883
  enumDescriptions: [{
803
884
  key: "chat.mcp.access.none",
804
- value: ( localize(5731, "No access to MCP servers."))
885
+ value: ( localize(5847, "No access to MCP servers."))
805
886
  }, {
806
887
  key: "chat.mcp.access.registry",
807
888
  value: ( localize(
808
- 5732,
889
+ 5848,
809
890
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
810
891
  ))
811
892
  }, {
812
893
  key: "chat.mcp.access.any",
813
- value: ( localize(5733, "Allow access to any installed MCP server."))
894
+ value: ( localize(5849, "Allow access to any installed MCP server."))
814
895
  }]
815
896
  }
816
897
  }
@@ -818,7 +899,7 @@ configurationRegistry.registerConfiguration({
818
899
  [mcpAutoStartConfig]: {
819
900
  type: "string",
820
901
  description: ( localize(
821
- 5734,
902
+ 5850,
822
903
  "Controls whether MCP servers should be automatically started when the chat messages are submitted."
823
904
  )),
824
905
  default: McpAutoStartValue.NewAndOutdated,
@@ -827,8 +908,8 @@ configurationRegistry.registerConfiguration({
827
908
  McpAutoStartValue.OnlyNew,
828
909
  McpAutoStartValue.NewAndOutdated
829
910
  ],
830
- enumDescriptions: [( localize(5735, "Never automatically start MCP servers.")), ( localize(5736, "Only automatically start new MCP servers that have never been run.")), ( localize(
831
- 5737,
911
+ enumDescriptions: [( localize(5851, "Never automatically start MCP servers.")), ( localize(5852, "Only automatically start new MCP servers that have never been run.")), ( localize(
912
+ 5853,
832
913
  "Automatically start new and outdated MCP servers that are not yet running."
833
914
  ))],
834
915
  tags: ["experimental"]
@@ -836,18 +917,28 @@ configurationRegistry.registerConfiguration({
836
917
  [mcpAppsEnabledConfig]: {
837
918
  type: "boolean",
838
919
  description: ( localize(
839
- 5738,
920
+ 5854,
840
921
  "Controls whether MCP servers can provide custom UI for tool invocations."
841
922
  )),
842
923
  default: true,
843
924
  tags: ["experimental"]
844
925
  },
926
+ [mcpServerCollisionBehaviorSection]: {
927
+ type: "string",
928
+ description: ( localize(
929
+ 5855,
930
+ "Controls behavior when multiple MCP servers are discovered with the same name. 'disable' disables lower-priority duplicates. 'suffix' appends numeric suffixes to disambiguate."
931
+ )),
932
+ enum: [McpCollisionBehavior.Disable, McpCollisionBehavior.Suffix],
933
+ enumDescriptions: [( localize(5856, "Disable lower-priority servers with duplicate names.")), ( localize(5857, "Append numeric suffixes to servers with duplicate names."))],
934
+ default: McpCollisionBehavior.Disable
935
+ },
845
936
  [mcpServerSamplingSection]: {
846
937
  type: "object",
847
938
  description: ( localize(
848
- 5739,
939
+ 5858,
849
940
  "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.",
850
- "MCP: " + ( localize(5740, "List Servers"))
941
+ "MCP: " + ( localize(5859, "List Servers"))
851
942
  )),
852
943
  scope: ConfigurationScope.RESOURCE,
853
944
  additionalProperties: {
@@ -856,15 +947,15 @@ configurationRegistry.registerConfiguration({
856
947
  allowedDuringChat: {
857
948
  type: "boolean",
858
949
  description: ( localize(
859
- 5741,
860
- "Whether this server is make sampling requests during its tool calls in a chat session."
950
+ 5860,
951
+ "Whether this server is allowed to make sampling requests during its tool calls in a chat session."
861
952
  )),
862
953
  default: true
863
954
  },
864
955
  allowedOutsideChat: {
865
956
  type: "boolean",
866
957
  description: ( localize(
867
- 5742,
958
+ 5861,
868
959
  "Whether this server is allowed to make sampling requests outside of a chat session."
869
960
  )),
870
961
  default: false
@@ -873,7 +964,7 @@ configurationRegistry.registerConfiguration({
873
964
  type: "array",
874
965
  items: {
875
966
  type: "string",
876
- description: ( localize(5743, "A model the MCP server has access to."))
967
+ description: ( localize(5862, "A model the MCP server has access to."))
877
968
  }
878
969
  }
879
970
  }
@@ -882,7 +973,7 @@ configurationRegistry.registerConfiguration({
882
973
  [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
883
974
  type: "boolean",
884
975
  description: ( localize(
885
- 5744,
976
+ 5863,
886
977
  "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)."
887
978
  )),
888
979
  default: false,
@@ -893,7 +984,7 @@ configurationRegistry.registerConfiguration({
893
984
  },
894
985
  [ChatConfiguration.ExtensionToolsEnabled]: {
895
986
  type: "boolean",
896
- description: ( localize(5745, "Enable using tools contributed by third-party extensions.")),
987
+ description: ( localize(5864, "Enable using tools contributed by third-party extensions.")),
897
988
  default: true,
898
989
  policy: {
899
990
  name: "ChatAgentExtensionTools",
@@ -902,14 +993,14 @@ configurationRegistry.registerConfiguration({
902
993
  localization: {
903
994
  description: {
904
995
  key: "chat.extensionToolsEnabled",
905
- value: ( localize(5745, "Enable using tools contributed by third-party extensions."))
996
+ value: ( localize(5864, "Enable using tools contributed by third-party extensions."))
906
997
  }
907
998
  }
908
999
  }
909
1000
  },
910
1001
  [ChatConfiguration.PluginsEnabled]: {
911
1002
  type: "boolean",
912
- description: ( localize(5746, "Enable agent plugin integration in chat.")),
1003
+ description: ( localize(5865, "Enable agent plugin integration in chat.")),
913
1004
  default: true,
914
1005
  tags: ["preview"],
915
1006
  policy: {
@@ -919,7 +1010,7 @@ configurationRegistry.registerConfiguration({
919
1010
  localization: {
920
1011
  description: {
921
1012
  key: "chat.plugins.enabled",
922
- value: ( localize(5746, "Enable agent plugin integration in chat."))
1013
+ value: ( localize(5865, "Enable agent plugin integration in chat."))
923
1014
  }
924
1015
  }
925
1016
  }
@@ -931,7 +1022,7 @@ configurationRegistry.registerConfiguration({
931
1022
  },
932
1023
  restricted: true,
933
1024
  markdownDescription: ( localize(
934
- 5747,
1025
+ 5866,
935
1026
  "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."
936
1027
  )),
937
1028
  scope: ConfigurationScope.MACHINE,
@@ -943,7 +1034,7 @@ configurationRegistry.registerConfiguration({
943
1034
  type: "string"
944
1035
  },
945
1036
  markdownDescription: ( localize(
946
- 5748,
1037
+ 5867,
947
1038
  "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."
948
1039
  )),
949
1040
  default: ["github/copilot-plugins", "github/awesome-copilot"],
@@ -953,7 +1044,7 @@ configurationRegistry.registerConfiguration({
953
1044
  [ChatConfiguration.AgentEnabled]: {
954
1045
  type: "boolean",
955
1046
  description: ( localize(
956
- 5749,
1047
+ 5868,
957
1048
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
958
1049
  )),
959
1050
  default: true,
@@ -967,7 +1058,7 @@ configurationRegistry.registerConfiguration({
967
1058
  description: {
968
1059
  key: "chat.agent.enabled.description",
969
1060
  value: ( localize(
970
- 5749,
1061
+ 5868,
971
1062
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
972
1063
  ))
973
1064
  }
@@ -976,7 +1067,7 @@ configurationRegistry.registerConfiguration({
976
1067
  },
977
1068
  [AgentNetworkDomainSettingId.NetworkFilter]: {
978
1069
  markdownDescription: ( localize(
979
- 5750,
1070
+ 5869,
980
1071
  "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.",
981
1072
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
982
1073
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``,
@@ -993,7 +1084,7 @@ configurationRegistry.registerConfiguration({
993
1084
  description: {
994
1085
  key: "chat.agent.networkFilter",
995
1086
  value: ( localize(
996
- 5750,
1087
+ 5869,
997
1088
  "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.",
998
1089
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
999
1090
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``,
@@ -1005,10 +1096,11 @@ configurationRegistry.registerConfiguration({
1005
1096
  },
1006
1097
  [AgentNetworkDomainSettingId.AllowedNetworkDomains]: {
1007
1098
  markdownDescription: ( localize(
1008
- 5751,
1009
- "Allowed domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {1} is enabled, this also configures terminal sandbox networking. Supports wildcards like {2}. When both allowed and denied lists are empty, all domains are blocked. Denied domains (see {3}) take precedence.",
1099
+ 5870,
1100
+ "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.",
1010
1101
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1011
1102
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1103
+ `\`${AgentSandboxEnabledValue.AllowNetwork}\``,
1012
1104
  "`*.example.com`",
1013
1105
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1014
1106
  )),
@@ -1026,10 +1118,11 @@ configurationRegistry.registerConfiguration({
1026
1118
  description: {
1027
1119
  key: "chat.agent.allowedNetworkDomains",
1028
1120
  value: ( localize(
1029
- 5751,
1030
- "Allowed domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {1} is enabled, this also configures terminal sandbox networking. Supports wildcards like {2}. When both allowed and denied lists are empty, all domains are blocked. Denied domains (see {3}) take precedence.",
1121
+ 5870,
1122
+ "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.",
1031
1123
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1032
1124
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1125
+ `\`${AgentSandboxEnabledValue.AllowNetwork}\``,
1033
1126
  "`*.example.com`",
1034
1127
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1035
1128
  ))
@@ -1039,10 +1132,11 @@ configurationRegistry.registerConfiguration({
1039
1132
  },
1040
1133
  [AgentNetworkDomainSettingId.DeniedNetworkDomains]: {
1041
1134
  markdownDescription: ( localize(
1042
- 5752,
1043
- "Denied domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {1} is enabled, this also configures terminal sandbox networking. Takes precedence over {2}. Supports wildcards like {3}.",
1135
+ 5871,
1136
+ "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}.",
1044
1137
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1045
1138
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1139
+ `\`${AgentSandboxEnabledValue.AllowNetwork}\``,
1046
1140
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1047
1141
  "`*.example.com`"
1048
1142
  )),
@@ -1060,10 +1154,11 @@ configurationRegistry.registerConfiguration({
1060
1154
  description: {
1061
1155
  key: "chat.agent.deniedNetworkDomains",
1062
1156
  value: ( localize(
1063
- 5752,
1064
- "Denied domains for network access by agent tools (fetch tool, integrated browser). Applies when {0} or {1} is enabled. When {1} is enabled, this also configures terminal sandbox networking. Takes precedence over {2}. Supports wildcards like {3}.",
1157
+ 5871,
1158
+ "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}.",
1065
1159
  `\`#${AgentNetworkDomainSettingId.NetworkFilter}#\``,
1066
1160
  `\`#${AgentSandboxSettingId.AgentSandboxEnabled}#\``,
1161
+ `\`${AgentSandboxEnabledValue.AllowNetwork}\``,
1067
1162
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``,
1068
1163
  "`*.example.com`"
1069
1164
  ))
@@ -1078,7 +1173,7 @@ configurationRegistry.registerConfiguration({
1078
1173
  },
1079
1174
  deprecated: true,
1080
1175
  markdownDeprecationMessage: ( localize(
1081
- 5753,
1176
+ 5872,
1082
1177
  "Use {0} instead",
1083
1178
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``
1084
1179
  ))
@@ -1090,7 +1185,7 @@ configurationRegistry.registerConfiguration({
1090
1185
  },
1091
1186
  deprecated: true,
1092
1187
  markdownDeprecationMessage: ( localize(
1093
- 5754,
1188
+ 5873,
1094
1189
  "Use {0} instead",
1095
1190
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1096
1191
  ))
@@ -1102,7 +1197,7 @@ configurationRegistry.registerConfiguration({
1102
1197
  },
1103
1198
  deprecated: true,
1104
1199
  markdownDeprecationMessage: ( localize(
1105
- 5755,
1200
+ 5874,
1106
1201
  "Use {0} instead",
1107
1202
  `\`#${AgentNetworkDomainSettingId.AllowedNetworkDomains}#\``
1108
1203
  ))
@@ -1114,7 +1209,7 @@ configurationRegistry.registerConfiguration({
1114
1209
  },
1115
1210
  deprecated: true,
1116
1211
  markdownDeprecationMessage: ( localize(
1117
- 5756,
1212
+ 5875,
1118
1213
  "Use {0} instead",
1119
1214
  `\`#${AgentNetworkDomainSettingId.DeniedNetworkDomains}#\``
1120
1215
  ))
@@ -1122,54 +1217,104 @@ configurationRegistry.registerConfiguration({
1122
1217
  [ChatConfiguration.DefaultNewSessionMode]: {
1123
1218
  type: "string",
1124
1219
  description: ( localize(
1125
- 5757,
1220
+ 5876,
1126
1221
  "The default mode for new chat sessions. When empty, the chat view's default mode is used."
1127
1222
  )),
1128
1223
  default: ""
1129
1224
  },
1130
1225
  [AgentHostEnabledSettingId]: {
1131
1226
  type: "boolean",
1132
- description: ( localize(5758, "When enabled, some agents run in a separate agent host process.")),
1227
+ description: ( localize(5877, "When enabled, some agents run in a separate agent host process.")),
1133
1228
  default: false,
1134
1229
  tags: ["experimental", "advanced"],
1135
1230
  included: product.quality !== "stable"
1136
1231
  },
1232
+ [AgentHostClaudeAgentSdkPathSettingId]: {
1233
+ type: "string",
1234
+ description: ( localize(
1235
+ 5878,
1236
+ "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."
1237
+ )),
1238
+ default: "",
1239
+ tags: ["experimental", "advanced"],
1240
+ included: product.quality !== "stable"
1241
+ },
1137
1242
  [AgentHostIpcLoggingSettingId]: {
1138
1243
  type: "boolean",
1139
1244
  description: ( localize(
1140
- 5759,
1245
+ 5879,
1141
1246
  "When enabled, logs all IPC traffic for each agent host to a dedicated output channel."
1142
1247
  )),
1143
1248
  default: product.quality !== "stable",
1144
1249
  tags: ["experimental", "advanced"],
1145
1250
  included: product.quality !== "stable"
1146
1251
  },
1252
+ [AgentHostAhpJsonlLoggingSettingId]: {
1253
+ type: "boolean",
1254
+ description: ( localize(
1255
+ 5880,
1256
+ "When enabled, logs all AHP transport messages for agent host connections to JSONL files under the window's log directory."
1257
+ )),
1258
+ default: product.quality !== "stable",
1259
+ tags: ["experimental", "advanced"],
1260
+ included: product.quality !== "stable"
1261
+ },
1147
1262
  [ChatConfiguration.AgentHostClientTools]: {
1148
1263
  type: "array",
1149
1264
  items: {
1150
1265
  type: "string"
1151
1266
  },
1152
1267
  description: ( localize(
1153
- 5760,
1268
+ 5881,
1154
1269
  "Tool reference names to expose as client-provided tools in agent host sessions."
1155
1270
  )),
1156
- default: ["runTask", "getTaskOutput", "problems", "runTests"],
1271
+ default: [
1272
+ "runTask",
1273
+ "getTaskOutput",
1274
+ "problems",
1275
+ "runTests",
1276
+ ...browserChatToolReferenceNames
1277
+ ],
1157
1278
  tags: ["experimental", "advanced"],
1158
1279
  included: product.quality !== "stable"
1159
1280
  },
1160
1281
  [ChatConfiguration.ToolConfirmationCarousel]: {
1161
1282
  type: "boolean",
1162
1283
  description: ( localize(
1163
- 5761,
1284
+ 5882,
1164
1285
  "When enabled, multiple tool confirmations are batched into a carousel above the input."
1165
1286
  )),
1166
1287
  default: product.quality !== "stable",
1167
1288
  tags: ["experimental"]
1168
1289
  },
1290
+ [ChatConfiguration.ToolRiskAssessmentEnabled]: {
1291
+ type: "boolean",
1292
+ description: ( localize(
1293
+ 5883,
1294
+ "When enabled, terminal tool confirmations show an LLM-generated risk level (Safe / Caution / Review carefully) and a short explanation."
1295
+ )),
1296
+ default: true,
1297
+ tags: ["experimental"],
1298
+ experiment: {
1299
+ mode: "auto"
1300
+ }
1301
+ },
1302
+ [ChatConfiguration.ToolRiskAssessmentModel]: {
1303
+ type: "string",
1304
+ description: ( localize(
1305
+ 5884,
1306
+ "The language model id used to generate tool risk assessments. Should be a small, fast model."
1307
+ )),
1308
+ default: "copilot-fast",
1309
+ tags: ["experimental", "advanced"],
1310
+ experiment: {
1311
+ mode: "auto"
1312
+ }
1313
+ },
1169
1314
  [ChatConfiguration.PlanAgentDefaultModel]: {
1170
1315
  type: "string",
1171
1316
  description: ( localize(
1172
- 5762,
1317
+ 5885,
1173
1318
  "Select the default language model to use for the Plan agent from the available providers."
1174
1319
  )),
1175
1320
  default: "",
@@ -1180,7 +1325,7 @@ configurationRegistry.registerConfiguration({
1180
1325
  [ChatConfiguration.ExploreAgentDefaultModel]: {
1181
1326
  type: "string",
1182
1327
  description: ( localize(
1183
- 5763,
1328
+ 5886,
1184
1329
  "Select the default language model to use for the Explore subagent from the available providers."
1185
1330
  )),
1186
1331
  default: "",
@@ -1191,19 +1336,19 @@ configurationRegistry.registerConfiguration({
1191
1336
  [ChatConfiguration.RequestQueueingDefaultAction]: {
1192
1337
  type: "string",
1193
1338
  enum: ["queue", "steer"],
1194
- enumDescriptions: [( localize(5764, "Queue the message to send after the current request completes.")), ( localize(
1195
- 5765,
1339
+ enumDescriptions: [( localize(5887, "Queue the message to send after the current request completes.")), ( localize(
1340
+ 5888,
1196
1341
  "Steer the current request by sending the message immediately, signaling the current request to yield."
1197
1342
  ))],
1198
1343
  description: ( localize(
1199
- 5766,
1344
+ 5889,
1200
1345
  "Controls which action is the default for the queue button when a request is in progress."
1201
1346
  )),
1202
1347
  default: "steer"
1203
1348
  },
1204
1349
  [ChatConfiguration.EditModeHidden]: {
1205
1350
  type: "boolean",
1206
- description: ( localize(5767, "When enabled, hides the Edit mode from the chat mode picker.")),
1351
+ description: ( localize(5890, "When enabled, hides the Edit mode from the chat mode picker.")),
1207
1352
  default: true,
1208
1353
  tags: ["experimental"],
1209
1354
  experiment: {
@@ -1216,20 +1361,20 @@ configurationRegistry.registerConfiguration({
1216
1361
  localization: {
1217
1362
  description: {
1218
1363
  key: "chat.editMode.hidden",
1219
- value: ( localize(5767, "When enabled, hides the Edit mode from the chat mode picker."))
1364
+ value: ( localize(5890, "When enabled, hides the Edit mode from the chat mode picker."))
1220
1365
  }
1221
1366
  }
1222
1367
  }
1223
1368
  },
1224
1369
  [ChatConfiguration.EnableMath]: {
1225
1370
  type: "boolean",
1226
- description: ( localize(5768, "Enable math rendering in chat responses using KaTeX.")),
1371
+ description: ( localize(5891, "Enable math rendering in chat responses using KaTeX.")),
1227
1372
  default: true
1228
1373
  },
1229
1374
  [ChatConfiguration.ShowCodeBlockProgressAnimation]: {
1230
1375
  type: "boolean",
1231
1376
  description: ( localize(
1232
- 5769,
1377
+ 5892,
1233
1378
  "When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
1234
1379
  )),
1235
1380
  default: true,
@@ -1244,7 +1389,7 @@ configurationRegistry.registerConfiguration({
1244
1389
  additionalProperties: false,
1245
1390
  default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
1246
1391
  markdownDescription: ( localize(
1247
- 5770,
1392
+ 5893,
1248
1393
  "Configures discovery of Model Context Protocol servers from configuration from various other applications."
1249
1394
  ))
1250
1395
  },
@@ -1253,14 +1398,14 @@ configurationRegistry.registerConfiguration({
1253
1398
  default: false,
1254
1399
  tags: ["preview"],
1255
1400
  description: ( localize(
1256
- 5771,
1401
+ 5894,
1257
1402
  "Enables the default Marketplace for Model Context Protocol (MCP) servers."
1258
1403
  )),
1259
1404
  included: product.quality === "stable"
1260
1405
  },
1261
1406
  [mcpGalleryServiceUrlConfig]: {
1262
1407
  type: "string",
1263
- description: ( localize(5772, "Configure the MCP Gallery service URL to connect to")),
1408
+ description: ( localize(5895, "Configure the MCP Gallery service URL to connect to")),
1264
1409
  default: "",
1265
1410
  scope: ConfigurationScope.APPLICATION,
1266
1411
  tags: ["usesOnlineServices", "advanced"],
@@ -1273,16 +1418,16 @@ configurationRegistry.registerConfiguration({
1273
1418
  localization: {
1274
1419
  description: {
1275
1420
  key: "mcp.gallery.serviceUrl",
1276
- value: ( localize(5772, "Configure the MCP Gallery service URL to connect to"))
1421
+ value: ( localize(5895, "Configure the MCP Gallery service URL to connect to"))
1277
1422
  }
1278
1423
  }
1279
1424
  }
1280
1425
  },
1281
1426
  [PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
1282
1427
  type: "object",
1283
- title: ( localize(5773, "Instructions File Locations")),
1428
+ title: ( localize(5896, "Instructions File Locations")),
1284
1429
  markdownDescription: ( localize(
1285
- 5774,
1430
+ 5897,
1286
1431
  "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.",
1287
1432
  INSTRUCTION_FILE_EXTENSION,
1288
1433
  INSTRUCTIONS_DOCUMENTATION_URL
@@ -1301,7 +1446,7 @@ configurationRegistry.registerConfiguration({
1301
1446
  propertyNames: {
1302
1447
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1303
1448
  patternErrorMessage: ( localize(
1304
- 5775,
1449
+ 5898,
1305
1450
  "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."
1306
1451
  ))
1307
1452
  },
@@ -1316,9 +1461,9 @@ configurationRegistry.registerConfiguration({
1316
1461
  },
1317
1462
  [PromptsConfig.PROMPT_LOCATIONS_KEY]: {
1318
1463
  type: "object",
1319
- title: ( localize(5776, "Prompt File Locations")),
1464
+ title: ( localize(5899, "Prompt File Locations")),
1320
1465
  markdownDescription: ( localize(
1321
- 5777,
1466
+ 5900,
1322
1467
  "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.",
1323
1468
  PROMPT_FILE_EXTENSION,
1324
1469
  PROMPT_DOCUMENTATION_URL
@@ -1335,7 +1480,7 @@ configurationRegistry.registerConfiguration({
1335
1480
  propertyNames: {
1336
1481
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1337
1482
  patternErrorMessage: ( localize(
1338
- 5778,
1483
+ 5901,
1339
1484
  "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."
1340
1485
  ))
1341
1486
  },
@@ -1350,9 +1495,9 @@ configurationRegistry.registerConfiguration({
1350
1495
  },
1351
1496
  [PromptsConfig.MODE_LOCATION_KEY]: {
1352
1497
  type: "object",
1353
- title: ( localize(5779, "Mode File Locations")),
1498
+ title: ( localize(5902, "Mode File Locations")),
1354
1499
  markdownDescription: ( localize(
1355
- 5780,
1500
+ 5903,
1356
1501
  "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.",
1357
1502
  LEGACY_MODE_FILE_EXTENSION,
1358
1503
  AGENT_DOCUMENTATION_URL
@@ -1361,7 +1506,7 @@ configurationRegistry.registerConfiguration({
1361
1506
  [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
1362
1507
  },
1363
1508
  deprecationMessage: ( localize(
1364
- 5781,
1509
+ 5904,
1365
1510
  "This setting is deprecated and will be removed in future releases. Chat modes are now called custom agents and are located in `.github/agents`"
1366
1511
  )),
1367
1512
  additionalProperties: {
@@ -1387,9 +1532,9 @@ configurationRegistry.registerConfiguration({
1387
1532
  },
1388
1533
  [PromptsConfig.AGENTS_LOCATION_KEY]: {
1389
1534
  type: "object",
1390
- title: ( localize(5782, "Agent File Locations")),
1535
+ title: ( localize(5905, "Agent File Locations")),
1391
1536
  markdownDescription: ( localize(
1392
- 5783,
1537
+ 5906,
1393
1538
  "Specify location(s) of custom agent files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
1394
1539
  AGENT_FILE_EXTENSION,
1395
1540
  AGENT_DOCUMENTATION_URL
@@ -1405,7 +1550,7 @@ configurationRegistry.registerConfiguration({
1405
1550
  propertyNames: {
1406
1551
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1407
1552
  patternErrorMessage: ( localize(
1408
- 5784,
1553
+ 5907,
1409
1554
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1410
1555
  ))
1411
1556
  },
@@ -1422,9 +1567,9 @@ configurationRegistry.registerConfiguration({
1422
1567
  },
1423
1568
  [PromptsConfig.USE_AGENT_MD]: {
1424
1569
  type: "boolean",
1425
- title: ( localize(5785, "Use AGENTS.md file")),
1570
+ title: ( localize(5908, "Use AGENTS.md file")),
1426
1571
  markdownDescription: ( localize(
1427
- 5786,
1572
+ 5909,
1428
1573
  "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
1429
1574
  )),
1430
1575
  default: true,
@@ -1434,9 +1579,9 @@ configurationRegistry.registerConfiguration({
1434
1579
  },
1435
1580
  [PromptsConfig.USE_NESTED_AGENT_MD]: {
1436
1581
  type: "boolean",
1437
- title: ( localize(5787, "Use nested AGENTS.md files")),
1582
+ title: ( localize(5910, "Use nested AGENTS.md files")),
1438
1583
  markdownDescription: ( localize(
1439
- 5788,
1584
+ 5911,
1440
1585
  "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."
1441
1586
  )),
1442
1587
  default: false,
@@ -1452,9 +1597,9 @@ configurationRegistry.registerConfiguration({
1452
1597
  },
1453
1598
  [PromptsConfig.USE_CLAUDE_MD]: {
1454
1599
  type: "boolean",
1455
- title: ( localize(5789, "Use CLAUDE.md file")),
1600
+ title: ( localize(5912, "Use CLAUDE.md file")),
1456
1601
  markdownDescription: ( localize(
1457
- 5790,
1602
+ 5913,
1458
1603
  "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests."
1459
1604
  )),
1460
1605
  default: true,
@@ -1464,9 +1609,9 @@ configurationRegistry.registerConfiguration({
1464
1609
  },
1465
1610
  [PromptsConfig.USE_AGENT_SKILLS]: {
1466
1611
  type: "boolean",
1467
- title: ( localize(5791, "Use Agent skills")),
1612
+ title: ( localize(5914, "Use Agent skills")),
1468
1613
  markdownDescription: ( localize(
1469
- 5792,
1614
+ 5915,
1470
1615
  "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)."
1471
1616
  )),
1472
1617
  default: true,
@@ -1476,9 +1621,9 @@ configurationRegistry.registerConfiguration({
1476
1621
  },
1477
1622
  [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
1478
1623
  type: "boolean",
1479
- title: ( localize(5793, "Use Skill Adherence Prompt")),
1624
+ title: ( localize(5916, "Use Skill Adherence Prompt")),
1480
1625
  markdownDescription: ( localize(
1481
- 5794,
1626
+ 5917,
1482
1627
  "Controls whether a stronger skill adherence prompt is used that encourages the model to immediately invoke skills when relevant rather than just announcing them."
1483
1628
  )),
1484
1629
  default: false,
@@ -1497,9 +1642,9 @@ configurationRegistry.registerConfiguration({
1497
1642
  },
1498
1643
  [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
1499
1644
  type: "boolean",
1500
- title: ( localize(5795, "Include Applying Instructions")),
1645
+ title: ( localize(5918, "Include Applying Instructions")),
1501
1646
  markdownDescription: ( localize(
1502
- 5796,
1647
+ 5919,
1503
1648
  "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
1504
1649
  )),
1505
1650
  default: true,
@@ -1509,9 +1654,9 @@ configurationRegistry.registerConfiguration({
1509
1654
  },
1510
1655
  [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
1511
1656
  type: "boolean",
1512
- title: ( localize(5797, "Include Referenced Instructions")),
1657
+ title: ( localize(5920, "Include Referenced Instructions")),
1513
1658
  markdownDescription: ( localize(
1514
- 5798,
1659
+ 5921,
1515
1660
  "Controls whether referenced instructions are automatically included in chat requests."
1516
1661
  )),
1517
1662
  default: false,
@@ -1521,9 +1666,9 @@ configurationRegistry.registerConfiguration({
1521
1666
  },
1522
1667
  [PromptsConfig.USE_CUSTOMIZATIONS_IN_PARENT_REPOS]: {
1523
1668
  type: "boolean",
1524
- title: ( localize(5799, "Use Customizations in Parent Repositories")),
1669
+ title: ( localize(5922, "Use Customizations in Parent Repositories")),
1525
1670
  markdownDescription: ( localize(
1526
- 5800,
1671
+ 5923,
1527
1672
  "Controls whether to use chat customization files in parent repositories."
1528
1673
  )),
1529
1674
  default: false,
@@ -1533,9 +1678,9 @@ configurationRegistry.registerConfiguration({
1533
1678
  },
1534
1679
  [PromptsConfig.SKILLS_LOCATION_KEY]: {
1535
1680
  type: "object",
1536
- title: ( localize(5801, "Agent Skills Locations")),
1681
+ title: ( localize(5924, "Agent Skills Locations")),
1537
1682
  markdownDescription: ( localize(
1538
- 5802,
1683
+ 5925,
1539
1684
  "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.",
1540
1685
  SKILL_FILENAME,
1541
1686
  SKILL_DOCUMENTATION_URL
@@ -1554,7 +1699,7 @@ configurationRegistry.registerConfiguration({
1554
1699
  propertyNames: {
1555
1700
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1556
1701
  patternErrorMessage: ( localize(
1557
- 5803,
1702
+ 5926,
1558
1703
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1559
1704
  ))
1560
1705
  },
@@ -1571,9 +1716,9 @@ configurationRegistry.registerConfiguration({
1571
1716
  },
1572
1717
  [PromptsConfig.HOOKS_LOCATION_KEY]: {
1573
1718
  type: "object",
1574
- title: ( localize(5804, "Hook File Locations")),
1719
+ title: ( localize(5927, "Hook File Locations")),
1575
1720
  markdownDescription: ( localize(
1576
- 5805,
1721
+ 5928,
1577
1722
  "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`).",
1578
1723
  HOOK_DOCUMENTATION_URL
1579
1724
  )),
@@ -1591,7 +1736,7 @@ configurationRegistry.registerConfiguration({
1591
1736
  propertyNames: {
1592
1737
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1593
1738
  patternErrorMessage: ( localize(
1594
- 5806,
1739
+ 5929,
1595
1740
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1596
1741
  ))
1597
1742
  },
@@ -1602,13 +1747,20 @@ configurationRegistry.registerConfiguration({
1602
1747
  }, {
1603
1748
  [DEFAULT_HOOK_FILE_PATHS[0].path]: true,
1604
1749
  "custom-hooks/hooks.json": true
1605
- }]
1750
+ }],
1751
+ agentsWindow: {
1752
+ default: {
1753
+ ".claude/settings.local.json": false,
1754
+ ".claude/settings.json": false,
1755
+ "~/.claude/settings.json": false
1756
+ }
1757
+ }
1606
1758
  },
1607
1759
  [PromptsConfig.USE_CHAT_HOOKS]: {
1608
1760
  type: "boolean",
1609
- title: ( localize(5807, "Use Chat Hooks")),
1761
+ title: ( localize(5930, "Use Chat Hooks")),
1610
1762
  markdownDescription: ( localize(
1611
- 5808,
1763
+ 5931,
1612
1764
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1613
1765
  )),
1614
1766
  default: true,
@@ -1624,7 +1776,7 @@ configurationRegistry.registerConfiguration({
1624
1776
  description: {
1625
1777
  key: "chat.useHooks.description",
1626
1778
  value: ( localize(
1627
- 5808,
1779
+ 5931,
1628
1780
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1629
1781
  ))
1630
1782
  }
@@ -1633,9 +1785,9 @@ configurationRegistry.registerConfiguration({
1633
1785
  },
1634
1786
  [PromptsConfig.USE_CLAUDE_HOOKS]: {
1635
1787
  type: "boolean",
1636
- title: ( localize(5809, "Use Claude Hooks")),
1788
+ title: ( localize(5932, "Use Claude Hooks")),
1637
1789
  markdownDescription: ( localize(
1638
- 5810,
1790
+ 5933,
1639
1791
  "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#`."
1640
1792
  )),
1641
1793
  default: false,
@@ -1643,24 +1795,12 @@ configurationRegistry.registerConfiguration({
1643
1795
  disallowConfigurationDefault: true,
1644
1796
  tags: ["preview", "prompts", "hooks", "agent"]
1645
1797
  },
1646
- [PromptsConfig.USE_CUSTOM_AGENT_HOOKS]: {
1647
- type: "boolean",
1648
- title: ( localize(5811, "Use Custom Agent Hooks")),
1649
- markdownDescription: ( localize(
1650
- 5812,
1651
- "Controls whether hooks defined in custom agent frontmatter are parsed and executed. When disabled, hooks from agent files are ignored."
1652
- )),
1653
- default: false,
1654
- restricted: true,
1655
- disallowConfigurationDefault: true,
1656
- tags: ["preview", "prompts", "hooks", "agent"]
1657
- },
1658
1798
  [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
1659
1799
  type: "object",
1660
1800
  scope: ConfigurationScope.RESOURCE,
1661
- title: ( localize(5813, "Prompt File Recommendations")),
1801
+ title: ( localize(5934, "Prompt File Recommendations")),
1662
1802
  markdownDescription: ( localize(
1663
- 5814,
1803
+ 5935,
1664
1804
  "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`."
1665
1805
  )),
1666
1806
  default: {},
@@ -1682,7 +1822,7 @@ configurationRegistry.registerConfiguration({
1682
1822
  type: "boolean",
1683
1823
  default: true,
1684
1824
  description: ( localize(
1685
- 5815,
1825
+ 5936,
1686
1826
  "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."
1687
1827
  ))
1688
1828
  },
@@ -1690,21 +1830,21 @@ configurationRegistry.registerConfiguration({
1690
1830
  type: "string",
1691
1831
  default: "fixedScrolling",
1692
1832
  enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
1693
- enumDescriptions: [( localize(5816, "Thinking parts will be collapsed by default.")), ( localize(
1694
- 5817,
1833
+ enumDescriptions: [( localize(5937, "Thinking parts will be collapsed by default.")), ( localize(
1834
+ 5938,
1695
1835
  "Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
1696
1836
  )), ( localize(
1697
- 5818,
1837
+ 5939,
1698
1838
  "Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
1699
1839
  ))],
1700
- description: ( localize(5819, "Controls how thinking is rendered.")),
1840
+ description: ( localize(5940, "Controls how thinking is rendered.")),
1701
1841
  tags: ["experimental"]
1702
1842
  },
1703
1843
  [ChatConfiguration.ThinkingGenerateTitles]: {
1704
1844
  type: "boolean",
1705
1845
  default: true,
1706
1846
  description: ( localize(
1707
- 5820,
1847
+ 5941,
1708
1848
  "Controls whether to use an LLM to generate summary titles for thinking sections."
1709
1849
  )),
1710
1850
  tags: ["experimental"]
@@ -1713,12 +1853,12 @@ configurationRegistry.registerConfiguration({
1713
1853
  type: "string",
1714
1854
  default: "always",
1715
1855
  enum: ["off", "withThinking", "always"],
1716
- enumDescriptions: [( localize(5821, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1717
- 5822,
1856
+ enumDescriptions: [( localize(5942, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1857
+ 5943,
1718
1858
  "Tool calls are collapsed into thinking sections when thinking is present."
1719
- )), ( localize(5823, "Tool calls are always collapsed, even without thinking."))],
1859
+ )), ( localize(5944, "Tool calls are always collapsed, even without thinking."))],
1720
1860
  markdownDescription: ( localize(
1721
- 5824,
1861
+ 5945,
1722
1862
  "Controls how tool calls are displayed in relation to thinking sections."
1723
1863
  )),
1724
1864
  tags: ["experimental"]
@@ -1727,7 +1867,7 @@ configurationRegistry.registerConfiguration({
1727
1867
  type: "boolean",
1728
1868
  default: true,
1729
1869
  markdownDescription: ( localize(
1730
- 5825,
1870
+ 5946,
1731
1871
  "When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
1732
1872
  )),
1733
1873
  tags: ["experimental"]
@@ -1736,16 +1876,28 @@ configurationRegistry.registerConfiguration({
1736
1876
  type: "boolean",
1737
1877
  default: true,
1738
1878
  markdownDescription: ( localize(
1739
- 5826,
1879
+ 5947,
1740
1880
  "When enabled, terminal tool calls are always displayed in a collapsible container with a simplified view."
1741
1881
  )),
1742
1882
  tags: ["experimental"]
1743
1883
  },
1884
+ [ChatConfiguration.CompressOutputEnabled]: {
1885
+ type: "boolean",
1886
+ default: false,
1887
+ markdownDescription: ( localize(
1888
+ 5948,
1889
+ "Post-process tool output (for example `git diff`, `ls -l`, or `npm install`) to reduce token usage before it is sent to the model."
1890
+ )),
1891
+ tags: ["preview"],
1892
+ experiment: {
1893
+ mode: "auto"
1894
+ }
1895
+ },
1744
1896
  "chat.tools.usagesTool.enabled": {
1745
1897
  type: "boolean",
1746
1898
  default: true,
1747
1899
  markdownDescription: ( localize(
1748
- 5827,
1900
+ 5949,
1749
1901
  "Controls whether the usages tool is available for finding references, definitions, and implementations of code symbols."
1750
1902
  )),
1751
1903
  tags: ["preview"],
@@ -1757,7 +1909,7 @@ configurationRegistry.registerConfiguration({
1757
1909
  type: "boolean",
1758
1910
  default: true,
1759
1911
  markdownDescription: ( localize(
1760
- 5828,
1912
+ 5950,
1761
1913
  "Controls whether the rename tool is available for renaming code symbols across the workspace."
1762
1914
  )),
1763
1915
  tags: ["preview"],
@@ -1777,7 +1929,7 @@ configurationRegistry.registerConfiguration({
1777
1929
  enum: ["replace", "append"],
1778
1930
  default: "append",
1779
1931
  description: ( localize(
1780
- 5829,
1932
+ 5951,
1781
1933
  "'replace' replaces all default phrases entirely; 'append' adds your phrases to all default categories."
1782
1934
  ))
1783
1935
  },
@@ -1788,14 +1940,14 @@ configurationRegistry.registerConfiguration({
1788
1940
  },
1789
1941
  default: [],
1790
1942
  description: ( localize(
1791
- 5830,
1943
+ 5952,
1792
1944
  "Custom loading messages to show during thinking, working progress, terminal, and tool operations."
1793
1945
  ))
1794
1946
  }
1795
1947
  },
1796
1948
  additionalProperties: false,
1797
1949
  markdownDescription: ( localize(
1798
- 5831,
1950
+ 5953,
1799
1951
  "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."
1800
1952
  )),
1801
1953
  tags: ["experimental"]
@@ -1804,14 +1956,14 @@ configurationRegistry.registerConfiguration({
1804
1956
  type: "boolean",
1805
1957
  default: true,
1806
1958
  markdownDescription: ( localize(
1807
- 5832,
1959
+ 5954,
1808
1960
  "When enabled, tool failures are automatically expanded in the chat UI to show error details."
1809
1961
  ))
1810
1962
  },
1811
1963
  [ChatConfiguration.AIDisabled]: {
1812
1964
  type: "boolean",
1813
1965
  description: ( localize(
1814
- 5833,
1966
+ 5955,
1815
1967
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
1816
1968
  )),
1817
1969
  default: false,
@@ -1824,39 +1976,61 @@ configurationRegistry.registerConfiguration({
1824
1976
  description: {
1825
1977
  key: "chat.disableAIFeatures",
1826
1978
  value: ( localize(
1827
- 5833,
1979
+ 5955,
1828
1980
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
1829
1981
  ))
1830
1982
  }
1831
1983
  }
1832
1984
  }
1833
1985
  },
1834
- "chat.allowAnonymousAccess": {
1986
+ [ChatConfiguration.TitleBarSignInEnabled]: {
1835
1987
  type: "boolean",
1836
- description: ( localize(5834, "Controls whether anonymous access is allowed in chat.")),
1837
- default: false,
1838
- tags: ["experimental"],
1839
- experiment: {
1840
- mode: "auto"
1841
- }
1988
+ description: ( localize(
1989
+ 5956,
1990
+ "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."
1991
+ )),
1992
+ default: true
1842
1993
  },
1843
- [ChatConfiguration.GrowthNotificationEnabled]: {
1844
- type: "boolean",
1994
+ "chat.approvedAccountOrganizations": {
1995
+ type: "array",
1996
+ items: {
1997
+ type: "string"
1998
+ },
1845
1999
  description: ( localize(
1846
- 5835,
1847
- "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
2000
+ 5957,
2001
+ "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."
1848
2002
  )),
2003
+ default: [],
2004
+ included: false,
2005
+ policy: {
2006
+ name: "ChatApprovedAccountOrganizations",
2007
+ category: PolicyCategory.InteractiveSession,
2008
+ minimumVersion: "1.118",
2009
+ localization: {
2010
+ description: {
2011
+ key: "chat.approvedAccountOrganizations.policy.description",
2012
+ value: ( localize(
2013
+ 5958,
2014
+ "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)."
2015
+ ))
2016
+ }
2017
+ }
2018
+ }
2019
+ },
2020
+ "chat.allowAnonymousAccess": {
2021
+ type: "boolean",
2022
+ description: ( localize(5959, "Controls whether anonymous access is allowed in chat.")),
1849
2023
  default: false,
1850
2024
  tags: ["experimental"],
1851
2025
  experiment: {
1852
2026
  mode: "auto"
1853
2027
  }
1854
2028
  },
1855
- [ChatConfiguration.SignInTitleBarEnabled]: {
2029
+ [ChatConfiguration.GrowthNotificationEnabled]: {
1856
2030
  type: "boolean",
1857
2031
  description: ( localize(
1858
- 5836,
1859
- "Controls whether to show a sign-in button in the title bar for users who are not signed in."
2032
+ 5960,
2033
+ "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
1860
2034
  )),
1861
2035
  default: false,
1862
2036
  tags: ["experimental"],
@@ -1867,7 +2041,7 @@ configurationRegistry.registerConfiguration({
1867
2041
  [ChatConfiguration.RestoreLastPanelSession]: {
1868
2042
  type: "boolean",
1869
2043
  description: ( localize(
1870
- 5837,
2044
+ 5961,
1871
2045
  "Controls whether the last session is restored in panel after restart."
1872
2046
  )),
1873
2047
  default: false
@@ -1875,7 +2049,7 @@ configurationRegistry.registerConfiguration({
1875
2049
  [ChatConfiguration.ExitAfterDelegation]: {
1876
2050
  type: "boolean",
1877
2051
  description: ( localize(
1878
- 5838,
2052
+ 5962,
1879
2053
  "Controls whether the chat panel automatically exits after delegating a request to another session."
1880
2054
  )),
1881
2055
  default: false,
@@ -1884,7 +2058,7 @@ configurationRegistry.registerConfiguration({
1884
2058
  "chat.extensionUnification.enabled": {
1885
2059
  type: "boolean",
1886
2060
  description: ( localize(
1887
- 5839,
2061
+ 5963,
1888
2062
  "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."
1889
2063
  )),
1890
2064
  default: true,
@@ -1896,7 +2070,7 @@ configurationRegistry.registerConfiguration({
1896
2070
  [ChatConfiguration.GeneralPurposeAgentEnabled]: {
1897
2071
  type: "boolean",
1898
2072
  description: ( localize(
1899
- 5840,
2073
+ 5964,
1900
2074
  "Controls whether the built-in General Purpose agent is available as a subagent."
1901
2075
  )),
1902
2076
  default: false,
@@ -1907,9 +2081,9 @@ configurationRegistry.registerConfiguration({
1907
2081
  },
1908
2082
  [ChatConfiguration.SubagentsAllowInvocationsFromSubagents]: {
1909
2083
  type: "boolean",
1910
- description: ( localize(5841, "Allow subagents to invoke subagents.")),
2084
+ description: ( localize(5965, "Allow subagents to invoke subagents.")),
1911
2085
  markdownDescription: ( localize(
1912
- 5842,
2086
+ 5966,
1913
2087
  "Controls whether subagents can invoke other subagents. When enabled, nesting is limited to a maximum depth of 5."
1914
2088
  )),
1915
2089
  default: false,
@@ -1921,23 +2095,44 @@ configurationRegistry.registerConfiguration({
1921
2095
  type: "boolean",
1922
2096
  tags: ["preview"],
1923
2097
  description: ( localize(
1924
- 5843,
2098
+ 5967,
1925
2099
  "Controls whether the harness selector is shown in the Chat Customizations editor sidebar. When disabled, the editor always shows all customizations without filtering."
1926
2100
  )),
1927
2101
  default: true
2102
+ },
2103
+ [ChatConfiguration.ChatCustomizationsStructuredPreviewEnabled]: {
2104
+ type: "boolean",
2105
+ tags: ["preview"],
2106
+ description: ( localize(
2107
+ 5968,
2108
+ "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."
2109
+ )),
2110
+ default: false
2111
+ },
2112
+ [ChatConfiguration.UseChatSessionCustomizationsForCustomAgents]: {
2113
+ type: "boolean",
2114
+ description: ( localize(
2115
+ 5969,
2116
+ "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."
2117
+ )),
2118
+ default: false,
2119
+ tags: ["experimental", "advanced"],
2120
+ experiment: {
2121
+ mode: "auto"
2122
+ }
1928
2123
  }
1929
2124
  }
1930
2125
  });
1931
2126
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1932
- EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5844, "Chat"))),
2127
+ EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5970, "Chat"))),
1933
2128
  [( new SyncDescriptor(ChatEditorInput))]
1934
2129
  );
1935
2130
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1936
- EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(5845, "Debug View"))),
2131
+ EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(5971, "Debug View"))),
1937
2132
  [( new SyncDescriptor(ChatDebugEditorInput))]
1938
2133
  );
1939
2134
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1940
- EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(5846, "Agent Plugin"))),
2135
+ EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(5972, "Agent Plugin"))),
1941
2136
  [( new SyncDescriptor(AgentPluginEditorInput))]
1942
2137
  );
1943
2138
  ( Registry.as(Extensions$2.ConfigurationMigration)).registerConfigurationMigrations([{
@@ -2084,7 +2279,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
2084
2279
  _registerEditor(scheme) {
2085
2280
  this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
2086
2281
  id: ChatEditorInput.EditorID,
2087
- label: ( localize(5844, "Chat")),
2282
+ label: ( localize(5970, "Chat")),
2088
2283
  priority: RegisteredEditorPriority.builtin
2089
2284
  }, {
2090
2285
  singlePerResource: true,
@@ -2133,7 +2328,7 @@ let ChatDebugResolverContribution = class ChatDebugResolverContribution {
2133
2328
  constructor(editorResolverService) {
2134
2329
  editorResolverService.registerEditor(`${ChatDebugEditorInput.RESOURCE.scheme}:**/**`, {
2135
2330
  id: ChatDebugEditorInput.ID,
2136
- label: ( localize(5845, "Debug View")),
2331
+ label: ( localize(5971, "Debug View")),
2137
2332
  priority: RegisteredEditorPriority.exclusive
2138
2333
  }, {
2139
2334
  singlePerResource: true,
@@ -2172,17 +2367,20 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
2172
2367
  this.experimentService.getTreatment(treatmentId).then(value => {
2173
2368
  const node = {
2174
2369
  id: "chatSidebar",
2175
- title: ( localize(5633, "Chat")),
2370
+ title: ( localize(5745, "Chat")),
2176
2371
  type: "object",
2177
2372
  properties: {
2178
2373
  "chat.agent.maxRequests": {
2179
2374
  type: "number",
2180
2375
  markdownDescription: ( localize(
2181
- 5847,
2376
+ 5973,
2182
2377
  "The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."
2183
2378
  )),
2184
2379
  default: value ?? 50,
2185
- order: 2
2380
+ order: 2,
2381
+ agentsWindow: {
2382
+ default: 1000
2383
+ }
2186
2384
  }
2187
2385
  }
2188
2386
  };
@@ -2212,13 +2410,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
2212
2410
  this.experimentService.getTreatment("chatDefaultNewSessionMode").then(value => {
2213
2411
  const node = {
2214
2412
  id: "chatSidebar",
2215
- title: ( localize(5633, "Chat")),
2413
+ title: ( localize(5745, "Chat")),
2216
2414
  type: "object",
2217
2415
  properties: {
2218
2416
  [ChatConfiguration.DefaultNewSessionMode]: {
2219
2417
  type: "string",
2220
2418
  description: ( localize(
2221
- 5757,
2419
+ 5876,
2222
2420
  "The default mode for new chat sessions. When empty, the chat view's default mode is used."
2223
2421
  )),
2224
2422
  default: typeof value === "string" ? value : ""
@@ -2302,21 +2500,22 @@ let ChatAgentActionsContribution = class ChatAgentActionsContribution extends Di
2302
2500
  this.chatModeService = chatModeService;
2303
2501
  this._modeActionDisposables = ( new DisposableMap());
2304
2502
  this._store.add(this._modeActionDisposables);
2503
+ const chatModes = this.chatModeService.getModes(SessionType.Local);
2305
2504
  const {
2306
2505
  builtin,
2307
2506
  custom
2308
- } = this.chatModeService.getModes();
2507
+ } = chatModes;
2309
2508
  const currentModeIds = getCustomModesWithUniqueNames(builtin, custom);
2310
2509
  for (const mode of custom) {
2311
2510
  if (( currentModeIds.has(mode.id))) {
2312
2511
  this._registerModeAction(mode);
2313
2512
  }
2314
2513
  }
2315
- this._register(this.chatModeService.onDidChangeChatModes(() => {
2514
+ this._register(chatModes.onDidChange(() => {
2316
2515
  const {
2317
2516
  builtin,
2318
2517
  custom
2319
- } = this.chatModeService.getModes();
2518
+ } = chatModes;
2320
2519
  const currentModeIds = getCustomModesWithUniqueNames(builtin, custom);
2321
2520
  for (const modeId of ( this._modeActionDisposables.keys())) {
2322
2521
  if (!( currentModeIds.has(modeId))) {
@@ -2391,7 +2590,7 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
2391
2590
  for (const tool of tools) {
2392
2591
  toolReferenceNameEnumValues.push(tool.toolReferenceName);
2393
2592
  toolReferenceNameEnumDescriptions.push(( localize(
2394
- 5848,
2593
+ 5974,
2395
2594
  "{0} - {1}",
2396
2595
  tool.toolReferenceName,
2397
2596
  tool.userDescription || tool.displayName
@@ -2445,6 +2644,11 @@ registerWorkbenchContribution2(
2445
2644
  ChatSlashCommandsContribution,
2446
2645
  WorkbenchPhase.Eventually
2447
2646
  );
2647
+ registerWorkbenchContribution2(
2648
+ ChatSessionOptionSlashCommandsContribution.ID,
2649
+ ChatSessionOptionSlashCommandsContribution,
2650
+ WorkbenchPhase.Eventually
2651
+ );
2448
2652
  registerWorkbenchContribution2(
2449
2653
  ChatExtensionPointHandler.ID,
2450
2654
  ChatExtensionPointHandler,
@@ -2604,11 +2808,6 @@ registerWorkbenchContribution2(
2604
2808
  ChatRepoInfoContribution,
2605
2809
  WorkbenchPhase.Eventually
2606
2810
  );
2607
- registerWorkbenchContribution2(
2608
- AgentPluginsViewsContribution.ID,
2609
- AgentPluginsViewsContribution,
2610
- WorkbenchPhase.AfterRestored
2611
- );
2612
2811
  registerWorkbenchContribution2(
2613
2812
  AgentPluginRecommendations.ID,
2614
2813
  AgentPluginRecommendations,
@@ -2637,9 +2836,11 @@ registerChatElicitationActions();
2637
2836
  registerChatToolActions();
2638
2837
  registerLanguageModelActions();
2639
2838
  registerChatPluginActions();
2839
+ registerPlanReviewFeedbackEditorActions();
2640
2840
  registerAction2(ConfigureToolSets);
2641
2841
  registerEditorFeature(ChatPasteProvidersFeature);
2642
2842
  agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ConfiguredAgentPluginDiscovery)));
2643
2843
  agentPluginDiscoveryRegistry.register(( new SyncDescriptor(MarketplaceAgentPluginDiscovery)));
2644
2844
  agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ExtensionAgentPluginDiscovery)));
2845
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(CopilotCliAgentPluginDiscovery)));
2645
2846
  ChatWidget.CONTRIBS.push(ChatDynamicVariableModel);