@codingame/monaco-vscode-api 30.0.1 → 31.0.1

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 (669) hide show
  1. package/missing-services.js +137 -46
  2. package/package.json +9 -9
  3. package/services.d.ts +10 -1
  4. package/services.js +13 -4
  5. package/vscode/product.json.js +1 -1
  6. package/vscode/src/vs/base/browser/domStylesheets.js +2 -11
  7. package/vscode/src/vs/base/browser/overlayLayoutElement.d.ts +44 -0
  8. package/vscode/src/vs/base/browser/overlayLayoutElement.js +122 -0
  9. package/vscode/src/vs/base/browser/performance.d.ts +5 -0
  10. package/vscode/src/vs/base/browser/performance.js +4 -0
  11. package/vscode/src/vs/base/browser/ui/findinput/findInput.d.ts +1 -0
  12. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +17 -1
  13. package/vscode/src/vs/base/browser/ui/scrollbar/media/scrollbars.css +5 -0
  14. package/vscode/src/vs/base/browser/ui/tree/abstractTree.d.ts +2 -0
  15. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +14 -8
  16. package/vscode/src/vs/base/common/async.d.ts +1 -0
  17. package/vscode/src/vs/base/common/defaultAccount.d.ts +1 -0
  18. package/vscode/src/vs/base/common/event.d.ts +6 -9
  19. package/vscode/src/vs/base/common/event.js +12 -8
  20. package/vscode/src/vs/base/common/htmlContent.d.ts +10 -0
  21. package/vscode/src/vs/base/common/htmlContent.js +8 -1
  22. package/vscode/src/vs/base/common/labels.d.ts +1 -1
  23. package/vscode/src/vs/base/common/labels.js +13 -3
  24. package/vscode/src/vs/base/common/observableInternal/index.d.ts +1 -1
  25. package/vscode/src/vs/base/common/observableInternal/index.js +1 -1
  26. package/vscode/src/vs/base/common/observableInternal/utils/utils.d.ts +6 -0
  27. package/vscode/src/vs/base/common/observableInternal/utils/utils.js +38 -1
  28. package/vscode/src/vs/base/common/performance.d.ts +3 -2
  29. package/vscode/src/vs/base/common/performance.js +32 -34
  30. package/vscode/src/vs/base/common/product.d.ts +31 -0
  31. package/vscode/src/vs/base/common/types.js +1 -1
  32. package/vscode/src/vs/base/common/uri.js +1 -1
  33. package/vscode/src/vs/editor/browser/view.js +2 -1
  34. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +30 -2
  35. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/workbenchUIElementFactory.d.ts +5 -0
  36. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +2 -1
  37. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +1 -0
  38. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +1 -1
  39. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +1 -1
  40. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.d.ts +1 -0
  41. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -0
  42. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +1 -0
  43. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +2 -1
  44. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +1 -0
  45. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +4 -6
  46. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +204 -157
  47. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +25 -0
  48. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +15 -17
  49. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +3 -3
  50. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  51. package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
  52. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  53. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  54. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  55. package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.d.ts +45 -0
  56. package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.js +77 -0
  57. package/vscode/src/vs/platform/agentHost/browser/nullSshRemoteAgentHostService.d.ts +18 -0
  58. package/vscode/src/vs/platform/agentHost/browser/nullSshRemoteAgentHostService.js +25 -0
  59. package/vscode/src/vs/platform/agentHost/common/agentHostUri.d.ts +58 -0
  60. package/vscode/src/vs/platform/agentHost/common/agentHostUri.js +73 -0
  61. package/vscode/src/vs/platform/agentHost/common/agentPluginManager.d.ts +11 -0
  62. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +119 -0
  63. package/vscode/src/vs/platform/agentHost/common/agentService.service.js +6 -0
  64. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.d.ts +122 -0
  65. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.js +104 -0
  66. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.d.ts +54 -0
  67. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.js +6 -0
  68. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.d.ts +88 -0
  69. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.d.ts +89 -0
  70. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.js +6 -0
  71. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +22 -0
  72. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +234 -0
  73. package/vscode/src/vs/platform/agentHost/common/tunnelAgentHost.d.ts +91 -0
  74. package/vscode/src/vs/platform/agentHost/common/tunnelAgentHost.js +5 -0
  75. package/vscode/src/vs/platform/browserView/common/browserView.d.ts +28 -2
  76. package/vscode/src/vs/platform/browserView/common/browserViewTelemetry.d.ts +34 -0
  77. package/vscode/src/vs/platform/browserView/common/browserViewTelemetry.js +7 -0
  78. package/vscode/src/vs/platform/browserView/common/browserViewUri.d.ts +21 -0
  79. package/vscode/src/vs/platform/browserView/common/browserViewUri.js +34 -0
  80. package/vscode/src/vs/platform/browserView/common/cdp/types.d.ts +21 -10
  81. package/vscode/src/vs/platform/browserView/common/playwrightService.d.ts +7 -0
  82. package/vscode/src/vs/platform/browserView/common/playwrightService.service.d.ts +20 -5
  83. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
  84. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -4
  85. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -22
  86. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  87. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  88. package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.d.ts +1 -0
  89. package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.js +3 -0
  90. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +3 -1
  91. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +3 -1
  92. package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
  93. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  94. package/vscode/src/vs/platform/editor/common/editor.d.ts +11 -3
  95. package/vscode/src/vs/platform/environment/common/argv.d.ts +2 -1
  96. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -0
  97. package/vscode/src/vs/platform/environment/common/environmentService.d.ts +1 -0
  98. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +2 -0
  99. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +14 -14
  100. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  101. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +1 -0
  102. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +38 -16
  103. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
  104. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
  105. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +1 -1
  106. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  107. package/vscode/src/vs/platform/files/common/files.js +6 -6
  108. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  109. package/vscode/src/vs/platform/hover/browser/hoverWidget.js +1 -1
  110. package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  111. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  112. package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +4 -2
  113. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  114. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  115. package/vscode/src/vs/platform/list/browser/listService.js +25 -25
  116. package/vscode/src/vs/platform/log/common/log.js +6 -6
  117. package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
  118. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  119. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +1 -1
  120. package/vscode/src/vs/platform/mcp/common/mcpPlatformTypes.d.ts +4 -0
  121. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +5 -5
  122. package/vscode/src/vs/platform/native/common/native.d.ts +11 -1
  123. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.service.d.ts +33 -0
  124. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.service.js +6 -0
  125. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  126. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -10
  127. package/vscode/src/vs/platform/product/common/product.js +3 -3
  128. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  129. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  130. package/vscode/src/vs/platform/quickinput/browser/quickInputController.d.ts +4 -1
  131. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +39 -16
  132. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +1 -1
  133. package/vscode/src/vs/platform/quickinput/browser/quickInputService.d.ts +4 -1
  134. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +8 -0
  135. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  136. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +2 -2
  137. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  138. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  139. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -0
  140. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +6 -1
  141. package/vscode/src/vs/platform/request/common/request.js +20 -20
  142. package/vscode/src/vs/platform/sandbox/common/settings.d.ts +11 -0
  143. package/vscode/src/vs/platform/sandbox/common/settings.js +14 -0
  144. package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools → platform/sandbox}/common/terminalSandboxService.service.d.ts +6 -6
  145. package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools → platform/sandbox}/common/terminalSandboxService.service.js +1 -1
  146. package/vscode/src/vs/platform/telemetry/common/errorTelemetry.d.ts +82 -0
  147. package/vscode/src/vs/platform/telemetry/common/errorTelemetry.js +108 -0
  148. package/vscode/src/vs/platform/telemetry/common/telemetry.service.d.ts +5 -0
  149. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.d.ts +1 -0
  150. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +2 -1
  151. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -0
  152. package/vscode/src/vs/platform/terminal/common/terminal.js +5 -0
  153. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +31 -31
  154. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +1 -1
  155. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +1 -1
  156. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  157. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +18 -18
  158. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  159. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +97 -97
  160. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +48 -48
  161. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  162. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +11 -11
  163. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  164. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
  165. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  166. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  167. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  168. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +11 -11
  169. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
  170. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  171. package/vscode/src/vs/platform/update/common/update.d.ts +10 -3
  172. package/vscode/src/vs/platform/update/common/update.js +3 -1
  173. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  174. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
  175. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.d.ts +3 -1
  176. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +14 -8
  177. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
  178. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +1 -1
  179. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  180. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
  181. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  182. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +12 -12
  183. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +39 -11
  184. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +67 -14
  185. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -5
  186. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +36 -13
  187. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +164 -26
  188. package/vscode/src/vs/workbench/api/common/extHostChatDebug.d.ts +4 -0
  189. package/vscode/src/vs/workbench/api/common/extHostChatDebug.js +7 -0
  190. package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +22 -5
  191. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +278 -42
  192. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  193. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  194. package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.d.ts +2 -2
  195. package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.js +18 -35
  196. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
  197. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +4 -2
  198. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +1 -1
  199. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  200. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +2 -2
  201. package/vscode/src/vs/workbench/api/common/extHostMcp.js +6 -4
  202. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  203. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  204. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  205. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  206. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  207. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +3 -2
  208. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +16 -3
  209. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +2 -8
  210. package/vscode/src/vs/workbench/api/common/extHostTypes.js +6 -11
  211. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  212. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +11 -11
  213. package/vscode/src/vs/workbench/browser/actions/developerActions.js +58 -32
  214. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +153 -148
  215. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  216. package/vscode/src/vs/workbench/browser/actions/windowActions.js +34 -34
  217. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +39 -39
  218. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  219. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  220. package/vscode/src/vs/workbench/browser/labels.js +4 -4
  221. package/vscode/src/vs/workbench/browser/media/style.css +1 -0
  222. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +33 -31
  223. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +26 -26
  224. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +5 -5
  225. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  226. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +9 -9
  227. package/vscode/src/vs/workbench/browser/parts/compositePart.js +3 -3
  228. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.js +1 -1
  229. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +3 -3
  230. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  231. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  232. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +37 -37
  233. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -12
  234. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
  235. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -7
  236. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +135 -135
  237. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.d.ts +1 -0
  238. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +47 -26
  239. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +1 -1
  240. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +7 -7
  241. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +13 -13
  242. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  243. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.d.ts +4 -0
  244. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +21 -4
  245. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -10
  246. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +11 -12
  247. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +66 -66
  248. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +2 -2
  249. package/vscode/src/vs/workbench/browser/parts/editor/media/modalEditorPart.css +14 -5
  250. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.d.ts +12 -0
  251. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +117 -13
  252. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +1 -3
  253. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +2 -23
  254. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +1 -1
  255. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
  256. package/vscode/src/vs/workbench/browser/web.api.d.ts +69 -0
  257. package/vscode/src/vs/workbench/common/contextkeys.d.ts +2 -0
  258. package/vscode/src/vs/workbench/common/contextkeys.js +41 -39
  259. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  260. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  261. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  262. package/vscode/src/vs/workbench/common/editor.js +4 -4
  263. package/vscode/src/vs/workbench/common/theme.js +161 -161
  264. package/vscode/src/vs/workbench/common/views.d.ts +2 -2
  265. package/vscode/src/vs/workbench/common/views.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.d.ts +2 -1
  267. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +163 -155
  268. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  269. package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.d.ts +61 -0
  270. package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.js +267 -0
  271. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.d.ts +8 -5
  272. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +68 -76
  273. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service.d.ts +8 -0
  274. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service.js +6 -0
  275. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +14 -14
  276. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +1 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +7 -1
  278. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +12 -8
  279. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +7 -1
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  282. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +2 -2
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +1 -3
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +88 -66
  285. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +65 -0
  286. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +66 -0
  287. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.d.ts +7 -0
  288. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +38 -17
  289. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +6 -2
  290. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +92 -85
  291. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +8 -0
  292. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service.d.ts +5 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +7 -3
  294. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +18 -4
  295. package/vscode/src/vs/workbench/contrib/chat/common/chat.js +6 -0
  296. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +32 -1
  297. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.service.d.ts +25 -6
  298. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +8 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +17 -5
  300. package/vscode/src/vs/workbench/contrib/chat/common/chatPerf.js +29 -13
  301. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +98 -8
  302. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +11 -4
  303. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +6 -5
  304. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +4 -10
  305. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.js +11 -4
  306. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +6 -3
  307. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +16 -5
  308. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +16 -14
  309. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +78 -18
  310. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +47 -84
  311. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  312. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  313. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +1 -0
  314. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +49 -57
  315. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +54 -15
  316. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +99 -25
  317. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatPlanReviewData.d.ts +26 -0
  318. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatPlanReviewData.js +44 -0
  319. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.d.ts +7 -1
  320. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.js +4 -2
  321. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +12 -2
  322. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +16 -1
  323. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.d.ts +31 -5
  324. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +26 -6
  325. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +12 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +6 -0
  327. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.d.ts +2 -1
  328. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginGitService.service.d.ts +19 -0
  329. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginGitService.service.js +6 -0
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +16 -23
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +150 -89
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.d.ts +9 -18
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +22 -21
  334. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +20 -20
  335. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +77 -77
  336. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +6 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +9 -2
  338. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +1 -2
  339. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +167 -15
  340. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +19 -7
  341. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +18 -20
  342. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.d.ts +2 -0
  343. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +1 -1
  344. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.d.ts +10 -0
  345. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +61 -8
  346. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +12 -11
  347. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.d.ts +25 -0
  348. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +176 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +18 -6
  350. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +140 -59
  351. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.d.ts +11 -0
  352. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +90 -0
  353. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.d.ts +4 -1
  354. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +34 -7
  355. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +12 -2
  356. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.d.ts +2 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
  358. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +9 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +4 -10
  360. package/vscode/src/vs/workbench/contrib/chat/common/tools/terminalToolIds.d.ts +20 -0
  361. package/vscode/src/vs/workbench/contrib/chat/common/tools/terminalToolIds.js +17 -0
  362. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
  363. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  364. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  365. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  366. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  367. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
  368. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  369. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  370. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  371. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  372. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  373. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  374. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +133 -15
  376. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  377. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
  378. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  379. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  380. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
  381. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  382. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  383. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  384. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
  385. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  386. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  387. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
  388. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  389. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.d.ts +4 -1
  390. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +17 -14
  391. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  392. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  393. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  394. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  395. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  396. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  397. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +36 -31
  398. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +17 -14
  399. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
  400. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  401. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
  402. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  403. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  404. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
  405. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
  406. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  407. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  408. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  409. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  410. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css +2 -0
  411. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
  412. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  413. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
  414. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  415. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  416. package/vscode/src/vs/workbench/contrib/debug/common/debug.service.d.ts +11 -5
  417. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +1 -1
  418. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +16 -8
  419. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  420. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  421. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  422. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  423. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  424. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  425. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
  426. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  427. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  428. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
  429. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  430. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
  431. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
  432. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +151 -150
  433. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.d.ts +10 -5
  434. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +460 -189
  435. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  436. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  437. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  438. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -25
  439. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  440. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
  441. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +47 -47
  442. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +5 -5
  443. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +32 -32
  444. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.d.ts +2 -1
  445. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +120 -102
  446. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  447. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  448. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  449. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  450. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  451. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  452. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  453. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
  454. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  455. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  456. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  457. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  458. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  459. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  460. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  461. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  462. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
  463. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  464. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  465. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  466. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +27 -27
  467. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +56 -53
  468. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  469. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  470. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  471. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  472. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
  473. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  474. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  475. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  476. package/vscode/src/vs/workbench/contrib/files/common/files.js +19 -16
  477. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  478. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  479. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  480. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  481. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +7 -4
  482. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  483. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  484. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
  485. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +40 -40
  486. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +34 -34
  487. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +2 -2
  488. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -5
  489. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +5 -5
  490. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +53 -40
  491. package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayService.service.d.ts +5 -1
  492. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +16 -16
  493. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +9 -0
  494. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +5 -4
  495. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +1 -1
  496. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  497. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  498. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  499. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  500. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +8 -8
  501. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +4 -4
  502. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  503. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.js +5 -2
  504. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
  505. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  506. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.d.ts +1 -0
  507. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +22 -17
  508. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  509. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  510. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  511. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css +63 -10
  512. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  513. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
  514. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.d.ts +4 -4
  515. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +52 -75
  516. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  517. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  518. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  519. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  520. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  521. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  522. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  523. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  524. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  525. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  526. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  527. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  528. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  529. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  530. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  531. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  532. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  533. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
  534. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +60 -60
  535. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
  536. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  537. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  538. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  539. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
  540. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  541. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  542. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  543. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +12 -9
  544. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
  545. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  546. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +17 -14
  547. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  548. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
  549. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  550. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  551. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  552. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
  553. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
  554. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +11 -11
  555. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  556. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  557. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  558. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  559. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  560. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  561. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  562. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  563. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +9 -5
  564. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.d.ts +1 -1
  565. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  566. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +2 -2
  567. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  568. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service.d.ts +44 -0
  569. package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service.js +6 -0
  570. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +27 -1
  571. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +16 -2
  572. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  573. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  574. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
  575. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  576. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -0
  577. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +12 -10
  578. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.service.d.ts +8 -0
  579. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  580. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  581. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.d.ts +38 -0
  582. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +321 -0
  583. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  584. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.d.ts +6 -11
  585. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.js +6 -11
  586. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  587. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  588. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +78 -0
  589. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +83 -0
  590. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.d.ts +7 -12
  591. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +137 -151
  592. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  593. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  594. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.d.ts +2 -1
  595. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +16 -1
  596. package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +1 -1
  597. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  598. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  599. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  600. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  601. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  602. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +5 -3
  603. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  604. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.service.d.ts +4 -4
  605. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  606. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  607. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +30 -30
  608. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.d.ts +1 -0
  609. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +6 -9
  610. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingService.service.d.ts +13 -0
  611. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingService.service.js +6 -0
  612. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.d.ts +52 -0
  613. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.js +74 -0
  614. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  615. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +3 -1
  616. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +72 -48
  617. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.service.d.ts +17 -0
  618. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.service.js +6 -0
  619. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.d.ts +1 -1
  620. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +13 -13
  621. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +1 -1
  622. package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +1 -1
  623. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  624. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +22 -4
  625. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +61 -19
  626. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.d.ts +1 -0
  627. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  628. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  629. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  630. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +16 -0
  631. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  632. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  633. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  634. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
  635. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
  636. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +2 -1
  637. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +18 -6
  638. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -0
  639. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +6 -0
  640. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  641. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  642. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  643. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  644. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  645. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +2 -2
  646. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +30 -30
  647. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  648. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  649. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  650. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +10 -10
  651. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  652. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  653. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  654. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  655. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  656. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
  657. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  658. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  659. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  660. package/vscode-dts/vscode.proposed.authIssuers.d.ts +12 -0
  661. package/vscode-dts/vscode.proposed.chatDebug.d.ts +11 -0
  662. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +8 -0
  663. package/vscode-dts/vscode.proposed.chatPromptFiles.d.ts +316 -8
  664. package/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts +6 -4
  665. package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +92 -44
  666. package/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts +4 -1
  667. package/vscode-dts/vscode.proposed.toolInvocationApproveCombination.d.ts +13 -4
  668. package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.d.ts +0 -12
  669. package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.js +0 -6
@@ -2,7 +2,7 @@
2
2
  import { __decorate, __param } from '../../../../../../../../../external/tslib/tslib.es6.js';
3
3
  import { CancellationToken } from '../../../../../../base/common/cancellation.js';
4
4
  import { Codicon } from '../../../../../../base/common/codicons.js';
5
- import { Event } from '../../../../../../base/common/event.js';
5
+ import { Emitter, Event } from '../../../../../../base/common/event.js';
6
6
  import { MarkdownString } from '../../../../../../base/common/htmlContent.js';
7
7
  import { Disposable, DisposableStore } from '../../../../../../base/common/lifecycle.js';
8
8
  import { ThemeIcon } from '../../../../../../base/common/themables.js';
@@ -14,8 +14,10 @@ import { ILogService } from '../../../../../../platform/log/common/log.service.j
14
14
  import { IProductService } from '../../../../../../platform/product/common/productService.service.js';
15
15
  import { ChatRequestVariableSet } from '../../attachments/chatVariableEntries.js';
16
16
  import { IChatService } from '../../chatService/chatService.service.js';
17
- import { ChatConfiguration, ChatAgentLocation, ChatModeKind } from '../../constants.js';
17
+ import { ChatConfiguration, ChatAgentLocation, ChatModeKind, GeneralPurposeAgentName } from '../../constants.js';
18
+ import { ILanguageModelChatMetadata } from '../../languageModels.js';
18
19
  import { ILanguageModelsService } from '../../languageModels.service.js';
20
+ import { getChatSessionType } from '../../model/chatUri.js';
19
21
  import { IChatAgentService } from '../../participants/chatAgents.service.js';
20
22
  import { ComputeAutomaticInstructions } from '../../promptSyntax/computeAutomaticInstructions.js';
21
23
  import { mergeHooks } from '../../promptSyntax/hookSchema.js';
@@ -34,7 +36,8 @@ const BaseModelDescription = `Launch a new agent to handle complex, multi-step t
34
36
  - When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.
35
37
  - Each agent invocation is stateless. You will not be able to send additional messages to the agent, nor will the agent be able to communicate with you outside of its final report. Therefore, your prompt should contain a highly detailed task description for the agent to perform autonomously and you should specify exactly what information the agent should return back to you in its final and only message to you.
36
38
  - The agent's outputs should generally be trusted
37
- - Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user\'s intent`;
39
+ - Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user\'s intent
40
+ - If the user asks for a certain agent, you MUST provide that EXACT agent name (case-sensitive) to invoke that specific agent.`;
38
41
  const RUN_SUBAGENT_MAX_NESTING_DEPTH = 5;
39
42
  let RunSubagentTool = class RunSubagentTool extends Disposable {
40
43
  static {
@@ -49,7 +52,6 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
49
52
  languageModelToolsService,
50
53
  languageModelsService,
51
54
  logService,
52
- toolsService,
53
55
  configurationService,
54
56
  promptsService,
55
57
  instantiationService,
@@ -61,48 +63,56 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
61
63
  this.languageModelToolsService = languageModelToolsService;
62
64
  this.languageModelsService = languageModelsService;
63
65
  this.logService = logService;
64
- this.toolsService = toolsService;
65
66
  this.configurationService = configurationService;
66
67
  this.promptsService = promptsService;
67
68
  this.instantiationService = instantiationService;
68
69
  this.productService = productService;
70
+ this._onDidUpdateToolData = this._register(( new Emitter()));
71
+ this.onDidUpdateToolData = this._onDidUpdateToolData.event;
69
72
  this._resolvedModels = ( new Map());
70
73
  this._sessionDepth = ( new Map());
71
- this.onDidUpdateToolData = Event.filter(
74
+ this._register(Event.filter(
72
75
  this.configurationService.onDidChangeConfiguration,
73
- e => e.affectsConfiguration(ChatConfiguration.SubagentToolCustomAgents)
74
- );
76
+ e => e.affectsConfiguration(ChatConfiguration.GeneralPurposeAgentEnabled)
77
+ )(() => this._onDidUpdateToolData.fire()));
75
78
  }
76
79
  getToolData() {
77
- let modelDescription = BaseModelDescription;
78
- const inputSchema = {
79
- type: "object",
80
- properties: {
81
- prompt: {
82
- type: "string",
83
- description: "A detailed description of the task for the agent to perform"
84
- },
85
- description: {
86
- type: "string",
87
- description: "A short (3-5 word) description of the task"
88
- }
80
+ const modelDescription = BaseModelDescription;
81
+ const generalPurposeAgentEnabled = this.configurationService.getValue(ChatConfiguration.GeneralPurposeAgentEnabled);
82
+ const properties = {
83
+ prompt: {
84
+ type: "string",
85
+ description: "A detailed description of the task for the agent to perform"
89
86
  },
90
- required: ["prompt", "description"]
91
- };
92
- if (this.configurationService.getValue(ChatConfiguration.SubagentToolCustomAgents)) {
93
- inputSchema.properties.agentName = {
87
+ description: {
94
88
  type: "string",
95
- description: "Optional name of a specific agent to invoke. If not provided, uses the current agent."
96
- };
97
- modelDescription += `\n- If the user asks for a certain agent, you MUST provide that EXACT agent name (case-sensitive) to invoke that specific agent.`;
89
+ description: "A short (3-5 word) description of the task"
90
+ }
91
+ };
92
+ properties.agentName = {
93
+ type: "string",
94
+ description: generalPurposeAgentEnabled ? "Name of the agent to invoke." : "Optional name of a specific agent to invoke. If not provided, uses the current agent."
95
+ };
96
+ properties.model = {
97
+ type: "string",
98
+ description: "Optional model for the subagent. Format: \"Model Name (Vendor)\", vendor is usually \"copilot\". Only use to enforce a specific model."
99
+ };
100
+ const required = ["prompt", "description"];
101
+ if (generalPurposeAgentEnabled) {
102
+ required.push("agentName");
98
103
  }
104
+ const inputSchema = {
105
+ type: "object",
106
+ properties,
107
+ required
108
+ };
99
109
  const runSubagentToolData = {
100
110
  id: RunSubagentTool_1.Id,
101
111
  toolReferenceName: VSCodeToolReference.runSubagent,
102
112
  icon: ThemeIcon.fromId(Codicon.organization.id),
103
- displayName: ( localize(7661, "Run Subagent")),
113
+ displayName: ( localize(7777, "Run Subagent")),
104
114
  userDescription: ( localize(
105
- 7662,
115
+ 7778,
106
116
  "Run a task within an isolated subagent context to enable efficient organization of tasks and context window management."
107
117
  )),
108
118
  modelDescription: modelDescription,
@@ -136,7 +146,10 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
136
146
  let subagent;
137
147
  let resolvedModelName;
138
148
  const subAgentName = args.agentName;
139
- if (subAgentName) {
149
+ const gpEnabled = this.configurationService.getValue(ChatConfiguration.GeneralPurposeAgentEnabled);
150
+ const isGeneralPurpose = gpEnabled && (!subAgentName || subAgentName === GeneralPurposeAgentName);
151
+ const effectiveSubAgentName = isGeneralPurpose ? GeneralPurposeAgentName : subAgentName;
152
+ if (subAgentName && !isGeneralPurpose) {
140
153
  subagent = await this.getSubAgentByName(subAgentName);
141
154
  if (subagent) {
142
155
  const cached = this._resolvedModels.get(invocation.callId);
@@ -145,7 +158,7 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
145
158
  modeModelId = cached.modeModelId;
146
159
  resolvedModelName = cached.resolvedModelName;
147
160
  } else {
148
- const resolved = this.resolveSubagentModel(subagent, invocation.modelId);
161
+ const resolved = this.resolveSubagentModel(subagent, invocation.modelId, args.model);
149
162
  modeModelId = resolved.modeModelId;
150
163
  resolvedModelName = resolved.resolvedModelName;
151
164
  }
@@ -163,23 +176,26 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
163
176
  modeInstructions = instructions && {
164
177
  name: subAgentName,
165
178
  content: instructions.content,
166
- toolReferences: this.toolsService.toToolReferences(instructions.toolReferences),
179
+ toolReferences: this.languageModelToolsService.toToolReferences(instructions.toolReferences),
167
180
  metadata: instructions.metadata,
168
181
  isBuiltin: isBuiltinAgent(subagent.source, subagent.uri, this.productService)
169
182
  };
170
183
  } else {
171
- throw ( new Error(
172
- `Requested agent '${subAgentName}' not found. Try again with the correct agent name, or omit the agentName to use the current agent.`
173
- ));
184
+ this._resolvedModels.delete(invocation.callId);
185
+ const baseHint = " Try again with the correct agent name, or omit agentName to use the current agent.";
186
+ const gpHint = gpEnabled ? ` Additionally, you can use '${GeneralPurposeAgentName}' for a full-capability agent.` : "";
187
+ throw ( new Error(`Requested agent '${subAgentName}' not found.${baseHint}${gpHint}`));
174
188
  }
175
189
  } else {
176
190
  const cached = this._resolvedModels.get(invocation.callId);
177
191
  if (cached) {
178
192
  this._resolvedModels.delete(invocation.callId);
193
+ modeModelId = cached.modeModelId;
179
194
  resolvedModelName = cached.resolvedModelName;
180
195
  } else {
181
- const resolvedModelMetadata = modeModelId ? this.languageModelsService.lookupLanguageModel(modeModelId) : undefined;
182
- resolvedModelName = resolvedModelMetadata?.name;
196
+ const resolved = this.resolveSubagentModel(undefined, invocation.modelId, args.model);
197
+ modeModelId = resolved.modeModelId;
198
+ resolvedModelName = resolved.resolvedModelName;
183
199
  }
184
200
  }
185
201
  const markdownParts = [];
@@ -245,12 +261,12 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
245
261
  ChatModeKind.Agent,
246
262
  modeTools,
247
263
  undefined,
248
- invocation.context.sessionResource
264
+ getChatSessionType(invocation.context.sessionResource)
249
265
  );
250
266
  await computer.collect(variableSet, token);
251
267
  let collectedHooks;
252
268
  try {
253
- const info = await this.promptsService.getHooks(token, invocation.context.sessionResource);
269
+ const info = await this.promptsService.getHooks(token);
254
270
  collectedHooks = info?.hooks;
255
271
  } catch (error) {
256
272
  this.logService.warn("[ChatService] Failed to collect hooks:", error);
@@ -276,7 +292,7 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
276
292
  },
277
293
  location: ChatAgentLocation.Chat,
278
294
  subAgentInvocationId: subAgentInvocationId,
279
- subAgentName: subAgentName,
295
+ subAgentName: effectiveSubAgentName,
280
296
  userSelectedModelId: modeModelId,
281
297
  modelConfiguration: modeModelId ? this.languageModelsService.getModelConfiguration(modeModelId) : undefined,
282
298
  userSelectedTools: modeTools,
@@ -334,31 +350,94 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
334
350
  const agents = await this.promptsService.getCustomAgents(CancellationToken.None);
335
351
  return agents.find(agent => agent.name === name);
336
352
  }
337
- resolveSubagentModel(subagent, mainModelId) {
353
+ checkMultiplierConstraint(modelId, mainModelId) {
354
+ if (!mainModelId || modelId === mainModelId) {
355
+ return {
356
+ exceeds: false
357
+ };
358
+ }
359
+ const mainModelMetadata = this.languageModelsService.lookupLanguageModel(mainModelId);
360
+ const modelMetadata = this.languageModelsService.lookupLanguageModel(modelId);
361
+ const mainMultiplier = mainModelMetadata?.multiplierNumeric;
362
+ const modelMultiplier = modelMetadata?.multiplierNumeric;
363
+ if (mainMultiplier !== undefined && modelMultiplier !== undefined && modelMultiplier > mainMultiplier) {
364
+ return {
365
+ exceeds: true,
366
+ reason: `exceeds the current model's cost tier (${modelMultiplier}x vs ${mainMultiplier}x)`
367
+ };
368
+ }
369
+ return {
370
+ exceeds: false
371
+ };
372
+ }
373
+ getAvailableModelsInfo(mainModelId) {
374
+ const models = ( this.languageModelsService.getLanguageModelIds().map(id => ({
375
+ id,
376
+ metadata: this.languageModelsService.lookupLanguageModel(id)
377
+ }))).filter(
378
+ m => !!m.metadata && ILanguageModelChatMetadata.suitableForAgentMode(m.metadata) && m.metadata.isUserSelectable !== false && !m.metadata.targetChatSessionType
379
+ );
380
+ if (models.length === 0) {
381
+ return "No models available.";
382
+ }
383
+ const available = [];
384
+ const unavailableDueToMultiplier = [];
385
+ for (const {
386
+ id,
387
+ metadata
388
+ } of models) {
389
+ const qualifiedName = ILanguageModelChatMetadata.asQualifiedName(metadata);
390
+ const check = this.checkMultiplierConstraint(id, mainModelId);
391
+ if (check.exceeds) {
392
+ unavailableDueToMultiplier.push(qualifiedName);
393
+ } else {
394
+ available.push(qualifiedName);
395
+ }
396
+ }
397
+ const parts = [];
398
+ if (available.length > 0) {
399
+ parts.push(`Available models: ${available.join(", ")}`);
400
+ }
401
+ if (unavailableDueToMultiplier.length > 0) {
402
+ parts.push(
403
+ `Unavailable (exceeds current model's cost tier): ${unavailableDueToMultiplier.join(", ")}`
404
+ );
405
+ }
406
+ return parts.join(". ") || "No models available.";
407
+ }
408
+ resolveSubagentModel(subagent, mainModelId, explicitModelQualifiedName) {
338
409
  let modeModelId = mainModelId;
339
- if (subagent) {
410
+ let explicitModelResolved = false;
411
+ if (explicitModelQualifiedName) {
412
+ const lm = this.languageModelsService.lookupLanguageModelByQualifiedName(explicitModelQualifiedName);
413
+ if (lm?.identifier) {
414
+ modeModelId = lm.identifier;
415
+ explicitModelResolved = true;
416
+ } else {
417
+ throw ( new Error(
418
+ `Requested model '${explicitModelQualifiedName}' not found. ${this.getAvailableModelsInfo(mainModelId)}`
419
+ ));
420
+ }
421
+ }
422
+ if (subagent && !explicitModelResolved) {
340
423
  const modeModelQualifiedNames = subagent.model;
341
424
  if (modeModelQualifiedNames) {
342
- outer:
343
425
  for (const qualifiedName of modeModelQualifiedNames) {
344
426
  const lmByQualifiedName = this.languageModelsService.lookupLanguageModelByQualifiedName(qualifiedName);
345
427
  if (lmByQualifiedName?.identifier) {
346
428
  modeModelId = lmByQualifiedName.identifier;
347
- break outer;
429
+ break;
348
430
  }
349
431
  }
350
432
  }
351
- if (modeModelId && modeModelId !== mainModelId) {
352
- const mainModelMetadata = mainModelId ? this.languageModelsService.lookupLanguageModel(mainModelId) : undefined;
353
- const subagentModelMetadata = this.languageModelsService.lookupLanguageModel(modeModelId);
354
- const mainMultiplier = mainModelMetadata?.multiplierNumeric;
355
- const subagentMultiplier = subagentModelMetadata?.multiplierNumeric;
356
- if (mainMultiplier !== undefined && subagentMultiplier !== undefined && subagentMultiplier > mainMultiplier) {
357
- this.logService.warn(
358
- `[RunSubagentTool] Subagent '${subagent.name}' requested model '${subagentModelMetadata?.name}' (multiplier: ${subagentMultiplier}) which has a larger multiplier than the main agent model '${mainModelMetadata?.name}' (multiplier: ${mainMultiplier}). Falling back to the main agent model.`
359
- );
360
- modeModelId = mainModelId;
361
- }
433
+ }
434
+ if (modeModelId) {
435
+ const check = this.checkMultiplierConstraint(modeModelId, mainModelId);
436
+ if (check.exceeds) {
437
+ const modelMetadata = this.languageModelsService.lookupLanguageModel(modeModelId);
438
+ throw ( new Error(
439
+ `Requested model '${modelMetadata?.name}' ${check.reason}. ${this.getAvailableModelsInfo(mainModelId)}`
440
+ ));
362
441
  }
363
442
  }
364
443
  const resolvedModelMetadata = modeModelId ? this.languageModelsService.lookupLanguageModel(modeModelId) : undefined;
@@ -369,21 +448,23 @@ let RunSubagentTool = class RunSubagentTool extends Disposable {
369
448
  }
370
449
  async prepareToolInvocation(context, _token) {
371
450
  const args = context.parameters;
372
- const subagent = args.agentName ? await this.getSubAgentByName(args.agentName) : undefined;
373
- const resolved = this.resolveSubagentModel(subagent, context.modelId);
451
+ const gpEnabled = this.configurationService.getValue(ChatConfiguration.GeneralPurposeAgentEnabled);
452
+ const isGeneralPurpose = gpEnabled && (!args.agentName || args.agentName === GeneralPurposeAgentName);
453
+ const subagent = (args.agentName && !isGeneralPurpose) ? await this.getSubAgentByName(args.agentName) : undefined;
454
+ const resolved = this.resolveSubagentModel(subagent, context.modelId, args.model);
374
455
  this._resolvedModels.set(context.toolCallId, resolved);
375
456
  return {
376
457
  invocationMessage: args.description,
377
458
  toolSpecificData: {
378
459
  kind: "subagent",
379
460
  description: args.description,
380
- agentName: subagent?.name,
461
+ agentName: isGeneralPurpose ? GeneralPurposeAgentName : (subagent?.name ?? args.agentName),
381
462
  prompt: args.prompt,
382
463
  modelName: resolved.resolvedModelName
383
464
  }
384
465
  };
385
466
  }
386
467
  };
387
- RunSubagentTool = RunSubagentTool_1 = ( __decorate([( __param(0, IChatAgentService)), ( __param(1, IChatService)), ( __param(2, ILanguageModelToolsService)), ( __param(3, ILanguageModelsService)), ( __param(4, ILogService)), ( __param(5, ILanguageModelToolsService)), ( __param(6, IConfigurationService)), ( __param(7, IPromptsService)), ( __param(8, IInstantiationService)), ( __param(9, IProductService))], RunSubagentTool));
468
+ RunSubagentTool = RunSubagentTool_1 = ( __decorate([( __param(0, IChatAgentService)), ( __param(1, IChatService)), ( __param(2, ILanguageModelToolsService)), ( __param(3, ILanguageModelsService)), ( __param(4, ILogService)), ( __param(5, IConfigurationService)), ( __param(6, IPromptsService)), ( __param(7, IInstantiationService)), ( __param(8, IProductService))], RunSubagentTool));
388
469
 
389
470
  export { RUN_SUBAGENT_MAX_NESTING_DEPTH, RunSubagentTool };
@@ -0,0 +1,11 @@
1
+ import { CancellationToken } from "../../../../../../base/common/cancellation.js";
2
+ import { IToolData, IToolImpl, IToolInvocation, IToolResult, IToolInvocationPreparationContext, IPreparedToolInvocation } from "../languageModelToolsService.js";
3
+ import { IChatArtifactsService } from "../chatArtifactsService.service.js";
4
+ export declare const SetArtifactRulesToolId = "setArtifactRules";
5
+ export declare const SetArtifactRulesToolData: IToolData;
6
+ export declare class SetArtifactRulesTool implements IToolImpl {
7
+ private readonly _chatArtifactsService;
8
+ constructor(_chatArtifactsService: IChatArtifactsService);
9
+ prepareToolInvocation(_context: IToolInvocationPreparationContext, _token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
10
+ invoke(invocation: IToolInvocation, _countTokens: never, _progress: never, _token: CancellationToken): Promise<IToolResult>;
11
+ }
@@ -0,0 +1,90 @@
1
+
2
+ import { __decorate, __param } from '../../../../../../../../../external/tslib/tslib.es6.js';
3
+ import { localize } from '../../../../../../nls.js';
4
+ import { ToolDataSource, ToolInvocationPresentation } from '../languageModelToolsService.js';
5
+ import { IChatArtifactsService } from '../chatArtifactsService.service.js';
6
+ import { MarkdownString } from '../../../../../../base/common/htmlContent.js';
7
+
8
+ const SetArtifactRulesToolId = "setArtifactRules";
9
+ const artifactGroupConfigSchema = {
10
+ type: "object",
11
+ properties: {
12
+ groupName: {
13
+ type: "string",
14
+ description: "Display name for the artifact group."
15
+ },
16
+ onlyShowGroup: {
17
+ type: "boolean",
18
+ description: "When true, show only the group header instead of individual items."
19
+ }
20
+ },
21
+ required: ["groupName"]
22
+ };
23
+ const inputSchema = {
24
+ type: "object",
25
+ properties: {
26
+ byMimeType: {
27
+ type: "object",
28
+ description: "Rules for extracting artifacts from tool results by MIME type. Maps MIME type patterns (e.g. 'image/*') to group configuration.",
29
+ additionalProperties: artifactGroupConfigSchema
30
+ },
31
+ byFilePath: {
32
+ type: "object",
33
+ description: "Rules for extracting artifacts from written files by file path glob pattern. Maps glob patterns (e.g. '**/*plan*.md') to group configuration.",
34
+ additionalProperties: artifactGroupConfigSchema
35
+ },
36
+ byMemoryFilePath: {
37
+ type: "object",
38
+ description: "Rules for extracting artifacts from memory tool writes by memory file path glob pattern. Maps glob patterns to group configuration.",
39
+ additionalProperties: artifactGroupConfigSchema
40
+ }
41
+ }
42
+ };
43
+ const SetArtifactRulesToolData = {
44
+ id: SetArtifactRulesToolId,
45
+ toolReferenceName: "artifactRules",
46
+ legacyToolReferenceFullNames: [],
47
+ displayName: ( localize(7779, "Set Artifact Rules")),
48
+ modelDescription: "Override the artifact extraction rules for this session. Rules control which tool results, files, and memory writes are automatically surfaced as artifacts.\n\nProvide rules as MIME type patterns, file path globs, or memory file path globs, each mapped to a group configuration with a groupName and optional onlyShowGroup flag.\n\nExamples:\n- byMimeType: { \"image/*\": { \"groupName\": \"Screenshots\", \"onlyShowGroup\": true } }\n- byFilePath: { \"**/*plan*.md\": { \"groupName\": \"Plans\" } }\n- byMemoryFilePath: { \"**/*plan*.md\": { \"groupName\": \"Plans\" } }\n\nThis fully replaces any settings-based rules for the duration of this session.",
49
+ canBeReferencedInPrompt: true,
50
+ source: ToolDataSource.Internal,
51
+ inputSchema
52
+ };
53
+ let SetArtifactRulesTool = class SetArtifactRulesTool {
54
+ constructor(_chatArtifactsService) {
55
+ this._chatArtifactsService = _chatArtifactsService;
56
+ }
57
+ async prepareToolInvocation(_context, _token) {
58
+ return {
59
+ pastTenseMessage: ( new MarkdownString(( localize(7780, "Updated artifact rules")))),
60
+ presentation: ToolInvocationPresentation.Hidden
61
+ };
62
+ }
63
+ async invoke(invocation, _countTokens, _progress, _token) {
64
+ const args = invocation.parameters;
65
+ const chatSessionResource = invocation.context?.sessionResource;
66
+ if (!chatSessionResource) {
67
+ return {
68
+ content: [{
69
+ kind: "text",
70
+ value: "Error: No session resource available"
71
+ }]
72
+ };
73
+ }
74
+ const rules = {
75
+ byMimeType: args.byMimeType,
76
+ byFilePath: args.byFilePath,
77
+ byMemoryFilePath: args.byMemoryFilePath
78
+ };
79
+ this._chatArtifactsService.getArtifacts(chatSessionResource).setRuleOverrides(rules);
80
+ return {
81
+ content: [{
82
+ kind: "text",
83
+ value: ( localize(7781, "Updated artifact rules"))
84
+ }]
85
+ };
86
+ }
87
+ };
88
+ SetArtifactRulesTool = ( __decorate([( __param(0, IChatArtifactsService))], SetArtifactRulesTool));
89
+
90
+ export { SetArtifactRulesTool, SetArtifactRulesToolData, SetArtifactRulesToolId };
@@ -2,12 +2,15 @@ import { CancellationToken } from "../../../../../../base/common/cancellation.js
2
2
  import { IFileService } from "../../../../../../platform/files/common/files.service.js";
3
3
  import { IToolData, IToolImpl, IToolInvocation, IToolResult, IToolInvocationPreparationContext, IPreparedToolInvocation } from "../languageModelToolsService.js";
4
4
  import { IChatArtifactsService } from "../chatArtifactsService.service.js";
5
+ import { IChatService } from "../../chatService/chatService.service.js";
5
6
  export declare const SetArtifactsToolId = "setArtifacts";
6
7
  export declare const SetArtifactsToolData: IToolData;
7
8
  export declare class SetArtifactsTool implements IToolImpl {
8
9
  private readonly _chatArtifactsService;
9
10
  private readonly _fileService;
10
- constructor(_chatArtifactsService: IChatArtifactsService, _fileService: IFileService);
11
+ private readonly _chatService;
12
+ constructor(_chatArtifactsService: IChatArtifactsService, _fileService: IFileService, _chatService: IChatService);
11
13
  prepareToolInvocation(_context: IToolInvocationPreparationContext, _token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
12
14
  invoke(invocation: IToolInvocation, _countTokens: never, _progress: never, _token: CancellationToken): Promise<IToolResult>;
15
+ private _resolveSubagentName;
13
16
  }
@@ -6,6 +6,7 @@ import { IFileService } from '../../../../../../platform/files/common/files.serv
6
6
  import { ToolDataSource, ToolInvocationPresentation } from '../languageModelToolsService.js';
7
7
  import { IChatArtifactsService } from '../chatArtifactsService.service.js';
8
8
  import { MarkdownString } from '../../../../../../base/common/htmlContent.js';
9
+ import { IChatService } from '../../chatService/chatService.service.js';
9
10
 
10
11
  const SetArtifactsToolId = "setArtifacts";
11
12
  const inputSchema = {
@@ -41,20 +42,21 @@ const SetArtifactsToolData = {
41
42
  id: SetArtifactsToolId,
42
43
  toolReferenceName: "artifacts",
43
44
  legacyToolReferenceFullNames: ["Set Session Artifacts"],
44
- displayName: ( localize(7663, "Set Session Artifacts")),
45
+ displayName: ( localize(7782, "Set Session Artifacts")),
45
46
  modelDescription: "Set the list of artifacts for the current session. Each artifact has a label and either a uri or a toolCallId+dataPartIndex reference, plus an optional type (devServer, screenshot, plan). This overwrites the entire artifact list. URIs must be fully qualified with a scheme (e.g. https://localhost:3000, file:///tmp/plan.md). To reference a screenshot or image from a previous tool result, use toolCallId and dataPartIndex instead of uri.\n\nWhen to use this tool:\n- When creating or updating a plan saved to session memory — set a plan artifact so the user can view it in the artifact panel\n- When taking screenshots or producing visual output — set a screenshot artifact to surface the image\n- When starting a dev server — set a devServer artifact with the URL so the user can access it\n- When producing important documents, drafts, or temporary markdown files — set an artifact to make them easily accessible\n- After verification steps that produce visual results — update artifacts with screenshots showing the outcome\n\nWorkflow:\n- Prefer artifacts over printing long content inline in chat. Save content to a file or memory, then set an artifact pointing to it.\n- When updating plans or documents, update both the underlying file AND the artifact list.\n- Keep artifact labels concise and descriptive.",
46
47
  canBeReferencedInPrompt: true,
47
48
  source: ToolDataSource.Internal,
48
49
  inputSchema
49
50
  };
50
51
  let SetArtifactsTool = class SetArtifactsTool {
51
- constructor(_chatArtifactsService, _fileService) {
52
+ constructor(_chatArtifactsService, _fileService, _chatService) {
52
53
  this._chatArtifactsService = _chatArtifactsService;
53
54
  this._fileService = _fileService;
55
+ this._chatService = _chatService;
54
56
  }
55
57
  async prepareToolInvocation(_context, _token) {
56
58
  return {
57
- pastTenseMessage: ( new MarkdownString(( localize(7664, "Updated session artifacts")))),
59
+ pastTenseMessage: ( new MarkdownString(( localize(7783, "Updated session artifacts")))),
58
60
  presentation: ToolInvocationPresentation.Hidden
59
61
  };
60
62
  }
@@ -79,7 +81,7 @@ let SetArtifactsTool = class SetArtifactsTool {
79
81
  const parsed = ( URI.parse(uri));
80
82
  if (parsed.scheme !== "http" && parsed.scheme !== "https") {
81
83
  if (!(await this._fileService.exists(parsed))) {
82
- throw ( new Error(( localize(7665, "Artifact URI does not exist: {0}", uri))));
84
+ throw ( new Error(( localize(7784, "Artifact URI does not exist: {0}", uri))));
83
85
  }
84
86
  }
85
87
  }
@@ -89,15 +91,40 @@ let SetArtifactsTool = class SetArtifactsTool {
89
91
  type: a.type
90
92
  });
91
93
  }
92
- this._chatArtifactsService.getArtifacts(chatSessionResource).set(artifacts);
94
+ const chatArtifacts = this._chatArtifactsService.getArtifacts(chatSessionResource);
95
+ const subAgentInvocationId = invocation.subAgentInvocationId;
96
+ if (subAgentInvocationId) {
97
+ const agentName = this._resolveSubagentName(chatSessionResource, subAgentInvocationId);
98
+ chatArtifacts.setSubagentArtifacts(subAgentInvocationId, agentName, artifacts);
99
+ } else {
100
+ chatArtifacts.setAgentArtifacts(artifacts);
101
+ }
93
102
  return {
94
103
  content: [{
95
104
  kind: "text",
96
- value: ( localize(7666, "Set {0} artifact(s)", artifacts.length))
105
+ value: ( localize(7785, "Set {0} artifact(s)", artifacts.length))
97
106
  }]
98
107
  };
99
108
  }
109
+ _resolveSubagentName(sessionResource, subAgentInvocationId) {
110
+ const model = this._chatService.getSession(sessionResource);
111
+ if (!model) {
112
+ return undefined;
113
+ }
114
+ for (const request of model.getRequests()) {
115
+ const response = request.response;
116
+ if (!response) {
117
+ continue;
118
+ }
119
+ for (const part of response.response.value) {
120
+ if ((part.kind === "toolInvocation" || part.kind === "toolInvocationSerialized") && part.toolCallId === subAgentInvocationId && part.toolSpecificData?.kind === "subagent") {
121
+ return part.toolSpecificData.agentName;
122
+ }
123
+ }
124
+ }
125
+ return undefined;
126
+ }
100
127
  };
101
- SetArtifactsTool = ( __decorate([( __param(0, IChatArtifactsService)), ( __param(1, IFileService))], SetArtifactsTool));
128
+ SetArtifactsTool = ( __decorate([( __param(0, IChatArtifactsService)), ( __param(1, IFileService)), ( __param(2, IChatService))], SetArtifactsTool));
102
129
 
103
130
  export { SetArtifactsTool, SetArtifactsToolData, SetArtifactsToolId };
@@ -9,8 +9,10 @@ import { AskQuestionsTool, AskQuestionsToolData } from './askQuestionsTool.js';
9
9
  import { ConfirmationTool, ConfirmationToolData, ConfirmationToolWithOptionsData, ModifiedFilesConfirmationTool, ModifiedFilesConfirmationToolData } from './confirmationTool.js';
10
10
  import { EditTool, EditToolData } from './editFileTool.js';
11
11
  import { createManageTodoListToolData, ManageTodoListTool } from './manageTodoListTool.js';
12
+ import { ReviewPlanTool, ReviewPlanToolData } from './reviewPlanTool.js';
12
13
  import { RunSubagentTool } from './runSubagentTool.js';
13
14
  import { SetArtifactsTool, SetArtifactsToolData } from './setArtifactsTool.js';
15
+ import { SetArtifactRulesTool, SetArtifactRulesToolData } from './setArtifactRulesTool.js';
14
16
  import { TaskCompleteTool, TaskCompleteToolData } from './taskCompleteTool.js';
15
17
 
16
18
  let BuiltinToolsContribution = class BuiltinToolsContribution extends Disposable {
@@ -24,6 +26,8 @@ let BuiltinToolsContribution = class BuiltinToolsContribution extends Disposable
24
26
  const askQuestionsTool = this._register(instantiationService.createInstance(AskQuestionsTool));
25
27
  this._register(toolsService.registerTool(AskQuestionsToolData, askQuestionsTool));
26
28
  this._register(toolsService.vscodeToolSet.addTool(AskQuestionsToolData));
29
+ const reviewPlanTool = this._register(instantiationService.createInstance(ReviewPlanTool));
30
+ this._register(toolsService.registerTool(ReviewPlanToolData, reviewPlanTool));
27
31
  const todoToolData = createManageTodoListToolData();
28
32
  const manageTodoListTool = this._register(instantiationService.createInstance(ManageTodoListTool));
29
33
  this._register(toolsService.registerTool(todoToolData, manageTodoListTool));
@@ -39,19 +43,25 @@ let BuiltinToolsContribution = class BuiltinToolsContribution extends Disposable
39
43
  const taskCompleteTool = instantiationService.createInstance(TaskCompleteTool);
40
44
  this._register(toolsService.registerTool(TaskCompleteToolData, taskCompleteTool));
41
45
  const setArtifactsTool = instantiationService.createInstance(SetArtifactsTool);
46
+ const setArtifactRulesTool = instantiationService.createInstance(SetArtifactRulesTool);
42
47
  const setArtifactsRegistration = this._register(( new MutableDisposable()));
48
+ const setArtifactRulesRegistration = this._register(( new MutableDisposable()));
43
49
  const updateArtifactsRegistration = () => {
44
- if (configurationService.getValue(ChatConfiguration.ArtifactsEnabled) && configurationService.getValue(ChatConfiguration.ArtifactsMode) === "tool") {
50
+ if (configurationService.getValue(ChatConfiguration.ArtifactsEnabled)) {
45
51
  if (!setArtifactsRegistration.value) {
46
52
  setArtifactsRegistration.value = toolsService.registerTool(SetArtifactsToolData, setArtifactsTool);
47
53
  }
54
+ if (!setArtifactRulesRegistration.value) {
55
+ setArtifactRulesRegistration.value = toolsService.registerTool(SetArtifactRulesToolData, setArtifactRulesTool);
56
+ }
48
57
  } else {
49
58
  setArtifactsRegistration.clear();
59
+ setArtifactRulesRegistration.clear();
50
60
  }
51
61
  };
52
62
  updateArtifactsRegistration();
53
63
  this._register(configurationService.onDidChangeConfiguration(e => {
54
- if (e.affectsConfiguration(ChatConfiguration.ArtifactsEnabled) || e.affectsConfiguration(ChatConfiguration.ArtifactsMode)) {
64
+ if (e.affectsConfiguration(ChatConfiguration.ArtifactsEnabled)) {
55
65
  updateArtifactsRegistration();
56
66
  }
57
67
  }));
@@ -31,6 +31,8 @@ export interface ILanguageModelToolConfirmationRef {
31
31
  label: string;
32
32
  /** Precomputed SHA-256 key for the combination */
33
33
  key: string;
34
+ /** String representation of the arguments for this combination */
35
+ arguments?: string;
34
36
  };
35
37
  }
36
38
  export interface ILanguageModelToolConfirmationActionProducer {