@codingame/monaco-vscode-chat-service-override 26.2.2 → 27.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 (316) hide show
  1. package/index.js +31 -1
  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 +39 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +83 -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 +274 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +71 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +284 -0
  12. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +79 -0
  13. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +378 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  15. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +84 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +1 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -29
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +16 -16
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +12 -12
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +33 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +204 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +77 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +541 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -65
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +48 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +19 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +181 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +943 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +248 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +57 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +27 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +118 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +727 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +72 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +623 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +858 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +19 -3
  93. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +529 -363
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +305 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +111 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +58 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +429 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +45 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +781 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +5 -22
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +15 -7
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +15 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +351 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +182 -13
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +892 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +55 -25
  174. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  175. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  177. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  183. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +27 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +102 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +16 -1
  189. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +69 -47
  190. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +2 -41
  191. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +7 -7
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +43 -31
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +67 -42
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +10 -10
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +64 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +4 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +42 -8
  223. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  224. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +58 -31
  225. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  226. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -20
  227. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  228. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +39 -0
  229. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +27 -0
  230. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  231. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  232. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +36 -0
  233. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +188 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +18 -8
  235. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +192 -85
  236. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +2 -1
  237. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +2 -1
  238. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  239. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  240. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +8 -4
  241. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +111 -7
  242. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +2 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +52 -0
  244. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  245. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +73 -0
  246. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +622 -0
  247. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +64 -0
  248. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +478 -0
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +1 -30
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -5
  252. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +2 -8
  253. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +8 -8
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +23 -22
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +44 -14
  258. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +345 -113
  259. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +14 -1
  260. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -24
  261. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  262. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  263. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  264. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +11 -5
  265. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +23 -0
  266. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +248 -24
  267. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  268. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  269. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  270. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  271. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  272. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  273. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  274. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  275. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  276. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +9 -0
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +280 -65
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +1 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +47 -19
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +38 -16
  311. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  312. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  313. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  314. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  316. 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';
@@ -31,7 +29,6 @@ import { IEditorResolverService } from '@codingame/monaco-vscode-api/vscode/vs/w
31
29
  import { AssistedTypes, AddConfigurationType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration';
32
30
  import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
33
31
  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
32
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatColors';
36
33
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
37
34
  import { IChatModeService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes.service';
@@ -39,38 +36,43 @@ import { ChatResponseResourceFileSystemProvider } from '../common/widget/chatRes
39
36
  import '../common/chatService/chatServiceImpl.js';
40
37
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
41
38
  import '../common/participants/chatSlashCommands.js';
42
- import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
43
39
  import '../common/tools/chatTodoListService.js';
44
40
  import '../common/model/chatTransferService.js';
45
41
  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';
42
+ import { ChatConfiguration, AgentsControlClickBehavior, ChatNotificationMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
47
43
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
48
44
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelStats';
49
45
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
46
+ import { agentPluginDiscoveryRegistry } from '../common/plugins/agentPluginService.js';
50
47
  import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
51
48
  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';
49
+ 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, 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
50
  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';
51
+ 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';
52
+ import { HOOK_SCHEMA_URI, hookFileSchema } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
53
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
56
54
  import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
57
55
  import '../common/promptSyntax/service/promptsServiceImpl.js';
58
56
  import { LanguageModelToolsExtensionPointHandler } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution';
59
57
  import { BuiltinToolsContribution } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/builtinTools/tools';
58
+ import { RenameToolContribution } from './tools/renameTool.js';
59
+ import { UsagesToolContribution } from './tools/usagesTool.js';
60
60
  import '../common/voiceChatService.js';
61
61
  import { registerChatAccessibilityActions } from './actions/chatAccessibilityActions.js';
62
62
  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';
63
+ import { ModeOpenChatGlobalAction, registerChatActions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
64
64
  import { CodeBlockActionRendering, registerChatCodeBlockActions, registerChatCodeCompareBlockActions } from './actions/chatCodeblockActions.js';
65
65
  import { ChatContextContributions } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/actions/chatContext';
66
66
  import { registerChatContextActions } from './actions/chatContextActions.js';
67
67
  import { registerChatCopyActions } from './actions/chatCopyActions.js';
68
68
  import { registerChatDeveloperActions } from './actions/chatDeveloperActions.js';
69
- import { ChatSubmitAction, registerChatExecuteActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
69
+ import { registerChatExecuteActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
70
70
  import { registerChatFileTreeActions } from './actions/chatFileTreeActions.js';
71
71
  import { ChatGettingStartedContribution } from './actions/chatGettingStarted.js';
72
+ import { registerChatForkActions } from './actions/chatForkActions.js';
72
73
  import { registerChatExportActions } from './actions/chatImportExport.js';
73
74
  import { registerLanguageModelActions } from './actions/chatLanguageModelActions.js';
75
+ import { registerChatPluginActions } from './actions/chatPluginActions.js';
74
76
  import { registerMoveActions } from './actions/chatMoveActions.js';
75
77
  import { registerNewChatActions } from './actions/chatNewActions.js';
76
78
  import { registerChatPromptNavigationActions } from './actions/chatPromptNavigationActions.js';
@@ -81,11 +83,14 @@ import { registerChatTitleActions } from '@codingame/monaco-vscode-katex-common/
81
83
  import { registerChatElicitationActions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatElicitationActions';
82
84
  import { registerChatToolActions } from './actions/chatToolActions.js';
83
85
  import { ChatTransferContribution } from './actions/chatTransfer.js';
84
- import { registerChatCustomizationDiagnosticsAction } from './actions/chatCustomizationDiagnosticsAction.js';
86
+ import { registerChatOpenAgentDebugPanelAction } from './actions/chatOpenAgentDebugPanelAction.js';
87
+ import '../common/chatDebugServiceImpl.js';
88
+ import { ChatDebugEditor } from './chatDebug/chatDebugEditor.js';
89
+ import { PromptsDebugContribution } from './promptsDebugContribution.js';
90
+ import { ChatDebugEditorInput, ChatDebugEditorInputSerializer } from './chatDebug/chatDebugEditorInput.js';
85
91
  import './agentSessions/agentSessions.contribution.js';
86
92
  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';
88
- import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
93
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
89
94
  import './accessibility/chatAccessibilityService.js';
90
95
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel';
91
96
  import './widget/input/chatStatusWidget.js';
@@ -108,7 +113,8 @@ import { ChatEditorInput, ChatEditorInputSerializer } from '@codingame/monaco-vs
108
113
  import './widget/chatLayoutService.js';
109
114
  import { ChatLanguageModelsDataContribution } from './languageModelsConfigurationService.js';
110
115
  import './chatManagement/chatManagement.contribution.js';
111
- import { agentToMarkdown, agentSlashCommandToMarkdown } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer';
116
+ import './aiCustomization/aiCustomizationWorkspaceService.js';
117
+ import './aiCustomization/aiCustomizationManagement.contribution.js';
112
118
  import './chatOutputItemRenderer.js';
113
119
  import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
114
120
  import { ChatPasteProvidersFeature } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders';
@@ -119,16 +125,21 @@ import { ChatSetupContribution, ChatTeardownContribution } from './chatSetup/cha
119
125
  import { ChatStatusBarEntry } from './chatStatus/chatStatusEntry.js';
120
126
  import './attachments/chatVariables.js';
121
127
  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';
128
+ import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
123
129
  import { ChatImplicitContextContribution } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext';
124
130
  import './widget/input/editor/chatInputCompletions.js';
125
131
  import './widget/input/editor/chatInputEditorContrib.js';
126
132
  import './widget/input/editor/chatInputEditorHover.js';
127
133
  import './tools/languageModelToolsConfirmationService.js';
128
134
  import { globalAutoApproveDescription } from './tools/languageModelToolsService.js';
135
+ import { ConfiguredAgentPluginDiscovery } from '../common/plugins/agentPluginServiceImpl.js';
136
+ import '../common/plugins/pluginMarketplaceService.js';
137
+ import { AgentPluginsViewsContribution } from './agentPluginsView.js';
138
+ import './agentPluginRepositoryService.js';
139
+ import './pluginInstallService.js';
129
140
  import './promptSyntax/promptCodingAgentActionContribution.js';
130
141
  import './promptSyntax/promptToolsCodeLensProvider.js';
131
- import { showConfigureHooksQuickPick } from './promptSyntax/hookActions.js';
142
+ import { ChatSlashCommandsContribution } from './chatSlashCommands.js';
132
143
  import { PromptUrlHandler } from './promptSyntax/promptUrlHandler.js';
133
144
  import { UserToolSetsContributions, ConfigureToolSets } from './tools/toolSetsContribution.js';
134
145
  import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler.js';
@@ -138,85 +149,82 @@ import { ChatRepoInfoContribution } from './chatRepoInfo.js';
138
149
  import { VALID_PROMPT_FOLDER_PATTERN } from '../common/promptSyntax/utils/promptFilesLocator.js';
139
150
  import './chatTipService.js';
140
151
  import { ChatQueuePickerRendering } from './widget/input/chatQueuePickerActionItem.js';
152
+ import { ExploreAgentDefaultModel } from './exploreAgentDefaultModel.js';
153
+ import { PlanAgentDefaultModel } from './planAgentDefaultModel.js';
141
154
  import '../../notebook/browser/controller/chat/notebook.chat.contribution.js';
142
155
 
143
156
  const toolReferenceNameEnumValues = [];
144
157
  const toolReferenceNameEnumDescriptions = [];
145
158
  const jsonContributionRegistry = ( Registry.as(Extensions.JSONContribution));
146
159
  jsonContributionRegistry.registerSchema(HOOK_SCHEMA_URI, hookFileSchema);
147
- jsonContributionRegistry.registerSchemaAssociation(HOOK_SCHEMA_URI, HOOK_FILE_GLOB);
148
160
  const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
149
161
  configurationRegistry.registerConfiguration({
150
162
  id: "chatSidebar",
151
- title: ( localize(5138, "Chat")),
163
+ title: ( localize(5389, "Chat")),
152
164
  type: "object",
153
165
  properties: {
154
166
  "chat.fontSize": {
155
167
  type: "number",
156
- description: ( localize(5139, "Controls the font size in pixels in chat messages.")),
168
+ description: ( localize(5390, "Controls the font size in pixels in chat messages.")),
157
169
  default: 13,
158
170
  minimum: 6,
159
171
  maximum: 100
160
172
  },
161
173
  "chat.fontFamily": {
162
174
  type: "string",
163
- description: ( localize(5140, "Controls the font family in chat messages.")),
175
+ description: ( localize(5391, "Controls the font family in chat messages.")),
164
176
  default: "default"
165
177
  },
166
178
  "chat.editor.fontSize": {
167
179
  type: "number",
168
- description: ( localize(5141, "Controls the font size in pixels in chat codeblocks.")),
180
+ description: ( localize(5392, "Controls the font size in pixels in chat codeblocks.")),
169
181
  default: isMacintosh ? 12 : 14
170
182
  },
171
183
  "chat.editor.fontFamily": {
172
184
  type: "string",
173
- description: ( localize(5142, "Controls the font family in chat codeblocks.")),
185
+ description: ( localize(5393, "Controls the font family in chat codeblocks.")),
174
186
  default: "default"
175
187
  },
176
188
  "chat.editor.fontWeight": {
177
189
  type: "string",
178
- description: ( localize(5143, "Controls the font weight in chat codeblocks.")),
190
+ description: ( localize(5394, "Controls the font weight in chat codeblocks.")),
179
191
  default: "default"
180
192
  },
181
193
  "chat.editor.wordWrap": {
182
194
  type: "string",
183
- description: ( localize(5144, "Controls whether lines should wrap in chat codeblocks.")),
195
+ description: ( localize(5395, "Controls whether lines should wrap in chat codeblocks.")),
184
196
  default: "off",
185
197
  enum: ["on", "off"]
186
198
  },
187
199
  "chat.editor.lineHeight": {
188
200
  type: "number",
189
201
  description: ( localize(
190
- 5145,
202
+ 5396,
191
203
  "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
192
204
  )),
193
205
  default: 0
194
206
  },
195
207
  [ChatConfiguration.AgentsControlClickBehavior]: {
196
208
  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,
209
+ enum: [AgentsControlClickBehavior.Default, AgentsControlClickBehavior.Cycle],
210
+ enumDescriptions: [( localize(5397, "Clicking chat icon toggles chat visibility.")), ( localize(
211
+ 5398,
204
212
  "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
213
  ))],
209
214
  markdownDescription: ( localize(
210
- 5149,
215
+ 5399,
211
216
  "Controls the behavior when clicking on the chat icon in the command center."
212
217
  )),
213
- default: product.quality !== "stable" ? AgentsControlClickBehavior.Cycle : AgentsControlClickBehavior.Default,
214
- tags: ["experimental"]
218
+ default: AgentsControlClickBehavior.Default,
219
+ tags: ["experimental"],
220
+ experiment: {
221
+ mode: "auto"
222
+ }
215
223
  },
216
224
  [ChatConfiguration.AgentStatusEnabled]: {
217
225
  type: "boolean",
218
226
  markdownDescription: ( localize(
219
- 5150,
227
+ 5400,
220
228
  "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
229
  "`#window.commandCenter#`",
222
230
  "`#chat.viewSessions.enabled#`"
@@ -227,7 +235,7 @@ configurationRegistry.registerConfiguration({
227
235
  [ChatConfiguration.UnifiedAgentsBar]: {
228
236
  type: "boolean",
229
237
  markdownDescription: ( localize(
230
- 5151,
238
+ 5401,
231
239
  "Replaces the command center search box with a unified chat and search widget."
232
240
  )),
233
241
  default: false,
@@ -236,7 +244,7 @@ configurationRegistry.registerConfiguration({
236
244
  [ChatConfiguration.AgentSessionProjectionEnabled]: {
237
245
  type: "boolean",
238
246
  markdownDescription: ( localize(
239
- 5152,
247
+ 5402,
240
248
  "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
241
249
  )),
242
250
  default: false,
@@ -245,14 +253,14 @@ configurationRegistry.registerConfiguration({
245
253
  "chat.implicitContext.enabled": {
246
254
  type: "object",
247
255
  description: ( localize(
248
- 5153,
256
+ 5403,
249
257
  "Enables automatically using the active editor as chat context for specified chat locations."
250
258
  )),
251
259
  additionalProperties: {
252
260
  type: "string",
253
261
  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."))]
262
+ description: ( localize(5404, "The value for the implicit context.")),
263
+ enumDescriptions: [( localize(5405, "Implicit context is never enabled.")), ( localize(5406, "Implicit context is enabled for the first interaction.")), ( localize(5407, "Implicit context is always enabled."))]
256
264
  },
257
265
  default: {
258
266
  "panel": "always"
@@ -261,7 +269,7 @@ configurationRegistry.registerConfiguration({
261
269
  "chat.implicitContext.suggestedContext": {
262
270
  type: "boolean",
263
271
  markdownDescription: ( localize(
264
- 5158,
272
+ 5408,
265
273
  "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
274
  )),
267
275
  default: true
@@ -269,7 +277,7 @@ configurationRegistry.registerConfiguration({
269
277
  "chat.editing.autoAcceptDelay": {
270
278
  type: "number",
271
279
  markdownDescription: ( localize(
272
- 5159,
280
+ 5409,
273
281
  "Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
274
282
  )),
275
283
  default: 0,
@@ -280,7 +288,7 @@ configurationRegistry.registerConfiguration({
280
288
  type: "boolean",
281
289
  scope: ConfigurationScope.APPLICATION,
282
290
  markdownDescription: ( localize(
283
- 5160,
291
+ 5410,
284
292
  "Whether to show a confirmation before removing a request and its associated edits."
285
293
  )),
286
294
  default: true
@@ -289,7 +297,7 @@ configurationRegistry.registerConfiguration({
289
297
  type: "boolean",
290
298
  scope: ConfigurationScope.APPLICATION,
291
299
  markdownDescription: ( localize(
292
- 5161,
300
+ 5411,
293
301
  "Whether to show a confirmation before retrying a request and its associated edits."
294
302
  )),
295
303
  default: true
@@ -297,7 +305,7 @@ configurationRegistry.registerConfiguration({
297
305
  "chat.editing.explainChanges.enabled": {
298
306
  type: "boolean",
299
307
  markdownDescription: ( localize(
300
- 5162,
308
+ 5412,
301
309
  "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
310
  )),
303
311
  default: false,
@@ -308,9 +316,10 @@ configurationRegistry.registerConfiguration({
308
316
  },
309
317
  "chat.tips.enabled": {
310
318
  type: "boolean",
319
+ scope: ConfigurationScope.APPLICATION,
311
320
  description: ( localize(
312
- 5163,
313
- "Controls whether tips are shown above user messages in chat. This is an experimental feature."
321
+ 5413,
322
+ "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
323
  )),
315
324
  default: false,
316
325
  tags: ["experimental"],
@@ -318,29 +327,39 @@ configurationRegistry.registerConfiguration({
318
327
  mode: "auto"
319
328
  }
320
329
  },
330
+ "chat.upvoteAnimation": {
331
+ type: "string",
332
+ enum: ["off", "confetti", "floatingThumbs", "pulseWave", "radiantLines"],
333
+ enumDescriptions: [( localize(5414, "No animation is shown.")), ( localize(5415, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5416, "Shows floating thumbs up icons rising from the button.")), ( localize(5417, "Shows expanding pulse rings from the button.")), ( localize(5418, "Shows radiant lines emanating from the button."))],
334
+ description: ( localize(
335
+ 5419,
336
+ "Controls whether an animation is shown when clicking the thumbs up button on a chat response."
337
+ )),
338
+ default: "floatingThumbs"
339
+ },
321
340
  "chat.experimental.detectParticipant.enabled": {
322
341
  type: "boolean",
323
342
  deprecationMessage: ( localize(
324
- 5164,
343
+ 5420,
325
344
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
326
345
  )),
327
- description: ( localize(5165, "Enables chat participant autodetection for panel chat.")),
346
+ description: ( localize(5421, "Enables chat participant autodetection for panel chat.")),
328
347
  default: null
329
348
  },
330
349
  "chat.detectParticipant.enabled": {
331
350
  type: "boolean",
332
- description: ( localize(5166, "Enables chat participant autodetection for panel chat.")),
351
+ description: ( localize(5422, "Enables chat participant autodetection for panel chat.")),
333
352
  default: true
334
353
  },
335
354
  [ChatConfiguration.InlineReferencesStyle]: {
336
355
  type: "string",
337
356
  enum: ["box", "link"],
338
- enumDescriptions: [( localize(5167, "Display file and symbol references as boxed widgets with icons.")), ( localize(
339
- 5168,
357
+ enumDescriptions: [( localize(5423, "Display file and symbol references as boxed widgets with icons.")), ( localize(
358
+ 5424,
340
359
  "Display file and symbol references as simple blue links without icons."
341
360
  ))],
342
361
  description: ( localize(
343
- 5169,
362
+ 5425,
344
363
  "Controls how file and symbol references are displayed in chat messages."
345
364
  )),
346
365
  default: "box"
@@ -348,7 +367,7 @@ configurationRegistry.registerConfiguration({
348
367
  [ChatConfiguration.EditorAssociations]: {
349
368
  type: "object",
350
369
  markdownDescription: ( localize(
351
- 5170,
370
+ 5426,
352
371
  "Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
353
372
  )),
354
373
  additionalProperties: {
@@ -356,13 +375,31 @@ configurationRegistry.registerConfiguration({
356
375
  },
357
376
  default: {}
358
377
  },
359
- "chat.notifyWindowOnConfirmation": {
360
- type: "boolean",
378
+ [ChatConfiguration.NotifyWindowOnConfirmation]: {
379
+ type: "string",
380
+ enum: ["off", "windowNotFocused", "always"],
381
+ enumDescriptions: [( localize(5427, "Never show OS notifications for confirmations.")), ( localize(
382
+ 5428,
383
+ "Show OS notifications for confirmations when the window is not focused."
384
+ )), ( localize(
385
+ 5429,
386
+ "Always show OS notifications for confirmations, even when the window is focused."
387
+ ))],
361
388
  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."
389
+ 5430,
390
+ "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
391
  )),
365
- default: true
392
+ default: "windowNotFocused"
393
+ },
394
+ [ChatConfiguration.AutoReply]: {
395
+ default: false,
396
+ markdownDescription: ( localize(
397
+ 5431,
398
+ "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."
399
+ )),
400
+ type: "boolean",
401
+ scope: ConfigurationScope.APPLICATION_MACHINE,
402
+ tags: ["experimental", "advanced"]
366
403
  },
367
404
  [ChatConfiguration.GlobalAutoApprove]: {
368
405
  default: false,
@@ -377,10 +414,10 @@ configurationRegistry.registerConfiguration({
377
414
  value: policyData => policyData.chat_preview_features_enabled === false ? false : undefined,
378
415
  localization: {
379
416
  description: {
380
- key: "autoApprove2.description",
417
+ key: "autoApprove3.description",
381
418
  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."
419
+ 5432,
420
+ "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
421
  ))
385
422
  }
386
423
  }
@@ -397,8 +434,8 @@ configurationRegistry.registerConfiguration({
397
434
  "**/*-lock.{yaml,json}": false
398
435
  },
399
436
  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."
437
+ 5433,
438
+ "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
439
  )),
403
440
  type: "object",
404
441
  additionalProperties: {
@@ -408,7 +445,7 @@ configurationRegistry.registerConfiguration({
408
445
  [ChatConfiguration.AutoApprovedUrls]: {
409
446
  default: {},
410
447
  markdownDescription: ( localize(
411
- 5174,
448
+ 5434,
412
449
  "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
450
  )),
414
451
  type: "object",
@@ -431,7 +468,7 @@ configurationRegistry.registerConfiguration({
431
468
  [ChatConfiguration.EligibleForAutoApproval]: {
432
469
  default: {},
433
470
  markdownDescription: ( localize(
434
- 5175,
471
+ 5435,
435
472
  "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
473
  )),
437
474
  type: "object",
@@ -454,7 +491,7 @@ configurationRegistry.registerConfiguration({
454
491
  description: {
455
492
  key: "chat.tools.eligibleForAutoApproval",
456
493
  value: ( localize(
457
- 5175,
494
+ 5435,
458
495
  "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
496
  ))
460
497
  }
@@ -464,7 +501,7 @@ configurationRegistry.registerConfiguration({
464
501
  "chat.sendElementsToChat.enabled": {
465
502
  default: true,
466
503
  description: ( localize(
467
- 5176,
504
+ 5436,
468
505
  "Controls whether elements can be sent to chat from the Simple Browser."
469
506
  )),
470
507
  type: "boolean",
@@ -473,7 +510,7 @@ configurationRegistry.registerConfiguration({
473
510
  "chat.sendElementsToChat.attachCSS": {
474
511
  default: true,
475
512
  markdownDescription: ( localize(
476
- 5177,
513
+ 5437,
477
514
  "Controls whether CSS of the selected element will be added to the chat. {0} must be enabled.",
478
515
  "`#chat.sendElementsToChat.enabled#`"
479
516
  )),
@@ -483,7 +520,7 @@ configurationRegistry.registerConfiguration({
483
520
  "chat.sendElementsToChat.attachImages": {
484
521
  default: true,
485
522
  markdownDescription: ( localize(
486
- 5178,
523
+ 5438,
487
524
  "Controls whether a screenshot of the selected element will be added to the chat. {0} must be enabled.",
488
525
  "`#chat.sendElementsToChat.enabled#`"
489
526
  )),
@@ -493,14 +530,14 @@ configurationRegistry.registerConfiguration({
493
530
  "chat.undoRequests.restoreInput": {
494
531
  default: true,
495
532
  markdownDescription: ( localize(
496
- 5179,
533
+ 5439,
497
534
  "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
535
  )),
499
536
  type: "boolean"
500
537
  },
501
538
  "chat.editRequests": {
502
539
  markdownDescription: ( localize(
503
- 5180,
540
+ 5440,
504
541
  "Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
505
542
  )),
506
543
  type: "string",
@@ -511,7 +548,7 @@ configurationRegistry.registerConfiguration({
511
548
  type: "boolean",
512
549
  default: true,
513
550
  description: ( localize(
514
- 5181,
551
+ 5441,
515
552
  "Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
516
553
  ))
517
554
  },
@@ -519,15 +556,15 @@ configurationRegistry.registerConfiguration({
519
556
  type: "string",
520
557
  enum: ["stacked", "sideBySide"],
521
558
  enumDescriptions: [( localize(
522
- 5182,
559
+ 5442,
523
560
  "Display chat sessions vertically stacked above the chat input unless a chat session is visible."
524
561
  )), ( localize(
525
- 5183,
562
+ 5443,
526
563
  "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
564
  ))],
528
565
  default: "sideBySide",
529
566
  description: ( localize(
530
- 5184,
567
+ 5444,
531
568
  "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
532
569
  ))
533
570
  },
@@ -535,39 +572,52 @@ configurationRegistry.registerConfiguration({
535
572
  type: "boolean",
536
573
  default: false,
537
574
  description: ( localize(
538
- 5185,
575
+ 5445,
539
576
  "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
540
577
  ))
541
578
  },
542
- [ChatConfiguration.NotifyWindowOnResponseReceived]: {
579
+ [ChatConfiguration.ChatContextUsageEnabled]: {
543
580
  type: "boolean",
544
581
  default: true,
582
+ description: ( localize(5446, "Show the context window usage indicator in the chat input."))
583
+ },
584
+ [ChatConfiguration.NotifyWindowOnResponseReceived]: {
585
+ type: "string",
586
+ enum: ["off", "windowNotFocused", "always"],
587
+ enumDescriptions: [( localize(5447, "Never show OS notifications for responses.")), ( localize(
588
+ 5448,
589
+ "Show OS notifications for responses when the window is not focused."
590
+ )), ( localize(
591
+ 5449,
592
+ "Always show OS notifications for responses, even when the window is focused."
593
+ ))],
594
+ default: "windowNotFocused",
545
595
  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."
596
+ 5450,
597
+ "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
598
  ))
549
599
  },
550
600
  "chat.checkpoints.enabled": {
551
601
  type: "boolean",
552
602
  default: true,
553
603
  description: ( localize(
554
- 5187,
604
+ 5451,
555
605
  "Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
556
606
  ))
557
607
  },
558
608
  "chat.checkpoints.showFileChanges": {
559
609
  type: "boolean",
560
- description: ( localize(5188, "Controls whether to show chat checkpoint file changes.")),
610
+ description: ( localize(5452, "Controls whether to show chat checkpoint file changes.")),
561
611
  default: false
562
612
  },
563
613
  [mcpAccessConfig]: {
564
614
  type: "string",
565
- description: ( localize(5189, "Controls access to installed Model Context Protocol servers.")),
615
+ description: ( localize(5453, "Controls access to installed Model Context Protocol servers.")),
566
616
  enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
567
- enumDescriptions: [( localize(5190, "No access to MCP servers.")), ( localize(
568
- 5191,
617
+ enumDescriptions: [( localize(5454, "No access to MCP servers.")), ( localize(
618
+ 5455,
569
619
  "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."))],
620
+ )), ( localize(5456, "Allow access to any installed MCP server."))],
571
621
  default: McpAccessValue.All,
572
622
  policy: {
573
623
  name: "ChatMCP",
@@ -585,20 +635,20 @@ configurationRegistry.registerConfiguration({
585
635
  localization: {
586
636
  description: {
587
637
  key: "chat.mcp.access",
588
- value: ( localize(5189, "Controls access to installed Model Context Protocol servers."))
638
+ value: ( localize(5453, "Controls access to installed Model Context Protocol servers."))
589
639
  },
590
640
  enumDescriptions: [{
591
641
  key: "chat.mcp.access.none",
592
- value: ( localize(5190, "No access to MCP servers."))
642
+ value: ( localize(5454, "No access to MCP servers."))
593
643
  }, {
594
644
  key: "chat.mcp.access.registry",
595
645
  value: ( localize(
596
- 5191,
646
+ 5455,
597
647
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
598
648
  ))
599
649
  }, {
600
650
  key: "chat.mcp.access.any",
601
- value: ( localize(5192, "Allow access to any installed MCP server."))
651
+ value: ( localize(5456, "Allow access to any installed MCP server."))
602
652
  }]
603
653
  }
604
654
  }
@@ -606,7 +656,7 @@ configurationRegistry.registerConfiguration({
606
656
  [mcpAutoStartConfig]: {
607
657
  type: "string",
608
658
  description: ( localize(
609
- 5193,
659
+ 5457,
610
660
  "Controls whether MCP servers should be automatically started when the chat messages are submitted."
611
661
  )),
612
662
  default: McpAutoStartValue.NewAndOutdated,
@@ -615,8 +665,8 @@ configurationRegistry.registerConfiguration({
615
665
  McpAutoStartValue.OnlyNew,
616
666
  McpAutoStartValue.NewAndOutdated
617
667
  ],
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,
668
+ enumDescriptions: [( localize(5458, "Never automatically start MCP servers.")), ( localize(5459, "Only automatically start new MCP servers that have never been run.")), ( localize(
669
+ 5460,
620
670
  "Automatically start new and outdated MCP servers that are not yet running."
621
671
  ))],
622
672
  tags: ["experimental"]
@@ -624,7 +674,7 @@ configurationRegistry.registerConfiguration({
624
674
  [mcpAppsEnabledConfig]: {
625
675
  type: "boolean",
626
676
  description: ( localize(
627
- 5197,
677
+ 5461,
628
678
  "Controls whether MCP servers can provide custom UI for tool invocations."
629
679
  )),
630
680
  default: true,
@@ -633,9 +683,9 @@ configurationRegistry.registerConfiguration({
633
683
  [mcpServerSamplingSection]: {
634
684
  type: "object",
635
685
  description: ( localize(
636
- 5198,
686
+ 5462,
637
687
  "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"))
688
+ "MCP: " + ( localize(5463, "List Servers"))
639
689
  )),
640
690
  scope: ConfigurationScope.RESOURCE,
641
691
  additionalProperties: {
@@ -644,7 +694,7 @@ configurationRegistry.registerConfiguration({
644
694
  allowedDuringChat: {
645
695
  type: "boolean",
646
696
  description: ( localize(
647
- 5200,
697
+ 5464,
648
698
  "Whether this server is make sampling requests during its tool calls in a chat session."
649
699
  )),
650
700
  default: true
@@ -652,7 +702,7 @@ configurationRegistry.registerConfiguration({
652
702
  allowedOutsideChat: {
653
703
  type: "boolean",
654
704
  description: ( localize(
655
- 5201,
705
+ 5465,
656
706
  "Whether this server is allowed to make sampling requests outside of a chat session."
657
707
  )),
658
708
  default: false
@@ -661,7 +711,7 @@ configurationRegistry.registerConfiguration({
661
711
  type: "array",
662
712
  items: {
663
713
  type: "string",
664
- description: ( localize(5202, "A model the MCP server has access to."))
714
+ description: ( localize(5466, "A model the MCP server has access to."))
665
715
  }
666
716
  }
667
717
  }
@@ -670,7 +720,7 @@ configurationRegistry.registerConfiguration({
670
720
  [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
671
721
  type: "boolean",
672
722
  description: ( localize(
673
- 5203,
723
+ 5467,
674
724
  "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
725
  )),
676
726
  default: false,
@@ -682,14 +732,14 @@ configurationRegistry.registerConfiguration({
682
732
  [ChatConfiguration.Edits2Enabled]: {
683
733
  type: "boolean",
684
734
  description: ( localize(
685
- 5204,
735
+ 5468,
686
736
  "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
737
  )),
688
738
  default: false
689
739
  },
690
740
  [ChatConfiguration.ExtensionToolsEnabled]: {
691
741
  type: "boolean",
692
- description: ( localize(5205, "Enable using tools contributed by third-party extensions.")),
742
+ description: ( localize(5469, "Enable using tools contributed by third-party extensions.")),
693
743
  default: true,
694
744
  policy: {
695
745
  name: "ChatAgentExtensionTools",
@@ -698,18 +748,52 @@ configurationRegistry.registerConfiguration({
698
748
  localization: {
699
749
  description: {
700
750
  key: "chat.extensionToolsEnabled",
701
- value: ( localize(5205, "Enable using tools contributed by third-party extensions."))
751
+ value: ( localize(5469, "Enable using tools contributed by third-party extensions."))
702
752
  }
703
753
  }
704
754
  }
705
755
  },
756
+ [ChatConfiguration.PluginsEnabled]: {
757
+ type: "boolean",
758
+ description: ( localize(5470, "Enable agent plugin integration in chat.")),
759
+ default: true,
760
+ tags: ["preview"]
761
+ },
762
+ [ChatConfiguration.PluginPaths]: {
763
+ type: "object",
764
+ additionalProperties: {
765
+ type: "boolean"
766
+ },
767
+ restricted: true,
768
+ markdownDescription: ( localize(
769
+ 5471,
770
+ "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 or relative to the workspace root."
771
+ )),
772
+ default: {},
773
+ scope: ConfigurationScope.MACHINE,
774
+ tags: ["experimental"]
775
+ },
776
+ [ChatConfiguration.PluginMarketplaces]: {
777
+ type: "array",
778
+ items: {
779
+ type: "string"
780
+ },
781
+ markdownDescription: ( localize(
782
+ 5472,
783
+ "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."
784
+ )),
785
+ default: ["github/copilot-plugins", "github/awesome-copilot"],
786
+ scope: ConfigurationScope.APPLICATION,
787
+ tags: ["experimental"]
788
+ },
706
789
  [ChatConfiguration.AgentEnabled]: {
707
790
  type: "boolean",
708
791
  description: ( localize(
709
- 5206,
792
+ 5473,
710
793
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
711
794
  )),
712
795
  default: true,
796
+ order: 1,
713
797
  policy: {
714
798
  name: "ChatAgentMode",
715
799
  category: PolicyCategory.InteractiveSession,
@@ -719,51 +803,52 @@ configurationRegistry.registerConfiguration({
719
803
  description: {
720
804
  key: "chat.agent.enabled.description",
721
805
  value: ( localize(
722
- 5206,
806
+ 5473,
723
807
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
724
808
  ))
725
809
  }
726
810
  }
727
811
  }
728
812
  },
729
- [ChatConfiguration.RequestQueueingEnabled]: {
730
- type: "boolean",
813
+ [ChatConfiguration.PlanAgentDefaultModel]: {
814
+ type: "string",
731
815
  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."
816
+ 5474,
817
+ "Select the default language model to use for the Plan agent from the available providers."
734
818
  )),
735
- default: true,
736
- tags: ["experimental"]
819
+ default: "",
820
+ enum: PlanAgentDefaultModel.modelIds,
821
+ enumItemLabels: PlanAgentDefaultModel.modelLabels,
822
+ markdownEnumDescriptions: PlanAgentDefaultModel.modelDescriptions
823
+ },
824
+ [ChatConfiguration.ExploreAgentDefaultModel]: {
825
+ type: "string",
826
+ description: ( localize(
827
+ 5475,
828
+ "Select the default language model to use for the Explore subagent from the available providers."
829
+ )),
830
+ default: "",
831
+ enum: ExploreAgentDefaultModel.modelIds,
832
+ enumItemLabels: ExploreAgentDefaultModel.modelLabels,
833
+ markdownEnumDescriptions: ExploreAgentDefaultModel.modelDescriptions
737
834
  },
738
835
  [ChatConfiguration.RequestQueueingDefaultAction]: {
739
836
  type: "string",
740
837
  enum: ["queue", "steer"],
741
- enumDescriptions: [( localize(5208, "Queue the message to send after the current request completes.")), ( localize(
742
- 5209,
838
+ enumDescriptions: [( localize(5476, "Queue the message to send after the current request completes.")), ( localize(
839
+ 5477,
743
840
  "Steer the current request by sending the message immediately, signaling the current request to yield."
744
841
  ))],
745
842
  description: ( localize(
746
- 5210,
843
+ 5478,
747
844
  "Controls which action is the default for the queue button when a request is in progress."
748
845
  )),
749
846
  default: "steer"
750
847
  },
751
848
  [ChatConfiguration.EditModeHidden]: {
752
849
  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,
850
+ description: ( localize(5479, "When enabled, hides the Edit mode from the chat mode picker.")),
851
+ default: true,
767
852
  tags: ["experimental"],
768
853
  experiment: {
769
854
  mode: "auto"
@@ -771,27 +856,25 @@ configurationRegistry.registerConfiguration({
771
856
  },
772
857
  [ChatConfiguration.EnableMath]: {
773
858
  type: "boolean",
774
- description: ( localize(5213, "Enable math rendering in chat responses using KaTeX.")),
859
+ description: ( localize(5480, "Enable math rendering in chat responses using KaTeX.")),
775
860
  default: true
776
861
  },
777
862
  [ChatConfiguration.ShowCodeBlockProgressAnimation]: {
778
863
  type: "boolean",
779
864
  description: ( localize(
780
- 5214,
865
+ 5481,
781
866
  "When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
782
867
  )),
783
868
  default: true,
784
869
  tags: ["experimental"]
785
870
  },
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."))],
871
+ ["chat.statusWidget.anonymous"]: {
872
+ type: "boolean",
790
873
  description: ( localize(
791
- 5217,
792
- "Controls which user type should see the status widget in new chat sessions when quota is exceeded."
874
+ 5482,
875
+ "Controls whether anonymous users see the status widget in new chat sessions when rate limited."
793
876
  )),
794
- default: undefined,
877
+ default: false,
795
878
  tags: ["experimental", "advanced"],
796
879
  experiment: {
797
880
  mode: "auto"
@@ -806,7 +889,7 @@ configurationRegistry.registerConfiguration({
806
889
  additionalProperties: false,
807
890
  default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
808
891
  markdownDescription: ( localize(
809
- 5218,
892
+ 5483,
810
893
  "Configures discovery of Model Context Protocol servers from configuration from various other applications."
811
894
  ))
812
895
  },
@@ -815,14 +898,14 @@ configurationRegistry.registerConfiguration({
815
898
  default: false,
816
899
  tags: ["preview"],
817
900
  description: ( localize(
818
- 5219,
901
+ 5484,
819
902
  "Enables the default Marketplace for Model Context Protocol (MCP) servers."
820
903
  )),
821
904
  included: product.quality === "stable"
822
905
  },
823
906
  [mcpGalleryServiceUrlConfig]: {
824
907
  type: "string",
825
- description: ( localize(5220, "Configure the MCP Gallery service URL to connect to")),
908
+ description: ( localize(5485, "Configure the MCP Gallery service URL to connect to")),
826
909
  default: "",
827
910
  scope: ConfigurationScope.APPLICATION,
828
911
  tags: ["usesOnlineServices", "advanced"],
@@ -835,23 +918,27 @@ configurationRegistry.registerConfiguration({
835
918
  localization: {
836
919
  description: {
837
920
  key: "mcp.gallery.serviceUrl",
838
- value: ( localize(5220, "Configure the MCP Gallery service URL to connect to"))
921
+ value: ( localize(5485, "Configure the MCP Gallery service URL to connect to"))
839
922
  }
840
923
  }
841
924
  }
842
925
  },
843
926
  [PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
844
927
  type: "object",
845
- title: ( localize(5221, "Instructions File Locations")),
928
+ title: ( localize(5486, "Instructions File Locations")),
846
929
  markdownDescription: ( localize(
847
- 5222,
930
+ 5487,
848
931
  "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
932
  INSTRUCTION_FILE_EXTENSION,
850
933
  INSTRUCTIONS_DOCUMENTATION_URL
851
934
  )),
852
935
  default: {
853
- [INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true,
854
- [CLAUDE_RULES_SOURCE_FOLDER]: true
936
+ ...( DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS.map(folder => ({
937
+ [folder.path]: true
938
+ }))).reduce((acc, curr) => ({
939
+ ...acc,
940
+ ...curr
941
+ }), {})
855
942
  },
856
943
  additionalProperties: {
857
944
  type: "boolean"
@@ -859,15 +946,14 @@ configurationRegistry.registerConfiguration({
859
946
  propertyNames: {
860
947
  pattern: VALID_PROMPT_FOLDER_PATTERN,
861
948
  patternErrorMessage: ( localize(
862
- 5223,
949
+ 5488,
863
950
  "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
951
  ))
865
952
  },
866
953
  restricted: true,
867
954
  tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"],
868
955
  examples: [{
869
- [INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true,
870
- [CLAUDE_RULES_SOURCE_FOLDER]: true
956
+ [DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS[0].path]: true
871
957
  }, {
872
958
  [INSTRUCTIONS_DEFAULT_SOURCE_FOLDER]: true,
873
959
  "/Users/vscode/repos/instructions": true
@@ -875,9 +961,9 @@ configurationRegistry.registerConfiguration({
875
961
  },
876
962
  [PromptsConfig.PROMPT_LOCATIONS_KEY]: {
877
963
  type: "object",
878
- title: ( localize(5224, "Prompt File Locations")),
964
+ title: ( localize(5489, "Prompt File Locations")),
879
965
  markdownDescription: ( localize(
880
- 5225,
966
+ 5490,
881
967
  "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
968
  PROMPT_FILE_EXTENSION,
883
969
  PROMPT_DOCUMENTATION_URL
@@ -894,7 +980,7 @@ configurationRegistry.registerConfiguration({
894
980
  propertyNames: {
895
981
  pattern: VALID_PROMPT_FOLDER_PATTERN,
896
982
  patternErrorMessage: ( localize(
897
- 5226,
983
+ 5491,
898
984
  "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
985
  ))
900
986
  },
@@ -909,9 +995,9 @@ configurationRegistry.registerConfiguration({
909
995
  },
910
996
  [PromptsConfig.MODE_LOCATION_KEY]: {
911
997
  type: "object",
912
- title: ( localize(5227, "Mode File Locations")),
998
+ title: ( localize(5492, "Mode File Locations")),
913
999
  markdownDescription: ( localize(
914
- 5228,
1000
+ 5493,
915
1001
  "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
1002
  LEGACY_MODE_FILE_EXTENSION,
917
1003
  AGENT_DOCUMENTATION_URL
@@ -920,7 +1006,7 @@ configurationRegistry.registerConfiguration({
920
1006
  [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
921
1007
  },
922
1008
  deprecationMessage: ( localize(
923
- 5229,
1009
+ 5494,
924
1010
  "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
1011
  )),
926
1012
  additionalProperties: {
@@ -946,9 +1032,9 @@ configurationRegistry.registerConfiguration({
946
1032
  },
947
1033
  [PromptsConfig.AGENTS_LOCATION_KEY]: {
948
1034
  type: "object",
949
- title: ( localize(5230, "Agent File Locations")),
1035
+ title: ( localize(5495, "Agent File Locations")),
950
1036
  markdownDescription: ( localize(
951
- 5231,
1037
+ 5496,
952
1038
  "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
1039
  AGENT_FILE_EXTENSION,
954
1040
  AGENT_DOCUMENTATION_URL
@@ -963,7 +1049,7 @@ configurationRegistry.registerConfiguration({
963
1049
  propertyNames: {
964
1050
  pattern: VALID_PROMPT_FOLDER_PATTERN,
965
1051
  patternErrorMessage: ( localize(
966
- 5232,
1052
+ 5497,
967
1053
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
968
1054
  ))
969
1055
  },
@@ -980,9 +1066,9 @@ configurationRegistry.registerConfiguration({
980
1066
  },
981
1067
  [PromptsConfig.USE_AGENT_MD]: {
982
1068
  type: "boolean",
983
- title: ( localize(5233, "Use AGENTS.md file")),
1069
+ title: ( localize(5498, "Use AGENTS.md file")),
984
1070
  markdownDescription: ( localize(
985
- 5234,
1071
+ 5499,
986
1072
  "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
987
1073
  )),
988
1074
  default: true,
@@ -992,9 +1078,9 @@ configurationRegistry.registerConfiguration({
992
1078
  },
993
1079
  [PromptsConfig.USE_NESTED_AGENT_MD]: {
994
1080
  type: "boolean",
995
- title: ( localize(5235, "Use nested AGENTS.md files")),
1081
+ title: ( localize(5500, "Use nested AGENTS.md files")),
996
1082
  markdownDescription: ( localize(
997
- 5236,
1083
+ 5501,
998
1084
  "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
1085
  )),
1000
1086
  default: false,
@@ -1010,9 +1096,9 @@ configurationRegistry.registerConfiguration({
1010
1096
  },
1011
1097
  [PromptsConfig.USE_CLAUDE_MD]: {
1012
1098
  type: "boolean",
1013
- title: ( localize(5237, "Use CLAUDE.md file")),
1099
+ title: ( localize(5502, "Use CLAUDE.md file")),
1014
1100
  markdownDescription: ( localize(
1015
- 5238,
1101
+ 5503,
1016
1102
  "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests."
1017
1103
  )),
1018
1104
  default: true,
@@ -1022,9 +1108,9 @@ configurationRegistry.registerConfiguration({
1022
1108
  },
1023
1109
  [PromptsConfig.USE_AGENT_SKILLS]: {
1024
1110
  type: "boolean",
1025
- title: ( localize(5239, "Use Agent skills")),
1111
+ title: ( localize(5504, "Use Agent skills")),
1026
1112
  markdownDescription: ( localize(
1027
- 5240,
1113
+ 5505,
1028
1114
  "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
1115
  )),
1030
1116
  default: true,
@@ -1034,9 +1120,9 @@ configurationRegistry.registerConfiguration({
1034
1120
  },
1035
1121
  [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
1036
1122
  type: "boolean",
1037
- title: ( localize(5241, "Use Skill Adherence Prompt")),
1123
+ title: ( localize(5506, "Use Skill Adherence Prompt")),
1038
1124
  markdownDescription: ( localize(
1039
- 5242,
1125
+ 5507,
1040
1126
  "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
1127
  )),
1042
1128
  default: false,
@@ -1055,9 +1141,9 @@ configurationRegistry.registerConfiguration({
1055
1141
  },
1056
1142
  [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
1057
1143
  type: "boolean",
1058
- title: ( localize(5243, "Include Applying Instructions")),
1144
+ title: ( localize(5508, "Include Applying Instructions")),
1059
1145
  markdownDescription: ( localize(
1060
- 5244,
1146
+ 5509,
1061
1147
  "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
1062
1148
  )),
1063
1149
  default: true,
@@ -1067,9 +1153,9 @@ configurationRegistry.registerConfiguration({
1067
1153
  },
1068
1154
  [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
1069
1155
  type: "boolean",
1070
- title: ( localize(5245, "Include Referenced Instructions")),
1156
+ title: ( localize(5510, "Include Referenced Instructions")),
1071
1157
  markdownDescription: ( localize(
1072
- 5246,
1158
+ 5511,
1073
1159
  "Controls whether referenced instructions are automatically included in chat requests."
1074
1160
  )),
1075
1161
  default: false,
@@ -1079,9 +1165,9 @@ configurationRegistry.registerConfiguration({
1079
1165
  },
1080
1166
  [PromptsConfig.SKILLS_LOCATION_KEY]: {
1081
1167
  type: "object",
1082
- title: ( localize(5247, "Agent Skills Locations")),
1168
+ title: ( localize(5512, "Agent Skills Locations")),
1083
1169
  markdownDescription: ( localize(
1084
- 5248,
1170
+ 5513,
1085
1171
  "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
1172
  SKILL_FILENAME,
1087
1173
  SKILL_DOCUMENTATION_URL
@@ -1100,7 +1186,7 @@ configurationRegistry.registerConfiguration({
1100
1186
  propertyNames: {
1101
1187
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1102
1188
  patternErrorMessage: ( localize(
1103
- 5249,
1189
+ 5514,
1104
1190
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1105
1191
  ))
1106
1192
  },
@@ -1117,9 +1203,9 @@ configurationRegistry.registerConfiguration({
1117
1203
  },
1118
1204
  [PromptsConfig.HOOKS_LOCATION_KEY]: {
1119
1205
  type: "object",
1120
- title: ( localize(5250, "Hook File Locations")),
1206
+ title: ( localize(5515, "Hook File Locations")),
1121
1207
  markdownDescription: ( localize(
1122
- 5251,
1208
+ 5516,
1123
1209
  "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
1210
  HOOK_DOCUMENTATION_URL
1125
1211
  )),
@@ -1137,7 +1223,7 @@ configurationRegistry.registerConfiguration({
1137
1223
  propertyNames: {
1138
1224
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1139
1225
  patternErrorMessage: ( localize(
1140
- 5252,
1226
+ 5517,
1141
1227
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1142
1228
  ))
1143
1229
  },
@@ -1152,9 +1238,9 @@ configurationRegistry.registerConfiguration({
1152
1238
  },
1153
1239
  [PromptsConfig.USE_CHAT_HOOKS]: {
1154
1240
  type: "boolean",
1155
- title: ( localize(5253, "Use Chat Hooks")),
1241
+ title: ( localize(5518, "Use Chat Hooks")),
1156
1242
  markdownDescription: ( localize(
1157
- 5254,
1243
+ 5519,
1158
1244
  "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
1245
  )),
1160
1246
  default: true,
@@ -1170,7 +1256,7 @@ configurationRegistry.registerConfiguration({
1170
1256
  description: {
1171
1257
  key: "chat.useHooks.description",
1172
1258
  value: ( localize(
1173
- 5254,
1259
+ 5519,
1174
1260
  "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
1261
  ))
1176
1262
  }
@@ -1179,9 +1265,9 @@ configurationRegistry.registerConfiguration({
1179
1265
  },
1180
1266
  [PromptsConfig.USE_CLAUDE_HOOKS]: {
1181
1267
  type: "boolean",
1182
- title: ( localize(5255, "Use Claude Hooks")),
1268
+ title: ( localize(5520, "Use Claude Hooks")),
1183
1269
  markdownDescription: ( localize(
1184
- 5256,
1270
+ 5521,
1185
1271
  "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
1272
  )),
1187
1273
  default: false,
@@ -1192,9 +1278,9 @@ configurationRegistry.registerConfiguration({
1192
1278
  [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
1193
1279
  type: "object",
1194
1280
  scope: ConfigurationScope.RESOURCE,
1195
- title: ( localize(5257, "Prompt File Recommendations")),
1281
+ title: ( localize(5522, "Prompt File Recommendations")),
1196
1282
  markdownDescription: ( localize(
1197
- 5258,
1283
+ 5523,
1198
1284
  "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
1285
  )),
1200
1286
  default: {},
@@ -1216,7 +1302,7 @@ configurationRegistry.registerConfiguration({
1216
1302
  type: "boolean",
1217
1303
  default: true,
1218
1304
  description: ( localize(
1219
- 5259,
1305
+ 5524,
1220
1306
  "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
1307
  ))
1222
1308
  },
@@ -1224,21 +1310,21 @@ configurationRegistry.registerConfiguration({
1224
1310
  type: "string",
1225
1311
  default: "fixedScrolling",
1226
1312
  enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
1227
- enumDescriptions: [( localize(5260, "Thinking parts will be collapsed by default.")), ( localize(
1228
- 5261,
1313
+ enumDescriptions: [( localize(5525, "Thinking parts will be collapsed by default.")), ( localize(
1314
+ 5526,
1229
1315
  "Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
1230
1316
  )), ( localize(
1231
- 5262,
1317
+ 5527,
1232
1318
  "Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
1233
1319
  ))],
1234
- description: ( localize(5263, "Controls how thinking is rendered.")),
1320
+ description: ( localize(5528, "Controls how thinking is rendered.")),
1235
1321
  tags: ["experimental"]
1236
1322
  },
1237
1323
  [ChatConfiguration.ThinkingGenerateTitles]: {
1238
1324
  type: "boolean",
1239
1325
  default: true,
1240
1326
  description: ( localize(
1241
- 5264,
1327
+ 5529,
1242
1328
  "Controls whether to use an LLM to generate summary titles for thinking sections."
1243
1329
  )),
1244
1330
  tags: ["experimental"]
@@ -1247,12 +1333,12 @@ configurationRegistry.registerConfiguration({
1247
1333
  type: "string",
1248
1334
  default: "always",
1249
1335
  enum: ["off", "withThinking", "always"],
1250
- enumDescriptions: [( localize(5265, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1251
- 5266,
1336
+ enumDescriptions: [( localize(5530, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1337
+ 5531,
1252
1338
  "Tool calls are collapsed into thinking sections when thinking is present."
1253
- )), ( localize(5267, "Tool calls are always collapsed, even without thinking."))],
1339
+ )), ( localize(5532, "Tool calls are always collapsed, even without thinking."))],
1254
1340
  markdownDescription: ( localize(
1255
- 5268,
1341
+ 5533,
1256
1342
  "Controls how tool calls are displayed in relation to thinking sections."
1257
1343
  )),
1258
1344
  tags: ["experimental"]
@@ -1261,23 +1347,91 @@ configurationRegistry.registerConfiguration({
1261
1347
  type: "boolean",
1262
1348
  default: true,
1263
1349
  markdownDescription: ( localize(
1264
- 5269,
1350
+ 5534,
1265
1351
  "When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
1266
1352
  )),
1267
1353
  tags: ["experimental"]
1268
1354
  },
1355
+ [ChatConfiguration.SimpleTerminalCollapsible]: {
1356
+ type: "boolean",
1357
+ default: true,
1358
+ markdownDescription: ( localize(
1359
+ 5535,
1360
+ "When enabled, terminal tool calls are always displayed in a collapsible container with a simplified view."
1361
+ )),
1362
+ tags: ["experimental"]
1363
+ },
1364
+ "chat.tools.usagesTool.enabled": {
1365
+ type: "boolean",
1366
+ default: true,
1367
+ markdownDescription: ( localize(
1368
+ 5536,
1369
+ "Controls whether the usages tool is available for finding references, definitions, and implementations of code symbols."
1370
+ )),
1371
+ tags: ["preview"],
1372
+ experiment: {
1373
+ mode: "auto"
1374
+ }
1375
+ },
1376
+ "chat.tools.renameTool.enabled": {
1377
+ type: "boolean",
1378
+ default: true,
1379
+ markdownDescription: ( localize(
1380
+ 5537,
1381
+ "Controls whether the rename tool is available for renaming code symbols across the workspace."
1382
+ )),
1383
+ tags: ["preview"],
1384
+ experiment: {
1385
+ mode: "auto"
1386
+ }
1387
+ },
1388
+ [ChatConfiguration.ThinkingPhrases]: {
1389
+ type: "object",
1390
+ default: {
1391
+ mode: "append",
1392
+ phrases: []
1393
+ },
1394
+ properties: {
1395
+ mode: {
1396
+ type: "string",
1397
+ enum: ["replace", "append"],
1398
+ default: "append",
1399
+ description: ( localize(
1400
+ 5538,
1401
+ "'replace' replaces all default phrases entirely; 'append' adds your phrases to all default categories."
1402
+ ))
1403
+ },
1404
+ phrases: {
1405
+ type: "array",
1406
+ items: {
1407
+ type: "string"
1408
+ },
1409
+ default: [],
1410
+ description: ( localize(
1411
+ 5539,
1412
+ "Custom loading messages to show during thinking, terminal, and tool operations."
1413
+ ))
1414
+ }
1415
+ },
1416
+ additionalProperties: false,
1417
+ markdownDescription: ( localize(
1418
+ 5540,
1419
+ "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."
1420
+ )),
1421
+ tags: ["experimental"]
1422
+ },
1269
1423
  [ChatConfiguration.AutoExpandToolFailures]: {
1270
1424
  type: "boolean",
1271
1425
  default: true,
1272
1426
  markdownDescription: ( localize(
1273
- 5270,
1427
+ 5541,
1274
1428
  "When enabled, tool failures are automatically expanded in the chat UI to show error details."
1275
1429
  ))
1276
1430
  },
1277
1431
  [ChatConfiguration.AIDisabled]: {
1278
1432
  type: "boolean",
1279
1433
  description: ( localize(
1280
- 5271,
1434
+ 5542,
1281
1435
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
1282
1436
  )),
1283
1437
  default: false,
@@ -1285,7 +1439,19 @@ configurationRegistry.registerConfiguration({
1285
1439
  },
1286
1440
  "chat.allowAnonymousAccess": {
1287
1441
  type: "boolean",
1288
- description: ( localize(5272, "Controls whether anonymous access is allowed in chat.")),
1442
+ description: ( localize(5543, "Controls whether anonymous access is allowed in chat.")),
1443
+ default: false,
1444
+ tags: ["experimental"],
1445
+ experiment: {
1446
+ mode: "auto"
1447
+ }
1448
+ },
1449
+ [ChatConfiguration.GrowthNotificationEnabled]: {
1450
+ type: "boolean",
1451
+ description: ( localize(
1452
+ 5544,
1453
+ "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
1454
+ )),
1289
1455
  default: false,
1290
1456
  tags: ["experimental"],
1291
1457
  experiment: {
@@ -1295,7 +1461,7 @@ configurationRegistry.registerConfiguration({
1295
1461
  [ChatConfiguration.RestoreLastPanelSession]: {
1296
1462
  type: "boolean",
1297
1463
  description: ( localize(
1298
- 5273,
1464
+ 5545,
1299
1465
  "Controls whether the last session is restored in panel after restart."
1300
1466
  )),
1301
1467
  default: false
@@ -1303,16 +1469,16 @@ configurationRegistry.registerConfiguration({
1303
1469
  [ChatConfiguration.ExitAfterDelegation]: {
1304
1470
  type: "boolean",
1305
1471
  description: ( localize(
1306
- 5274,
1472
+ 5546,
1307
1473
  "Controls whether the chat panel automatically exits after delegating a request to another session."
1308
1474
  )),
1309
- default: true,
1475
+ default: false,
1310
1476
  tags: ["preview"]
1311
1477
  },
1312
1478
  "chat.extensionUnification.enabled": {
1313
1479
  type: "boolean",
1314
1480
  description: ( localize(
1315
- 5275,
1481
+ 5547,
1316
1482
  "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
1483
  )),
1318
1484
  default: true,
@@ -1324,21 +1490,33 @@ configurationRegistry.registerConfiguration({
1324
1490
  [ChatConfiguration.SubagentToolCustomAgents]: {
1325
1491
  type: "boolean",
1326
1492
  description: ( localize(
1327
- 5276,
1493
+ 5548,
1328
1494
  "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
1495
  )),
1330
- default: false,
1331
- tags: ["experimental"],
1496
+ default: true,
1332
1497
  experiment: {
1333
1498
  mode: "auto"
1334
1499
  }
1500
+ },
1501
+ [ChatConfiguration.ChatCustomizationMenuEnabled]: {
1502
+ type: "boolean",
1503
+ tags: ["preview"],
1504
+ description: ( localize(
1505
+ 5549,
1506
+ "Controls whether the Chat Customizations editor is available in the Command Palette. When disabled, the Chat Customizations editor and related commands are hidden."
1507
+ )),
1508
+ default: true
1335
1509
  }
1336
1510
  }
1337
1511
  });
1338
1512
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1339
- EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5277, "Chat"))),
1513
+ EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5550, "Chat"))),
1340
1514
  [( new SyncDescriptor(ChatEditorInput))]
1341
1515
  );
1516
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1517
+ EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(5551, "Debug View"))),
1518
+ [( new SyncDescriptor(ChatDebugEditorInput))]
1519
+ );
1342
1520
  ( Registry.as(Extensions$2.ConfigurationMigration)).registerConfigurationMigrations([{
1343
1521
  key: "chat.experimental.detectParticipant.enabled",
1344
1522
  migrateFn: (value, _accessor) => ([["chat.experimental.detectParticipant.enabled", {
@@ -1365,6 +1543,34 @@ configurationRegistry.registerConfiguration({
1365
1543
  value
1366
1544
  };
1367
1545
  }
1546
+ }, {
1547
+ key: ChatConfiguration.NotifyWindowOnConfirmation,
1548
+ migrateFn: value => {
1549
+ if (value === true) {
1550
+ return {
1551
+ value: ChatNotificationMode.WindowNotFocused
1552
+ };
1553
+ } else if (value === false) {
1554
+ return {
1555
+ value: ChatNotificationMode.Off
1556
+ };
1557
+ }
1558
+ return [];
1559
+ }
1560
+ }, {
1561
+ key: ChatConfiguration.NotifyWindowOnResponseReceived,
1562
+ migrateFn: value => {
1563
+ if (value === true) {
1564
+ return {
1565
+ value: ChatNotificationMode.WindowNotFocused
1566
+ };
1567
+ } else if (value === false) {
1568
+ return {
1569
+ value: ChatNotificationMode.Off
1570
+ };
1571
+ }
1572
+ return [];
1573
+ }
1368
1574
  }]);
1369
1575
  let ChatResolverContribution = class ChatResolverContribution extends Disposable {
1370
1576
  static {
@@ -1392,7 +1598,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
1392
1598
  _registerEditor(scheme) {
1393
1599
  this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
1394
1600
  id: ChatEditorInput.EditorID,
1395
- label: ( localize(5277, "Chat")),
1601
+ label: ( localize(5550, "Chat")),
1396
1602
  priority: RegisteredEditorPriority.builtin
1397
1603
  }, {
1398
1604
  singlePerResource: true,
@@ -1413,35 +1619,63 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
1413
1619
  }
1414
1620
  };
1415
1621
  ChatResolverContribution = ( __decorate([( __param(0, IChatSessionsService)), ( __param(1, IEditorResolverService)), ( __param(2, IInstantiationService))], ChatResolverContribution));
1622
+ let ChatDebugResolverContribution = class ChatDebugResolverContribution {
1623
+ static {
1624
+ this.ID = "workbench.contrib.chatDebugResolver";
1625
+ }
1626
+ constructor(editorResolverService) {
1627
+ editorResolverService.registerEditor(`${ChatDebugEditorInput.RESOURCE.scheme}:**/**`, {
1628
+ id: ChatDebugEditorInput.ID,
1629
+ label: ( localize(5551, "Debug View")),
1630
+ priority: RegisteredEditorPriority.exclusive
1631
+ }, {
1632
+ singlePerResource: true,
1633
+ canSupportResource: resource => resource.scheme === ChatDebugEditorInput.RESOURCE.scheme
1634
+ }, {
1635
+ createEditorInput: () => {
1636
+ return {
1637
+ editor: ChatDebugEditorInput.instance,
1638
+ options: {
1639
+ pinned: true
1640
+ }
1641
+ };
1642
+ }
1643
+ });
1644
+ }
1645
+ };
1646
+ ChatDebugResolverContribution = ( __decorate([( __param(0, IEditorResolverService))], ChatDebugResolverContribution));
1416
1647
  let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Disposable {
1417
1648
  static {
1418
1649
  this.ID = "workbench.contrib.chatAgentSetting";
1419
1650
  }
1420
- constructor(experimentService, entitlementService) {
1651
+ constructor(experimentService, entitlementService, contextKeyService) {
1421
1652
  super();
1422
1653
  this.experimentService = experimentService;
1423
1654
  this.entitlementService = entitlementService;
1655
+ this.contextKeyService = contextKeyService;
1656
+ this.newChatButtonExperimentIcon = ChatContextKeys.newChatButtonExperimentIcon.bindTo(this.contextKeyService);
1424
1657
  this.registerMaxRequestsSetting();
1425
1658
  this.registerBackgroundAgentDisplayName();
1659
+ this.registerNewChatButtonIcon();
1426
1660
  }
1427
1661
  registerMaxRequestsSetting() {
1428
1662
  let lastNode;
1429
1663
  const registerMaxRequestsSetting = () => {
1430
1664
  const treatmentId = this.entitlementService.entitlement === ChatEntitlement.Free ? "chatAgentMaxRequestsFree" : "chatAgentMaxRequestsPro";
1431
1665
  this.experimentService.getTreatment(treatmentId).then(value => {
1432
- const defaultValue = value ?? (this.entitlementService.entitlement === ChatEntitlement.Free ? 25 : 25);
1433
1666
  const node = {
1434
1667
  id: "chatSidebar",
1435
- title: ( localize(5138, "Chat")),
1668
+ title: ( localize(5389, "Chat")),
1436
1669
  type: "object",
1437
1670
  properties: {
1438
1671
  "chat.agent.maxRequests": {
1439
1672
  type: "number",
1440
1673
  markdownDescription: ( localize(
1441
- 5278,
1674
+ 5552,
1442
1675
  "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
1676
  )),
1444
- default: defaultValue
1677
+ default: value ?? 50,
1678
+ order: 2
1445
1679
  }
1446
1680
  }
1447
1681
  };
@@ -1464,8 +1698,18 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
1464
1698
  }
1465
1699
  });
1466
1700
  }
1701
+ registerNewChatButtonIcon() {
1702
+ this.experimentService.getTreatment("chatNewButtonIcon").then(value => {
1703
+ const supportedValues = ["copilot", "new-session", "comment"];
1704
+ if (typeof value === "string" && supportedValues.includes(value)) {
1705
+ this.newChatButtonExperimentIcon.set(value);
1706
+ } else {
1707
+ this.newChatButtonExperimentIcon.reset();
1708
+ }
1709
+ });
1710
+ }
1467
1711
  };
1468
- ChatAgentSettingContribution = ( __decorate([( __param(0, IWorkbenchAssignmentService)), ( __param(1, IChatEntitlementService))], ChatAgentSettingContribution));
1712
+ ChatAgentSettingContribution = ( __decorate([( __param(0, IWorkbenchAssignmentService)), ( __param(1, IChatEntitlementService)), ( __param(2, IContextKeyService))], ChatAgentSettingContribution));
1469
1713
  function getCustomModesWithUniqueNames(builtinModes, customModes) {
1470
1714
  const customModeIds = ( new Set());
1471
1715
  const builtinNames = ( new Set(( builtinModes.map(mode => mode.name.get()))));
@@ -1531,6 +1775,34 @@ let ChatAgentActionsContribution = class ChatAgentActionsContribution extends Di
1531
1775
  }
1532
1776
  };
1533
1777
  ChatAgentActionsContribution = ( __decorate([( __param(0, IChatModeService))], ChatAgentActionsContribution));
1778
+ let HookSchemaAssociationContribution = class HookSchemaAssociationContribution extends Disposable {
1779
+ static {
1780
+ this.ID = "workbench.contrib.hookSchemaAssociation";
1781
+ }
1782
+ constructor(_configurationService) {
1783
+ super();
1784
+ this._configurationService = _configurationService;
1785
+ this._registrations = this._register(( new DisposableStore()));
1786
+ this._updateAssociations();
1787
+ this._register(this._configurationService.onDidChangeConfiguration(e => {
1788
+ if (e.affectsConfiguration(PromptsConfig.HOOKS_LOCATION_KEY)) {
1789
+ this._updateAssociations();
1790
+ }
1791
+ }));
1792
+ }
1793
+ _updateAssociations() {
1794
+ this._registrations.clear();
1795
+ const folders = PromptsConfig.promptSourceFolders(this._configurationService, PromptsType.hook);
1796
+ for (const folder of folders) {
1797
+ if (folder.source === PromptFileSource.ClaudeWorkspace || folder.source === PromptFileSource.ClaudeWorkspaceLocal || folder.source === PromptFileSource.ClaudePersonal) {
1798
+ continue;
1799
+ }
1800
+ const glob = folder.path.toLowerCase().endsWith(".json") ? folder.path : `${folder.path}/*.json`;
1801
+ this._registrations.add(jsonContributionRegistry.registerSchemaAssociation(HOOK_SCHEMA_URI, glob));
1802
+ }
1803
+ }
1804
+ };
1805
+ HookSchemaAssociationContribution = ( __decorate([( __param(0, IConfigurationService))], HookSchemaAssociationContribution));
1534
1806
  let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extends Disposable {
1535
1807
  static {
1536
1808
  this.ID = "workbench.contrib.toolReferenceNames";
@@ -1550,7 +1822,7 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
1550
1822
  for (const tool of tools) {
1551
1823
  toolReferenceNameEnumValues.push(tool.toolReferenceName);
1552
1824
  toolReferenceNameEnumDescriptions.push(( localize(
1553
- 5279,
1825
+ 5553,
1554
1826
  "{0} - {1}",
1555
1827
  tool.toolReferenceName,
1556
1828
  tool.userDescription || tool.displayName
@@ -1572,160 +1844,31 @@ AccessibleViewRegistry.register(( new QuickChatAccessibilityHelp()));
1572
1844
  AccessibleViewRegistry.register(( new EditsChatAccessibilityHelp()));
1573
1845
  AccessibleViewRegistry.register(( new AgentChatAccessibilityHelp()));
1574
1846
  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
1847
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(ChatEditorInput.TypeID, ChatEditorInputSerializer);
1848
+ ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(ChatDebugEditorInput.ID, ChatDebugEditorInputSerializer);
1716
1849
  registerWorkbenchContribution2(
1717
1850
  ChatResolverContribution.ID,
1718
1851
  ChatResolverContribution,
1719
1852
  WorkbenchPhase.BlockStartup
1720
1853
  );
1854
+ registerWorkbenchContribution2(
1855
+ ChatDebugResolverContribution.ID,
1856
+ ChatDebugResolverContribution,
1857
+ WorkbenchPhase.BlockStartup
1858
+ );
1859
+ registerWorkbenchContribution2(
1860
+ PromptsDebugContribution.ID,
1861
+ PromptsDebugContribution,
1862
+ WorkbenchPhase.BlockRestore
1863
+ );
1721
1864
  registerWorkbenchContribution2(
1722
1865
  ChatLanguageModelsDataContribution.ID,
1723
1866
  ChatLanguageModelsDataContribution,
1724
1867
  WorkbenchPhase.BlockRestore
1725
1868
  );
1726
1869
  registerWorkbenchContribution2(
1727
- ChatSlashStaticSlashCommandsContribution.ID,
1728
- ChatSlashStaticSlashCommandsContribution,
1870
+ ChatSlashCommandsContribution.ID,
1871
+ ChatSlashCommandsContribution,
1729
1872
  WorkbenchPhase.Eventually
1730
1873
  );
1731
1874
  registerWorkbenchContribution2(
@@ -1784,6 +1927,16 @@ registerWorkbenchContribution2(
1784
1927
  BuiltinToolsContribution,
1785
1928
  WorkbenchPhase.Eventually
1786
1929
  );
1930
+ registerWorkbenchContribution2(
1931
+ UsagesToolContribution.ID,
1932
+ UsagesToolContribution,
1933
+ WorkbenchPhase.BlockRestore
1934
+ );
1935
+ registerWorkbenchContribution2(
1936
+ RenameToolContribution.ID,
1937
+ RenameToolContribution,
1938
+ WorkbenchPhase.BlockRestore
1939
+ );
1787
1940
  registerWorkbenchContribution2(
1788
1941
  ChatAgentSettingContribution.ID,
1789
1942
  ChatAgentSettingContribution,
@@ -1794,6 +1947,11 @@ registerWorkbenchContribution2(
1794
1947
  ChatAgentActionsContribution,
1795
1948
  WorkbenchPhase.Eventually
1796
1949
  );
1950
+ registerWorkbenchContribution2(
1951
+ HookSchemaAssociationContribution.ID,
1952
+ HookSchemaAssociationContribution,
1953
+ WorkbenchPhase.AfterRestored
1954
+ );
1797
1955
  registerWorkbenchContribution2(
1798
1956
  ToolReferenceNamesContribution.ID,
1799
1957
  ToolReferenceNamesContribution,
@@ -1866,10 +2024,15 @@ registerWorkbenchContribution2(
1866
2024
  ChatRepoInfoContribution,
1867
2025
  WorkbenchPhase.Eventually
1868
2026
  );
2027
+ registerWorkbenchContribution2(
2028
+ AgentPluginsViewsContribution.ID,
2029
+ AgentPluginsViewsContribution,
2030
+ WorkbenchPhase.AfterRestored
2031
+ );
1869
2032
  registerChatActions();
1870
2033
  registerChatAccessibilityActions();
1871
2034
  registerChatCopyActions();
1872
- registerChatCustomizationDiagnosticsAction();
2035
+ registerChatOpenAgentDebugPanelAction();
1873
2036
  registerChatCodeBlockActions();
1874
2037
  registerChatCodeCompareBlockActions();
1875
2038
  registerChatFileTreeActions();
@@ -1879,6 +2042,7 @@ registerChatExecuteActions();
1879
2042
  registerChatQueueActions();
1880
2043
  registerQuickChatActions();
1881
2044
  registerChatExportActions();
2045
+ registerChatForkActions();
1882
2046
  registerMoveActions();
1883
2047
  registerNewChatActions();
1884
2048
  registerChatContextActions();
@@ -1887,6 +2051,8 @@ registerChatEditorActions();
1887
2051
  registerChatElicitationActions();
1888
2052
  registerChatToolActions();
1889
2053
  registerLanguageModelActions();
2054
+ registerChatPluginActions();
1890
2055
  registerAction2(ConfigureToolSets);
1891
2056
  registerEditorFeature(ChatPasteProvidersFeature);
2057
+ agentPluginDiscoveryRegistry.register(( new SyncDescriptor(ConfiguredAgentPluginDiscovery)));
1892
2058
  ChatWidget.CONTRIBS.push(ChatDynamicVariableModel);