@codingame/monaco-vscode-chat-service-override 28.4.0 → 29.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 (339) hide show
  1. package/index.js +18 -12
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
  12. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
  16. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +76 -10
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  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 +11 -11
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
  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.js +11 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +0 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +9 -10
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
  98. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -18
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  178. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  181. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
  188. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
  189. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
  190. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +1 -1
  202. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
  225. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
  226. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
  227. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
  228. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
  229. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
  231. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
  232. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
  233. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
  235. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
  236. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
  237. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
  238. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
  252. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
  253. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
  261. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
  262. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
  263. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +19 -1
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
  318. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
  319. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
  320. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
  321. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
  322. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
  323. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
  324. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
  325. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
  326. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
  327. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
  328. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
  329. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
  330. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
  331. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
  332. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
  333. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
  334. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
  335. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
  336. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
@@ -5,6 +5,7 @@ import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vs
5
5
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
6
  import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
7
7
  import { PolicyCategory } from '@codingame/monaco-vscode-api/vscode/vs/base/common/policy';
8
+ import { AgentHostEnabledSettingId } from '../../../../platform/agentHost/common/agentService.js';
8
9
  import { registerEditorFeature } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorFeatures';
9
10
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
10
11
  import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
@@ -27,6 +28,7 @@ import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/
27
28
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
28
29
  import { RegisteredEditorPriority } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService';
29
30
  import { IEditorResolverService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorResolverService.service';
31
+ import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
30
32
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
31
33
  import { AssistedTypes, AddConfigurationType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration';
32
34
  import { mcpDiscoverySection, allDiscoverySources, discoverySourceSettingsLabel, mcpServerSamplingSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration';
@@ -38,6 +40,7 @@ import { ChatResponseResourceWorkbenchContribution } from '../common/widget/chat
38
40
  import '../common/chatService/chatServiceImpl.js';
39
41
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
40
42
  import '../common/participants/chatSlashCommands.js';
43
+ import '../common/tools/chatArtifactsService.js';
41
44
  import '../common/tools/chatTodoListService.js';
42
45
  import '../common/model/chatTransferService.js';
43
46
  import '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService';
@@ -47,7 +50,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/lan
47
50
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
48
51
  import { agentPluginDiscoveryRegistry } from '../common/plugins/agentPluginService.js';
49
52
  import { ChatPromptFilesExtensionPointHandler } from '../common/promptSyntax/chatPromptFilesContribution.js';
50
- import { PromptsConfig } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
53
+ import { PromptsConfig, isTildePath } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
51
54
  import { DEFAULT_HOOK_FILE_PATHS, DEFAULT_SKILL_SOURCE_FOLDERS, SKILL_FILENAME, AGENTS_SOURCE_FOLDER, COPILOT_USER_AGENTS_SOURCE_FOLDER, CLAUDE_AGENTS_SOURCE_FOLDER, AGENT_FILE_EXTENSION, LEGACY_MODE_DEFAULT_SOURCE_FOLDER, LEGACY_MODE_FILE_EXTENSION, PROMPT_DEFAULT_SOURCE_FOLDER, PROMPT_FILE_EXTENSION, DEFAULT_INSTRUCTIONS_SOURCE_FOLDERS, INSTRUCTIONS_DEFAULT_SOURCE_FOLDER, INSTRUCTION_FILE_EXTENSION, PromptFileSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
52
55
  import { PromptLanguageFeaturesProvider } from '../common/promptSyntax/promptFileContributions.js';
53
56
  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';
@@ -117,6 +120,7 @@ import './widget/chatLayoutService.js';
117
120
  import { ChatLanguageModelsDataContribution } from './languageModelsConfigurationService.js';
118
121
  import './chatManagement/chatManagement.contribution.js';
119
122
  import './aiCustomization/aiCustomizationWorkspaceService.js';
123
+ import './aiCustomization/customizationHarnessService.js';
120
124
  import './aiCustomization/aiCustomizationManagement.contribution.js';
121
125
  import './chatOutputItemRenderer.js';
122
126
  import { ChatExtensionPointHandler, ChatCompatibilityNotifier } from './chatParticipant.contribution.js';
@@ -137,7 +141,9 @@ import './tools/languageModelToolsConfirmationService.js';
137
141
  import { globalAutoApproveDescription } from './tools/languageModelToolsService.js';
138
142
  import { ConfiguredAgentPluginDiscovery, MarketplaceAgentPluginDiscovery } from '../common/plugins/agentPluginServiceImpl.js';
139
143
  import '../common/plugins/pluginMarketplaceService.js';
144
+ import '../common/plugins/workspacePluginSettingsService.js';
140
145
  import { AgentPluginsViewsContribution } from './agentPluginsView.js';
146
+ import { AgentPluginRecommendations } from './claudePluginRecommendations.js';
141
147
  import { AgentPluginEditor } from './agentPluginEditor/agentPluginEditor.js';
142
148
  import { AgentPluginEditorInput } from './agentPluginEditor/agentPluginEditorInput.js';
143
149
  import './agentPluginRepositoryService.js';
@@ -145,6 +151,7 @@ import './pluginInstallService.js';
145
151
  import './promptSyntax/promptCodingAgentActionContribution.js';
146
152
  import './promptSyntax/promptToolsCodeLensProvider.js';
147
153
  import { ChatSlashCommandsContribution } from './chatSlashCommands.js';
154
+ import { PluginUrlHandler } from './pluginUrlHandler.js';
148
155
  import { PromptUrlHandler } from './promptSyntax/promptUrlHandler.js';
149
156
  import { UserToolSetsContributions, ConfigureToolSets } from './tools/toolSetsContribution.js';
150
157
  import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler.js';
@@ -156,6 +163,7 @@ import './chatTipService.js';
156
163
  import { ChatQueuePickerRendering } from './widget/input/chatQueuePickerActionItem.js';
157
164
  import { ExploreAgentDefaultModel } from './exploreAgentDefaultModel.js';
158
165
  import { PlanAgentDefaultModel } from './planAgentDefaultModel.js';
166
+ import './chatImageCarouselService.js';
159
167
  import '../../notebook/browser/controller/chat/notebook.chat.contribution.js';
160
168
 
161
169
  const toolReferenceNameEnumValues = [];
@@ -165,13 +173,13 @@ jsonContributionRegistry.registerSchema(HOOK_SCHEMA_URI, hookFileSchema);
165
173
  const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
166
174
  configurationRegistry.registerConfiguration({
167
175
  id: "chatSidebar",
168
- title: ( localize(5454, "Chat")),
176
+ title: ( localize(5545, "Chat")),
169
177
  type: "object",
170
178
  properties: {
171
179
  "chat.experimentalSessionsWindowOverride": {
172
180
  type: "boolean",
173
181
  description: ( localize(
174
- 5455,
182
+ 5546,
175
183
  "When true, enables sessions-window-specific behavior for extensions."
176
184
  )),
177
185
  default: false,
@@ -179,60 +187,65 @@ configurationRegistry.registerConfiguration({
179
187
  },
180
188
  "chat.fontSize": {
181
189
  type: "number",
182
- description: ( localize(5456, "Controls the font size in pixels in chat messages.")),
190
+ description: ( localize(5547, "Controls the font size in pixels in chat messages.")),
183
191
  default: 13,
184
192
  minimum: 6,
185
193
  maximum: 100
186
194
  },
187
195
  "chat.fontFamily": {
188
196
  type: "string",
189
- description: ( localize(5457, "Controls the font family in chat messages.")),
197
+ description: ( localize(5548, "Controls the font family in chat messages.")),
190
198
  default: "default"
191
199
  },
192
200
  "chat.editor.fontSize": {
193
201
  type: "number",
194
- description: ( localize(5458, "Controls the font size in pixels in chat codeblocks.")),
202
+ description: ( localize(5549, "Controls the font size in pixels in chat codeblocks.")),
195
203
  default: isMacintosh ? 12 : 14
196
204
  },
197
205
  "chat.editor.fontFamily": {
198
206
  type: "string",
199
- description: ( localize(5459, "Controls the font family in chat codeblocks.")),
207
+ description: ( localize(5550, "Controls the font family in chat codeblocks.")),
200
208
  default: "default"
201
209
  },
202
210
  "chat.editor.fontWeight": {
203
211
  type: "string",
204
- description: ( localize(5460, "Controls the font weight in chat codeblocks.")),
212
+ description: ( localize(5551, "Controls the font weight in chat codeblocks.")),
205
213
  default: "default"
206
214
  },
207
215
  "chat.editor.wordWrap": {
208
216
  type: "string",
209
- description: ( localize(5461, "Controls whether lines should wrap in chat codeblocks.")),
217
+ description: ( localize(5552, "Controls whether lines should wrap in chat codeblocks.")),
210
218
  default: "off",
211
219
  enum: ["on", "off"]
212
220
  },
213
221
  "chat.editor.lineHeight": {
214
222
  type: "number",
215
223
  description: ( localize(
216
- 5462,
224
+ 5553,
217
225
  "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."
218
226
  )),
219
227
  default: 0
220
228
  },
221
229
  [ChatConfiguration.AgentStatusEnabled]: {
222
- type: "boolean",
230
+ type: "string",
231
+ enum: ["hidden", "badge", "compact"],
232
+ enumDescriptions: [( localize(5554, "The agent status indicator is hidden from the title bar.")), ( localize(5555, "Shows the agent status as a badge next to the command center.")), ( localize(
233
+ 5556,
234
+ "Replaces the command center search box with a compact agent status indicator and unified chat widget."
235
+ ))],
223
236
  markdownDescription: ( localize(
224
- 5463,
225
- "Controls whether the 'Agent Status' indicator is shown in the title bar command center. Enabling this setting will automatically enable {0}. The unread/in-progress session indicators require {1} to be enabled.",
237
+ 5557,
238
+ "Controls how the 'Agent Status' indicator appears in the title bar command center. When set to `hidden`, the indicator is not shown. Other values show the indicator and automatically enable {0}. The unread and in-progress session indicators require {1} to be enabled.",
226
239
  "`#window.commandCenter#`",
227
240
  "`#chat.viewSessions.enabled#`"
228
241
  )),
229
- default: true,
242
+ default: "compact",
230
243
  tags: ["experimental"]
231
244
  },
232
245
  [ChatConfiguration.UnifiedAgentsBar]: {
233
246
  type: "boolean",
234
247
  markdownDescription: ( localize(
235
- 5464,
248
+ 5558,
236
249
  "Replaces the command center search box with a unified chat and search widget."
237
250
  )),
238
251
  default: false,
@@ -241,7 +254,7 @@ configurationRegistry.registerConfiguration({
241
254
  [ChatConfiguration.AgentSessionProjectionEnabled]: {
242
255
  type: "boolean",
243
256
  markdownDescription: ( localize(
244
- 5465,
257
+ 5559,
245
258
  "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."
246
259
  )),
247
260
  default: false,
@@ -250,14 +263,14 @@ configurationRegistry.registerConfiguration({
250
263
  "chat.implicitContext.enabled": {
251
264
  type: "object",
252
265
  description: ( localize(
253
- 5466,
266
+ 5560,
254
267
  "Enables automatically using the active editor as chat context for specified chat locations."
255
268
  )),
256
269
  additionalProperties: {
257
270
  type: "string",
258
271
  enum: ["never", "first", "always"],
259
- description: ( localize(5467, "The value for the implicit context.")),
260
- enumDescriptions: [( localize(5468, "Implicit context is never enabled.")), ( localize(5469, "Implicit context is enabled for the first interaction.")), ( localize(5470, "Implicit context is always enabled."))]
272
+ description: ( localize(5561, "The value for the implicit context.")),
273
+ enumDescriptions: [( localize(5562, "Implicit context is never enabled.")), ( localize(5563, "Implicit context is enabled for the first interaction.")), ( localize(5564, "Implicit context is always enabled."))]
261
274
  },
262
275
  default: {
263
276
  "panel": "always"
@@ -270,7 +283,7 @@ configurationRegistry.registerConfiguration({
270
283
  "chat.implicitContext.suggestedContext": {
271
284
  type: "boolean",
272
285
  markdownDescription: ( localize(
273
- 5471,
286
+ 5565,
274
287
  "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."
275
288
  )),
276
289
  default: true
@@ -278,7 +291,7 @@ configurationRegistry.registerConfiguration({
278
291
  "chat.editing.autoAcceptDelay": {
279
292
  type: "number",
280
293
  markdownDescription: ( localize(
281
- 5472,
294
+ 5566,
282
295
  "Delay after which changes made by chat are automatically accepted. Values are in seconds, `0` means disabled and `100` seconds is the maximum."
283
296
  )),
284
297
  default: 0,
@@ -289,7 +302,7 @@ configurationRegistry.registerConfiguration({
289
302
  type: "boolean",
290
303
  scope: ConfigurationScope.APPLICATION,
291
304
  markdownDescription: ( localize(
292
- 5473,
305
+ 5567,
293
306
  "Whether to show a confirmation before removing a request and its associated edits."
294
307
  )),
295
308
  default: true
@@ -298,7 +311,7 @@ configurationRegistry.registerConfiguration({
298
311
  type: "boolean",
299
312
  scope: ConfigurationScope.APPLICATION,
300
313
  markdownDescription: ( localize(
301
- 5474,
314
+ 5568,
302
315
  "Whether to show a confirmation before retrying a request and its associated edits."
303
316
  )),
304
317
  default: true
@@ -306,7 +319,7 @@ configurationRegistry.registerConfiguration({
306
319
  "chat.editing.explainChanges.enabled": {
307
320
  type: "boolean",
308
321
  markdownDescription: ( localize(
309
- 5475,
322
+ 5569,
310
323
  "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."
311
324
  )),
312
325
  default: false,
@@ -315,11 +328,19 @@ configurationRegistry.registerConfiguration({
315
328
  mode: "auto"
316
329
  }
317
330
  },
331
+ [ChatConfiguration.RevealNextChangeOnResolve]: {
332
+ type: "boolean",
333
+ markdownDescription: ( localize(
334
+ 5570,
335
+ "Controls whether the editor automatically reveals the next change after keeping or undoing a chat edit."
336
+ )),
337
+ default: true
338
+ },
318
339
  "chat.tips.enabled": {
319
340
  type: "boolean",
320
341
  scope: ConfigurationScope.APPLICATION,
321
342
  description: ( localize(
322
- 5476,
343
+ 5571,
323
344
  "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."
324
345
  )),
325
346
  default: false,
@@ -331,9 +352,9 @@ configurationRegistry.registerConfiguration({
331
352
  "chat.upvoteAnimation": {
332
353
  type: "string",
333
354
  enum: ["off", "confetti", "floatingThumbs", "pulseWave", "radiantLines"],
334
- enumDescriptions: [( localize(5477, "No animation is shown.")), ( localize(5478, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5479, "Shows floating thumbs up icons rising from the button.")), ( localize(5480, "Shows expanding pulse rings from the button.")), ( localize(5481, "Shows radiant lines emanating from the button."))],
355
+ enumDescriptions: [( localize(5572, "No animation is shown.")), ( localize(5573, "Shows a confetti burst animation around the thumbs up button.")), ( localize(5574, "Shows floating thumbs up icons rising from the button.")), ( localize(5575, "Shows expanding pulse rings from the button.")), ( localize(5576, "Shows radiant lines emanating from the button."))],
335
356
  description: ( localize(
336
- 5482,
357
+ 5577,
337
358
  "Controls whether an animation is shown when clicking the thumbs up button on a chat response."
338
359
  )),
339
360
  default: "floatingThumbs"
@@ -341,26 +362,26 @@ configurationRegistry.registerConfiguration({
341
362
  "chat.experimental.detectParticipant.enabled": {
342
363
  type: "boolean",
343
364
  deprecationMessage: ( localize(
344
- 5483,
365
+ 5578,
345
366
  "This setting is deprecated. Please use `chat.detectParticipant.enabled` instead."
346
367
  )),
347
- description: ( localize(5484, "Enables chat participant autodetection for panel chat.")),
368
+ description: ( localize(5579, "Enables chat participant autodetection for panel chat.")),
348
369
  default: null
349
370
  },
350
371
  "chat.detectParticipant.enabled": {
351
372
  type: "boolean",
352
- description: ( localize(5485, "Enables chat participant autodetection for panel chat.")),
373
+ description: ( localize(5580, "Enables chat participant autodetection for panel chat.")),
353
374
  default: true
354
375
  },
355
376
  [ChatConfiguration.InlineReferencesStyle]: {
356
377
  type: "string",
357
378
  enum: ["box", "link"],
358
- enumDescriptions: [( localize(5486, "Display file and symbol references as boxed widgets with icons.")), ( localize(
359
- 5487,
379
+ enumDescriptions: [( localize(5581, "Display file and symbol references as boxed widgets with icons.")), ( localize(
380
+ 5582,
360
381
  "Display file and symbol references as simple blue links without icons."
361
382
  ))],
362
383
  description: ( localize(
363
- 5488,
384
+ 5583,
364
385
  "Controls how file and symbol references are displayed in chat messages."
365
386
  )),
366
387
  default: "box"
@@ -368,7 +389,7 @@ configurationRegistry.registerConfiguration({
368
389
  [ChatConfiguration.EditorAssociations]: {
369
390
  type: "object",
370
391
  markdownDescription: ( localize(
371
- 5489,
392
+ 5584,
372
393
  "Configure [glob patterns](https://aka.ms/vscode-glob-patterns) to editors for opening files from chat (for example `\"*.md\": \"vscode.markdown.preview.editor\"`)."
373
394
  )),
374
395
  additionalProperties: {
@@ -379,15 +400,15 @@ configurationRegistry.registerConfiguration({
379
400
  [ChatConfiguration.NotifyWindowOnConfirmation]: {
380
401
  type: "string",
381
402
  enum: ["off", "windowNotFocused", "always"],
382
- enumDescriptions: [( localize(5490, "Never show OS notifications for confirmations.")), ( localize(
383
- 5491,
403
+ enumDescriptions: [( localize(5585, "Never show OS notifications for confirmations.")), ( localize(
404
+ 5586,
384
405
  "Show OS notifications for confirmations when the window is not focused."
385
406
  )), ( localize(
386
- 5492,
407
+ 5587,
387
408
  "Always show OS notifications for confirmations, even when the window is focused."
388
409
  ))],
389
410
  description: ( localize(
390
- 5493,
411
+ 5588,
391
412
  "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."
392
413
  )),
393
414
  default: "windowNotFocused"
@@ -395,8 +416,8 @@ configurationRegistry.registerConfiguration({
395
416
  [ChatConfiguration.AutoReply]: {
396
417
  default: false,
397
418
  markdownDescription: ( localize(
398
- 5494,
399
- "Automatically answer chat question carousels using the current model. This is an advanced setting and can lead to unintended choices or actions based on incomplete context."
419
+ 5589,
420
+ "Automatically skip question carousels by telling the agent that the user is not available and to use its best judgment. This is an advanced setting and can lead to unintended choices or actions based on incomplete context."
400
421
  )),
401
422
  type: "boolean",
402
423
  scope: ConfigurationScope.APPLICATION_MACHINE,
@@ -405,10 +426,10 @@ configurationRegistry.registerConfiguration({
405
426
  [ChatConfiguration.AutopilotEnabled]: {
406
427
  type: "boolean",
407
428
  markdownDescription: ( localize(
408
- 5495,
429
+ 5590,
409
430
  "Controls whether the Autopilot mode is available in the permissions picker. When enabled, Autopilot auto-approves all tool calls and continues until the task is done."
410
431
  )),
411
- default: product.quality !== "stable",
432
+ default: true,
412
433
  tags: ["experimental"]
413
434
  },
414
435
  [ChatConfiguration.GlobalAutoApprove]: {
@@ -426,7 +447,7 @@ configurationRegistry.registerConfiguration({
426
447
  description: {
427
448
  key: "autoApprove3.description",
428
449
  value: ( localize(
429
- 5496,
450
+ 5591,
430
451
  "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."
431
452
  ))
432
453
  }
@@ -444,7 +465,7 @@ configurationRegistry.registerConfiguration({
444
465
  "**/*-lock.{yaml,json}": false
445
466
  },
446
467
  markdownDescription: ( localize(
447
- 5497,
468
+ 5592,
448
469
  "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."
449
470
  )),
450
471
  type: "object",
@@ -453,9 +474,12 @@ configurationRegistry.registerConfiguration({
453
474
  }
454
475
  },
455
476
  [ChatConfiguration.AutoApprovedUrls]: {
456
- default: {},
477
+ default: {
478
+ "https://code.visualstudio.com": true,
479
+ "https://github.com/microsoft/vscode/wiki/*": true
480
+ },
457
481
  markdownDescription: ( localize(
458
- 5498,
482
+ 5593,
459
483
  "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"
460
484
  )),
461
485
  type: "object",
@@ -478,7 +502,7 @@ configurationRegistry.registerConfiguration({
478
502
  [ChatConfiguration.EligibleForAutoApproval]: {
479
503
  default: {},
480
504
  markdownDescription: ( localize(
481
- 5499,
505
+ 5594,
482
506
  "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."
483
507
  )),
484
508
  type: "object",
@@ -501,7 +525,7 @@ configurationRegistry.registerConfiguration({
501
525
  description: {
502
526
  key: "chat.tools.eligibleForAutoApproval",
503
527
  value: ( localize(
504
- 5499,
528
+ 5594,
505
529
  "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."
506
530
  ))
507
531
  }
@@ -511,7 +535,7 @@ configurationRegistry.registerConfiguration({
511
535
  "chat.sendElementsToChat.enabled": {
512
536
  default: true,
513
537
  description: ( localize(
514
- 5500,
538
+ 5595,
515
539
  "Controls whether elements can be sent to chat from the Simple Browser."
516
540
  )),
517
541
  type: "boolean",
@@ -520,7 +544,7 @@ configurationRegistry.registerConfiguration({
520
544
  "chat.sendElementsToChat.attachCSS": {
521
545
  default: true,
522
546
  markdownDescription: ( localize(
523
- 5501,
547
+ 5596,
524
548
  "Controls whether CSS of the selected element will be added to the chat. {0} must be enabled.",
525
549
  "`#chat.sendElementsToChat.enabled#`"
526
550
  )),
@@ -530,24 +554,30 @@ configurationRegistry.registerConfiguration({
530
554
  "chat.sendElementsToChat.attachImages": {
531
555
  default: true,
532
556
  markdownDescription: ( localize(
533
- 5502,
557
+ 5597,
534
558
  "Controls whether a screenshot of the selected element will be added to the chat. {0} must be enabled.",
535
559
  "`#chat.sendElementsToChat.enabled#`"
536
560
  )),
537
561
  type: "boolean",
538
562
  tags: ["experimental"]
539
563
  },
564
+ [ChatConfiguration.ArtifactsEnabled]: {
565
+ default: false,
566
+ description: ( localize(5598, "Controls whether the artifacts view is available in chat.")),
567
+ type: "boolean",
568
+ tags: ["experimental"]
569
+ },
540
570
  "chat.undoRequests.restoreInput": {
541
571
  default: true,
542
572
  markdownDescription: ( localize(
543
- 5503,
573
+ 5599,
544
574
  "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."
545
575
  )),
546
576
  type: "boolean"
547
577
  },
548
578
  "chat.editRequests": {
549
579
  markdownDescription: ( localize(
550
- 5504,
580
+ 5600,
551
581
  "Enables editing of requests in the chat. This allows you to change the request content and resubmit it to the model."
552
582
  )),
553
583
  type: "string",
@@ -558,7 +588,7 @@ configurationRegistry.registerConfiguration({
558
588
  type: "boolean",
559
589
  default: true,
560
590
  description: ( localize(
561
- 5505,
591
+ 5601,
562
592
  "Show chat agent sessions when chat is empty or to the side when chat view is wide enough."
563
593
  ))
564
594
  },
@@ -566,15 +596,15 @@ configurationRegistry.registerConfiguration({
566
596
  type: "string",
567
597
  enum: ["stacked", "sideBySide"],
568
598
  enumDescriptions: [( localize(
569
- 5506,
599
+ 5602,
570
600
  "Display chat sessions vertically stacked above the chat input unless a chat session is visible."
571
601
  )), ( localize(
572
- 5507,
602
+ 5603,
573
603
  "Display chat sessions side by side if space is sufficient, otherwise fallback to stacked above the chat input unless a chat session is visible."
574
604
  ))],
575
605
  default: "sideBySide",
576
606
  description: ( localize(
577
- 5508,
607
+ 5604,
578
608
  "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."
579
609
  ))
580
610
  },
@@ -582,28 +612,28 @@ configurationRegistry.registerConfiguration({
582
612
  type: "boolean",
583
613
  default: false,
584
614
  description: ( localize(
585
- 5509,
615
+ 5605,
586
616
  "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."
587
617
  ))
588
618
  },
589
619
  [ChatConfiguration.ChatContextUsageEnabled]: {
590
620
  type: "boolean",
591
621
  default: true,
592
- description: ( localize(5510, "Show the context window usage indicator in the chat input."))
622
+ description: ( localize(5606, "Show the context window usage indicator in the chat input."))
593
623
  },
594
624
  [ChatConfiguration.NotifyWindowOnResponseReceived]: {
595
625
  type: "string",
596
626
  enum: ["off", "windowNotFocused", "always"],
597
- enumDescriptions: [( localize(5511, "Never show OS notifications for responses.")), ( localize(
598
- 5512,
627
+ enumDescriptions: [( localize(5607, "Never show OS notifications for responses.")), ( localize(
628
+ 5608,
599
629
  "Show OS notifications for responses when the window is not focused."
600
630
  )), ( localize(
601
- 5513,
631
+ 5609,
602
632
  "Always show OS notifications for responses, even when the window is focused."
603
633
  ))],
604
634
  default: "windowNotFocused",
605
635
  description: ( localize(
606
- 5514,
636
+ 5610,
607
637
  "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."
608
638
  ))
609
639
  },
@@ -611,23 +641,23 @@ configurationRegistry.registerConfiguration({
611
641
  type: "boolean",
612
642
  default: true,
613
643
  description: ( localize(
614
- 5515,
644
+ 5611,
615
645
  "Enables checkpoints in chat. Checkpoints allow you to restore the chat to a previous state."
616
646
  ))
617
647
  },
618
648
  "chat.checkpoints.showFileChanges": {
619
649
  type: "boolean",
620
- description: ( localize(5516, "Controls whether to show chat checkpoint file changes.")),
650
+ description: ( localize(5612, "Controls whether to show chat checkpoint file changes.")),
621
651
  default: false
622
652
  },
623
653
  [mcpAccessConfig]: {
624
654
  type: "string",
625
- description: ( localize(5517, "Controls access to installed Model Context Protocol servers.")),
655
+ description: ( localize(5613, "Controls access to installed Model Context Protocol servers.")),
626
656
  enum: [McpAccessValue.None, McpAccessValue.Registry, McpAccessValue.All],
627
- enumDescriptions: [( localize(5518, "No access to MCP servers.")), ( localize(
628
- 5519,
657
+ enumDescriptions: [( localize(5614, "No access to MCP servers.")), ( localize(
658
+ 5615,
629
659
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
630
- )), ( localize(5520, "Allow access to any installed MCP server."))],
660
+ )), ( localize(5616, "Allow access to any installed MCP server."))],
631
661
  default: McpAccessValue.All,
632
662
  policy: {
633
663
  name: "ChatMCP",
@@ -645,20 +675,20 @@ configurationRegistry.registerConfiguration({
645
675
  localization: {
646
676
  description: {
647
677
  key: "chat.mcp.access",
648
- value: ( localize(5517, "Controls access to installed Model Context Protocol servers."))
678
+ value: ( localize(5613, "Controls access to installed Model Context Protocol servers."))
649
679
  },
650
680
  enumDescriptions: [{
651
681
  key: "chat.mcp.access.none",
652
- value: ( localize(5518, "No access to MCP servers."))
682
+ value: ( localize(5614, "No access to MCP servers."))
653
683
  }, {
654
684
  key: "chat.mcp.access.registry",
655
685
  value: ( localize(
656
- 5519,
686
+ 5615,
657
687
  "Allows access to MCP servers installed from the registry that VS Code is connected to."
658
688
  ))
659
689
  }, {
660
690
  key: "chat.mcp.access.any",
661
- value: ( localize(5520, "Allow access to any installed MCP server."))
691
+ value: ( localize(5616, "Allow access to any installed MCP server."))
662
692
  }]
663
693
  }
664
694
  }
@@ -666,7 +696,7 @@ configurationRegistry.registerConfiguration({
666
696
  [mcpAutoStartConfig]: {
667
697
  type: "string",
668
698
  description: ( localize(
669
- 5521,
699
+ 5617,
670
700
  "Controls whether MCP servers should be automatically started when the chat messages are submitted."
671
701
  )),
672
702
  default: McpAutoStartValue.NewAndOutdated,
@@ -675,8 +705,8 @@ configurationRegistry.registerConfiguration({
675
705
  McpAutoStartValue.OnlyNew,
676
706
  McpAutoStartValue.NewAndOutdated
677
707
  ],
678
- enumDescriptions: [( localize(5522, "Never automatically start MCP servers.")), ( localize(5523, "Only automatically start new MCP servers that have never been run.")), ( localize(
679
- 5524,
708
+ enumDescriptions: [( localize(5618, "Never automatically start MCP servers.")), ( localize(5619, "Only automatically start new MCP servers that have never been run.")), ( localize(
709
+ 5620,
680
710
  "Automatically start new and outdated MCP servers that are not yet running."
681
711
  ))],
682
712
  tags: ["experimental"]
@@ -684,7 +714,7 @@ configurationRegistry.registerConfiguration({
684
714
  [mcpAppsEnabledConfig]: {
685
715
  type: "boolean",
686
716
  description: ( localize(
687
- 5525,
717
+ 5621,
688
718
  "Controls whether MCP servers can provide custom UI for tool invocations."
689
719
  )),
690
720
  default: true,
@@ -693,9 +723,9 @@ configurationRegistry.registerConfiguration({
693
723
  [mcpServerSamplingSection]: {
694
724
  type: "object",
695
725
  description: ( localize(
696
- 5526,
726
+ 5622,
697
727
  "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.",
698
- "MCP: " + ( localize(5527, "List Servers"))
728
+ "MCP: " + ( localize(5623, "List Servers"))
699
729
  )),
700
730
  scope: ConfigurationScope.RESOURCE,
701
731
  additionalProperties: {
@@ -704,7 +734,7 @@ configurationRegistry.registerConfiguration({
704
734
  allowedDuringChat: {
705
735
  type: "boolean",
706
736
  description: ( localize(
707
- 5528,
737
+ 5624,
708
738
  "Whether this server is make sampling requests during its tool calls in a chat session."
709
739
  )),
710
740
  default: true
@@ -712,7 +742,7 @@ configurationRegistry.registerConfiguration({
712
742
  allowedOutsideChat: {
713
743
  type: "boolean",
714
744
  description: ( localize(
715
- 5529,
745
+ 5625,
716
746
  "Whether this server is allowed to make sampling requests outside of a chat session."
717
747
  )),
718
748
  default: false
@@ -721,7 +751,7 @@ configurationRegistry.registerConfiguration({
721
751
  type: "array",
722
752
  items: {
723
753
  type: "string",
724
- description: ( localize(5530, "A model the MCP server has access to."))
754
+ description: ( localize(5626, "A model the MCP server has access to."))
725
755
  }
726
756
  }
727
757
  }
@@ -730,7 +760,7 @@ configurationRegistry.registerConfiguration({
730
760
  [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: {
731
761
  type: "boolean",
732
762
  description: ( localize(
733
- 5531,
763
+ 5627,
734
764
  "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)."
735
765
  )),
736
766
  default: false,
@@ -741,7 +771,7 @@ configurationRegistry.registerConfiguration({
741
771
  },
742
772
  [ChatConfiguration.ExtensionToolsEnabled]: {
743
773
  type: "boolean",
744
- description: ( localize(5532, "Enable using tools contributed by third-party extensions.")),
774
+ description: ( localize(5628, "Enable using tools contributed by third-party extensions.")),
745
775
  default: true,
746
776
  policy: {
747
777
  name: "ChatAgentExtensionTools",
@@ -750,14 +780,14 @@ configurationRegistry.registerConfiguration({
750
780
  localization: {
751
781
  description: {
752
782
  key: "chat.extensionToolsEnabled",
753
- value: ( localize(5532, "Enable using tools contributed by third-party extensions."))
783
+ value: ( localize(5628, "Enable using tools contributed by third-party extensions."))
754
784
  }
755
785
  }
756
786
  }
757
787
  },
758
788
  [ChatConfiguration.PluginsEnabled]: {
759
789
  type: "boolean",
760
- description: ( localize(5533, "Enable agent plugin integration in chat.")),
790
+ description: ( localize(5629, "Enable agent plugin integration in chat.")),
761
791
  default: true,
762
792
  tags: ["preview"]
763
793
  },
@@ -768,7 +798,7 @@ configurationRegistry.registerConfiguration({
768
798
  },
769
799
  restricted: true,
770
800
  markdownDescription: ( localize(
771
- 5534,
801
+ 5630,
772
802
  "Plugin directories to discover. Each key is a path that points directly to a plugin folder, and the value enables (`true`) or disables (`false`) it. Paths can be absolute, relative to the workspace root, or start with `~/` for the user's home directory."
773
803
  )),
774
804
  scope: ConfigurationScope.MACHINE,
@@ -780,7 +810,7 @@ configurationRegistry.registerConfiguration({
780
810
  type: "string"
781
811
  },
782
812
  markdownDescription: ( localize(
783
- 5535,
813
+ 5631,
784
814
  "Plugin marketplaces to query. Entries may be GitHub shorthand (`owner/repo`), direct Git repository URIs (`https://...git`, `ssh://...git`, or `git@host:path.git`), or local repository URIs (`file:///...`). Equivalent GitHub shorthand and URI entries are deduplicated."
785
815
  )),
786
816
  default: ["github/copilot-plugins", "github/awesome-copilot"],
@@ -790,7 +820,7 @@ configurationRegistry.registerConfiguration({
790
820
  [ChatConfiguration.AgentEnabled]: {
791
821
  type: "boolean",
792
822
  description: ( localize(
793
- 5536,
823
+ 5632,
794
824
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
795
825
  )),
796
826
  default: true,
@@ -804,17 +834,24 @@ configurationRegistry.registerConfiguration({
804
834
  description: {
805
835
  key: "chat.agent.enabled.description",
806
836
  value: ( localize(
807
- 5536,
837
+ 5632,
808
838
  "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."
809
839
  ))
810
840
  }
811
841
  }
812
842
  }
813
843
  },
844
+ [AgentHostEnabledSettingId]: {
845
+ type: "boolean",
846
+ description: ( localize(5633, "When enabled, some agents run in a separate agent host process.")),
847
+ default: false,
848
+ tags: ["experimental", "advanced"],
849
+ included: product.quality !== "stable"
850
+ },
814
851
  [ChatConfiguration.PlanAgentDefaultModel]: {
815
852
  type: "string",
816
853
  description: ( localize(
817
- 5537,
854
+ 5634,
818
855
  "Select the default language model to use for the Plan agent from the available providers."
819
856
  )),
820
857
  default: "",
@@ -825,7 +862,7 @@ configurationRegistry.registerConfiguration({
825
862
  [ChatConfiguration.ExploreAgentDefaultModel]: {
826
863
  type: "string",
827
864
  description: ( localize(
828
- 5538,
865
+ 5635,
829
866
  "Select the default language model to use for the Explore subagent from the available providers."
830
867
  )),
831
868
  default: "",
@@ -836,34 +873,45 @@ configurationRegistry.registerConfiguration({
836
873
  [ChatConfiguration.RequestQueueingDefaultAction]: {
837
874
  type: "string",
838
875
  enum: ["queue", "steer"],
839
- enumDescriptions: [( localize(5539, "Queue the message to send after the current request completes.")), ( localize(
840
- 5540,
876
+ enumDescriptions: [( localize(5636, "Queue the message to send after the current request completes.")), ( localize(
877
+ 5637,
841
878
  "Steer the current request by sending the message immediately, signaling the current request to yield."
842
879
  ))],
843
880
  description: ( localize(
844
- 5541,
881
+ 5638,
845
882
  "Controls which action is the default for the queue button when a request is in progress."
846
883
  )),
847
884
  default: "steer"
848
885
  },
849
886
  [ChatConfiguration.EditModeHidden]: {
850
887
  type: "boolean",
851
- description: ( localize(5542, "When enabled, hides the Edit mode from the chat mode picker.")),
888
+ description: ( localize(5639, "When enabled, hides the Edit mode from the chat mode picker.")),
852
889
  default: true,
853
890
  tags: ["experimental"],
854
891
  experiment: {
855
892
  mode: "auto"
893
+ },
894
+ policy: {
895
+ name: "DeprecatedEditModeHidden",
896
+ category: PolicyCategory.InteractiveSession,
897
+ minimumVersion: "1.112",
898
+ localization: {
899
+ description: {
900
+ key: "chat.editMode.hidden",
901
+ value: ( localize(5639, "When enabled, hides the Edit mode from the chat mode picker."))
902
+ }
903
+ }
856
904
  }
857
905
  },
858
906
  [ChatConfiguration.EnableMath]: {
859
907
  type: "boolean",
860
- description: ( localize(5543, "Enable math rendering in chat responses using KaTeX.")),
908
+ description: ( localize(5640, "Enable math rendering in chat responses using KaTeX.")),
861
909
  default: true
862
910
  },
863
911
  [ChatConfiguration.ShowCodeBlockProgressAnimation]: {
864
912
  type: "boolean",
865
913
  description: ( localize(
866
- 5544,
914
+ 5641,
867
915
  "When applying edits, show a progress animation in the code block pill. If disabled, shows the progress percentage instead."
868
916
  )),
869
917
  default: true,
@@ -872,7 +920,7 @@ configurationRegistry.registerConfiguration({
872
920
  ["chat.statusWidget.anonymous"]: {
873
921
  type: "boolean",
874
922
  description: ( localize(
875
- 5545,
923
+ 5642,
876
924
  "Controls whether anonymous users see the status widget in new chat sessions when rate limited."
877
925
  )),
878
926
  default: false,
@@ -890,7 +938,7 @@ configurationRegistry.registerConfiguration({
890
938
  additionalProperties: false,
891
939
  default: Object.fromEntries(( allDiscoverySources.map(k => [k, false]))),
892
940
  markdownDescription: ( localize(
893
- 5546,
941
+ 5643,
894
942
  "Configures discovery of Model Context Protocol servers from configuration from various other applications."
895
943
  ))
896
944
  },
@@ -899,14 +947,14 @@ configurationRegistry.registerConfiguration({
899
947
  default: false,
900
948
  tags: ["preview"],
901
949
  description: ( localize(
902
- 5547,
950
+ 5644,
903
951
  "Enables the default Marketplace for Model Context Protocol (MCP) servers."
904
952
  )),
905
953
  included: product.quality === "stable"
906
954
  },
907
955
  [mcpGalleryServiceUrlConfig]: {
908
956
  type: "string",
909
- description: ( localize(5548, "Configure the MCP Gallery service URL to connect to")),
957
+ description: ( localize(5645, "Configure the MCP Gallery service URL to connect to")),
910
958
  default: "",
911
959
  scope: ConfigurationScope.APPLICATION,
912
960
  tags: ["usesOnlineServices", "advanced"],
@@ -919,16 +967,16 @@ configurationRegistry.registerConfiguration({
919
967
  localization: {
920
968
  description: {
921
969
  key: "mcp.gallery.serviceUrl",
922
- value: ( localize(5548, "Configure the MCP Gallery service URL to connect to"))
970
+ value: ( localize(5645, "Configure the MCP Gallery service URL to connect to"))
923
971
  }
924
972
  }
925
973
  }
926
974
  },
927
975
  [PromptsConfig.INSTRUCTIONS_LOCATION_KEY]: {
928
976
  type: "object",
929
- title: ( localize(5549, "Instructions File Locations")),
977
+ title: ( localize(5646, "Instructions File Locations")),
930
978
  markdownDescription: ( localize(
931
- 5550,
979
+ 5647,
932
980
  "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.",
933
981
  INSTRUCTION_FILE_EXTENSION,
934
982
  INSTRUCTIONS_DOCUMENTATION_URL
@@ -947,7 +995,7 @@ configurationRegistry.registerConfiguration({
947
995
  propertyNames: {
948
996
  pattern: VALID_PROMPT_FOLDER_PATTERN,
949
997
  patternErrorMessage: ( localize(
950
- 5551,
998
+ 5648,
951
999
  "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."
952
1000
  ))
953
1001
  },
@@ -962,9 +1010,9 @@ configurationRegistry.registerConfiguration({
962
1010
  },
963
1011
  [PromptsConfig.PROMPT_LOCATIONS_KEY]: {
964
1012
  type: "object",
965
- title: ( localize(5552, "Prompt File Locations")),
1013
+ title: ( localize(5649, "Prompt File Locations")),
966
1014
  markdownDescription: ( localize(
967
- 5553,
1015
+ 5650,
968
1016
  "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.",
969
1017
  PROMPT_FILE_EXTENSION,
970
1018
  PROMPT_DOCUMENTATION_URL
@@ -981,7 +1029,7 @@ configurationRegistry.registerConfiguration({
981
1029
  propertyNames: {
982
1030
  pattern: VALID_PROMPT_FOLDER_PATTERN,
983
1031
  patternErrorMessage: ( localize(
984
- 5554,
1032
+ 5651,
985
1033
  "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."
986
1034
  ))
987
1035
  },
@@ -996,9 +1044,9 @@ configurationRegistry.registerConfiguration({
996
1044
  },
997
1045
  [PromptsConfig.MODE_LOCATION_KEY]: {
998
1046
  type: "object",
999
- title: ( localize(5555, "Mode File Locations")),
1047
+ title: ( localize(5652, "Mode File Locations")),
1000
1048
  markdownDescription: ( localize(
1001
- 5556,
1049
+ 5653,
1002
1050
  "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.",
1003
1051
  LEGACY_MODE_FILE_EXTENSION,
1004
1052
  AGENT_DOCUMENTATION_URL
@@ -1007,7 +1055,7 @@ configurationRegistry.registerConfiguration({
1007
1055
  [LEGACY_MODE_DEFAULT_SOURCE_FOLDER]: true
1008
1056
  },
1009
1057
  deprecationMessage: ( localize(
1010
- 5557,
1058
+ 5654,
1011
1059
  "This setting is deprecated and will be removed in future releases. Chat modes are now called custom agents and are located in `.github/agents`"
1012
1060
  )),
1013
1061
  additionalProperties: {
@@ -1033,9 +1081,9 @@ configurationRegistry.registerConfiguration({
1033
1081
  },
1034
1082
  [PromptsConfig.AGENTS_LOCATION_KEY]: {
1035
1083
  type: "object",
1036
- title: ( localize(5558, "Agent File Locations")),
1084
+ title: ( localize(5655, "Agent File Locations")),
1037
1085
  markdownDescription: ( localize(
1038
- 5559,
1086
+ 5656,
1039
1087
  "Specify location(s) of custom agent files (`*{0}`). [Learn More]({1}).\n\nRelative paths are resolved from the root folder(s) of your workspace.",
1040
1088
  AGENT_FILE_EXTENSION,
1041
1089
  AGENT_DOCUMENTATION_URL
@@ -1051,7 +1099,7 @@ configurationRegistry.registerConfiguration({
1051
1099
  propertyNames: {
1052
1100
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1053
1101
  patternErrorMessage: ( localize(
1054
- 5560,
1102
+ 5657,
1055
1103
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1056
1104
  ))
1057
1105
  },
@@ -1068,9 +1116,9 @@ configurationRegistry.registerConfiguration({
1068
1116
  },
1069
1117
  [PromptsConfig.USE_AGENT_MD]: {
1070
1118
  type: "boolean",
1071
- title: ( localize(5561, "Use AGENTS.md file")),
1119
+ title: ( localize(5658, "Use AGENTS.md file")),
1072
1120
  markdownDescription: ( localize(
1073
- 5562,
1121
+ 5659,
1074
1122
  "Controls whether instructions from `AGENTS.md` file found in a workspace roots are attached to all chat requests."
1075
1123
  )),
1076
1124
  default: true,
@@ -1080,9 +1128,9 @@ configurationRegistry.registerConfiguration({
1080
1128
  },
1081
1129
  [PromptsConfig.USE_NESTED_AGENT_MD]: {
1082
1130
  type: "boolean",
1083
- title: ( localize(5563, "Use nested AGENTS.md files")),
1131
+ title: ( localize(5660, "Use nested AGENTS.md files")),
1084
1132
  markdownDescription: ( localize(
1085
- 5564,
1133
+ 5661,
1086
1134
  "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."
1087
1135
  )),
1088
1136
  default: false,
@@ -1098,9 +1146,9 @@ configurationRegistry.registerConfiguration({
1098
1146
  },
1099
1147
  [PromptsConfig.USE_CLAUDE_MD]: {
1100
1148
  type: "boolean",
1101
- title: ( localize(5565, "Use CLAUDE.md file")),
1149
+ title: ( localize(5662, "Use CLAUDE.md file")),
1102
1150
  markdownDescription: ( localize(
1103
- 5566,
1151
+ 5663,
1104
1152
  "Controls whether instructions from `CLAUDE.md` file found in workspace roots, .claude and ~/.claude folder are attached to all chat requests."
1105
1153
  )),
1106
1154
  default: true,
@@ -1110,9 +1158,9 @@ configurationRegistry.registerConfiguration({
1110
1158
  },
1111
1159
  [PromptsConfig.USE_AGENT_SKILLS]: {
1112
1160
  type: "boolean",
1113
- title: ( localize(5567, "Use Agent skills")),
1161
+ title: ( localize(5664, "Use Agent skills")),
1114
1162
  markdownDescription: ( localize(
1115
- 5568,
1163
+ 5665,
1116
1164
  "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)."
1117
1165
  )),
1118
1166
  default: true,
@@ -1122,9 +1170,9 @@ configurationRegistry.registerConfiguration({
1122
1170
  },
1123
1171
  [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: {
1124
1172
  type: "boolean",
1125
- title: ( localize(5569, "Use Skill Adherence Prompt")),
1173
+ title: ( localize(5666, "Use Skill Adherence Prompt")),
1126
1174
  markdownDescription: ( localize(
1127
- 5570,
1175
+ 5667,
1128
1176
  "Controls whether a stronger skill adherence prompt is used that encourages the model to immediately invoke skills when relevant rather than just announcing them."
1129
1177
  )),
1130
1178
  default: false,
@@ -1143,9 +1191,9 @@ configurationRegistry.registerConfiguration({
1143
1191
  },
1144
1192
  [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: {
1145
1193
  type: "boolean",
1146
- title: ( localize(5571, "Include Applying Instructions")),
1194
+ title: ( localize(5668, "Include Applying Instructions")),
1147
1195
  markdownDescription: ( localize(
1148
- 5572,
1196
+ 5669,
1149
1197
  "Controls whether instructions with a matching 'applyTo' attribute are automatically included in chat requests."
1150
1198
  )),
1151
1199
  default: true,
@@ -1155,9 +1203,9 @@ configurationRegistry.registerConfiguration({
1155
1203
  },
1156
1204
  [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: {
1157
1205
  type: "boolean",
1158
- title: ( localize(5573, "Include Referenced Instructions")),
1206
+ title: ( localize(5670, "Include Referenced Instructions")),
1159
1207
  markdownDescription: ( localize(
1160
- 5574,
1208
+ 5671,
1161
1209
  "Controls whether referenced instructions are automatically included in chat requests."
1162
1210
  )),
1163
1211
  default: false,
@@ -1165,11 +1213,23 @@ configurationRegistry.registerConfiguration({
1165
1213
  disallowConfigurationDefault: true,
1166
1214
  tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"]
1167
1215
  },
1216
+ [PromptsConfig.USE_CUSTOMIZATIONS_IN_PARENT_REPOS]: {
1217
+ type: "boolean",
1218
+ title: ( localize(5672, "Use Customizations in Parent Repositories")),
1219
+ markdownDescription: ( localize(
1220
+ 5673,
1221
+ "Controls whether to use chat customization files in parent repositories."
1222
+ )),
1223
+ default: false,
1224
+ restricted: true,
1225
+ disallowConfigurationDefault: true,
1226
+ tags: ["prompts", "reusable prompts", "prompt snippets", "instructions"]
1227
+ },
1168
1228
  [PromptsConfig.SKILLS_LOCATION_KEY]: {
1169
1229
  type: "object",
1170
- title: ( localize(5575, "Agent Skills Locations")),
1230
+ title: ( localize(5674, "Agent Skills Locations")),
1171
1231
  markdownDescription: ( localize(
1172
- 5576,
1232
+ 5675,
1173
1233
  "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.",
1174
1234
  SKILL_FILENAME,
1175
1235
  SKILL_DOCUMENTATION_URL
@@ -1188,7 +1248,7 @@ configurationRegistry.registerConfiguration({
1188
1248
  propertyNames: {
1189
1249
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1190
1250
  patternErrorMessage: ( localize(
1191
- 5577,
1251
+ 5676,
1192
1252
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1193
1253
  ))
1194
1254
  },
@@ -1205,9 +1265,9 @@ configurationRegistry.registerConfiguration({
1205
1265
  },
1206
1266
  [PromptsConfig.HOOKS_LOCATION_KEY]: {
1207
1267
  type: "object",
1208
- title: ( localize(5578, "Hook File Locations")),
1268
+ title: ( localize(5677, "Hook File Locations")),
1209
1269
  markdownDescription: ( localize(
1210
- 5579,
1270
+ 5678,
1211
1271
  "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`).",
1212
1272
  HOOK_DOCUMENTATION_URL
1213
1273
  )),
@@ -1225,7 +1285,7 @@ configurationRegistry.registerConfiguration({
1225
1285
  propertyNames: {
1226
1286
  pattern: VALID_PROMPT_FOLDER_PATTERN,
1227
1287
  patternErrorMessage: ( localize(
1228
- 5580,
1288
+ 5679,
1229
1289
  "Paths must be relative or start with '~/'. Absolute paths and '\\' separators are not supported."
1230
1290
  ))
1231
1291
  },
@@ -1240,9 +1300,9 @@ configurationRegistry.registerConfiguration({
1240
1300
  },
1241
1301
  [PromptsConfig.USE_CHAT_HOOKS]: {
1242
1302
  type: "boolean",
1243
- title: ( localize(5581, "Use Chat Hooks")),
1303
+ title: ( localize(5680, "Use Chat Hooks")),
1244
1304
  markdownDescription: ( localize(
1245
- 5582,
1305
+ 5681,
1246
1306
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1247
1307
  )),
1248
1308
  default: true,
@@ -1258,7 +1318,7 @@ configurationRegistry.registerConfiguration({
1258
1318
  description: {
1259
1319
  key: "chat.useHooks.description",
1260
1320
  value: ( localize(
1261
- 5582,
1321
+ 5681,
1262
1322
  "Controls whether chat hooks are executed at strategic points during an agent's workflow. Hooks are loaded from the files configured in `#chat.hookFilesLocations#`."
1263
1323
  ))
1264
1324
  }
@@ -1267,9 +1327,9 @@ configurationRegistry.registerConfiguration({
1267
1327
  },
1268
1328
  [PromptsConfig.USE_CLAUDE_HOOKS]: {
1269
1329
  type: "boolean",
1270
- title: ( localize(5583, "Use Claude Hooks")),
1330
+ title: ( localize(5682, "Use Claude Hooks")),
1271
1331
  markdownDescription: ( localize(
1272
- 5584,
1332
+ 5683,
1273
1333
  "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#`."
1274
1334
  )),
1275
1335
  default: false,
@@ -1279,9 +1339,9 @@ configurationRegistry.registerConfiguration({
1279
1339
  },
1280
1340
  [PromptsConfig.USE_CUSTOM_AGENT_HOOKS]: {
1281
1341
  type: "boolean",
1282
- title: ( localize(5585, "Use Custom Agent Hooks")),
1342
+ title: ( localize(5684, "Use Custom Agent Hooks")),
1283
1343
  markdownDescription: ( localize(
1284
- 5586,
1344
+ 5685,
1285
1345
  "Controls whether hooks defined in custom agent frontmatter are parsed and executed. When disabled, hooks from agent files are ignored."
1286
1346
  )),
1287
1347
  default: false,
@@ -1292,9 +1352,9 @@ configurationRegistry.registerConfiguration({
1292
1352
  [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: {
1293
1353
  type: "object",
1294
1354
  scope: ConfigurationScope.RESOURCE,
1295
- title: ( localize(5587, "Prompt File Recommendations")),
1355
+ title: ( localize(5686, "Prompt File Recommendations")),
1296
1356
  markdownDescription: ( localize(
1297
- 5588,
1357
+ 5687,
1298
1358
  "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`."
1299
1359
  )),
1300
1360
  default: {},
@@ -1316,7 +1376,7 @@ configurationRegistry.registerConfiguration({
1316
1376
  type: "boolean",
1317
1377
  default: true,
1318
1378
  description: ( localize(
1319
- 5589,
1379
+ 5688,
1320
1380
  "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."
1321
1381
  ))
1322
1382
  },
@@ -1324,21 +1384,21 @@ configurationRegistry.registerConfiguration({
1324
1384
  type: "string",
1325
1385
  default: "fixedScrolling",
1326
1386
  enum: ["collapsed", "collapsedPreview", "fixedScrolling"],
1327
- enumDescriptions: [( localize(5590, "Thinking parts will be collapsed by default.")), ( localize(
1328
- 5591,
1387
+ enumDescriptions: [( localize(5689, "Thinking parts will be collapsed by default.")), ( localize(
1388
+ 5690,
1329
1389
  "Thinking parts will be expanded first, then collapse once we reach a part that is not thinking."
1330
1390
  )), ( localize(
1331
- 5592,
1391
+ 5691,
1332
1392
  "Show thinking in a fixed-height streaming panel that auto-scrolls; click header to expand to full height."
1333
1393
  ))],
1334
- description: ( localize(5593, "Controls how thinking is rendered.")),
1394
+ description: ( localize(5692, "Controls how thinking is rendered.")),
1335
1395
  tags: ["experimental"]
1336
1396
  },
1337
1397
  [ChatConfiguration.ThinkingGenerateTitles]: {
1338
1398
  type: "boolean",
1339
1399
  default: true,
1340
1400
  description: ( localize(
1341
- 5594,
1401
+ 5693,
1342
1402
  "Controls whether to use an LLM to generate summary titles for thinking sections."
1343
1403
  )),
1344
1404
  tags: ["experimental"]
@@ -1347,12 +1407,12 @@ configurationRegistry.registerConfiguration({
1347
1407
  type: "string",
1348
1408
  default: "always",
1349
1409
  enum: ["off", "withThinking", "always"],
1350
- enumDescriptions: [( localize(5595, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1351
- 5596,
1410
+ enumDescriptions: [( localize(5694, "Tool calls are shown separately, not collapsed into thinking.")), ( localize(
1411
+ 5695,
1352
1412
  "Tool calls are collapsed into thinking sections when thinking is present."
1353
- )), ( localize(5597, "Tool calls are always collapsed, even without thinking."))],
1413
+ )), ( localize(5696, "Tool calls are always collapsed, even without thinking."))],
1354
1414
  markdownDescription: ( localize(
1355
- 5598,
1415
+ 5697,
1356
1416
  "Controls how tool calls are displayed in relation to thinking sections."
1357
1417
  )),
1358
1418
  tags: ["experimental"]
@@ -1361,7 +1421,7 @@ configurationRegistry.registerConfiguration({
1361
1421
  type: "boolean",
1362
1422
  default: true,
1363
1423
  markdownDescription: ( localize(
1364
- 5599,
1424
+ 5698,
1365
1425
  "When enabled, terminal tool calls are displayed inside the thinking dropdown with a simplified view."
1366
1426
  )),
1367
1427
  tags: ["experimental"]
@@ -1370,7 +1430,7 @@ configurationRegistry.registerConfiguration({
1370
1430
  type: "boolean",
1371
1431
  default: true,
1372
1432
  markdownDescription: ( localize(
1373
- 5600,
1433
+ 5699,
1374
1434
  "When enabled, terminal tool calls are always displayed in a collapsible container with a simplified view."
1375
1435
  )),
1376
1436
  tags: ["experimental"]
@@ -1379,7 +1439,7 @@ configurationRegistry.registerConfiguration({
1379
1439
  type: "boolean",
1380
1440
  default: true,
1381
1441
  markdownDescription: ( localize(
1382
- 5601,
1442
+ 5700,
1383
1443
  "Controls whether the usages tool is available for finding references, definitions, and implementations of code symbols."
1384
1444
  )),
1385
1445
  tags: ["preview"],
@@ -1391,7 +1451,7 @@ configurationRegistry.registerConfiguration({
1391
1451
  type: "boolean",
1392
1452
  default: true,
1393
1453
  markdownDescription: ( localize(
1394
- 5602,
1454
+ 5701,
1395
1455
  "Controls whether the rename tool is available for renaming code symbols across the workspace."
1396
1456
  )),
1397
1457
  tags: ["preview"],
@@ -1411,7 +1471,7 @@ configurationRegistry.registerConfiguration({
1411
1471
  enum: ["replace", "append"],
1412
1472
  default: "append",
1413
1473
  description: ( localize(
1414
- 5603,
1474
+ 5702,
1415
1475
  "'replace' replaces all default phrases entirely; 'append' adds your phrases to all default categories."
1416
1476
  ))
1417
1477
  },
@@ -1422,15 +1482,15 @@ configurationRegistry.registerConfiguration({
1422
1482
  },
1423
1483
  default: [],
1424
1484
  description: ( localize(
1425
- 5604,
1426
- "Custom loading messages to show during thinking, terminal, and tool operations."
1485
+ 5703,
1486
+ "Custom loading messages to show during thinking, working progress, terminal, and tool operations."
1427
1487
  ))
1428
1488
  }
1429
1489
  },
1430
1490
  additionalProperties: false,
1431
1491
  markdownDescription: ( localize(
1432
- 5605,
1433
- "Customize the loading messages shown during agent operations. Use `\"mode\": \"replace\"` to use only your phrases, or `\"mode\": \"append\"` to add them to the defaults."
1492
+ 5704,
1493
+ "Customize the loading messages shown during agent thinking and progress indicators. Use `\"mode\": \"replace\"` to use only your phrases, or `\"mode\": \"append\"` to add them to the defaults."
1434
1494
  )),
1435
1495
  tags: ["experimental"]
1436
1496
  },
@@ -1438,14 +1498,14 @@ configurationRegistry.registerConfiguration({
1438
1498
  type: "boolean",
1439
1499
  default: true,
1440
1500
  markdownDescription: ( localize(
1441
- 5606,
1501
+ 5705,
1442
1502
  "When enabled, tool failures are automatically expanded in the chat UI to show error details."
1443
1503
  ))
1444
1504
  },
1445
1505
  [ChatConfiguration.AIDisabled]: {
1446
1506
  type: "boolean",
1447
1507
  description: ( localize(
1448
- 5607,
1508
+ 5706,
1449
1509
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
1450
1510
  )),
1451
1511
  default: false,
@@ -1458,7 +1518,7 @@ configurationRegistry.registerConfiguration({
1458
1518
  description: {
1459
1519
  key: "chat.disableAIFeatures",
1460
1520
  value: ( localize(
1461
- 5607,
1521
+ 5706,
1462
1522
  "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."
1463
1523
  ))
1464
1524
  }
@@ -1467,7 +1527,7 @@ configurationRegistry.registerConfiguration({
1467
1527
  },
1468
1528
  "chat.allowAnonymousAccess": {
1469
1529
  type: "boolean",
1470
- description: ( localize(5608, "Controls whether anonymous access is allowed in chat.")),
1530
+ description: ( localize(5707, "Controls whether anonymous access is allowed in chat.")),
1471
1531
  default: false,
1472
1532
  tags: ["experimental"],
1473
1533
  experiment: {
@@ -1477,7 +1537,7 @@ configurationRegistry.registerConfiguration({
1477
1537
  [ChatConfiguration.GrowthNotificationEnabled]: {
1478
1538
  type: "boolean",
1479
1539
  description: ( localize(
1480
- 5609,
1540
+ 5708,
1481
1541
  "Controls whether to show a growth notification in the agent sessions view to encourage new users to try Copilot."
1482
1542
  )),
1483
1543
  default: false,
@@ -1489,7 +1549,7 @@ configurationRegistry.registerConfiguration({
1489
1549
  [ChatConfiguration.RestoreLastPanelSession]: {
1490
1550
  type: "boolean",
1491
1551
  description: ( localize(
1492
- 5610,
1552
+ 5709,
1493
1553
  "Controls whether the last session is restored in panel after restart."
1494
1554
  )),
1495
1555
  default: false
@@ -1497,7 +1557,7 @@ configurationRegistry.registerConfiguration({
1497
1557
  [ChatConfiguration.ExitAfterDelegation]: {
1498
1558
  type: "boolean",
1499
1559
  description: ( localize(
1500
- 5611,
1560
+ 5710,
1501
1561
  "Controls whether the chat panel automatically exits after delegating a request to another session."
1502
1562
  )),
1503
1563
  default: false,
@@ -1506,7 +1566,7 @@ configurationRegistry.registerConfiguration({
1506
1566
  "chat.extensionUnification.enabled": {
1507
1567
  type: "boolean",
1508
1568
  description: ( localize(
1509
- 5612,
1569
+ 5711,
1510
1570
  "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."
1511
1571
  )),
1512
1572
  default: true,
@@ -1518,7 +1578,7 @@ configurationRegistry.registerConfiguration({
1518
1578
  [ChatConfiguration.SubagentToolCustomAgents]: {
1519
1579
  type: "boolean",
1520
1580
  description: ( localize(
1521
- 5613,
1581
+ 5712,
1522
1582
  "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."
1523
1583
  )),
1524
1584
  default: true,
@@ -1526,27 +1586,48 @@ configurationRegistry.registerConfiguration({
1526
1586
  mode: "auto"
1527
1587
  }
1528
1588
  },
1589
+ [ChatConfiguration.SubagentsAllowInvocationsFromSubagents]: {
1590
+ type: "boolean",
1591
+ description: ( localize(5713, "Allow subagents to invoke subagents.")),
1592
+ markdownDescription: ( localize(
1593
+ 5714,
1594
+ "Controls whether subagents can invoke other subagents. When enabled, nesting is limited to a maximum depth of 5."
1595
+ )),
1596
+ default: false,
1597
+ experiment: {
1598
+ mode: "auto"
1599
+ }
1600
+ },
1529
1601
  [ChatConfiguration.ChatCustomizationMenuEnabled]: {
1530
1602
  type: "boolean",
1531
1603
  tags: ["preview"],
1532
1604
  description: ( localize(
1533
- 5614,
1534
- "Controls whether the Chat Customizations editor is available in the Command Palette. When disabled, the Chat Customizations editor and related commands are hidden."
1605
+ 5715,
1606
+ "Controls whether the Chat Customizations editor is enabled. When enabled, the gear icon in the Chat view opens the Customizations editor directly and additional actions are moved to the overflow menu. When disabled, the gear icon shows the legacy configuration dropdown."
1607
+ )),
1608
+ default: true
1609
+ },
1610
+ [ChatConfiguration.ChatCustomizationHarnessSelectorEnabled]: {
1611
+ type: "boolean",
1612
+ tags: ["preview"],
1613
+ description: ( localize(
1614
+ 5716,
1615
+ "Controls whether the harness selector (Local, Copilot CLI, Claude) is shown in the Chat Customizations editor sidebar. When disabled, the editor always shows all customizations without filtering."
1535
1616
  )),
1536
1617
  default: true
1537
1618
  }
1538
1619
  }
1539
1620
  });
1540
1621
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1541
- EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5615, "Chat"))),
1622
+ EditorPaneDescriptor.create(ChatEditor, ChatEditorInput.EditorID, ( localize(5717, "Chat"))),
1542
1623
  [( new SyncDescriptor(ChatEditorInput))]
1543
1624
  );
1544
1625
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1545
- EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(5616, "Debug View"))),
1626
+ EditorPaneDescriptor.create(ChatDebugEditor, ChatDebugEditorInput.ID, ( localize(5718, "Debug View"))),
1546
1627
  [( new SyncDescriptor(ChatDebugEditorInput))]
1547
1628
  );
1548
1629
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
1549
- EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(5617, "Agent Plugin"))),
1630
+ EditorPaneDescriptor.create(AgentPluginEditor, AgentPluginEditor.ID, ( localize(5719, "Agent Plugin"))),
1550
1631
  [( new SyncDescriptor(AgentPluginEditorInput))]
1551
1632
  );
1552
1633
  ( Registry.as(Extensions$2.ConfigurationMigration)).registerConfigurationMigrations([{
@@ -1637,7 +1718,7 @@ let ChatResolverContribution = class ChatResolverContribution extends Disposable
1637
1718
  _registerEditor(scheme) {
1638
1719
  this._editorRegistrations.set(scheme, this.editorResolverService.registerEditor(`${scheme}:**/**`, {
1639
1720
  id: ChatEditorInput.EditorID,
1640
- label: ( localize(5615, "Chat")),
1721
+ label: ( localize(5717, "Chat")),
1641
1722
  priority: RegisteredEditorPriority.builtin
1642
1723
  }, {
1643
1724
  singlePerResource: true,
@@ -1665,7 +1746,7 @@ let ChatDebugResolverContribution = class ChatDebugResolverContribution {
1665
1746
  constructor(editorResolverService) {
1666
1747
  editorResolverService.registerEditor(`${ChatDebugEditorInput.RESOURCE.scheme}:**/**`, {
1667
1748
  id: ChatDebugEditorInput.ID,
1668
- label: ( localize(5616, "Debug View")),
1749
+ label: ( localize(5718, "Debug View")),
1669
1750
  priority: RegisteredEditorPriority.exclusive
1670
1751
  }, {
1671
1752
  singlePerResource: true,
@@ -1703,13 +1784,13 @@ let ChatAgentSettingContribution = class ChatAgentSettingContribution extends Di
1703
1784
  this.experimentService.getTreatment(treatmentId).then(value => {
1704
1785
  const node = {
1705
1786
  id: "chatSidebar",
1706
- title: ( localize(5454, "Chat")),
1787
+ title: ( localize(5545, "Chat")),
1707
1788
  type: "object",
1708
1789
  properties: {
1709
1790
  "chat.agent.maxRequests": {
1710
1791
  type: "number",
1711
1792
  markdownDescription: ( localize(
1712
- 5618,
1793
+ 5720,
1713
1794
  "The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."
1714
1795
  )),
1715
1796
  default: value ?? 50,
@@ -1852,9 +1933,10 @@ let HookSchemaAssociationContribution = class HookSchemaAssociationContribution
1852
1933
  static {
1853
1934
  this.ID = "workbench.contrib.hookSchemaAssociation";
1854
1935
  }
1855
- constructor(_configurationService) {
1936
+ constructor(_configurationService, _pathService) {
1856
1937
  super();
1857
1938
  this._configurationService = _configurationService;
1939
+ this._pathService = _pathService;
1858
1940
  this._registrations = this._register(( new DisposableStore()));
1859
1941
  this._updateAssociations();
1860
1942
  this._register(this._configurationService.onDidChangeConfiguration(e => {
@@ -1863,19 +1945,22 @@ let HookSchemaAssociationContribution = class HookSchemaAssociationContribution
1863
1945
  }
1864
1946
  }));
1865
1947
  }
1866
- _updateAssociations() {
1948
+ async _updateAssociations() {
1867
1949
  this._registrations.clear();
1868
1950
  const folders = PromptsConfig.promptSourceFolders(this._configurationService, PromptsType.hook);
1951
+ const userHomeUri = await this._pathService.userHome();
1952
+ const userHome = userHomeUri.fsPath ?? userHomeUri.path;
1869
1953
  for (const folder of folders) {
1870
1954
  if (folder.source === PromptFileSource.ClaudeWorkspace || folder.source === PromptFileSource.ClaudeWorkspaceLocal || folder.source === PromptFileSource.ClaudePersonal) {
1871
1955
  continue;
1872
1956
  }
1873
- const glob = folder.path.toLowerCase().endsWith(".json") ? folder.path : `${folder.path}/*.json`;
1957
+ const resolvedPath = isTildePath(folder.path) ? userHome + folder.path.substring(1) : folder.path;
1958
+ const glob = resolvedPath.toLowerCase().endsWith(".json") ? resolvedPath : `${resolvedPath}/*.json`;
1874
1959
  this._registrations.add(jsonContributionRegistry.registerSchemaAssociation(HOOK_SCHEMA_URI, glob));
1875
1960
  }
1876
1961
  }
1877
1962
  };
1878
- HookSchemaAssociationContribution = ( __decorate([( __param(0, IConfigurationService))], HookSchemaAssociationContribution));
1963
+ HookSchemaAssociationContribution = ( __decorate([( __param(0, IConfigurationService)), ( __param(1, IPathService))], HookSchemaAssociationContribution));
1879
1964
  let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extends Disposable {
1880
1965
  static {
1881
1966
  this.ID = "workbench.contrib.toolReferenceNames";
@@ -1895,7 +1980,7 @@ let ToolReferenceNamesContribution = class ToolReferenceNamesContribution extend
1895
1980
  for (const tool of tools) {
1896
1981
  toolReferenceNameEnumValues.push(tool.toolReferenceName);
1897
1982
  toolReferenceNameEnumDescriptions.push(( localize(
1898
- 5619,
1983
+ 5721,
1899
1984
  "{0} - {1}",
1900
1985
  tool.toolReferenceName,
1901
1986
  tool.userDescription || tool.displayName
@@ -2076,6 +2161,7 @@ registerWorkbenchContribution2(
2076
2161
  WorkbenchPhase.AfterRestored
2077
2162
  );
2078
2163
  registerWorkbenchContribution2(PromptUrlHandler.ID, PromptUrlHandler, WorkbenchPhase.BlockRestore);
2164
+ registerWorkbenchContribution2(PluginUrlHandler.ID, PluginUrlHandler, WorkbenchPhase.BlockRestore);
2079
2165
  registerWorkbenchContribution2(
2080
2166
  ChatEditingNotebookFileSystemProviderContrib.ID,
2081
2167
  ChatEditingNotebookFileSystemProviderContrib,
@@ -2107,6 +2193,11 @@ registerWorkbenchContribution2(
2107
2193
  AgentPluginsViewsContribution,
2108
2194
  WorkbenchPhase.AfterRestored
2109
2195
  );
2196
+ registerWorkbenchContribution2(
2197
+ AgentPluginRecommendations.ID,
2198
+ AgentPluginRecommendations,
2199
+ WorkbenchPhase.Eventually
2200
+ );
2110
2201
  registerChatActions();
2111
2202
  registerChatAccessibilityActions();
2112
2203
  registerChatCopyActions();