@codingame/monaco-vscode-api 30.0.1 → 31.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -22,7 +22,7 @@ import { CellUri } from '../../../notebook/common/notebookCommon.js';
22
22
  import { IChatRequestVariableEntry, isStringVariableEntry, isImplicitVariableEntry, isStringImplicitContextValue } from '../attachments/chatVariableEntries.js';
23
23
  import { migrateLegacyTerminalToolSpecificData } from '../chat.js';
24
24
  import { markChat, ChatPerfMark } from '../chatPerf.js';
25
- import { IChatToolInvocation, ChatResponseClearToPreviousToolInvocationReason, ResponseModelState, ElicitationState, isIUsedContext, ChatRequestQueueKind } from '../chatService/chatService.js';
25
+ import { IChatToolInvocation, ChatResponseClearToPreviousToolInvocationReason, ResponseModelState, ElicitationState, ToolConfirmKind, isIUsedContext, ChatRequestQueueKind } from '../chatService/chatService.js';
26
26
  import { IChatService } from '../chatService/chatService.service.js';
27
27
  import { ChatAgentLocation, ChatModeKind } from '../constants.js';
28
28
  import { ChatToolInvocation } from './chatProgressTypes/chatToolInvocation.js';
@@ -130,6 +130,9 @@ class ChatRequestModel {
130
130
  this.id = params.restoredId ?? "request_" + generateUuid();
131
131
  this._editedFileEvents = params.editedFileEvents;
132
132
  this.userSelectedTools = params.userSelectedTools;
133
+ this.isSystemInitiated = params.isSystemInitiated;
134
+ this.systemInitiatedLabel = params.systemInitiatedLabel;
135
+ this.terminalExecutionId = params.terminalExecutionId;
133
136
  }
134
137
  adoptTo(session) {
135
138
  this._session = session;
@@ -240,6 +243,7 @@ class AbstractResponse {
240
243
  case "multiDiffData":
241
244
  case "mcpServersStarting":
242
245
  case "questionCarousel":
246
+ case "planReview":
243
247
  case "disabledClaudeHooks":
244
248
  continue;
245
249
  case "toolInvocation":
@@ -300,7 +304,7 @@ class AbstractResponse {
300
304
  blocks.push(currentBlockSegments.join(""));
301
305
  }
302
306
  if (hasEditGroupsAfterLastClear) {
303
- blocks.push(( localize(7292, "Made changes.")));
307
+ blocks.push(( localize(7409, "Made changes.")));
304
308
  }
305
309
  return blocks.join("\n\n");
306
310
  }
@@ -311,6 +315,7 @@ class AbstractResponse {
311
315
  return "name" in part.inlineReference ? "`" + part.inlineReference.name + "`" : this.uriToRepr(part.inlineReference);
312
316
  }
313
317
  getToolInvocationText(toolInvocation) {
318
+ const getTerminalDisplayInput = terminalData => terminalData.presentationOverrides?.commandLine ?? terminalData.commandLine.forDisplay ?? terminalData.commandLine.userEdited ?? terminalData.commandLine.toolEdited ?? terminalData.commandLine.original;
314
319
  let message = "";
315
320
  let input = "";
316
321
  if (toolInvocation.pastTenseMessage) {
@@ -322,7 +327,7 @@ class AbstractResponse {
322
327
  if (toolInvocation.toolSpecificData.kind === "terminal") {
323
328
  message = "Ran terminal command";
324
329
  const terminalData = migrateLegacyTerminalToolSpecificData(toolInvocation.toolSpecificData);
325
- input = terminalData.commandLine.userEdited ?? terminalData.commandLine.toolEdited ?? terminalData.commandLine.original;
330
+ input = getTerminalDisplayInput(terminalData);
326
331
  }
327
332
  }
328
333
  let text = message;
@@ -333,7 +338,8 @@ class AbstractResponse {
333
338
  const resultDetails = IChatToolInvocation.resultDetails(toolInvocation);
334
339
  if (resultDetails && "input" in resultDetails) {
335
340
  const resultPrefix = toolInvocation.kind === "toolInvocationSerialized" || IChatToolInvocation.isComplete(toolInvocation) ? "Completed" : "Errored";
336
- text += `\n${resultPrefix} with input: ${resultDetails.input}`;
341
+ const resultInput = toolInvocation.toolSpecificData?.kind === "terminal" ? getTerminalDisplayInput(migrateLegacyTerminalToolSpecificData(toolInvocation.toolSpecificData)) : resultDetails.input;
342
+ text += `\n${resultPrefix} with input: ${resultInput}`;
337
343
  }
338
344
  }
339
345
  return {
@@ -406,12 +412,12 @@ class Response extends AbstractResponse {
406
412
  if (progress.kind === "clearToPreviousToolInvocation") {
407
413
  if (progress.reason === ChatResponseClearToPreviousToolInvocationReason.CopyrightContentRetry) {
408
414
  this.clearToPreviousToolInvocation(( localize(
409
- 7293,
415
+ 7410,
410
416
  "Response cleared due to possible match to public code, retrying with modified prompt."
411
417
  )));
412
418
  } else if (progress.reason === ChatResponseClearToPreviousToolInvocationReason.FilteredContentRetry) {
413
419
  this.clearToPreviousToolInvocation(( localize(
414
- 7294,
420
+ 7411,
415
421
  "Response cleared due to content safety filters, retrying with modified prompt."
416
422
  )));
417
423
  } else {
@@ -645,7 +651,19 @@ class ChatResponseModel extends Disposable {
645
651
  return this._result;
646
652
  }
647
653
  get usage() {
648
- return this._usage;
654
+ return this._usageObs.get();
655
+ }
656
+ get usageObs() {
657
+ return this._usageObs;
658
+ }
659
+ get completionTokenCount() {
660
+ return this._completionTokenCountObs.get();
661
+ }
662
+ get completionTokenCountObs() {
663
+ return this._completionTokenCountObs;
664
+ }
665
+ get elapsedMs() {
666
+ return this._elapsedMs;
649
667
  }
650
668
  get username() {
651
669
  return this.session.responderUsername;
@@ -694,6 +712,8 @@ class ChatResponseModel extends Disposable {
694
712
  this._modelState = observableValue(this, {
695
713
  value: ResponseModelState.Pending
696
714
  });
715
+ this._usageObs = observableValue(this, undefined);
716
+ this._completionTokenCountObs = observableValue(this, undefined);
697
717
  this._shouldBeBlocked = observableValue(this, false);
698
718
  this._contentReferences = [];
699
719
  this._codeCitations = [];
@@ -708,6 +728,7 @@ class ChatResponseModel extends Disposable {
708
728
  this._modelState.set(params.modelState, undefined);
709
729
  }
710
730
  this._timeSpentWaitingAccumulator = params.timeSpentWaiting || 0;
731
+ this._elapsedMs = params.elapsedMs;
711
732
  this._vote = params.vote;
712
733
  this._result = params.result;
713
734
  this._followups = params.followups ? [...params.followups] : undefined;
@@ -728,14 +749,17 @@ class ChatResponseModel extends Disposable {
728
749
  return title ? (isMarkdownString(title) ? title.value : title) : undefined;
729
750
  }
730
751
  if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
731
- return localize(7295, "Approve tool result?");
752
+ return localize(7412, "Approve tool result?");
732
753
  }
733
754
  }
734
755
  if (part.kind === "confirmation" && !part.isUsed) {
735
756
  return part.title;
736
757
  }
737
758
  if (part.kind === "questionCarousel" && !part.isUsed) {
738
- return localize(7296, "Answer questions to continue...");
759
+ return localize(7413, "Answer questions to continue...");
760
+ }
761
+ if (part.kind === "planReview" && !part.isUsed) {
762
+ return localize(7414, "Review the plan to continue...");
739
763
  }
740
764
  if (part.kind === "elicitation2" && part.state.read(r) === ElicitationState.Pending) {
741
765
  const title = part.title;
@@ -753,6 +777,9 @@ class ChatResponseModel extends Disposable {
753
777
  signal.read(r);
754
778
  return !_pendingInfo.read(r) && !this.shouldBeRemovedOnSend && (this._modelState.read(r).value === ResponseModelState.Pending || this._modelState.read(r).value === ResponseModelState.NeedsInput);
755
779
  }));
780
+ this.isIncomplete = ( this._modelState.map(state => {
781
+ return state.value === ResponseModelState.Pending || state.value === ResponseModelState.NeedsInput;
782
+ }));
756
783
  this._register(
757
784
  this._response.onDidChangeValue(() => this._onDidChange.fire(defaultChatResponseModelChangeReason))
758
785
  );
@@ -822,9 +849,18 @@ class ChatResponseModel extends Disposable {
822
849
  this._onDidChange.fire(defaultChatResponseModelChangeReason);
823
850
  }
824
851
  setUsage(usage) {
825
- this._usage = usage;
852
+ if (this.isSameUsage(usage)) {
853
+ return;
854
+ }
855
+ this._usageObs.set(usage, undefined);
856
+ const previousCompletionTokens = this._completionTokenCountObs.get() ?? 0;
857
+ this._completionTokenCountObs.set(previousCompletionTokens + usage.completionTokens, undefined);
826
858
  this._onDidChange.fire(defaultChatResponseModelChangeReason);
827
859
  }
860
+ isSameUsage(usage) {
861
+ const currentUsage = this._usageObs.get();
862
+ return !!currentUsage && currentUsage.promptTokens === usage.promptTokens && currentUsage.completionTokens === usage.completionTokens && currentUsage.outputBuffer === usage.outputBuffer && equals(currentUsage.promptTokenDetails, usage.promptTokenDetails);
863
+ }
828
864
  complete() {
829
865
  if (this.isComplete) {
830
866
  return;
@@ -832,6 +868,7 @@ class ChatResponseModel extends Disposable {
832
868
  if (this._result?.errorDetails?.responseIsRedacted) {
833
869
  this._response.clear();
834
870
  }
871
+ this._elapsedMs = Math.max(0, Date.now() - this.confirmationAdjustedTimestamp.get());
835
872
  const state = !!this._result?.errorDetails && this._result.errorDetails.code !== "canceled" ? ResponseModelState.Failed : ResponseModelState.Complete;
836
873
  this._modelState.set({
837
874
  value: state,
@@ -842,6 +879,11 @@ class ChatResponseModel extends Disposable {
842
879
  });
843
880
  }
844
881
  cancel() {
882
+ for (const part of this._response.value) {
883
+ if (part.kind === "toolInvocation" && part instanceof ChatToolInvocation) {
884
+ part.cancelFromStreaming(ToolConfirmKind.Skipped);
885
+ }
886
+ }
845
887
  this._modelState.set({
846
888
  value: ResponseModelState.Cancelled,
847
889
  completedAt: Date.now()
@@ -878,6 +920,13 @@ class ChatResponseModel extends Disposable {
878
920
  this._responseView = undefined;
879
921
  this._shouldBeRemovedOnSend = undefined;
880
922
  }
923
+ dispose() {
924
+ super.dispose();
925
+ this._response.clear();
926
+ if (this._codeBlockInfos) {
927
+ this._codeBlockInfos.length = 0;
928
+ }
929
+ }
881
930
  toJSON() {
882
931
  const modelState = this._modelState.get();
883
932
  const pendingConfirmation = this.isPendingConfirmation.get();
@@ -898,7 +947,9 @@ class ChatResponseModel extends Disposable {
898
947
  contentReferences: this.contentReferences,
899
948
  codeCitations: this.codeCitations,
900
949
  timestamp: this._timestamp,
901
- timeSpentWaiting: (pendingConfirmation ? Date.now() - pendingConfirmation.startedWaitingAt : 0) + this._timeSpentWaitingAccumulator
950
+ timeSpentWaiting: (pendingConfirmation ? Date.now() - pendingConfirmation.startedWaitingAt : 0) + this._timeSpentWaitingAccumulator,
951
+ completionTokens: this.completionTokenCount,
952
+ elapsedMs: this.elapsedMs ?? (this.completedAt ? Math.max(0, this.completedAt - this.confirmationAdjustedTimestamp.get()) : undefined)
902
953
  };
903
954
  }
904
955
  }
@@ -1012,12 +1063,6 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1012
1063
  const message = typeof firstRequestMessage === "string" ? firstRequestMessage : firstRequestMessage.text;
1013
1064
  return message.split("\n")[0].substring(0, 200);
1014
1065
  }
1015
- get contributedChatSession() {
1016
- return this._contributedChatSession;
1017
- }
1018
- setContributedChatSession(session) {
1019
- this._contributedChatSession = session;
1020
- }
1021
1066
  get repoData() {
1022
1067
  return this._repoData;
1023
1068
  }
@@ -1245,6 +1290,9 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1245
1290
  this.requestInProgress = ( this.lastRequestObs.map((request, r) => {
1246
1291
  return request?.response?.isInProgress.read(r) ?? false;
1247
1292
  }));
1293
+ this.hasActiveRequest = ( this.lastRequestObs.map((request, r) => {
1294
+ return request?.response?.isIncomplete.read(r) ?? false;
1295
+ }));
1248
1296
  this.requestNeedsInput = ( this.lastRequestObs.map((request, r) => {
1249
1297
  const pendingInfo = request?.response?.isPendingConfirmation.read(r);
1250
1298
  if (!pendingInfo) {
@@ -1262,7 +1310,7 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1262
1310
  const needsInput = this.requestNeedsInput.read(r);
1263
1311
  const shouldStayAlive = inProgress || !!needsInput;
1264
1312
  if (shouldStayAlive && !selfRef.value) {
1265
- selfRef.value = chatService.acquireExistingSession(this._sessionResource);
1313
+ selfRef.value = chatService.acquireExistingSession(this._sessionResource, "ChatModel#requestInProgressKeepAlive");
1266
1314
  } else if (!shouldStayAlive && selfRef.value) {
1267
1315
  selfRef.clear();
1268
1316
  }
@@ -1278,7 +1326,7 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1278
1326
  this._register(autorun(r => {
1279
1327
  const hasModified = ( session.entries.read(r).some(e => e.state.read(r) === ModifiedFileEntryState.Modified));
1280
1328
  if (hasModified && !selfRef.value) {
1281
- selfRef.value = this.chatService.acquireExistingSession(this._sessionResource);
1329
+ selfRef.value = this.chatService.acquireExistingSession(this._sessionResource, "ChatModel#modifiedEditsKeepAlive");
1282
1330
  } else if (!hasModified && selfRef.value) {
1283
1331
  selfRef.clear();
1284
1332
  }
@@ -1327,7 +1375,10 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1327
1375
  confirmation: raw.confirmation,
1328
1376
  editedFileEvents: raw.editedFileEvents,
1329
1377
  modelId: raw.modelId,
1330
- modeInfo: raw.modeInfo
1378
+ modeInfo: raw.modeInfo,
1379
+ isSystemInitiated: raw.isSystemInitiated,
1380
+ systemInitiatedLabel: raw.systemInitiatedLabel,
1381
+ terminalExecutionId: raw.terminalExecutionId
1331
1382
  }));
1332
1383
  request.shouldBeRemovedOnSend = raw.isHidden ? {
1333
1384
  requestId: raw.requestId
@@ -1353,7 +1404,7 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1353
1404
  for (const part of raw.response) {
1354
1405
  if (hasKey(part, {
1355
1406
  kind: true
1356
- }) && (part.kind === "questionCarousel")) {
1407
+ }) && (part.kind === "questionCarousel" || part.kind === "planReview")) {
1357
1408
  part.isUsed = true;
1358
1409
  }
1359
1410
  }
@@ -1371,6 +1422,7 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1371
1422
  followups: raw.followups,
1372
1423
  restoredId: raw.responseId,
1373
1424
  timeSpentWaiting: raw.timeSpentWaiting,
1425
+ elapsedMs: raw.elapsedMs,
1374
1426
  shouldBeBlocked: request.shouldBeBlocked.get(),
1375
1427
  codeBlockInfos: raw.responseMarkdownInfo?.map(info => ({
1376
1428
  suggestionId: info.suggestionId
@@ -1379,6 +1431,13 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1379
1431
  request.response.shouldBeRemovedOnSend = raw.isHidden ? {
1380
1432
  requestId: raw.requestId
1381
1433
  } : raw.shouldBeRemovedOnSend;
1434
+ if (typeof raw.completionTokens === "number") {
1435
+ request.response.setUsage({
1436
+ kind: "usage",
1437
+ promptTokens: 0,
1438
+ completionTokens: raw.completionTokens
1439
+ });
1440
+ }
1382
1441
  if (raw.usedContext) {
1383
1442
  request.response.applyReference(revive(raw.usedContext));
1384
1443
  }
@@ -1497,7 +1556,10 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1497
1556
  isCompleteAddedRequest,
1498
1557
  modelId,
1499
1558
  userSelectedTools,
1500
- id
1559
+ id,
1560
+ isSystemInitiated,
1561
+ systemInitiatedLabel,
1562
+ terminalExecutionId
1501
1563
  ) {
1502
1564
  const editedFileEvents = [...( this.currentEditedFileEvents.values())];
1503
1565
  this.currentEditedFileEvents.clear();
@@ -1515,7 +1577,10 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1515
1577
  isCompleteAddedRequest,
1516
1578
  modelId,
1517
1579
  editedFileEvents: editedFileEvents.length ? editedFileEvents : undefined,
1518
- userSelectedTools
1580
+ userSelectedTools,
1581
+ isSystemInitiated,
1582
+ systemInitiatedLabel,
1583
+ terminalExecutionId
1519
1584
  }));
1520
1585
  request.response = ( new ChatResponseModel({
1521
1586
  responseContent: [],
@@ -1679,6 +1744,9 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1679
1744
  editedFileEvents: r.editedFileEvents,
1680
1745
  modelId: r.modelId,
1681
1746
  modeInfo: r.modeInfo,
1747
+ isSystemInitiated: r.isSystemInitiated || undefined,
1748
+ systemInitiatedLabel: r.systemInitiatedLabel,
1749
+ terminalExecutionId: r.terminalExecutionId,
1682
1750
  ...r.response?.toJSON()
1683
1751
  };
1684
1752
  }))
@@ -1698,6 +1766,9 @@ let ChatModel = ChatModel_1 = class ChatModel extends Disposable {
1698
1766
  this._requests.forEach(r => r.response?.dispose());
1699
1767
  this._onDidDispose.fire();
1700
1768
  super.dispose();
1769
+ this._requests.length = 0;
1770
+ this.dataSerializer = undefined;
1771
+ this._editingSession = undefined;
1701
1772
  }
1702
1773
  };
1703
1774
  ChatModel = ChatModel_1 = ( __decorate([( __param(2, ILogService)), ( __param(3, IChatAgentService)), ( __param(4, IChatEditingService)), ( __param(5, IChatService))], ChatModel));
@@ -1738,7 +1809,7 @@ function getCodeCitationsMessage(citations) {
1738
1809
  return "";
1739
1810
  }
1740
1811
  const licenseTypes = citations.reduce((set, c) => set.add(c.license), ( new Set()));
1741
- const label = licenseTypes.size === 1 ? ( localize(7297, "Similar code found with 1 license type", licenseTypes.size)) : ( localize(7298, "Similar code found with {0} license types", licenseTypes.size));
1812
+ const label = licenseTypes.size === 1 ? ( localize(7415, "Similar code found with 1 license type", licenseTypes.size)) : ( localize(7416, "Similar code found with {0} license types", licenseTypes.size));
1742
1813
  return label;
1743
1814
  }
1744
1815
  function serializeSendOptions(options) {
@@ -1753,7 +1824,10 @@ function serializeSendOptions(options) {
1753
1824
  agentId: options.agentId,
1754
1825
  agentIdSilent: options.agentIdSilent,
1755
1826
  slashCommand: options.slashCommand,
1756
- confirmation: options.confirmation
1827
+ confirmation: options.confirmation,
1828
+ isSystemInitiated: options.isSystemInitiated,
1829
+ systemInitiatedLabel: options.systemInitiatedLabel,
1830
+ terminalExecutionId: options.terminalExecutionId
1757
1831
  };
1758
1832
  }
1759
1833
  var ChatRequestEditedFileEventKind;
@@ -0,0 +1,26 @@
1
+ import { DeferredPromise } from "../../../../../../base/common/async.js";
2
+ import { UriComponents } from "../../../../../../base/common/uri.js";
3
+ import { IChatPlanApprovalAction, IChatPlanReview, IChatPlanReviewResult } from "../../chatService/chatService.js";
4
+ import { ToolDataSource } from "../../tools/languageModelToolsService.js";
5
+ /**
6
+ * Runtime representation of a plan review widget with a {@link DeferredPromise}
7
+ * that is resolved when the user approves or rejects the plan. {@link toJSON}
8
+ * strips the completion so only serialisable data is persisted.
9
+ */
10
+ export declare class ChatPlanReviewData implements IChatPlanReview {
11
+ title: string;
12
+ content: string;
13
+ actions: IChatPlanApprovalAction[];
14
+ canProvideFeedback: boolean;
15
+ planUri?: UriComponents | undefined;
16
+ resolveId?: string | undefined;
17
+ data?: IChatPlanReviewResult | undefined;
18
+ isUsed?: boolean | undefined;
19
+ source?: ToolDataSource | undefined;
20
+ readonly kind: "planReview";
21
+ readonly completion: DeferredPromise<IChatPlanReviewResult | undefined>;
22
+ draftFeedback: string | undefined;
23
+ draftCollapsed: boolean | undefined;
24
+ constructor(title: string, content: string, actions: IChatPlanApprovalAction[], canProvideFeedback: boolean, planUri?: UriComponents | undefined, resolveId?: string | undefined, data?: IChatPlanReviewResult | undefined, isUsed?: boolean | undefined, source?: ToolDataSource | undefined);
25
+ toJSON(): IChatPlanReview;
26
+ }
@@ -0,0 +1,44 @@
1
+
2
+ import { DeferredPromise } from '../../../../../../base/common/async.js';
3
+
4
+ class ChatPlanReviewData {
5
+ constructor(
6
+ title,
7
+ content,
8
+ actions,
9
+ canProvideFeedback,
10
+ planUri,
11
+ resolveId,
12
+ data,
13
+ isUsed,
14
+ source
15
+ ) {
16
+ this.title = title;
17
+ this.content = content;
18
+ this.actions = actions;
19
+ this.canProvideFeedback = canProvideFeedback;
20
+ this.planUri = planUri;
21
+ this.resolveId = resolveId;
22
+ this.data = data;
23
+ this.isUsed = isUsed;
24
+ this.source = source;
25
+ this.kind = "planReview";
26
+ this.completion = ( new DeferredPromise());
27
+ }
28
+ toJSON() {
29
+ return {
30
+ kind: this.kind,
31
+ title: this.title,
32
+ content: this.content,
33
+ actions: this.actions,
34
+ canProvideFeedback: this.canProvideFeedback,
35
+ planUri: this.planUri,
36
+ resolveId: this.resolveId,
37
+ data: this.data,
38
+ isUsed: this.isUsed,
39
+ source: this.source
40
+ };
41
+ }
42
+ }
43
+
44
+ export { ChatPlanReviewData };
@@ -15,6 +15,7 @@ export declare class ChatQuestionCarouselData implements IChatQuestionCarousel {
15
15
  isUsed?: boolean | undefined;
16
16
  message?: (string | IMarkdownString) | undefined;
17
17
  source?: ToolDataSource | undefined;
18
+ terminalId?: string | undefined;
18
19
  readonly kind: "questionCarousel";
19
20
  readonly completion: DeferredPromise<{
20
21
  answers: IChatQuestionAnswers | undefined;
@@ -22,6 +23,11 @@ export declare class ChatQuestionCarouselData implements IChatQuestionCarousel {
22
23
  draftAnswers: IChatQuestionAnswers | undefined;
23
24
  draftCurrentIndex: number | undefined;
24
25
  draftCollapsed: boolean | undefined;
25
- constructor(questions: IChatQuestion[], allowSkip: boolean, resolveId?: string | undefined, data?: IChatQuestionAnswers | undefined, isUsed?: boolean | undefined, message?: (string | IMarkdownString) | undefined, source?: ToolDataSource | undefined);
26
+ /**
27
+ * Set to `true` when the carousel was dismissed because the user typed
28
+ * directly in the associated terminal instead of using the carousel UI.
29
+ */
30
+ dismissedByTerminalInput?: boolean;
31
+ constructor(questions: IChatQuestion[], allowSkip: boolean, resolveId?: string | undefined, data?: IChatQuestionAnswers | undefined, isUsed?: boolean | undefined, message?: (string | IMarkdownString) | undefined, source?: ToolDataSource | undefined, terminalId?: string | undefined);
26
32
  toJSON(): IChatQuestionCarousel;
27
33
  }
@@ -2,7 +2,7 @@
2
2
  import { DeferredPromise } from '../../../../../../base/common/async.js';
3
3
 
4
4
  class ChatQuestionCarouselData {
5
- constructor(questions, allowSkip, resolveId, data, isUsed, message, source) {
5
+ constructor(questions, allowSkip, resolveId, data, isUsed, message, source, terminalId) {
6
6
  this.questions = questions;
7
7
  this.allowSkip = allowSkip;
8
8
  this.resolveId = resolveId;
@@ -10,6 +10,7 @@ class ChatQuestionCarouselData {
10
10
  this.isUsed = isUsed;
11
11
  this.message = message;
12
12
  this.source = source;
13
+ this.terminalId = terminalId;
13
14
  this.kind = "questionCarousel";
14
15
  this.completion = ( new DeferredPromise());
15
16
  }
@@ -22,7 +23,8 @@ class ChatQuestionCarouselData {
22
23
  data: this.data,
23
24
  isUsed: this.isUsed,
24
25
  message: this.message,
25
- source: this.source
26
+ source: this.source,
27
+ terminalId: this.terminalId
26
28
  };
27
29
  }
28
30
  }
@@ -1,7 +1,7 @@
1
1
  import { IMarkdownString } from "../../../../../../base/common/htmlContent.js";
2
2
  import { IObservable } from "../../../../../../base/common/observable.js";
3
3
  import { ThemeIcon } from "../../../../../../base/common/themables.js";
4
- import { ConfirmedReason, IChatExtensionsContent, IChatModifiedFilesConfirmationData, IChatSimpleToolInvocationData, IChatSubagentToolInvocationData, IChatTodoListContent, IChatToolInputInvocationData, IChatToolInvocation, IChatToolInvocationSerialized, ToolConfirmKind, type IChatTerminalToolInvocationData } from "../../chatService/chatService.js";
4
+ import { ConfirmedReason, IChatToolInvocation, IChatToolInvocationSerialized, ToolConfirmKind } from "../../chatService/chatService.js";
5
5
  import { IPreparedToolInvocation, IToolConfirmationMessages, IToolData, IToolProgressStep, IToolResult, ToolDataSource } from "../../tools/languageModelToolsService.js";
6
6
  export interface IStreamingToolCallOptions {
7
7
  toolCallId: string;
@@ -26,7 +26,11 @@ export declare class ChatToolInvocation implements IChatToolInvocation {
26
26
  generatedTitle?: string;
27
27
  readonly chatRequestId?: string;
28
28
  isAttachedToThinking: boolean;
29
- toolSpecificData?: IChatTerminalToolInvocationData | IChatToolInputInvocationData | IChatExtensionsContent | IChatTodoListContent | IChatSubagentToolInvocationData | IChatSimpleToolInvocationData | IChatModifiedFilesConfirmationData;
29
+ private _toolSpecificData?;
30
+ private readonly _toolSpecificDataKind;
31
+ readonly toolSpecificDataKind: IObservable<string | undefined>;
32
+ get toolSpecificData(): typeof this._toolSpecificData;
33
+ set toolSpecificData(value: typeof this._toolSpecificData);
30
34
  private readonly _progress;
31
35
  private readonly _state;
32
36
  private readonly _partialInput;
@@ -56,6 +60,12 @@ export declare class ChatToolInvocation implements IChatToolInvocation {
56
60
  * Update the streaming message (from handleToolStream).
57
61
  */
58
62
  updateStreamingMessage(message: string | IMarkdownString): void;
63
+ /**
64
+ * Notifies state observers that `toolSpecificData` has been mutated.
65
+ * Since `toolSpecificData` isn't observable, this re-sets the internal
66
+ * state to trigger autoruns that need to re-read tool metadata.
67
+ */
68
+ notifyToolSpecificDataChanged(): void;
59
69
  /**
60
70
  * Cancel a streaming invocation directly (e.g., when preToolUse hook denies).
61
71
  * Only works when in Streaming state.
@@ -8,6 +8,13 @@ import { isToolResultOutputDetails } from '../../tools/languageModelToolsService
8
8
  import { observableValue } from '../../../../../../base/common/observableInternal/observables/observableValue.js';
9
9
 
10
10
  class ChatToolInvocation {
11
+ get toolSpecificData() {
12
+ return this._toolSpecificData;
13
+ }
14
+ set toolSpecificData(value) {
15
+ this._toolSpecificData = value;
16
+ this._toolSpecificDataKind.set(value?.kind, undefined);
17
+ }
11
18
  get state() {
12
19
  return this._state;
13
20
  }
@@ -51,6 +58,8 @@ class ChatToolInvocation {
51
58
  this.toolCallId = toolCallId;
52
59
  this.kind = "toolInvocation";
53
60
  this.isAttachedToThinking = false;
61
+ this._toolSpecificDataKind = observableValue(this, undefined);
62
+ this.toolSpecificDataKind = this._toolSpecificDataKind;
54
63
  this._progress = observableValue(this, {
55
64
  progress: 0
56
65
  });
@@ -60,7 +69,7 @@ class ChatToolInvocation {
60
69
  if (startOptions.startInStreaming) {
61
70
  defaultMessage = toolData.displayName;
62
71
  } else if (startOptions.startInCancelled) {
63
- defaultMessage = startOptions.cancelReasonMessage ?? ( localize(7299, "Tool \"{0}\" was denied", toolData.displayName));
72
+ defaultMessage = startOptions.cancelReasonMessage ?? ( localize(7417, "Tool \"{0}\" was denied", toolData.displayName));
64
73
  }
65
74
  this.invocationMessage = preparedInvocation?.invocationMessage ?? defaultMessage;
66
75
  this.pastTenseMessage = preparedInvocation?.pastTenseMessage;
@@ -138,6 +147,12 @@ class ChatToolInvocation {
138
147
  }
139
148
  this._streamingMessage.set(message, undefined);
140
149
  }
150
+ notifyToolSpecificDataChanged() {
151
+ const current = this._state.get();
152
+ this._state.set({
153
+ ...current
154
+ }, undefined);
155
+ }
141
156
  cancelFromStreaming(reason, reasonMessage) {
142
157
  const currentState = this._state.get();
143
158
  if (currentState.type !== IChatToolInvocation.StateKind.Streaming) {
@@ -6,11 +6,10 @@ import { ThemeIcon } from "../../../../../base/common/themables.js";
6
6
  import { URI } from "../../../../../base/common/uri.js";
7
7
  import { IInstantiationService } from "../../../../../platform/instantiation/common/instantiation.js";
8
8
  import { IChatRequestVariableEntry } from "../attachments/chatVariableEntries.js";
9
- import { ChatAgentVoteDirection, ChatRequestQueueKind, IChatCodeCitation, IChatContentReference, IChatDisabledClaudeHooksPart, IChatFollowup, IChatMcpServersStarting, IChatProgressMessage, IChatQuestionCarousel, IChatResponseErrorDetails, IChatTask, IChatUsedContext } from "../chatService/chatService.js";
9
+ import { ChatAgentVoteDirection, ChatRequestQueueKind, IChatCodeCitation, IChatContentReference, IChatDisabledClaudeHooksPart, IChatFollowup, IChatMcpServersStarting, IChatPlanReview, IChatProgressMessage, IChatQuestionCarousel, IChatResponseErrorDetails, IChatTask, IChatUsage, IChatUsedContext } from "../chatService/chatService.js";
10
10
  import { IChatAgentCommand, IChatAgentData, IChatAgentResult } from "../participants/chatAgents.js";
11
11
  import { IChatAgentNameService } from "../participants/chatAgents.service.js";
12
12
  import { IParsedChatRequest } from "../requestParser/chatParserTypes.js";
13
- import { CodeBlockModelCollection } from "@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection";
14
13
  import { IChatModel, IChatProgressRenderableResponseContent, IChatRequestDisablement, IChatRequestModel, IChatResponseModel, IChatTextEditGroup, IResponse } from "./chatModel.js";
15
14
  import { IChatStreamStats } from "./chatStreamStats.js";
16
15
  export declare function isRequestVM(item: unknown): item is IChatRequestViewModel;
@@ -68,6 +67,8 @@ export interface IChatRequestViewModel {
68
67
  readonly timestamp: number;
69
68
  /** The kind of pending request, or undefined if not pending */
70
69
  readonly pendingKind?: ChatRequestQueueKind;
70
+ readonly isSystemInitiated?: boolean;
71
+ readonly systemInitiatedLabel?: string;
71
72
  }
72
73
  export interface IChatResponseMarkdownRenderData {
73
74
  renderedWordCount: number;
@@ -117,6 +118,23 @@ export interface IChatReferences {
117
118
  */
118
119
  export interface IChatWorkingProgress {
119
120
  kind: "working";
121
+ content?: IMarkdownString;
122
+ /**
123
+ * When present, the working progress will show elapsed time and token usage.
124
+ */
125
+ state?: IChatWorkingProgressState;
126
+ }
127
+ export interface IChatWorkingProgressState {
128
+ /** The confirmation-adjusted timestamp observable for computing elapsed time */
129
+ readonly confirmationAdjustedTimestamp: IObservable<number>;
130
+ /** Observable for tracking completion token count as it arrives */
131
+ readonly completionTokenCountObs: IObservable<number | undefined>;
132
+ /** Whether the response is complete (for past-tense display) */
133
+ readonly isComplete: boolean;
134
+ /** The completedAt timestamp for completed responses */
135
+ readonly completedAt?: number;
136
+ /** Pre-computed elapsed generation time in ms (reliable for restored sessions) */
137
+ readonly elapsedMs?: number;
120
138
  }
121
139
  /**
122
140
  * Content type for citations used during rendering, not in the model
@@ -138,7 +156,7 @@ export interface IChatChangesSummaryPart {
138
156
  /**
139
157
  * Type for content parts rendered by IChatListRenderer (not necessarily in the model)
140
158
  */
141
- export type IChatRendererContent = IChatProgressRenderableResponseContent | IChatReferences | IChatCodeCitations | IChatErrorDetailsPart | IChatChangesSummaryPart | IChatWorkingProgress | IChatMcpServersStarting | IChatQuestionCarousel | IChatDisabledClaudeHooksPart;
159
+ export type IChatRendererContent = IChatProgressRenderableResponseContent | IChatReferences | IChatCodeCitations | IChatErrorDetailsPart | IChatChangesSummaryPart | IChatWorkingProgress | IChatMcpServersStarting | IChatQuestionCarousel | IChatPlanReview | IChatDisabledClaudeHooksPart;
142
160
  export interface IChatResponseViewModel {
143
161
  readonly model: IChatResponseModel;
144
162
  readonly id: string;
@@ -165,6 +183,9 @@ export interface IChatResponseViewModel {
165
183
  readonly errorDetails?: IChatResponseErrorDetails;
166
184
  readonly result?: IChatAgentResult;
167
185
  readonly contentUpdateTimings?: IChatStreamStats;
186
+ readonly confirmationAdjustedTimestamp: IObservable<number>;
187
+ readonly usageObs: IObservable<IChatUsage | undefined>;
188
+ readonly completionTokenCountObs: IObservable<number | undefined>;
168
189
  readonly shouldBeRemovedOnSend: IChatRequestDisablement | undefined;
169
190
  readonly isCompleteAddedRequest: boolean;
170
191
  renderData?: IChatResponseRenderData;
@@ -181,6 +202,7 @@ export interface IChatPendingDividerViewModel {
181
202
  readonly sessionResource: URI;
182
203
  readonly isComplete: true;
183
204
  readonly dividerKind: ChatRequestQueueKind;
205
+ readonly isSystemInitiated?: boolean;
184
206
  currentRenderedHeight: number | undefined;
185
207
  }
186
208
  export interface IChatViewModelOptions {
@@ -192,7 +214,6 @@ export interface IChatViewModelOptions {
192
214
  }
193
215
  export declare class ChatViewModel extends Disposable implements IChatViewModel {
194
216
  private readonly _model;
195
- readonly codeBlockModelCollection: CodeBlockModelCollection;
196
217
  private readonly _options;
197
218
  private readonly instantiationService;
198
219
  private readonly _onDidDisposeModel;
@@ -206,7 +227,7 @@ export declare class ChatViewModel extends Disposable implements IChatViewModel
206
227
  setInputPlaceholder(text: string): void;
207
228
  resetInputPlaceholder(): void;
208
229
  get sessionResource(): URI;
209
- constructor(_model: IChatModel, codeBlockModelCollection: CodeBlockModelCollection, _options: IChatViewModelOptions | undefined, instantiationService: IInstantiationService);
230
+ constructor(_model: IChatModel, _options: IChatViewModelOptions | undefined, instantiationService: IInstantiationService);
210
231
  private onAddResponse;
211
232
  getItems(): (IChatRequestViewModel | IChatResponseViewModel | IChatPendingDividerViewModel)[];
212
233
  private _editing;
@@ -242,6 +263,8 @@ export declare class ChatRequestViewModel implements IChatRequestViewModel {
242
263
  get modelId(): string | undefined;
243
264
  get timestamp(): number;
244
265
  get pendingKind(): ChatRequestQueueKind | undefined;
266
+ get isSystemInitiated(): boolean | undefined;
267
+ get systemInitiatedLabel(): string | undefined;
245
268
  constructor(_model: IChatRequestModel, _pendingKind?: ChatRequestQueueKind | undefined);
246
269
  }
247
270
  export declare class ChatResponseViewModel extends Disposable implements IChatResponseViewModel {
@@ -287,6 +310,9 @@ export declare class ChatResponseViewModel extends Disposable implements IChatRe
287
310
  set vulnerabilitiesListExpanded(v: boolean);
288
311
  private readonly liveUpdateTracker;
289
312
  get contentUpdateTimings(): IChatStreamStats | undefined;
313
+ get confirmationAdjustedTimestamp(): IObservable<number>;
314
+ get usageObs(): IObservable<IChatUsage | undefined>;
315
+ get completionTokenCountObs(): IObservable<number | undefined>;
290
316
  constructor(_model: IChatResponseModel, session: IChatViewModel, instantiationService: IInstantiationService, chatAgentNameService: IChatAgentNameService);
291
317
  setVote(vote: ChatAgentVoteDirection): void;
292
318
  setEditApplied(edit: IChatTextEditGroup, editCount: number): void;