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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/index.js +35 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
  4. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
  5. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
  6. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +89 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -0
  8. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
  9. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +278 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
  12. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  13. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  14. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +85 -0
  15. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +85 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +18 -32
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +48 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -67
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +52 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +246 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +83 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +692 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +314 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +46 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +61 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +47 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +788 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +6 -24
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +24 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +17 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +88 -14
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
  193. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  194. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +26 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +19 -1
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +69 -6
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  218. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  219. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  220. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  221. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  222. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +67 -38
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +187 -74
  229. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  231. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  232. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  234. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +126 -30
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -5
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  247. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +46 -9
  248. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  249. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +65 -37
  250. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  251. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -20
  252. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  253. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +40 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -0
  255. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  256. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  257. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +44 -0
  258. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
  259. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
  260. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
  261. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
  262. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
  263. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  264. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  265. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +13 -4
  266. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  268. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  269. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  270. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +57 -0
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +119 -0
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +2 -2
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +293 -94
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +86 -30
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +48 -14
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
  297. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  300. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  301. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  302. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -5
  303. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
  304. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
  305. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  306. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  307. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  308. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  309. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  310. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  311. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  312. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  313. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +17 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +7 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +7 -1
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  350. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  351. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  352. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -51
  353. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  354. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
@@ -1,9 +1,7 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
3
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
5
- import { isMarkdownString, MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
6
- import { Disposable, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
5
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
8
6
  import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
9
7
  import { PolicyCategory } from '@codingame/monaco-vscode-api/vscode/vs/base/common/policy';
@@ -11,11 +9,11 @@ import { registerEditorFeature } from '@codingame/monaco-vscode-api/vscode/vs/ed
11
9
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
10
  import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
13
11
  import { registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
14
- import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
15
12
  import { Extensions as Extensions$1, ConfigurationScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
16
13
  import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
17
14
  import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
18
15
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
16
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
19
17
  import { mcpGalleryServiceUrlConfig, mcpGalleryServiceEnablementConfig, mcpAppsEnabledConfig, mcpAutoStartConfig, McpAutoStartValue, mcpAccessConfig, McpAccessValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpManagement';
20
18
  import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
21
19
  import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
@@ -26,51 +24,57 @@ import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workben
26
24
  import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
27
25
  import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
28
26
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
27
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
29
28
  import { RegisteredEditorPriority } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService';
30
29
  import { IEditorResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService.service';
30
+ import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
31
31
  import { AssistedTypes, AddConfigurationType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration';
32
32
  import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
33
33
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents';
34
- import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
35
34
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatColors';
36
35
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
37
36
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
38
- import { ChatResponseResourceFileSystemProvider } from '../common/widget/chatResponseResourceFileSystemProvider.js';
37
+ import { ChatResponseResourceWorkbenchContribution } from '../common/widget/chatResponseResourceFileSystemProvider.js';
39
38
  import '../common/chatService/chatServiceImpl.js';
40
39
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
41
40
  import '../common/participants/chatSlashCommands.js';
42
- import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
43
41
  import '../common/tools/chatTodoListService.js';
44
42
  import '../common/model/chatTransferService.js';
45
43
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService';
46
- import { ChatConfiguration, AgentsControlClickBehavior, ChatAgentLocation, ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
44
+ import { ChatConfiguration, ChatNotificationMode, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
47
45
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
48
46
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
49
47
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
48
+ import { agentPluginDiscoveryRegistry } from '../common/plugins/agentPluginService.js';
50
49
  import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
51
50
  import { PromptsConfig } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
52
- import { DEFAULT_HOOK_FILE_PATHS, DEFAULT_SKILL_SOURCE_FOLDERS, SKILL_FILENAME, AGENTS_SOURCE_FOLDER, CLAUDE_AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, CLAUDE_RULES_SOURCE_FOLDER, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
51
+ import { DEFAULT_HOOK_FILE_PATHS, DEFAULT_SKILL_SOURCE_FOLDERS, SKILL_FILENAME, AGENTS_SOURCE_FOLDER, COPILOT_USER_AGENTS_SOURCE_FOLDER, CLAUDE_AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION, PromptFileSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
53
52
  import { PromptLanguageFeaturesProvider } from '../common/promptSyntax/promptFileContributions.js';
54
- import { HOOK_DOCUMENTATION_URL, SKILL_DOCUMENTATION_URL, AGENT_DOCUMENTATION_URL, PROMPT_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
55
- import { HOOK_SCHEMA_URI, hookFileSchema, HOOK_FILE_GLOB } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
53
+ import { HOOK_DOCUMENTATION_URL, SKILL_DOCUMENTATION_URL, AGENT_DOCUMENTATION_URL, PROMPT_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL, PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
54
+ import { HOOK_SCHEMA_URI, hookFileSchema } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
55
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
56
56
  import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
57
57
  import '../common/promptSyntax/service/promptsServiceImpl.js';
58
58
  import { LanguageModelToolsExtensionPointHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution';
59
59
  import { BuiltinToolsContribution } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/builtinTools/tools';
60
+ import { RenameToolContribution } from './tools/renameTool.js';
61
+ import { UsagesToolContribution } from './tools/usagesTool.js';
60
62
  import '../common/voiceChatService.js';
61
63
  import { registerChatAccessibilityActions } from './actions/chatAccessibilityActions.js';
62
64
  import { PanelChatAccessibilityHelp, QuickChatAccessibilityHelp, EditsChatAccessibilityHelp, AgentChatAccessibilityHelp } from './actions/chatAccessibilityHelp.js';
63
- import { ModeOpenChatGlobalAction, ACTION_ID_NEW_CHAT, registerChatActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
65
+ import { ModeOpenChatGlobalAction, registerChatActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
64
66
  import { CodeBlockActionRendering, registerChatCodeBlockActions, registerChatCodeCompareBlockActions } from './actions/chatCodeblockActions.js';
65
67
  import { ChatContextContributions } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/actions/chatContext';
66
68
  import { registerChatContextActions } from './actions/chatContextActions.js';
67
69
  import { registerChatCopyActions } from './actions/chatCopyActions.js';
68
70
  import { registerChatDeveloperActions } from './actions/chatDeveloperActions.js';
69
- import { ChatSubmitAction, registerChatExecuteActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
71
+ import { registerChatExecuteActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
70
72
  import { registerChatFileTreeActions } from './actions/chatFileTreeActions.js';
71
73
  import { ChatGettingStartedContribution } from './actions/chatGettingStarted.js';
74
+ import { registerChatForkActions } from './actions/chatForkActions.js';
72
75
  import { registerChatExportActions } from './actions/chatImportExport.js';
73
76
  import { registerLanguageModelActions } from './actions/chatLanguageModelActions.js';
77
+ import { registerChatPluginActions } from './actions/chatPluginActions.js';
74
78
  import { registerMoveActions } from './actions/chatMoveActions.js';
75
79
  import { registerNewChatActions } from './actions/chatNewActions.js';
76
80
  import { registerChatPromptNavigationActions } from './actions/chatPromptNavigationActions.js';
@@ -81,10 +85,14 @@ import { registerChatTitleActions } from '@codingame/monaco-vscode-katex-common/
81
85
  import { registerChatElicitationActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatElicitationActions';
82
86
  import { registerChatToolActions } from './actions/chatToolActions.js';
83
87
  import { ChatTransferContribution } from './actions/chatTransfer.js';
84
- import { registerChatCustomizationDiagnosticsAction } from './actions/chatCustomizationDiagnosticsAction.js';
88
+ import { registerChatOpenAgentDebugPanelAction } from './actions/chatOpenAgentDebugPanelAction.js';
89
+ import '../common/chatDebugServiceImpl.js';
90
+ import { ChatDebugEditor } from './chatDebug/chatDebugEditor.js';
91
+ import { PromptsDebugContribution } from './promptsDebugContribution.js';
92
+ import { ChatDebugEditorInput, ChatDebugEditorInputSerializer } from './chatDebug/chatDebugEditorInput.js';
85
93
  import './agentSessions/agentSessions.contribution.js';
86
- import { backgroundAgentDisplayName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
87
- import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
94
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
95
+ import { ChatViewId, isIChatViewViewContext, isIChatResourceViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
88
96
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
89
97
  import './accessibility/chatAccessibilityService.js';
90
98
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel';
@@ -108,7 +116,8 @@ import { ChatEditorInput, ChatEditorInputSerializer } from '@codingame/monaco-vs
108
116
  import './widget/chatLayoutService.js';
109
117
  import { ChatLanguageModelsDataContribution } from './languageModelsConfigurationService.js';
110
118
  import './chatManagement/chatManagement.contribution.js';
111
- import { agentToMarkdown, agentSlashCommandToMarkdown } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer';
119
+ import './aiCustomization/aiCustomizationWorkspaceService.js';
120
+ import './aiCustomization/aiCustomizationManagement.contribution.js';
112
121
  import './chatOutputItemRenderer.js';
113
122
  import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
114
123
  import { ChatPasteProvidersFeature } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders';
@@ -117,18 +126,25 @@ import { ChatResponseAccessibleView } from './accessibility/chatResponseAccessib
117
126
  import { ChatTerminalOutputAccessibleView } from './accessibility/chatTerminalOutputAccessibleView.js';
118
127
  import { ChatSetupContribution, ChatTeardownContribution } from './chatSetup/chatSetupContributions.js';
119
128
  import { ChatStatusBarEntry } from './chatStatus/chatStatusEntry.js';
120
- import './attachments/chatVariables.js';
129
+ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
121
130
  import { ChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatWidget';
122
- import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
131
+ import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
123
132
  import { ChatImplicitContextContribution } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext';
124
133
  import './widget/input/editor/chatInputCompletions.js';
125
134
  import './widget/input/editor/chatInputEditorContrib.js';
126
135
  import './widget/input/editor/chatInputEditorHover.js';
127
136
  import './tools/languageModelToolsConfirmationService.js';
128
137
  import { globalAutoApproveDescription } from './tools/languageModelToolsService.js';
138
+ import { ConfiguredAgentPluginDiscovery, MarketplaceAgentPluginDiscovery } from '../common/plugins/agentPluginServiceImpl.js';
139
+ import '../common/plugins/pluginMarketplaceService.js';
140
+ import { AgentPluginsViewsContribution } from './agentPluginsView.js';
141
+ import { AgentPluginEditor } from './agentPluginEditor/agentPluginEditor.js';
142
+ import { AgentPluginEditorInput } from './agentPluginEditor/agentPluginEditorInput.js';
143
+ import './agentPluginRepositoryService.js';
144
+ import './pluginInstallService.js';
129
145
  import './promptSyntax/promptCodingAgentActionContribution.js';
130
146
  import './promptSyntax/promptToolsCodeLensProvider.js';
131
- import { showConfigureHooksQuickPick } from './promptSyntax/hookActions.js';
147
+ import { ChatSlashCommandsContribution } from './chatSlashCommands.js';
132
148
  import { PromptUrlHandler } from './promptSyntax/promptUrlHandler.js';
133
149
  import { UserToolSetsContributions, ConfigureToolSets } from './tools/toolSetsContribution.js';
134
150
  import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler.js';
@@ -138,85 +154,74 @@ import { ChatRepoInfoContribution } from './chatRepoInfo.js';
138
154
  import { VALID_PROMPT_FOLDER_PATTERN } from '../common/promptSyntax/utils/promptFilesLocator.js';
139
155
  import './chatTipService.js';
140
156
  import { ChatQueuePickerRendering } from './widget/input/chatQueuePickerActionItem.js';
157
+ import { ExploreAgentDefaultModel } from './exploreAgentDefaultModel.js';
158
+ import { PlanAgentDefaultModel } from './planAgentDefaultModel.js';
141
159
  import '../../notebook/browser/controller/chat/notebook.chat.contribution.js';
142
160
 
143
161
  const toolReferenceNameEnumValues = [];
144
162
  const toolReferenceNameEnumDescriptions = [];
145
163
  const jsonContributionRegistry = ( Registry.as(Extensions.JSONContribution));
146
164
  jsonContributionRegistry.registerSchema(HOOK_SCHEMA_URI, hookFileSchema);
147
- jsonContributionRegistry.registerSchemaAssociation(HOOK_SCHEMA_URI, HOOK_FILE_GLOB);
148
165
  const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
149
166
  configurationRegistry.registerConfiguration({
150
167
  id: "chatSidebar",
151
- title: ( localize(5138, "Chat")),
168
+ title: ( localize(5454, "Chat")),
152
169
  type: "object",
153
170
  properties: {
171
+ "chat.experimentalSessionsWindowOverride": {
172
+ type: "boolean",
173
+ description: ( localize(
174
+ 5455,
175
+ "When true, enables sessions-window-specific behavior for extensions."
176
+ )),
177
+ default: false,
178
+ tags: ["experimental"]
179
+ },
154
180
  "chat.fontSize": {
155
181
  type: "number",
156
- description: ( localize(5139, "Controls the font size in pixels in chat messages.")),
182
+ description: ( localize(5456, "Controls the font size in pixels in chat messages.")),
157
183
  default: 13,
158
184
  minimum: 6,
159
185
  maximum: 100
160
186
  },
161
187
  "chat.fontFamily": {
162
188
  type: "string",
163
- description: ( localize(5140, "Controls the font family in chat messages.")),
189
+ description: ( localize(5457, "Controls the font family in chat messages.")),
164
190
  default: "default"
165
191
  },
166
192
  "chat.editor.fontSize": {
167
193
  type: "number",
168
- description: ( localize(5141, "Controls the font size in pixels in chat codeblocks.")),
194
+ description: ( localize(5458, "Controls the font size in pixels in chat codeblocks.")),
169
195
  default: isMacintosh ? 12 : 14
170
196
  },
171
197
  "chat.editor.fontFamily": {
172
198
  type: "string",
173
- description: ( localize(5142, "Controls the font family in chat codeblocks.")),
199
+ description: ( localize(5459, "Controls the font family in chat codeblocks.")),
174
200
  default: "default"
175
201
  },
176
202
  "chat.editor.fontWeight": {
177
203
  type: "string",
178
- description: ( localize(5143, "Controls the font weight in chat codeblocks.")),
204
+ description: ( localize(5460, "Controls the font weight in chat codeblocks.")),
179
205
  default: "default"
180
206
  },
181
207
  "chat.editor.wordWrap": {
182
208
  type: "string",
183
- description: ( localize(5144, "Controls whether lines should wrap in chat codeblocks.")),
209
+ description: ( localize(5461, "Controls whether lines should wrap in chat codeblocks.")),
184
210
  default: "off",
185
211
  enum: ["on", "off"]
186
212
  },
187
213
  "chat.editor.lineHeight": {
188
214
  type: "number",
189
215
  description: ( localize(
190
- 5145,
216
+ 5462,
191
217
  "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
192
218
  )),
193
219
  default: 0
194
220
  },
195
- [ChatConfiguration.AgentsControlClickBehavior]: {
196
- type: "string",
197
- enum: [
198
- AgentsControlClickBehavior.Default,
199
- AgentsControlClickBehavior.Cycle,
200
- AgentsControlClickBehavior.Focus
201
- ],
202
- enumDescriptions: [( localize(5146, "Clicking chat icon toggles chat visibility.")), ( localize(
203
- 5147,
204
- "Clicking chat icon cycles through: show chat, maximize chat, hide chat. This requires chat to be contained in the secondary sidebar."
205
- )), ( localize(
206
- 5148,
207
- "Clicking chat icon focuses the chat view and maximizes it if located in the secondary sidebar."
208
- ))],
209
- markdownDescription: ( localize(
210
- 5149,
211
- "Controls the behavior when clicking on the chat icon in the command center."
212
- )),
213
- default: product.quality !== "stable" ? AgentsControlClickBehavior.Cycle : AgentsControlClickBehavior.Default,
214
- tags: ["experimental"]
215
- },
216
221
  [ChatConfiguration.AgentStatusEnabled]: {
217
222
  type: "boolean",
218
223
  markdownDescription: ( localize(
219
- 5150,
224
+ 5463,
220
225
  "Controls whether the 'Agent Status' indicator is shown in the title bar command center. Enabling this setting will automatically enable {0}. The unread/in-progress session indicators require {1} to be enabled.",
221
226
  "`#window.commandCenter#`",
222
227
  "`#chat.viewSessions.enabled#`"
@@ -227,7 +232,7 @@ configurationRegistry.registerConfiguration({
227
232
  [ChatConfiguration.UnifiedAgentsBar]: {
228
233
  type: "boolean",
229
234
  markdownDescription: ( localize(
230
- 5151,
235
+ 5464,
231
236
  "Replaces the command center search box with a unified chat and search widget."
232
237
  )),
233
238
  default: false,
@@ -236,7 +241,7 @@ configurationRegistry.registerConfiguration({
236
241
  [ChatConfiguration.AgentSessionProjectionEnabled]: {
237
242
  type: "boolean",
238
243
  markdownDescription: ( localize(
239
- 5152,
244
+ 5465,
240
245
  "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
241
246
  )),
242
247
  default: false,
@@ -245,23 +250,27 @@ configurationRegistry.registerConfiguration({
245
250
  "chat.implicitContext.enabled": {
246
251
  type: "object",
247
252
  description: ( localize(
248
- 5153,
253
+ 5466,
249
254
  "Enables automatically using the active editor as chat context for specified chat locations."
250
255
  )),
251
256
  additionalProperties: {
252
257
  type: "string",
253
258
  enum: ["never", "first", "always"],
254
- description: ( localize(5154, "The value for the implicit context.")),
255
- enumDescriptions: [( localize(5155, "Implicit context is never enabled.")), ( localize(5156, "Implicit context is enabled for the first interaction.")), ( localize(5157, "Implicit context is always enabled."))]
259
+ description: ( localize(5467, "The value for the implicit context.")),
260
+ enumDescriptions: [( localize(5468, "Implicit context is never enabled.")), ( localize(5469, "Implicit context is enabled for the first interaction.")), ( localize(5470, "Implicit context is always enabled."))]
256
261
  },
257
262
  default: {
258
263
  "panel": "always"
264
+ },
265
+ tags: ["experimental"],
266
+ experiment: {
267
+ mode: "startup"
259
268
  }
260
269
  },
261
270
  "chat.implicitContext.suggestedContext": {
262
271
  type: "boolean",
263
272
  markdownDescription: ( localize(
264
- 5158,
273
+ 5471,
265
274
  "Controls whether the new implicit context flow is shown. In Ask and Edit modes, the context will automatically be included. When using an agent, context will be suggested as an attachment. Selections are always included as context."
266
275
  )),
267
276
  default: true
@@ -269,7 +278,7 @@ configurationRegistry.registerConfiguration({
269
278
  "chat.editing.autoAcceptDelay": {
270
279
  type: "number",
271
280
  markdownDescription: ( localize(
272
- 5159,
281
+ 5472,
273
282
  "Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
274
283
  )),
275
284
  default: 0,
@@ -280,7 +289,7 @@ configurationRegistry.registerConfiguration({
280
289
  type: "boolean",
281
290
  scope: ConfigurationScope.APPLICATION,
282
291
  markdownDescription: ( localize(
283
- 5160,
292
+ 5473,
284
293
  "Whether to show a confirmation before removing a request and its associated edits."
285
294
  )),
286
295
  default: true
@@ -289,7 +298,7 @@ configurationRegistry.registerConfiguration({
289
298
  type: "boolean",
290
299
  scope: ConfigurationScope.APPLICATION,
291
300
  markdownDescription: ( localize(
292
- 5161,
301
+ 5474,
293
302
  "Whether to show a confirmation before retrying a request and its associated edits."
294
303
  )),
295
304
  default: true
@@ -297,7 +306,7 @@ configurationRegistry.registerConfiguration({
297
306
  "chat.editing.explainChanges.enabled": {
298
307
  type: "boolean",
299
308
  markdownDescription: ( localize(
300
- 5162,
309
+ 5475,
301
310
  "Controls whether the Explain button in the Chat panel and the Explain Changes context menu in the SCM view are shown. This is an experimental feature."
302
311
  )),
303
312
  default: false,
@@ -308,9 +317,10 @@ configurationRegistry.registerConfiguration({
308
317
  },
309
318
  "chat.tips.enabled": {
310
319
  type: "boolean",
320
+ scope: ConfigurationScope.APPLICATION,
311
321
  description: ( localize(
312
- 5163,
313
- "Controls whether tips are shown above user messages in chat. This is an experimental feature."
322
+ 5476,
323
+ "Controls whether tips are shown above user messages in chat. New tips are added frequently, so this is a helpful way to stay up to date with the latest features."
314
324
  )),
315
325
  default: false,
316
326
  tags: ["experimental"],
@@ -318,29 +328,39 @@ configurationRegistry.registerConfiguration({
318
328
  mode: "auto"
319
329
  }
320
330
  },
331
+ "chat.upvoteAnimation": {
332
+ type: "string",
333
+ enum: ["off", "confetti", "floatingThumbs", "pulseWave", "radiantLines"],
334
+ enumDescriptions: [( localize(5477, "No animation is shown.")), ( localize(5478, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5479, "Shows floating thumbs up icons rising from the button.")), ( localize(5480, "Shows expanding pulse rings from the button.")), ( localize(5481, "Shows radiant lines emanating from the button."))],
335
+ description: ( localize(
336
+ 5482,
337
+ "Controls whether an animation is shown when clicking the thumbs up button on a chat response."
338
+ )),
339
+ default: "floatingThumbs"
340
+ },
321
341
  "chat.experimental.detectParticipant.enabled": {
322
342
  type: "boolean",
323
343
  deprecationMessage: ( localize(
324
- 5164,
344
+ 5483,
325
345
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
326
346
  )),
327
- description: ( localize(5165, "Enables chat participant autodetection for panel chat.")),
347
+ description: ( localize(5484, "Enables chat participant autodetection for panel chat.")),
328
348
  default: null
329
349
  },
330
350
  "chat.detectParticipant.enabled": {
331
351
  type: "boolean",
332
- description: ( localize(5166, "Enables chat participant autodetection for panel chat.")),
352
+ description: ( localize(5485, "Enables chat participant autodetection for panel chat.")),
333
353
  default: true
334
354
  },
335
355
  [ChatConfiguration.InlineReferencesStyle]: {
336
356
  type: "string",
337
357
  enum: ["box", "link"],
338
- enumDescriptions: [( localize(5167, "Display file and symbol references as boxed widgets with icons.")), ( localize(
339
- 5168,
358
+ enumDescriptions: [( localize(5486, "Display file and symbol references as boxed widgets with icons.")), ( localize(
359
+ 5487,
340
360
  "Display file and symbol references as simple blue links without icons."
341
361
  ))],
342
362
  description: ( localize(
343
- 5169,
363
+ 5488,
344
364
  "Controls how file and symbol references are displayed in chat messages."
345
365
  )),
346
366
  default: "box"
@@ -348,7 +368,7 @@ configurationRegistry.registerConfiguration({
348
368
  [ChatConfiguration.EditorAssociations]: {
349
369
  type: "object",
350
370
  markdownDescription: ( localize(
351
- 5170,
371
+ 5489,
352
372
  "Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
353
373
  )),
354
374
  additionalProperties: {
@@ -356,13 +376,40 @@ configurationRegistry.registerConfiguration({
356
376
  },
357
377
  default: {}
358
378
  },
359
- "chat.notifyWindowOnConfirmation": {
360
- type: "boolean",
379
+ [ChatConfiguration.NotifyWindowOnConfirmation]: {
380
+ type: "string",
381
+ enum: ["off", "windowNotFocused", "always"],
382
+ enumDescriptions: [( localize(5490, "Never show OS notifications for confirmations.")), ( localize(
383
+ 5491,
384
+ "Show OS notifications for confirmations when the window is not focused."
385
+ )), ( localize(
386
+ 5492,
387
+ "Always show OS notifications for confirmations, even when the window is focused."
388
+ ))],
361
389
  description: ( localize(
362
- 5171,
363
- "Controls whether a chat session should present the user with an OS notification when a confirmation is needed while the window is not in focus. This includes a window badge as well as notification toast."
390
+ 5493,
391
+ "Controls whether a chat session should present the user with an OS notification when a confirmation or question needs input. This includes a window badge as well as notification toast."
364
392
  )),
365
- default: true
393
+ default: "windowNotFocused"
394
+ },
395
+ [ChatConfiguration.AutoReply]: {
396
+ default: false,
397
+ markdownDescription: ( localize(
398
+ 5494,
399
+ "Automatically answer chat question carousels using the current model. This is an advanced setting and can lead to unintended choices or actions based on incomplete context."
400
+ )),
401
+ type: "boolean",
402
+ scope: ConfigurationScope.APPLICATION_MACHINE,
403
+ tags: ["experimental", "advanced"]
404
+ },
405
+ [ChatConfiguration.AutopilotEnabled]: {
406
+ type: "boolean",
407
+ markdownDescription: ( localize(
408
+ 5495,
409
+ "Controls whether the Autopilot mode is available in the permissions picker. When enabled, Autopilot auto-approves all tool calls and continues until the task is done."
410
+ )),
411
+ default: product.quality !== "stable",
412
+ tags: ["experimental"]
366
413
  },
367
414
  [ChatConfiguration.GlobalAutoApprove]: {
368
415
  default: false,
@@ -377,10 +424,10 @@ configurationRegistry.registerConfiguration({
377
424
  value: policyData => policyData.chat_preview_features_enabled === false ? false : undefined,
378
425
  localization: {
379
426
  description: {
380
- key: "autoApprove2.description",
427
+ key: "autoApprove3.description",
381
428
  value: ( localize(
382
- 5172,
383
- "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."
429
+ 5496,
430
+ "Global auto approve also known as \"YOLO mode\" disables manual approval completely for all tools in all workspaces, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like Codespaces and Dev Containers have user keys forwarded into the container that could be compromised.\n\nThis feature disables critical security protections and makes it much easier for an attacker to compromise the machine.\n\nNote: This setting only controls tool approval and does not prevent the agent from asking questions. To automatically answer agent questions, use the `#chat.autoReply#` setting."
384
431
  ))
385
432
  }
386
433
  }
@@ -397,8 +444,8 @@ configurationRegistry.registerConfiguration({
397
444
  "**/*-lock.{yaml,json}": false
398
445
  },
399
446
  markdownDescription: ( localize(
400
- 5173,
401
- "Controls whether edits made by chat 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."
447
+ 5497,
448
+ "Controls whether edits made by the agent are automatically approved. The default is to approve all edits except those made to certain files which have the potential to cause immediate unintended side-effects, such as `**/.vscode/*.json`.\n\nSet to `true` to automatically approve edits to matching files, `false` to always require explicit approval. The last pattern matching a given file will determine whether the edit is automatically approved."
402
449
  )),
403
450
  type: "object",
404
451
  additionalProperties: {
@@ -408,7 +455,7 @@ configurationRegistry.registerConfiguration({
408
455
  [ChatConfiguration.AutoApprovedUrls]: {
409
456
  default: {},
410
457
  markdownDescription: ( localize(
411
- 5174,
458
+ 5498,
412
459
  "Controls which URLs are automatically approved when requested by chat tools. Keys are URL patterns and values can be `true` to approve both requests and responses, `false` to deny, or an object with `approveRequest` and `approveResponse` properties for granular control.\n\nExamples:\n- `\"https://example.com\": true` - Approve all requests to example.com\n- `\"https://*.example.com\": true` - Approve all requests to any subdomain of example.com\n- `\"https://example.com/api/*\": { \"approveRequest\": true, \"approveResponse\": false }` - Approve requests but not responses for example.com/api paths"
413
460
  )),
414
461
  type: "object",
@@ -431,7 +478,7 @@ configurationRegistry.registerConfiguration({
431
478
  [ChatConfiguration.EligibleForAutoApproval]: {
432
479
  default: {},
433
480
  markdownDescription: ( localize(
434
- 5175,
481
+ 5499,
435
482
  "Controls which tools are eligible for automatic approval. Tools set to 'false' will always present a confirmation and will never offer the option to auto-approve. The default behavior (or setting a tool to 'true') may result in the tool offering auto-approval options."
436
483
  )),
437
484
  type: "object",
@@ -454,7 +501,7 @@ configurationRegistry.registerConfiguration({
454
501
  description: {
455
502
  key: "chat.tools.eligibleForAutoApproval",
456
503
  value: ( localize(
457
- 5175,
504
+ 5499,
458
505
  "Controls which tools are eligible for automatic approval. Tools set to 'false' will always present a confirmation and will never offer the option to auto-approve. The default behavior (or setting a tool to 'true') may result in the tool offering auto-approval options."
459
506
  ))
460
507
  }
@@ -464,7 +511,7 @@ configurationRegistry.registerConfiguration({
464
511
  "chat.sendElementsToChat.enabled": {
465
512
  default: true,
466
513
  description: ( localize(
467
- 5176,
514
+ 5500,
468
515
  "Controls whether elements can be sent to chat from the Simple Browser."
469
516
  )),
470
517
  type: "boolean",
@@ -473,7 +520,7 @@ configurationRegistry.registerConfiguration({
473
520
  "chat.sendElementsToChat.attachCSS": {
474
521
  default: true,
475
522
  markdownDescription: ( localize(
476
- 5177,
523
+ 5501,
477
524
  "Controls whether CSS of the selected element will be added to the chat. {0} must be enabled.",
478
525
  "`#chat.sendElementsToChat.enabled#`"
479
526
  )),
@@ -483,7 +530,7 @@ configurationRegistry.registerConfiguration({
483
530
  "chat.sendElementsToChat.attachImages": {
484
531
  default: true,
485
532
  markdownDescription: ( localize(
486
- 5178,
533
+ 5502,
487
534
  "Controls whether a screenshot of the selected element will be added to the chat. {0} must be enabled.",
488
535
  "`#chat.sendElementsToChat.enabled#`"
489
536
  )),
@@ -493,14 +540,14 @@ configurationRegistry.registerConfiguration({
493
540
  "chat.undoRequests.restoreInput": {
494
541
  default: true,
495
542
  markdownDescription: ( localize(
496
- 5179,
543
+ 5503,
497
544
  "Controls whether the input of the chat should be restored when an undo request is made. The input will be filled with the text of the request that was restored."
498
545
  )),
499
546
  type: "boolean"
500
547
  },
501
548
  "chat.editRequests": {
502
549
  markdownDescription: ( localize(
503
- 5180,
550
+ 5504,
504
551
  "Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
505
552
  )),
506
553
  type: "string",
@@ -511,7 +558,7 @@ configurationRegistry.registerConfiguration({
511
558
  type: "boolean",
512
559
  default: true,
513
560
  description: ( localize(
514
- 5181,
561
+ 5505,
515
562
  "Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
516
563
  ))
517
564
  },
@@ -519,15 +566,15 @@ configurationRegistry.registerConfiguration({
519
566
  type: "string",
520
567
  enum: ["stacked", "sideBySide"],
521
568
  enumDescriptions: [( localize(
522
- 5182,
569
+ 5506,
523
570
  "Display chat sessions vertically stacked above the chat input unless a chat session is visible."
524
571
  )), ( localize(
525
- 5183,
572
+ 5507,
526
573
  "Display chat sessions side by side if space is sufficient, otherwise fallback to stacked above the chat input unless a chat session is visible."
527
574
  ))],
528
575
  default: "sideBySide",
529
576
  description: ( localize(
530
- 5184,
577
+ 5508,
531
578
  "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
532
579
  ))
533
580
  },
@@ -535,39 +582,52 @@ configurationRegistry.registerConfiguration({
535
582
  type: "boolean",
536
583
  default: false,
537
584
  description: ( localize(
538
- 5185,
585
+ 5509,
539
586
  "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
540
587
  ))
541
588
  },
542
- [ChatConfiguration.NotifyWindowOnResponseReceived]: {
589
+ [ChatConfiguration.ChatContextUsageEnabled]: {
543
590
  type: "boolean",
544
591
  default: true,
592
+ description: ( localize(5510, "Show the context window usage indicator in the chat input."))
593
+ },
594
+ [ChatConfiguration.NotifyWindowOnResponseReceived]: {
595
+ type: "string",
596
+ enum: ["off", "windowNotFocused", "always"],
597
+ enumDescriptions: [( localize(5511, "Never show OS notifications for responses.")), ( localize(
598
+ 5512,
599
+ "Show OS notifications for responses when the window is not focused."
600
+ )), ( localize(
601
+ 5513,
602
+ "Always show OS notifications for responses, even when the window is focused."
603
+ ))],
604
+ default: "windowNotFocused",
545
605
  description: ( localize(
546
- 5186,
547
- "Controls whether a chat session should present the user with an OS notification when a response is received while the window is not in focus. This includes a window badge as well as notification toast."
606
+ 5514,
607
+ "Controls whether a chat session should present the user with an OS notification when a response is received. This includes a window badge as well as notification toast."
548
608
  ))
549
609
  },
550
610
  "chat.checkpoints.enabled": {
551
611
  type: "boolean",
552
612
  default: true,
553
613
  description: ( localize(
554
- 5187,
614
+ 5515,
555
615
  "Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
556
616
  ))
557
617
  },
558
618
  "chat.checkpoints.showFileChanges": {
559
619
  type: "boolean",
560
- description: ( localize(5188, "Controls whether to show chat checkpoint file changes.")),
620
+ description: ( localize(5516, "Controls whether to show chat checkpoint file changes.")),
561
621
  default: false
562
622
  },
563
623
  [mcpAccessConfig]: {
564
624
  type: "string",
565
- description: ( localize(5189, "Controls access to installed Model Context Protocol servers.")),
625
+ description: ( localize(5517, "Controls access to installed Model Context Protocol servers.")),
566
626
  enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
567
- enumDescriptions: [( localize(5190, "No access to MCP servers.")), ( localize(
568
- 5191,
627
+ enumDescriptions: [( localize(5518, "No access to MCP servers.")), ( localize(
628
+ 5519,
569
629
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
570
- )), ( localize(5192, "Allow access to any installed MCP server."))],
630
+ )), ( localize(5520, "Allow access to any installed MCP server."))],
571
631
  default: McpAccessValue.All,
572
632
  policy: {
573
633
  name: "ChatMCP",
@@ -585,20 +645,20 @@ configurationRegistry.registerConfiguration({
585
645
  localization: {
586
646
  description: {
587
647
  key: "chat.mcp.access",
588
- value: ( localize(5189, "Controls access to installed Model Context Protocol servers."))
648
+ value: ( localize(5517, "Controls access to installed Model Context Protocol servers."))
589
649
  },
590
650
  enumDescriptions: [{
591
651
  key: "chat.mcp.access.none",
592
- value: ( localize(5190, "No access to MCP servers."))
652
+ value: ( localize(5518, "No access to MCP servers."))
593
653
  }, {
594
654
  key: "chat.mcp.access.registry",
595
655
  value: ( localize(
596
- 5191,
656
+ 5519,
597
657
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
598
658
  ))
599
659
  }, {
600
660
  key: "chat.mcp.access.any",
601
- value: ( localize(5192, "Allow access to any installed MCP server."))
661
+ value: ( localize(5520, "Allow access to any installed MCP server."))
602
662
  }]
603
663
  }
604
664
  }
@@ -606,7 +666,7 @@ configurationRegistry.registerConfiguration({
606
666
  [mcpAutoStartConfig]: {
607
667
  type: "string",
608
668
  description: ( localize(
609
- 5193,
669
+ 5521,
610
670
  "Controls whether MCP servers should be automatically started when the chat messages are submitted."
611
671
  )),
612
672
  default: McpAutoStartValue.NewAndOutdated,
@@ -615,8 +675,8 @@ configurationRegistry.registerConfiguration({
615
675
  McpAutoStartValue.OnlyNew,
616
676
  McpAutoStartValue.NewAndOutdated
617
677
  ],
618
- enumDescriptions: [( localize(5194, "Never automatically start MCP servers.")), ( localize(5195, "Only automatically start new MCP servers that have never been run.")), ( localize(
619
- 5196,
678
+ enumDescriptions: [( localize(5522, "Never automatically start MCP servers.")), ( localize(5523, "Only automatically start new MCP servers that have never been run.")), ( localize(
679
+ 5524,
620
680
  "Automatically start new and outdated MCP servers that are not yet running."
621
681
  ))],
622
682
  tags: ["experimental"]
@@ -624,7 +684,7 @@ configurationRegistry.registerConfiguration({
624
684
  [mcpAppsEnabledConfig]: {
625
685
  type: "boolean",
626
686
  description: ( localize(
627
- 5197,
687
+ 5525,
628
688
  "Controls whether MCP servers can provide custom UI for tool invocations."
629
689
  )),
630
690
  default: true,
@@ -633,9 +693,9 @@ configurationRegistry.registerConfiguration({
633
693
  [mcpServerSamplingSection]: {
634
694
  type: "object",
635
695
  description: ( localize(
636
- 5198,
696
+ 5526,
637
697
  "Configures which models are exposed to MCP servers for sampling (making model requests in the background). This setting can be edited in a graphical way under the `{0}` command.",
638
- "MCP: " + ( localize(5199, "List Servers"))
698
+ "MCP: " + ( localize(5527, "List Servers"))
639
699
  )),
640
700
  scope: ConfigurationScope.RESOURCE,
641
701
  additionalProperties: {
@@ -644,7 +704,7 @@ configurationRegistry.registerConfiguration({
644
704
  allowedDuringChat: {
645
705
  type: "boolean",
646
706
  description: ( localize(
647
- 5200,
707
+ 5528,
648
708
  "Whether this server is make sampling requests during its tool calls in a chat session."
649
709
  )),
650
710
  default: true
@@ -652,7 +712,7 @@ configurationRegistry.registerConfiguration({
652
712
  allowedOutsideChat: {
653
713
  type: "boolean",
654
714
  description: ( localize(
655
- 5201,
715
+ 5529,
656
716
  "Whether this server is allowed to make sampling requests outside of a chat session."
657
717
  )),
658
718
  default: false
@@ -661,7 +721,7 @@ configurationRegistry.registerConfiguration({
661
721
  type: "array",
662
722
  items: {
663
723
  type: "string",
664
- description: ( localize(5202, "A model the MCP server has access to."))
724
+ description: ( localize(5530, "A model the MCP server has access to."))
665
725
  }
666
726
  }
667
727
  }
@@ -670,7 +730,7 @@ configurationRegistry.registerConfiguration({
670
730
  [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
671
731
  type: "boolean",
672
732
  description: ( localize(
673
- 5203,
733
+ 5531,
674
734
  "Enables NuGet packages for AI-assisted MCP server installation. Used to install MCP servers by name from the central registry for .NET packages (NuGet.org)."
675
735
  )),
676
736
  default: false,
@@ -679,17 +739,9 @@ configurationRegistry.registerConfiguration({
679
739
  mode: "startup"
680
740
  }
681
741
  },
682
- [ChatConfiguration.Edits2Enabled]: {
683
- type: "boolean",
684
- description: ( localize(
685
- 5204,
686
- "Enable the new Edits mode that is based on tool-calling. When this is enabled, models that don't support tool-calling are unavailable for Edits mode."
687
- )),
688
- default: false
689
- },
690
742
  [ChatConfiguration.ExtensionToolsEnabled]: {
691
743
  type: "boolean",
692
- description: ( localize(5205, "Enable using tools contributed by third-party extensions.")),
744
+ description: ( localize(5532, "Enable using tools contributed by third-party extensions.")),
693
745
  default: true,
694
746
  policy: {
695
747
  name: "ChatAgentExtensionTools",
@@ -698,18 +750,51 @@ configurationRegistry.registerConfiguration({
698
750
  localization: {
699
751
  description: {
700
752
  key: "chat.extensionToolsEnabled",
701
- value: ( localize(5205, "Enable using tools contributed by third-party extensions."))
753
+ value: ( localize(5532, "Enable using tools contributed by third-party extensions."))
702
754
  }
703
755
  }
704
756
  }
705
757
  },
758
+ [ChatConfiguration.PluginsEnabled]: {
759
+ type: "boolean",
760
+ description: ( localize(5533, "Enable agent plugin integration in chat.")),
761
+ default: true,
762
+ tags: ["preview"]
763
+ },
764
+ [ChatConfiguration.PluginLocations]: {
765
+ type: "object",
766
+ additionalProperties: {
767
+ type: "boolean"
768
+ },
769
+ restricted: true,
770
+ markdownDescription: ( localize(
771
+ 5534,
772
+ "Plugin directories to discover. Each key is a path that points directly to a plugin folder, and the value enables (`true`) or disables (`false`) it. Paths can be absolute, relative to the workspace root, or start with `~/` for the user's home directory."
773
+ )),
774
+ scope: ConfigurationScope.MACHINE,
775
+ tags: ["experimental"]
776
+ },
777
+ [ChatConfiguration.PluginMarketplaces]: {
778
+ type: "array",
779
+ items: {
780
+ type: "string"
781
+ },
782
+ markdownDescription: ( localize(
783
+ 5535,
784
+ "Plugin marketplaces to query. Entries may be GitHub shorthand (`owner/repo`), direct Git repository URIs (`https://...git`, `ssh://...git`, or `git@host:path.git`), or local repository URIs (`file:///...`). Equivalent GitHub shorthand and URI entries are deduplicated."
785
+ )),
786
+ default: ["github/copilot-plugins", "github/awesome-copilot"],
787
+ scope: ConfigurationScope.APPLICATION,
788
+ tags: ["experimental"]
789
+ },
706
790
  [ChatConfiguration.AgentEnabled]: {
707
791
  type: "boolean",
708
792
  description: ( localize(
709
- 5206,
793
+ 5536,
710
794
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
711
795
  )),
712
796
  default: true,
797
+ order: 1,
713
798
  policy: {
714
799
  name: "ChatAgentMode",
715
800
  category: PolicyCategory.InteractiveSession,
@@ -719,51 +804,52 @@ configurationRegistry.registerConfiguration({
719
804
  description: {
720
805
  key: "chat.agent.enabled.description",
721
806
  value: ( localize(
722
- 5206,
807
+ 5536,
723
808
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
724
809
  ))
725
810
  }
726
811
  }
727
812
  }
728
813
  },
729
- [ChatConfiguration.RequestQueueingEnabled]: {
730
- type: "boolean",
814
+ [ChatConfiguration.PlanAgentDefaultModel]: {
815
+ type: "string",
731
816
  description: ( localize(
732
- 5207,
733
- "When enabled, allows queuing additional messages while a request is in progress and steering the current request with a new message."
817
+ 5537,
818
+ "Select the default language model to use for the Plan agent from the available providers."
734
819
  )),
735
- default: true,
736
- tags: ["experimental"]
820
+ default: "",
821
+ enum: PlanAgentDefaultModel.modelIds,
822
+ enumItemLabels: PlanAgentDefaultModel.modelLabels,
823
+ markdownEnumDescriptions: PlanAgentDefaultModel.modelDescriptions
824
+ },
825
+ [ChatConfiguration.ExploreAgentDefaultModel]: {
826
+ type: "string",
827
+ description: ( localize(
828
+ 5538,
829
+ "Select the default language model to use for the Explore subagent from the available providers."
830
+ )),
831
+ default: "",
832
+ enum: ExploreAgentDefaultModel.modelIds,
833
+ enumItemLabels: ExploreAgentDefaultModel.modelLabels,
834
+ markdownEnumDescriptions: ExploreAgentDefaultModel.modelDescriptions
737
835
  },
738
836
  [ChatConfiguration.RequestQueueingDefaultAction]: {
739
837
  type: "string",
740
838
  enum: ["queue", "steer"],
741
- enumDescriptions: [( localize(5208, "Queue the message to send after the current request completes.")), ( localize(
742
- 5209,
839
+ enumDescriptions: [( localize(5539, "Queue the message to send after the current request completes.")), ( localize(
840
+ 5540,
743
841
  "Steer the current request by sending the message immediately, signaling the current request to yield."
744
842
  ))],
745
843
  description: ( localize(
746
- 5210,
844
+ 5541,
747
845
  "Controls which action is the default for the queue button when a request is in progress."
748
846
  )),
749
847
  default: "steer"
750
848
  },
751
849
  [ChatConfiguration.EditModeHidden]: {
752
850
  type: "boolean",
753
- description: ( localize(5211, "When enabled, hides the Edit mode from the chat mode picker.")),
754
- default: false,
755
- tags: ["experimental"],
756
- experiment: {
757
- mode: "auto"
758
- }
759
- },
760
- [ChatConfiguration.AlternativeToolAction]: {
761
- type: "boolean",
762
- description: ( localize(
763
- 5212,
764
- "When enabled, shows the Configure Tools action in the mode picker dropdown on hover instead of in the chat input."
765
- )),
766
- default: false,
851
+ description: ( localize(5542, "When enabled, hides the Edit mode from the chat mode picker.")),
852
+ default: true,
767
853
  tags: ["experimental"],
768
854
  experiment: {
769
855
  mode: "auto"
@@ -771,27 +857,25 @@ configurationRegistry.registerConfiguration({
771
857
  },
772
858
  [ChatConfiguration.EnableMath]: {
773
859
  type: "boolean",
774
- description: ( localize(5213, "Enable math rendering in chat responses using KaTeX.")),
860
+ description: ( localize(5543, "Enable math rendering in chat responses using KaTeX.")),
775
861
  default: true
776
862
  },
777
863
  [ChatConfiguration.ShowCodeBlockProgressAnimation]: {
778
864
  type: "boolean",
779
865
  description: ( localize(
780
- 5214,
866
+ 5544,
781
867
  "When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
782
868
  )),
783
869
  default: true,
784
870
  tags: ["experimental"]
785
871
  },
786
- ["chat.statusWidget.sku"]: {
787
- type: "string",
788
- enum: ["free", "anonymous"],
789
- enumDescriptions: [( localize(5215, "Show status widget for free tier users.")), ( localize(5216, "Show status widget for anonymous users."))],
872
+ ["chat.statusWidget.anonymous"]: {
873
+ type: "boolean",
790
874
  description: ( localize(
791
- 5217,
792
- "Controls which user type should see the status widget in new chat sessions when quota is exceeded."
875
+ 5545,
876
+ "Controls whether anonymous users see the status widget in new chat sessions when rate limited."
793
877
  )),
794
- default: undefined,
878
+ default: false,
795
879
  tags: ["experimental", "advanced"],
796
880
  experiment: {
797
881
  mode: "auto"
@@ -806,7 +890,7 @@ configurationRegistry.registerConfiguration({
806
890
  additionalProperties: false,
807
891
  default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
808
892
  markdownDescription: ( localize(
809
- 5218,
893
+ 5546,
810
894
  "Configures discovery of Model Context Protocol servers from configuration from various other applications."
811
895
  ))
812
896
  },
@@ -815,14 +899,14 @@ configurationRegistry.registerConfiguration({
815
899
  default: false,
816
900
  tags: ["preview"],
817
901
  description: ( localize(
818
- 5219,
902
+ 5547,
819
903
  "Enables the default Marketplace for Model Context Protocol (MCP) servers."
820
904
  )),
821
905
  included: product.quality === "stable"
822
906
  },
823
907
  [mcpGalleryServiceUrlConfig]: {
824
908
  type: "string",
825
- description: ( localize(5220, "Configure the MCP Gallery service URL to connect to")),
909
+ description: ( localize(5548, "Configure the MCP Gallery service URL to connect to")),
826
910
  default: "",
827
911
  scope: ConfigurationScope.APPLICATION,
828
912
  tags: ["usesOnlineServices", "advanced"],
@@ -835,23 +919,27 @@ configurationRegistry.registerConfiguration({
835
919
  localization: {
836
920
  description: {
837
921
  key: "mcp.gallery.serviceUrl",
838
- value: ( localize(5220, "Configure the MCP Gallery service URL to connect to"))
922
+ value: ( localize(5548, "Configure the MCP Gallery service URL to connect to"))
839
923
  }
840
924
  }
841
925
  }
842
926
  },
843
927
  [PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
844
928
  type: "object",
845
- title: ( localize(5221, "Instructions File Locations")),
929
+ title: ( localize(5549, "Instructions File Locations")),
846
930
  markdownDescription: ( localize(
847
- 5222,
931
+ 5550,
848
932
  "Specify location(s) of instructions files (`*{0}`) that can be attached in Chat sessions. [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
849
933
  INSTRUCTION_FILE_EXTENSION,
850
934
  INSTRUCTIONS_DOCUMENTATION_URL
851
935
  )),
852
936
  default: {
853
- [INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true,
854
- [CLAUDE_RULES_SOURCE_FOLDER]: true
937
+ ...( DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS.map(folder => ({
938
+ [folder.path]: true
939
+ }))).reduce((acc, curr) => ({
940
+ ...acc,
941
+ ...curr
942
+ }), {})
855
943
  },
856
944
  additionalProperties: {
857
945
  type: "boolean"
@@ -859,15 +947,14 @@ configurationRegistry.registerConfiguration({
859
947
  propertyNames: {
860
948
  pattern: VALID_PROMPT_FOLDER_PATTERN,
861
949
  patternErrorMessage: ( localize(
862
- 5223,
950
+ 5551,
863
951
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported. Glob patterns are deprecated and will be removed in future versions."
864
952
  ))
865
953
  },
866
954
  restricted: true,
867
955
  tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"],
868
956
  examples: [{
869
- [INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true,
870
- [CLAUDE_RULES_SOURCE_FOLDER]: true
957
+ [DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS[0].path]: true
871
958
  }, {
872
959
  [INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true,
873
960
  "/Users/vscode/repos/instructions": true
@@ -875,9 +962,9 @@ configurationRegistry.registerConfiguration({
875
962
  },
876
963
  [PromptsConfig.PROMPT_LOCATIONS_KEY]: {
877
964
  type: "object",
878
- title: ( localize(5224, "Prompt File Locations")),
965
+ title: ( localize(5552, "Prompt File Locations")),
879
966
  markdownDescription: ( localize(
880
- 5225,
967
+ 5553,
881
968
  "Specify location(s) of reusable prompt files (`*{0}`) that can be run in Chat sessions. [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
882
969
  PROMPT_FILE_EXTENSION,
883
970
  PROMPT_DOCUMENTATION_URL
@@ -894,7 +981,7 @@ configurationRegistry.registerConfiguration({
894
981
  propertyNames: {
895
982
  pattern: VALID_PROMPT_FOLDER_PATTERN,
896
983
  patternErrorMessage: ( localize(
897
- 5226,
984
+ 5554,
898
985
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported. Glob patterns are deprecated and will be removed in future versions."
899
986
  ))
900
987
  },
@@ -909,9 +996,9 @@ configurationRegistry.registerConfiguration({
909
996
  },
910
997
  [PromptsConfig.MODE_LOCATION_KEY]: {
911
998
  type: "object",
912
- title: ( localize(5227, "Mode File Locations")),
999
+ title: ( localize(5555, "Mode File Locations")),
913
1000
  markdownDescription: ( localize(
914
- 5228,
1001
+ 5556,
915
1002
  "Specify location(s) of custom chat mode files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
916
1003
  LEGACY_MODE_FILE_EXTENSION,
917
1004
  AGENT_DOCUMENTATION_URL
@@ -920,7 +1007,7 @@ configurationRegistry.registerConfiguration({
920
1007
  [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
921
1008
  },
922
1009
  deprecationMessage: ( localize(
923
- 5229,
1010
+ 5557,
924
1011
  "This setting is deprecated and will be removed in future releases. Chat modes are now called custom agents and are located in `.github/agents`"
925
1012
  )),
926
1013
  additionalProperties: {
@@ -946,16 +1033,17 @@ configurationRegistry.registerConfiguration({
946
1033
  },
947
1034
  [PromptsConfig.AGENTS_LOCATION_KEY]: {
948
1035
  type: "object",
949
- title: ( localize(5230, "Agent File Locations")),
1036
+ title: ( localize(5558, "Agent File Locations")),
950
1037
  markdownDescription: ( localize(
951
- 5231,
1038
+ 5559,
952
1039
  "Specify location(s) of custom agent files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
953
1040
  AGENT_FILE_EXTENSION,
954
1041
  AGENT_DOCUMENTATION_URL
955
1042
  )),
956
1043
  default: {
957
1044
  [AGENTS_SOURCE_FOLDER]: true,
958
- [CLAUDE_AGENTS_SOURCE_FOLDER]: true
1045
+ [CLAUDE_AGENTS_SOURCE_FOLDER]: true,
1046
+ [COPILOT_USER_AGENTS_SOURCE_FOLDER]: true
959
1047
  },
960
1048
  additionalProperties: {
961
1049
  type: "boolean"
@@ -963,7 +1051,7 @@ configurationRegistry.registerConfiguration({
963
1051
  propertyNames: {
964
1052
  pattern: VALID_PROMPT_FOLDER_PATTERN,
965
1053
  patternErrorMessage: ( localize(
966
- 5232,
1054
+ 5560,
967
1055
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
968
1056
  ))
969
1057
  },
@@ -980,9 +1068,9 @@ configurationRegistry.registerConfiguration({
980
1068
  },
981
1069
  [PromptsConfig.USE_AGENT_MD]: {
982
1070
  type: "boolean",
983
- title: ( localize(5233, "Use AGENTS.md file")),
1071
+ title: ( localize(5561, "Use AGENTS.md file")),
984
1072
  markdownDescription: ( localize(
985
- 5234,
1073
+ 5562,
986
1074
  "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
987
1075
  )),
988
1076
  default: true,
@@ -992,9 +1080,9 @@ configurationRegistry.registerConfiguration({
992
1080
  },
993
1081
  [PromptsConfig.USE_NESTED_AGENT_MD]: {
994
1082
  type: "boolean",
995
- title: ( localize(5235, "Use nested AGENTS.md files")),
1083
+ title: ( localize(5563, "Use nested AGENTS.md files")),
996
1084
  markdownDescription: ( localize(
997
- 5236,
1085
+ 5564,
998
1086
  "Controls whether instructions from nested `AGENTS.md` files found in the workspace are listed in all chat requests. The language model can load these skills on-demand if the `read` tool is available."
999
1087
  )),
1000
1088
  default: false,
@@ -1010,9 +1098,9 @@ configurationRegistry.registerConfiguration({
1010
1098
  },
1011
1099
  [PromptsConfig.USE_CLAUDE_MD]: {
1012
1100
  type: "boolean",
1013
- title: ( localize(5237, "Use CLAUDE.md file")),
1101
+ title: ( localize(5565, "Use CLAUDE.md file")),
1014
1102
  markdownDescription: ( localize(
1015
- 5238,
1103
+ 5566,
1016
1104
  "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests."
1017
1105
  )),
1018
1106
  default: true,
@@ -1022,9 +1110,9 @@ configurationRegistry.registerConfiguration({
1022
1110
  },
1023
1111
  [PromptsConfig.USE_AGENT_SKILLS]: {
1024
1112
  type: "boolean",
1025
- title: ( localize(5239, "Use Agent skills")),
1113
+ title: ( localize(5567, "Use Agent skills")),
1026
1114
  markdownDescription: ( localize(
1027
- 5240,
1115
+ 5568,
1028
1116
  "Controls whether skills are provided as specialized capabilities to the chat requests. Skills are loaded from the folders configured in `#chat.agentSkillsLocations#`. The language model can load these skills on-demand if the `read` tool is available. Learn more about [Agent Skills](https://aka.ms/vscode-agent-skills)."
1029
1117
  )),
1030
1118
  default: true,
@@ -1034,9 +1122,9 @@ configurationRegistry.registerConfiguration({
1034
1122
  },
1035
1123
  [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
1036
1124
  type: "boolean",
1037
- title: ( localize(5241, "Use Skill Adherence Prompt")),
1125
+ title: ( localize(5569, "Use Skill Adherence Prompt")),
1038
1126
  markdownDescription: ( localize(
1039
- 5242,
1127
+ 5570,
1040
1128
  "Controls whether a stronger skill adherence prompt is used that encourages the model to immediately invoke skills when relevant rather than just announcing them."
1041
1129
  )),
1042
1130
  default: false,
@@ -1055,9 +1143,9 @@ configurationRegistry.registerConfiguration({
1055
1143
  },
1056
1144
  [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
1057
1145
  type: "boolean",
1058
- title: ( localize(5243, "Include Applying Instructions")),
1146
+ title: ( localize(5571, "Include Applying Instructions")),
1059
1147
  markdownDescription: ( localize(
1060
- 5244,
1148
+ 5572,
1061
1149
  "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
1062
1150
  )),
1063
1151
  default: true,
@@ -1067,9 +1155,9 @@ configurationRegistry.registerConfiguration({
1067
1155
  },
1068
1156
  [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
1069
1157
  type: "boolean",
1070
- title: ( localize(5245, "Include Referenced Instructions")),
1158
+ title: ( localize(5573, "Include Referenced Instructions")),
1071
1159
  markdownDescription: ( localize(
1072
- 5246,
1160
+ 5574,
1073
1161
  "Controls whether referenced instructions are automatically included in chat requests."
1074
1162
  )),
1075
1163
  default: false,
@@ -1079,9 +1167,9 @@ configurationRegistry.registerConfiguration({
1079
1167
  },
1080
1168
  [PromptsConfig.SKILLS_LOCATION_KEY]: {
1081
1169
  type: "object",
1082
- title: ( localize(5247, "Agent Skills Locations")),
1170
+ title: ( localize(5575, "Agent Skills Locations")),
1083
1171
  markdownDescription: ( localize(
1084
- 5248,
1172
+ 5576,
1085
1173
  "Specify location(s) of agent skills (`{0}`) that can be used in Chat Sessions. [Learn More]({1}).\n\nEach path should contain skill subfolders with SKILL.md files (e.g., add `my-skills` if you have `my-skills/skillA/SKILL.md`). Relative paths are resolved from the root folder(s) of your workspace.",
1086
1174
  SKILL_FILENAME,
1087
1175
  SKILL_DOCUMENTATION_URL
@@ -1100,7 +1188,7 @@ configurationRegistry.registerConfiguration({
1100
1188
  propertyNames: {
1101
1189
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1102
1190
  patternErrorMessage: ( localize(
1103
- 5249,
1191
+ 5577,
1104
1192
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1105
1193
  ))
1106
1194
  },
@@ -1117,9 +1205,9 @@ configurationRegistry.registerConfiguration({
1117
1205
  },
1118
1206
  [PromptsConfig.HOOKS_LOCATION_KEY]: {
1119
1207
  type: "object",
1120
- title: ( localize(5250, "Hook File Locations")),
1208
+ title: ( localize(5578, "Hook File Locations")),
1121
1209
  markdownDescription: ( localize(
1122
- 5251,
1210
+ 5579,
1123
1211
  "Specify paths to hook configuration files that define custom shell commands to execute at strategic points in an agent's workflow. [Learn More]({0}).\n\nRelative paths are resolved from the root folder(s) of your workspace. Supports Copilot hooks (`*.json`) and Claude Code hooks (`settings.json`, `settings.local.json`).",
1124
1212
  HOOK_DOCUMENTATION_URL
1125
1213
  )),
@@ -1137,7 +1225,7 @@ configurationRegistry.registerConfiguration({
1137
1225
  propertyNames: {
1138
1226
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1139
1227
  patternErrorMessage: ( localize(
1140
- 5252,
1228
+ 5580,
1141
1229
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1142
1230
  ))
1143
1231
  },
@@ -1152,9 +1240,9 @@ configurationRegistry.registerConfiguration({
1152
1240
  },
1153
1241
  [PromptsConfig.USE_CHAT_HOOKS]: {
1154
1242
  type: "boolean",
1155
- title: ( localize(5253, "Use Chat Hooks")),
1243
+ title: ( localize(5581, "Use Chat Hooks")),
1156
1244
  markdownDescription: ( localize(
1157
- 5254,
1245
+ 5582,
1158
1246
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1159
1247
  )),
1160
1248
  default: true,
@@ -1170,7 +1258,7 @@ configurationRegistry.registerConfiguration({
1170
1258
  description: {
1171
1259
  key: "chat.useHooks.description",
1172
1260
  value: ( localize(
1173
- 5254,
1261
+ 5582,
1174
1262
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1175
1263
  ))
1176
1264
  }
@@ -1179,9 +1267,9 @@ configurationRegistry.registerConfiguration({
1179
1267
  },
1180
1268
  [PromptsConfig.USE_CLAUDE_HOOKS]: {
1181
1269
  type: "boolean",
1182
- title: ( localize(5255, "Use Claude Hooks")),
1270
+ title: ( localize(5583, "Use Claude Hooks")),
1183
1271
  markdownDescription: ( localize(
1184
- 5256,
1272
+ 5584,
1185
1273
  "Controls whether hooks from Claude configuration files can execute. When disabled, only Copilot-format hooks are used. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1186
1274
  )),
1187
1275
  default: false,
@@ -1189,12 +1277,24 @@ configurationRegistry.registerConfiguration({
1189
1277
  disallowConfigurationDefault: true,
1190
1278
  tags: ["preview", "prompts", "hooks", "agent"]
1191
1279
  },
1280
+ [PromptsConfig.USE_CUSTOM_AGENT_HOOKS]: {
1281
+ type: "boolean",
1282
+ title: ( localize(5585, "Use Custom Agent Hooks")),
1283
+ markdownDescription: ( localize(
1284
+ 5586,
1285
+ "Controls whether hooks defined in custom agent frontmatter are parsed and executed. When disabled, hooks from agent files are ignored."
1286
+ )),
1287
+ default: false,
1288
+ restricted: true,
1289
+ disallowConfigurationDefault: true,
1290
+ tags: ["preview", "prompts", "hooks", "agent"]
1291
+ },
1192
1292
  [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
1193
1293
  type: "object",
1194
1294
  scope: ConfigurationScope.RESOURCE,
1195
- title: ( localize(5257, "Prompt File Recommendations")),
1295
+ title: ( localize(5587, "Prompt File Recommendations")),
1196
1296
  markdownDescription: ( localize(
1197
- 5258,
1297
+ 5588,
1198
1298
  "Configure which prompt files to recommend in the chat welcome view. Each key is a prompt file name, and the value can be `true` to always recommend, `false` to never recommend, or a [when clause](https://aka.ms/vscode-when-clause) expression like `resourceExtname == .js` or `resourceLangId == markdown`."
1199
1299
  )),
1200
1300
  default: {},
@@ -1216,7 +1316,7 @@ configurationRegistry.registerConfiguration({
1216
1316
  type: "boolean",
1217
1317
  default: true,
1218
1318
  description: ( localize(
1219
- 5259,
1319
+ 5589,
1220
1320
  "Controls whether to show the todo list widget above the chat input. When enabled, the widget displays todo items created by the agent and updates as progress is made."
1221
1321
  ))
1222
1322
  },
@@ -1224,21 +1324,21 @@ configurationRegistry.registerConfiguration({
1224
1324
  type: "string",
1225
1325
  default: "fixedScrolling",
1226
1326
  enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
1227
- enumDescriptions: [( localize(5260, "Thinking parts will be collapsed by default.")), ( localize(
1228
- 5261,
1327
+ enumDescriptions: [( localize(5590, "Thinking parts will be collapsed by default.")), ( localize(
1328
+ 5591,
1229
1329
  "Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
1230
1330
  )), ( localize(
1231
- 5262,
1331
+ 5592,
1232
1332
  "Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
1233
1333
  ))],
1234
- description: ( localize(5263, "Controls how thinking is rendered.")),
1334
+ description: ( localize(5593, "Controls how thinking is rendered.")),
1235
1335
  tags: ["experimental"]
1236
1336
  },
1237
1337
  [ChatConfiguration.ThinkingGenerateTitles]: {
1238
1338
  type: "boolean",
1239
1339
  default: true,
1240
1340
  description: ( localize(
1241
- 5264,
1341
+ 5594,
1242
1342
  "Controls whether to use an LLM to generate summary titles for thinking sections."
1243
1343
  )),
1244
1344
  tags: ["experimental"]
@@ -1247,12 +1347,12 @@ configurationRegistry.registerConfiguration({
1247
1347
  type: "string",
1248
1348
  default: "always",
1249
1349
  enum: ["off", "withThinking", "always"],
1250
- enumDescriptions: [( localize(5265, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1251
- 5266,
1350
+ enumDescriptions: [( localize(5595, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1351
+ 5596,
1252
1352
  "Tool calls are collapsed into thinking sections when thinking is present."
1253
- )), ( localize(5267, "Tool calls are always collapsed, even without thinking."))],
1353
+ )), ( localize(5597, "Tool calls are always collapsed, even without thinking."))],
1254
1354
  markdownDescription: ( localize(
1255
- 5268,
1355
+ 5598,
1256
1356
  "Controls how tool calls are displayed in relation to thinking sections."
1257
1357
  )),
1258
1358
  tags: ["experimental"]
@@ -1261,23 +1361,91 @@ configurationRegistry.registerConfiguration({
1261
1361
  type: "boolean",
1262
1362
  default: true,
1263
1363
  markdownDescription: ( localize(
1264
- 5269,
1364
+ 5599,
1265
1365
  "When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
1266
1366
  )),
1267
1367
  tags: ["experimental"]
1268
1368
  },
1369
+ [ChatConfiguration.SimpleTerminalCollapsible]: {
1370
+ type: "boolean",
1371
+ default: true,
1372
+ markdownDescription: ( localize(
1373
+ 5600,
1374
+ "When enabled, terminal tool calls are always displayed in a collapsible container with a simplified view."
1375
+ )),
1376
+ tags: ["experimental"]
1377
+ },
1378
+ "chat.tools.usagesTool.enabled": {
1379
+ type: "boolean",
1380
+ default: true,
1381
+ markdownDescription: ( localize(
1382
+ 5601,
1383
+ "Controls whether the usages tool is available for finding references, definitions, and implementations of code symbols."
1384
+ )),
1385
+ tags: ["preview"],
1386
+ experiment: {
1387
+ mode: "auto"
1388
+ }
1389
+ },
1390
+ "chat.tools.renameTool.enabled": {
1391
+ type: "boolean",
1392
+ default: true,
1393
+ markdownDescription: ( localize(
1394
+ 5602,
1395
+ "Controls whether the rename tool is available for renaming code symbols across the workspace."
1396
+ )),
1397
+ tags: ["preview"],
1398
+ experiment: {
1399
+ mode: "auto"
1400
+ }
1401
+ },
1402
+ [ChatConfiguration.ThinkingPhrases]: {
1403
+ type: "object",
1404
+ default: {
1405
+ mode: "append",
1406
+ phrases: []
1407
+ },
1408
+ properties: {
1409
+ mode: {
1410
+ type: "string",
1411
+ enum: ["replace", "append"],
1412
+ default: "append",
1413
+ description: ( localize(
1414
+ 5603,
1415
+ "'replace' replaces all default phrases entirely; 'append' adds your phrases to all default categories."
1416
+ ))
1417
+ },
1418
+ phrases: {
1419
+ type: "array",
1420
+ items: {
1421
+ type: "string"
1422
+ },
1423
+ default: [],
1424
+ description: ( localize(
1425
+ 5604,
1426
+ "Custom loading messages to show during thinking, terminal, and tool operations."
1427
+ ))
1428
+ }
1429
+ },
1430
+ additionalProperties: false,
1431
+ markdownDescription: ( localize(
1432
+ 5605,
1433
+ "Customize the loading messages shown during agent operations. Use `\"mode\": \"replace\"` to use only your phrases, or `\"mode\": \"append\"` to add them to the defaults."
1434
+ )),
1435
+ tags: ["experimental"]
1436
+ },
1269
1437
  [ChatConfiguration.AutoExpandToolFailures]: {
1270
1438
  type: "boolean",
1271
1439
  default: true,
1272
1440
  markdownDescription: ( localize(
1273
- 5270,
1441
+ 5606,
1274
1442
  "When enabled, tool failures are automatically expanded in the chat UI to show error details."
1275
1443
  ))
1276
1444
  },
1277
1445
  [ChatConfiguration.AIDisabled]: {
1278
1446
  type: "boolean",
1279
1447
  description: ( localize(
1280
- 5271,
1448
+ 5607,
1281
1449
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
1282
1450
  )),
1283
1451
  default: false,
@@ -1285,7 +1453,19 @@ configurationRegistry.registerConfiguration({
1285
1453
  },
1286
1454
  "chat.allowAnonymousAccess": {
1287
1455
  type: "boolean",
1288
- description: ( localize(5272, "Controls whether anonymous access is allowed in chat.")),
1456
+ description: ( localize(5608, "Controls whether anonymous access is allowed in chat.")),
1457
+ default: false,
1458
+ tags: ["experimental"],
1459
+ experiment: {
1460
+ mode: "auto"
1461
+ }
1462
+ },
1463
+ [ChatConfiguration.GrowthNotificationEnabled]: {
1464
+ type: "boolean",
1465
+ description: ( localize(
1466
+ 5609,
1467
+ "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
1468
+ )),
1289
1469
  default: false,
1290
1470
  tags: ["experimental"],
1291
1471
  experiment: {
@@ -1295,7 +1475,7 @@ configurationRegistry.registerConfiguration({
1295
1475
  [ChatConfiguration.RestoreLastPanelSession]: {
1296
1476
  type: "boolean",
1297
1477
  description: ( localize(
1298
- 5273,
1478
+ 5610,
1299
1479
  "Controls whether the last session is restored in panel after restart."
1300
1480
  )),
1301
1481
  default: false
@@ -1303,16 +1483,16 @@ configurationRegistry.registerConfiguration({
1303
1483
  [ChatConfiguration.ExitAfterDelegation]: {
1304
1484
  type: "boolean",
1305
1485
  description: ( localize(
1306
- 5274,
1486
+ 5611,
1307
1487
  "Controls whether the chat panel automatically exits after delegating a request to another session."
1308
1488
  )),
1309
- default: true,
1489
+ default: false,
1310
1490
  tags: ["preview"]
1311
1491
  },
1312
1492
  "chat.extensionUnification.enabled": {
1313
1493
  type: "boolean",
1314
1494
  description: ( localize(
1315
- 5275,
1495
+ 5612,
1316
1496
  "Enables the unification of GitHub Copilot extensions. When enabled, all GitHub Copilot functionality is served from the GitHub Copilot Chat extension. When disabled, the GitHub Copilot and GitHub Copilot Chat extensions operate independently."
1317
1497
  )),
1318
1498
  default: true,
@@ -1324,21 +1504,37 @@ configurationRegistry.registerConfiguration({
1324
1504
  [ChatConfiguration.SubagentToolCustomAgents]: {
1325
1505
  type: "boolean",
1326
1506
  description: ( localize(
1327
- 5276,
1507
+ 5613,
1328
1508
  "Whether the runSubagent tool is able to use custom agents. When enabled, the tool can take the name of a custom agent, but it must be given the exact name of the agent."
1329
1509
  )),
1330
- default: false,
1331
- tags: ["experimental"],
1510
+ default: true,
1332
1511
  experiment: {
1333
1512
  mode: "auto"
1334
1513
  }
1514
+ },
1515
+ [ChatConfiguration.ChatCustomizationMenuEnabled]: {
1516
+ type: "boolean",
1517
+ tags: ["preview"],
1518
+ description: ( localize(
1519
+ 5614,
1520
+ "Controls whether the Chat Customizations editor is available in the Command Palette. When disabled, the Chat Customizations editor and related commands are hidden."
1521
+ )),
1522
+ default: true
1335
1523
  }
1336
1524
  }
1337
1525
  });
1338
1526
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1339
- EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5277, "Chat"))),
1527
+ EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5615, "Chat"))),
1340
1528
  [( new SyncDescriptor(ChatEditorInput))]
1341
1529
  );
1530
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1531
+ EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(5616, "Debug View"))),
1532
+ [( new SyncDescriptor(ChatDebugEditorInput))]
1533
+ );
1534
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1535
+ EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(5617, "Agent Plugin"))),
1536
+ [( new SyncDescriptor(AgentPluginEditorInput))]
1537
+ );
1342
1538
  ( Registry.as(Extensions$2.ConfigurationMigration)).registerConfigurationMigrations([{
1343
1539
  key: "chat.experimental.detectParticipant.enabled",
1344
1540
  migrateFn: (value, _accessor) => ([["chat.experimental.detectParticipant.enabled", {
@@ -1365,6 +1561,41 @@ configurationRegistry.registerConfiguration({
1365
1561
  value
1366
1562
  };
1367
1563
  }
1564
+ }, {
1565
+ key: ChatConfiguration.NotifyWindowOnConfirmation,
1566
+ migrateFn: value => {
1567
+ if (value === true) {
1568
+ return {
1569
+ value: ChatNotificationMode.WindowNotFocused
1570
+ };
1571
+ } else if (value === false) {
1572
+ return {
1573
+ value: ChatNotificationMode.Off
1574
+ };
1575
+ }
1576
+ return [];
1577
+ }
1578
+ }, {
1579
+ key: ChatConfiguration.NotifyWindowOnResponseReceived,
1580
+ migrateFn: value => {
1581
+ if (value === true) {
1582
+ return {
1583
+ value: ChatNotificationMode.WindowNotFocused
1584
+ };
1585
+ } else if (value === false) {
1586
+ return {
1587
+ value: ChatNotificationMode.Off
1588
+ };
1589
+ }
1590
+ return [];
1591
+ }
1592
+ }, {
1593
+ key: "chat.plugins.paths",
1594
+ migrateFn: (value, _accessor) => ([["chat.plugins.paths", {
1595
+ value: undefined
1596
+ }], [ChatConfiguration.PluginLocations, {
1597
+ value
1598
+ }]])
1368
1599
  }]);
1369
1600
  let ChatResolverContribution = class ChatResolverContribution extends Disposable {
1370
1601
  static {
@@ -1392,7 +1623,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
1392
1623
  _registerEditor(scheme) {
1393
1624
  this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
1394
1625
  id: ChatEditorInput.EditorID,
1395
- label: ( localize(5277, "Chat")),
1626
+ label: ( localize(5615, "Chat")),
1396
1627
  priority: RegisteredEditorPriority.builtin
1397
1628
  }, {
1398
1629
  singlePerResource: true,
@@ -1413,35 +1644,62 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
1413
1644
  }
1414
1645
  };
1415
1646
  ChatResolverContribution = ( __decorate([( __param(0, IChatSessionsService)), ( __param(1, IEditorResolverService)), ( __param(2, IInstantiationService))], ChatResolverContribution));
1647
+ let ChatDebugResolverContribution = class ChatDebugResolverContribution {
1648
+ static {
1649
+ this.ID = "workbench.contrib.chatDebugResolver";
1650
+ }
1651
+ constructor(editorResolverService) {
1652
+ editorResolverService.registerEditor(`${ChatDebugEditorInput.RESOURCE.scheme}:**/**`, {
1653
+ id: ChatDebugEditorInput.ID,
1654
+ label: ( localize(5616, "Debug View")),
1655
+ priority: RegisteredEditorPriority.exclusive
1656
+ }, {
1657
+ singlePerResource: true,
1658
+ canSupportResource: resource => resource.scheme === ChatDebugEditorInput.RESOURCE.scheme
1659
+ }, {
1660
+ createEditorInput: () => {
1661
+ return {
1662
+ editor: ChatDebugEditorInput.instance,
1663
+ options: {
1664
+ pinned: true
1665
+ }
1666
+ };
1667
+ }
1668
+ });
1669
+ }
1670
+ };
1671
+ ChatDebugResolverContribution = ( __decorate([( __param(0, IEditorResolverService))], ChatDebugResolverContribution));
1416
1672
  let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Disposable {
1417
1673
  static {
1418
1674
  this.ID = "workbench.contrib.chatAgentSetting";
1419
1675
  }
1420
- constructor(experimentService, entitlementService) {
1676
+ constructor(experimentService, entitlementService, contextKeyService) {
1421
1677
  super();
1422
1678
  this.experimentService = experimentService;
1423
1679
  this.entitlementService = entitlementService;
1680
+ this.contextKeyService = contextKeyService;
1681
+ this.newChatButtonExperimentIcon = ChatContextKeys.newChatButtonExperimentIcon.bindTo(this.contextKeyService);
1424
1682
  this.registerMaxRequestsSetting();
1425
- this.registerBackgroundAgentDisplayName();
1683
+ this.registerNewChatButtonIcon();
1426
1684
  }
1427
1685
  registerMaxRequestsSetting() {
1428
1686
  let lastNode;
1429
1687
  const registerMaxRequestsSetting = () => {
1430
1688
  const treatmentId = this.entitlementService.entitlement === ChatEntitlement.Free ? "chatAgentMaxRequestsFree" : "chatAgentMaxRequestsPro";
1431
1689
  this.experimentService.getTreatment(treatmentId).then(value => {
1432
- const defaultValue = value ?? (this.entitlementService.entitlement === ChatEntitlement.Free ? 25 : 25);
1433
1690
  const node = {
1434
1691
  id: "chatSidebar",
1435
- title: ( localize(5138, "Chat")),
1692
+ title: ( localize(5454, "Chat")),
1436
1693
  type: "object",
1437
1694
  properties: {
1438
1695
  "chat.agent.maxRequests": {
1439
1696
  type: "number",
1440
1697
  markdownDescription: ( localize(
1441
- 5278,
1698
+ 5618,
1442
1699
  "The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."
1443
1700
  )),
1444
- default: defaultValue
1701
+ default: value ?? 50,
1702
+ order: 2
1445
1703
  }
1446
1704
  }
1447
1705
  };
@@ -1457,15 +1715,60 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
1457
1715
  () => registerMaxRequestsSetting()
1458
1716
  ));
1459
1717
  }
1460
- registerBackgroundAgentDisplayName() {
1461
- this.experimentService.getTreatment("backgroundAgentDisplayName").then(value => {
1462
- if (value) {
1463
- backgroundAgentDisplayName.set(value, undefined);
1718
+ registerNewChatButtonIcon() {
1719
+ this.experimentService.getTreatment("chatNewButtonIcon").then(value => {
1720
+ const supportedValues = ["copilot", "new-session", "comment"];
1721
+ if (typeof value === "string" && supportedValues.includes(value)) {
1722
+ this.newChatButtonExperimentIcon.set(value);
1723
+ } else {
1724
+ this.newChatButtonExperimentIcon.reset();
1464
1725
  }
1465
1726
  });
1466
1727
  }
1467
1728
  };
1468
- ChatAgentSettingContribution = ( __decorate([( __param(0, IWorkbenchAssignmentService)), ( __param(1, IChatEntitlementService))], ChatAgentSettingContribution));
1729
+ ChatAgentSettingContribution = ( __decorate([( __param(0, IWorkbenchAssignmentService)), ( __param(1, IChatEntitlementService)), ( __param(2, IContextKeyService))], ChatAgentSettingContribution));
1730
+ let ChatForegroundSessionCountContribution = class ChatForegroundSessionCountContribution extends Disposable {
1731
+ static {
1732
+ this.ID = "workbench.contrib.chatForegroundSessionCount";
1733
+ }
1734
+ constructor(contextKeyService, chatWidgetService, viewsService, editorService) {
1735
+ super();
1736
+ this.contextKeyService = contextKeyService;
1737
+ this.chatWidgetService = chatWidgetService;
1738
+ this.viewsService = viewsService;
1739
+ this.editorService = editorService;
1740
+ this.foregroundSessionCountContextKey = ChatContextKeys.foregroundSessionCount.bindTo(this.contextKeyService);
1741
+ this._register(this.chatWidgetService.onDidAddWidget(() => {
1742
+ this.updateForegroundSessionCount();
1743
+ }));
1744
+ this._register(this.editorService.onDidVisibleEditorsChange(() => {
1745
+ this.updateForegroundSessionCount();
1746
+ }));
1747
+ this._register(
1748
+ Event.filter(this.viewsService.onDidChangeViewVisibility, e => e.id === ChatViewId)(() => {
1749
+ this.updateForegroundSessionCount();
1750
+ })
1751
+ );
1752
+ this.updateForegroundSessionCount();
1753
+ }
1754
+ updateForegroundSessionCount() {
1755
+ let count = this.viewsService.isViewVisible(ChatViewId) ? 1 : 0;
1756
+ for (const widget of this.chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat)) {
1757
+ if (widget.domNode.offsetParent === null) {
1758
+ continue;
1759
+ }
1760
+ if (isIChatViewViewContext(widget.viewContext)) {
1761
+ continue;
1762
+ }
1763
+ if (isIChatResourceViewContext(widget.viewContext) && widget.viewContext.isQuickChat) {
1764
+ continue;
1765
+ }
1766
+ count++;
1767
+ }
1768
+ this.foregroundSessionCountContextKey.set(count);
1769
+ }
1770
+ };
1771
+ ChatForegroundSessionCountContribution = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IChatWidgetService)), ( __param(2, IViewsService)), ( __param(3, IEditorService))], ChatForegroundSessionCountContribution));
1469
1772
  function getCustomModesWithUniqueNames(builtinModes, customModes) {
1470
1773
  const customModeIds = ( new Set());
1471
1774
  const builtinNames = ( new Set(( builtinModes.map(mode => mode.name.get()))));
@@ -1531,6 +1834,34 @@ let ChatAgentActionsContribution = class ChatAgentActionsContribution extends Di
1531
1834
  }
1532
1835
  };
1533
1836
  ChatAgentActionsContribution = ( __decorate([( __param(0, IChatModeService))], ChatAgentActionsContribution));
1837
+ let HookSchemaAssociationContribution = class HookSchemaAssociationContribution extends Disposable {
1838
+ static {
1839
+ this.ID = "workbench.contrib.hookSchemaAssociation";
1840
+ }
1841
+ constructor(_configurationService) {
1842
+ super();
1843
+ this._configurationService = _configurationService;
1844
+ this._registrations = this._register(( new DisposableStore()));
1845
+ this._updateAssociations();
1846
+ this._register(this._configurationService.onDidChangeConfiguration(e => {
1847
+ if (e.affectsConfiguration(PromptsConfig.HOOKS_LOCATION_KEY)) {
1848
+ this._updateAssociations();
1849
+ }
1850
+ }));
1851
+ }
1852
+ _updateAssociations() {
1853
+ this._registrations.clear();
1854
+ const folders = PromptsConfig.promptSourceFolders(this._configurationService, PromptsType.hook);
1855
+ for (const folder of folders) {
1856
+ if (folder.source === PromptFileSource.ClaudeWorkspace || folder.source === PromptFileSource.ClaudeWorkspaceLocal || folder.source === PromptFileSource.ClaudePersonal) {
1857
+ continue;
1858
+ }
1859
+ const glob = folder.path.toLowerCase().endsWith(".json") ? folder.path : `${folder.path}/*.json`;
1860
+ this._registrations.add(jsonContributionRegistry.registerSchemaAssociation(HOOK_SCHEMA_URI, glob));
1861
+ }
1862
+ }
1863
+ };
1864
+ HookSchemaAssociationContribution = ( __decorate([( __param(0, IConfigurationService))], HookSchemaAssociationContribution));
1534
1865
  let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extends Disposable {
1535
1866
  static {
1536
1867
  this.ID = "workbench.contrib.toolReferenceNames";
@@ -1550,7 +1881,7 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
1550
1881
  for (const tool of tools) {
1551
1882
  toolReferenceNameEnumValues.push(tool.toolReferenceName);
1552
1883
  toolReferenceNameEnumDescriptions.push(( localize(
1553
- 5279,
1884
+ 5619,
1554
1885
  "{0} - {1}",
1555
1886
  tool.toolReferenceName,
1556
1887
  tool.userDescription || tool.displayName
@@ -1572,160 +1903,31 @@ AccessibleViewRegistry.register(( new QuickChatAccessibilityHelp()));
1572
1903
  AccessibleViewRegistry.register(( new EditsChatAccessibilityHelp()));
1573
1904
  AccessibleViewRegistry.register(( new AgentChatAccessibilityHelp()));
1574
1905
  registerEditorFeature(ChatInputBoxContentProvider);
1575
- let ChatSlashStaticSlashCommandsContribution = class ChatSlashStaticSlashCommandsContribution extends Disposable {
1576
- static {
1577
- this.ID = "workbench.contrib.chatSlashStaticSlashCommands";
1578
- }
1579
- constructor(
1580
- slashCommandService,
1581
- commandService,
1582
- chatAgentService,
1583
- chatWidgetService,
1584
- instantiationService,
1585
- agentSessionsService
1586
- ) {
1587
- super();
1588
- this._store.add(slashCommandService.registerSlashCommand({
1589
- command: "clear",
1590
- detail: ( localize(5280, "Start a new chat and archive the current one")),
1591
- sortText: "z2_clear",
1592
- executeImmediately: true,
1593
- locations: [ChatAgentLocation.Chat]
1594
- }, async (_prompt, _progress, _history, _location, sessionResource) => {
1595
- agentSessionsService.getSession(sessionResource)?.setArchived(true);
1596
- commandService.executeCommand(ACTION_ID_NEW_CHAT);
1597
- }));
1598
- this._store.add(slashCommandService.registerSlashCommand({
1599
- command: "hooks",
1600
- detail: ( localize(5281, "Configure hooks")),
1601
- sortText: "z3_hooks",
1602
- executeImmediately: true,
1603
- silent: true,
1604
- locations: [ChatAgentLocation.Chat]
1605
- }, async () => {
1606
- await instantiationService.invokeFunction(showConfigureHooksQuickPick);
1607
- }));
1608
- this._store.add(slashCommandService.registerSlashCommand({
1609
- command: "agents",
1610
- detail: ( localize(5282, "Configure custom agents")),
1611
- sortText: "z3_agents",
1612
- executeImmediately: true,
1613
- silent: true,
1614
- locations: [ChatAgentLocation.Chat]
1615
- }, async () => {
1616
- await commandService.executeCommand("workbench.action.chat.configure.customagents");
1617
- }));
1618
- this._store.add(slashCommandService.registerSlashCommand({
1619
- command: "skills",
1620
- detail: ( localize(5283, "Configure skills")),
1621
- sortText: "z3_skills",
1622
- executeImmediately: true,
1623
- silent: true,
1624
- locations: [ChatAgentLocation.Chat]
1625
- }, async () => {
1626
- await commandService.executeCommand("workbench.action.chat.configure.skills");
1627
- }));
1628
- this._store.add(slashCommandService.registerSlashCommand({
1629
- command: "instructions",
1630
- detail: ( localize(5284, "Configure instructions")),
1631
- sortText: "z3_instructions",
1632
- executeImmediately: true,
1633
- silent: true,
1634
- locations: [ChatAgentLocation.Chat]
1635
- }, async () => {
1636
- await commandService.executeCommand("workbench.action.chat.configure.instructions");
1637
- }));
1638
- this._store.add(slashCommandService.registerSlashCommand({
1639
- command: "prompts",
1640
- detail: ( localize(5285, "Configure prompt files")),
1641
- sortText: "z3_prompts",
1642
- executeImmediately: true,
1643
- silent: true,
1644
- locations: [ChatAgentLocation.Chat]
1645
- }, async () => {
1646
- await commandService.executeCommand("workbench.action.chat.configure.prompts");
1647
- }));
1648
- this._store.add(slashCommandService.registerSlashCommand({
1649
- command: "help",
1650
- detail: "",
1651
- sortText: "z1_help",
1652
- executeImmediately: true,
1653
- locations: [ChatAgentLocation.Chat],
1654
- modes: [ChatModeKind.Ask]
1655
- }, async (prompt, progress, _history, _location, sessionResource) => {
1656
- const defaultAgent = chatAgentService.getDefaultAgent(ChatAgentLocation.Chat);
1657
- const agents = chatAgentService.getAgents();
1658
- if (defaultAgent?.metadata.helpTextPrefix) {
1659
- if (isMarkdownString(defaultAgent.metadata.helpTextPrefix)) {
1660
- progress.report({
1661
- content: defaultAgent.metadata.helpTextPrefix,
1662
- kind: "markdownContent"
1663
- });
1664
- } else {
1665
- progress.report({
1666
- content: ( new MarkdownString(defaultAgent.metadata.helpTextPrefix)),
1667
- kind: "markdownContent"
1668
- });
1669
- }
1670
- progress.report({
1671
- content: ( new MarkdownString("\n\n")),
1672
- kind: "markdownContent"
1673
- });
1674
- }
1675
- const agentText = (await Promise.all(( agents.filter(a => !a.isDefault && !a.isCore).filter(a => a.locations.includes(ChatAgentLocation.Chat)).map(async a => {
1676
- const description = a.description ? `- ${a.description}` : "";
1677
- const agentMarkdown = instantiationService.invokeFunction(accessor => agentToMarkdown(a, sessionResource, true, accessor));
1678
- const agentLine = `- ${agentMarkdown} ${description}`;
1679
- const commandText = ( a.slashCommands.map(c => {
1680
- const description = c.description ? `- ${c.description}` : "";
1681
- return `\t* ${agentSlashCommandToMarkdown(a, c, sessionResource)} ${description}`;
1682
- })).join("\n");
1683
- return (agentLine + "\n" + commandText).trim();
1684
- })))).join("\n");
1685
- progress.report({
1686
- content: ( new MarkdownString(agentText, {
1687
- isTrusted: {
1688
- enabledCommands: [ChatSubmitAction.ID]
1689
- }
1690
- })),
1691
- kind: "markdownContent"
1692
- });
1693
- if (defaultAgent?.metadata.helpTextPostfix) {
1694
- progress.report({
1695
- content: ( new MarkdownString("\n\n")),
1696
- kind: "markdownContent"
1697
- });
1698
- if (isMarkdownString(defaultAgent.metadata.helpTextPostfix)) {
1699
- progress.report({
1700
- content: defaultAgent.metadata.helpTextPostfix,
1701
- kind: "markdownContent"
1702
- });
1703
- } else {
1704
- progress.report({
1705
- content: ( new MarkdownString(defaultAgent.metadata.helpTextPostfix)),
1706
- kind: "markdownContent"
1707
- });
1708
- }
1709
- }
1710
- await timeout(200);
1711
- }));
1712
- }
1713
- };
1714
- ChatSlashStaticSlashCommandsContribution = ( __decorate([( __param(0, IChatSlashCommandService)), ( __param(1, ICommandService)), ( __param(2, IChatAgentService)), ( __param(3, IChatWidgetService)), ( __param(4, IInstantiationService)), ( __param(5, IAgentSessionsService))], ChatSlashStaticSlashCommandsContribution));
1715
1906
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(ChatEditorInput.TypeID, ChatEditorInputSerializer);
1907
+ ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(ChatDebugEditorInput.ID, ChatDebugEditorInputSerializer);
1716
1908
  registerWorkbenchContribution2(
1717
1909
  ChatResolverContribution.ID,
1718
1910
  ChatResolverContribution,
1719
1911
  WorkbenchPhase.BlockStartup
1720
1912
  );
1913
+ registerWorkbenchContribution2(
1914
+ ChatDebugResolverContribution.ID,
1915
+ ChatDebugResolverContribution,
1916
+ WorkbenchPhase.BlockStartup
1917
+ );
1918
+ registerWorkbenchContribution2(
1919
+ PromptsDebugContribution.ID,
1920
+ PromptsDebugContribution,
1921
+ WorkbenchPhase.BlockRestore
1922
+ );
1721
1923
  registerWorkbenchContribution2(
1722
1924
  ChatLanguageModelsDataContribution.ID,
1723
1925
  ChatLanguageModelsDataContribution,
1724
1926
  WorkbenchPhase.BlockRestore
1725
1927
  );
1726
1928
  registerWorkbenchContribution2(
1727
- ChatSlashStaticSlashCommandsContribution.ID,
1728
- ChatSlashStaticSlashCommandsContribution,
1929
+ ChatSlashCommandsContribution.ID,
1930
+ ChatSlashCommandsContribution,
1729
1931
  WorkbenchPhase.Eventually
1730
1932
  );
1731
1933
  registerWorkbenchContribution2(
@@ -1784,16 +1986,36 @@ registerWorkbenchContribution2(
1784
1986
  BuiltinToolsContribution,
1785
1987
  WorkbenchPhase.Eventually
1786
1988
  );
1989
+ registerWorkbenchContribution2(
1990
+ UsagesToolContribution.ID,
1991
+ UsagesToolContribution,
1992
+ WorkbenchPhase.BlockRestore
1993
+ );
1994
+ registerWorkbenchContribution2(
1995
+ RenameToolContribution.ID,
1996
+ RenameToolContribution,
1997
+ WorkbenchPhase.BlockRestore
1998
+ );
1787
1999
  registerWorkbenchContribution2(
1788
2000
  ChatAgentSettingContribution.ID,
1789
2001
  ChatAgentSettingContribution,
1790
2002
  WorkbenchPhase.AfterRestored
1791
2003
  );
2004
+ registerWorkbenchContribution2(
2005
+ ChatForegroundSessionCountContribution.ID,
2006
+ ChatForegroundSessionCountContribution,
2007
+ WorkbenchPhase.AfterRestored
2008
+ );
1792
2009
  registerWorkbenchContribution2(
1793
2010
  ChatAgentActionsContribution.ID,
1794
2011
  ChatAgentActionsContribution,
1795
2012
  WorkbenchPhase.Eventually
1796
2013
  );
2014
+ registerWorkbenchContribution2(
2015
+ HookSchemaAssociationContribution.ID,
2016
+ HookSchemaAssociationContribution,
2017
+ WorkbenchPhase.AfterRestored
2018
+ );
1797
2019
  registerWorkbenchContribution2(
1798
2020
  ToolReferenceNamesContribution.ID,
1799
2021
  ToolReferenceNamesContribution,
@@ -1839,17 +2061,17 @@ registerWorkbenchContribution2(
1839
2061
  ChatContextContributions,
1840
2062
  WorkbenchPhase.AfterRestored
1841
2063
  );
1842
- registerWorkbenchContribution2(
1843
- ChatResponseResourceFileSystemProvider.ID,
1844
- ChatResponseResourceFileSystemProvider,
1845
- WorkbenchPhase.AfterRestored
1846
- );
1847
2064
  registerWorkbenchContribution2(PromptUrlHandler.ID, PromptUrlHandler, WorkbenchPhase.BlockRestore);
1848
2065
  registerWorkbenchContribution2(
1849
2066
  ChatEditingNotebookFileSystemProviderContrib.ID,
1850
2067
  ChatEditingNotebookFileSystemProviderContrib,
1851
2068
  WorkbenchPhase.BlockStartup
1852
2069
  );
2070
+ registerWorkbenchContribution2(
2071
+ ChatResponseResourceWorkbenchContribution.ID,
2072
+ ChatResponseResourceWorkbenchContribution,
2073
+ WorkbenchPhase.AfterRestored
2074
+ );
1853
2075
  registerWorkbenchContribution2(
1854
2076
  UserToolSetsContributions.ID,
1855
2077
  UserToolSetsContributions,
@@ -1866,10 +2088,15 @@ registerWorkbenchContribution2(
1866
2088
  ChatRepoInfoContribution,
1867
2089
  WorkbenchPhase.Eventually
1868
2090
  );
2091
+ registerWorkbenchContribution2(
2092
+ AgentPluginsViewsContribution.ID,
2093
+ AgentPluginsViewsContribution,
2094
+ WorkbenchPhase.AfterRestored
2095
+ );
1869
2096
  registerChatActions();
1870
2097
  registerChatAccessibilityActions();
1871
2098
  registerChatCopyActions();
1872
- registerChatCustomizationDiagnosticsAction();
2099
+ registerChatOpenAgentDebugPanelAction();
1873
2100
  registerChatCodeBlockActions();
1874
2101
  registerChatCodeCompareBlockActions();
1875
2102
  registerChatFileTreeActions();
@@ -1879,6 +2106,7 @@ registerChatExecuteActions();
1879
2106
  registerChatQueueActions();
1880
2107
  registerQuickChatActions();
1881
2108
  registerChatExportActions();
2109
+ registerChatForkActions();
1882
2110
  registerMoveActions();
1883
2111
  registerNewChatActions();
1884
2112
  registerChatContextActions();
@@ -1887,6 +2115,9 @@ registerChatEditorActions();
1887
2115
  registerChatElicitationActions();
1888
2116
  registerChatToolActions();
1889
2117
  registerLanguageModelActions();
2118
+ registerChatPluginActions();
1890
2119
  registerAction2(ConfigureToolSets);
1891
2120
  registerEditorFeature(ChatPasteProvidersFeature);
2121
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ConfiguredAgentPluginDiscovery)));
2122
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(MarketplaceAgentPluginDiscovery)));
1892
2123
  ChatWidget.CONTRIBS.push(ChatDynamicVariableModel);