@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
@@ -4,10 +4,9 @@ import { splitGlobAware, match } from '../../../../../base/common/glob.js';
4
4
  import { ResourceMap, ResourceSet } from '../../../../../base/common/map.js';
5
5
  import { Schemas } from '../../../../../base/common/network.js';
6
6
  import { OperatingSystem } from '../../../../../base/common/platform.js';
7
- import { dirname, basename } from '../../../../../base/common/resources.js';
7
+ import { basename, dirname } from '../../../../../base/common/resources.js';
8
8
  import { localize } from '../../../../../nls.js';
9
9
  import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.service.js';
10
- import { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.service.js';
11
10
  import { IFileService } from '../../../../../platform/files/common/files.service.js';
12
11
  import { ILabelService } from '../../../../../platform/label/common/label.service.js';
13
12
  import { ILogService } from '../../../../../platform/log/common/log.service.js';
@@ -19,37 +18,25 @@ import { VSCodeToolReference } from '../tools/languageModelToolsService.js';
19
18
  import { ILanguageModelToolsService } from '../tools/languageModelToolsService.service.js';
20
19
  import { PromptsConfig } from './config/config.js';
21
20
  import { isInClaudeRulesFolder, isInClaudeAgentsFolder, isPromptOrInstructionsFile } from './config/promptFileLocations.js';
22
- import { AgentFileType } from './service/promptsService.js';
21
+ import { newInstructionsCollectionEvent, newInstructionsCollectionDebugInfo, matchesSessionType, AgentInstructionFileType } from './service/promptsService.js';
23
22
  import { IPromptsService } from './service/promptsService.service.js';
24
- import { AGENT_DEBUG_LOG_ENABLED_SETTING, AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING, TROUBLESHOOT_SKILL_PATH } from './promptTypes.js';
23
+ import { AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING, TROUBLESHOOT_SKILL_PATH } from './promptTypes.js';
25
24
  import { OffsetRange } from '../../../../../editor/common/core/ranges/offsetRange.js';
26
- import { ChatModeKind, ChatConfiguration } from '../constants.js';
25
+ import { ChatModeKind, ChatConfiguration, GeneralPurposeAgentName } from '../constants.js';
27
26
  import { hash } from '../../../../../base/common/hash.js';
28
27
  import { IAgentPluginService } from '../plugins/agentPluginService.service.js';
29
28
 
30
- function newInstructionsCollectionEvent() {
31
- return {
32
- applyingInstructionsCount: 0,
33
- referencedInstructionsCount: 0,
34
- agentInstructionsCount: 0,
35
- listedInstructionsCount: 0,
36
- totalInstructionsCount: 0,
37
- claudeRulesCount: 0,
38
- claudeMdCount: 0,
39
- claudeAgentsCount: 0
40
- };
41
- }
29
+ let lastInstructionsCollectionResult;
42
30
  let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
43
31
  constructor(
44
32
  _modeKind,
45
33
  _enabledTools,
46
34
  _enabledSubagents,
47
- _sessionResource,
35
+ _currentSessionType,
48
36
  _promptsService,
49
37
  _logService,
50
38
  _labelService,
51
39
  _configurationService,
52
- _contextKeyService,
53
40
  _workspaceService,
54
41
  _fileService,
55
42
  _remoteAgentService,
@@ -60,12 +47,11 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
60
47
  this._modeKind = _modeKind;
61
48
  this._enabledTools = _enabledTools;
62
49
  this._enabledSubagents = _enabledSubagents;
63
- this._sessionResource = _sessionResource;
50
+ this._currentSessionType = _currentSessionType;
64
51
  this._promptsService = _promptsService;
65
52
  this._logService = _logService;
66
53
  this._labelService = _labelService;
67
54
  this._configurationService = _configurationService;
68
- this._contextKeyService = _contextKeyService;
69
55
  this._workspaceService = _workspaceService;
70
56
  this._fileService = _fileService;
71
57
  this._remoteAgentService = _remoteAgentService;
@@ -91,21 +77,28 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
91
77
  }
92
78
  }
93
79
  async collect(variables, token) {
94
- const instructionFiles = await this._promptsService.getInstructionFiles(token, this._sessionResource);
80
+ const startTime = performance.now();
81
+ const instructionFiles = await this._promptsService.getInstructionFiles(token);
95
82
  this._logService.trace(
96
83
  `[InstructionsContextComputer] ${instructionFiles.length} instruction files available.`
97
84
  );
98
85
  const telemetryEvent = newInstructionsCollectionEvent();
86
+ const debugInfo = newInstructionsCollectionDebugInfo();
99
87
  const context = this._getContext(variables);
100
- await this.addApplyingInstructions(instructionFiles, context, variables, telemetryEvent, token);
101
- await this._addReferencedInstructions(variables, telemetryEvent, token);
102
- await this._addAgentInstructions(variables, telemetryEvent, token);
103
- const customizationsIndexVariable = await this._getCustomizationsIndex(instructionFiles, variables, telemetryEvent, token);
88
+ await this.addApplyingInstructions(instructionFiles, context, variables, telemetryEvent, debugInfo, token);
89
+ await this._addReferencedInstructions(variables, telemetryEvent, debugInfo, token);
90
+ await this._addAgentInstructions(variables, telemetryEvent, debugInfo, token);
91
+ const customizationsIndexVariable = await this._getCustomizationsIndex(instructionFiles, variables, telemetryEvent, debugInfo, token);
104
92
  if (customizationsIndexVariable) {
105
93
  variables.add(customizationsIndexVariable);
106
94
  telemetryEvent.listedInstructionsCount++;
107
95
  }
96
+ debugInfo.durationInMillis = performance.now() - startTime;
108
97
  this.sendTelemetry(telemetryEvent);
98
+ lastInstructionsCollectionResult = {
99
+ telemetryEvent,
100
+ debugInfo
101
+ };
109
102
  }
110
103
  sendTelemetry(telemetryEvent) {
111
104
  telemetryEvent.totalInstructionsCount = telemetryEvent.agentInstructionsCount + telemetryEvent.referencedInstructionsCount + telemetryEvent.applyingInstructionsCount + telemetryEvent.listedInstructionsCount;
@@ -136,7 +129,7 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
136
129
  this._logService.error("[InstructionsContextComputer] Failed to log skill telemetry", err);
137
130
  }
138
131
  }
139
- async addApplyingInstructions(instructionFiles, context, variables, telemetryEvent, token) {
132
+ async addApplyingInstructions(instructionFiles, context, variables, telemetryEvent, debugInfo, token) {
140
133
  const includeApplyingInstructions = this._configurationService.getValue(PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS);
141
134
  if (!includeApplyingInstructions && this._modeKind !== ChatModeKind.Edit) {
142
135
  this._logService.trace(
@@ -144,26 +137,39 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
144
137
  );
145
138
  return;
146
139
  }
147
- for (const {
148
- uri
149
- } of instructionFiles) {
150
- const parsedFile = await this._parseInstructionsFile(uri, token);
151
- if (!parsedFile) {
152
- this._logService.trace(`[InstructionsContextComputer] Unable to read: ${uri}`);
140
+ const currentSessionType = this._currentSessionType;
141
+ for (const instructionFile of instructionFiles) {
142
+ if (token.isCancellationRequested) {
143
+ return;
144
+ }
145
+ const {
146
+ uri,
147
+ pattern
148
+ } = instructionFile;
149
+ if (!matchesSessionType(instructionFile.sessionTypes, currentSessionType)) {
153
150
  continue;
154
151
  }
155
- const applyTo = parsedFile.header?.applyTo;
156
- const paths = parsedFile.header?.paths;
157
- const isClaudeRules = isInClaudeRulesFolder(uri);
158
- const pattern = isClaudeRules ? (paths?.join(", ") ?? "**") : applyTo;
159
152
  if (!pattern) {
160
- this._logService.trace(`[InstructionsContextComputer] No 'applyTo' found: ${uri}`);
153
+ this._logService.trace(`[InstructionsContextComputer] No pattern (applyTo / paths) found: ${uri}`);
154
+ debugInfo.debugDetails.push({
155
+ category: "skipped",
156
+ name: ( basename(uri).toString()),
157
+ uri,
158
+ reason: ( localize(7453, "no applyTo pattern"))
159
+ });
161
160
  continue;
162
161
  }
162
+ const isClaudeRules = isInClaudeRulesFolder(uri);
163
163
  if (( context.instructions.has(uri))) {
164
164
  this._logService.trace(
165
165
  `[InstructionsContextComputer] Skipping already processed instruction file: ${uri}`
166
166
  );
167
+ debugInfo.debugDetails.push({
168
+ category: "skipped",
169
+ name: ( basename(uri).toString()),
170
+ uri,
171
+ reason: ( localize(7454, "already processed"))
172
+ });
167
173
  continue;
168
174
  }
169
175
  const match = this._matches(context.files, pattern);
@@ -171,9 +177,9 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
171
177
  this._logService.trace(
172
178
  `[InstructionsContextComputer] Match for ${uri} with ${match.pattern}${match.file ? ` for file ${match.file}` : ""}`
173
179
  );
174
- const reason = !match.file ? ( localize(7334, "Automatically attached as pattern is **")) : ( localize(
175
- 7335,
176
- "Automatically attached as pattern {0} matches {1}",
180
+ const reason = !match.file ? ( localize(7455, "automatically attached as pattern is **")) : ( localize(
181
+ 7456,
182
+ "automatically attached as pattern {0} matches {1}",
177
183
  pattern,
178
184
  this._labelService.getUriLabel(match.file, {
179
185
  relative: true
@@ -183,11 +189,23 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
183
189
  toPromptFileVariableEntry(uri, PromptFileVariableKind.Instruction, reason, true)
184
190
  );
185
191
  telemetryEvent.applyingInstructionsCount++;
192
+ debugInfo.debugDetails.push({
193
+ category: "applying",
194
+ name: ( basename(uri).toString()),
195
+ uri,
196
+ reason
197
+ });
186
198
  if (isClaudeRules) {
187
199
  telemetryEvent.claudeRulesCount++;
188
200
  }
189
201
  } else {
190
202
  this._logService.trace(`[InstructionsContextComputer] No match for ${uri} with ${pattern}`);
203
+ debugInfo.debugDetails.push({
204
+ category: "skipped",
205
+ name: ( basename(uri).toString()),
206
+ uri,
207
+ reason: ( localize(7457, "applyTo '{0}' did not match any attached files", pattern))
208
+ });
191
209
  }
192
210
  }
193
211
  }
@@ -209,7 +227,7 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
209
227
  instructions
210
228
  };
211
229
  }
212
- async _addAgentInstructions(variables, telemetryEvent, token) {
230
+ async _addAgentInstructions(variables, telemetryEvent, debugInfo, token) {
213
231
  const logger = {
214
232
  logInfo: message => this._logService.trace(`[InstructionsContextComputer] ${message}`)
215
233
  };
@@ -222,17 +240,23 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
222
240
  } of allCandidates) {
223
241
  const varEntry = toPromptFileVariableEntry(uri, PromptFileVariableKind.Instruction, undefined, true);
224
242
  entries.add(varEntry);
225
- if (type === AgentFileType.copilotInstructionsMd) {
243
+ if (type === AgentInstructionFileType.copilotInstructionsMd) {
226
244
  copilotEntries.add(varEntry);
227
245
  }
228
246
  telemetryEvent.agentInstructionsCount++;
229
- if (type === AgentFileType.claudeMd) {
247
+ if (type === AgentInstructionFileType.claudeMd) {
230
248
  telemetryEvent.claudeMdCount++;
231
249
  }
250
+ debugInfo.debugDetails.push({
251
+ category: "applying",
252
+ name: ( basename(uri).toString()),
253
+ uri,
254
+ reason: ( localize(7458, "always added"))
255
+ });
232
256
  logger.logInfo(`Agent instruction file added: ${( uri.toString())}`);
233
257
  }
234
258
  if (copilotEntries.length > 0) {
235
- await this._addReferencedInstructions(copilotEntries, telemetryEvent, token);
259
+ await this._addReferencedInstructions(copilotEntries, telemetryEvent, debugInfo, token);
236
260
  for (const entry of copilotEntries.asArray()) {
237
261
  variables.add(entry);
238
262
  }
@@ -289,9 +313,10 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
289
313
  }
290
314
  return undefined;
291
315
  }
292
- async _getCustomizationsIndex(instructionFiles, _existingVariables, telemetryEvent, token) {
316
+ async _getCustomizationsIndex(instructionFiles, _existingVariables, telemetryEvent, debugInfo, token) {
293
317
  const readTool = this._getTool("readFile");
294
318
  const runSubagentTool = this._getTool(VSCodeToolReference.runSubagent);
319
+ const currentSessionType = this._currentSessionType;
295
320
  const remoteEnv = await this._remoteAgentService.getEnvironment();
296
321
  const remoteOS = remoteEnv?.os;
297
322
  const filePath = uri => getFilePath(uri, remoteOS);
@@ -314,30 +339,20 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
314
339
  );
315
340
  entries.push("Make sure to acquire the instructions before working with the codebase.");
316
341
  let hasContent = false;
317
- for (const {
318
- uri
319
- } of instructionFiles) {
320
- const parsedFile = await this._parseInstructionsFile(uri, token);
321
- if (parsedFile) {
322
- entries.push("<instruction>");
323
- if (parsedFile.header) {
324
- const {
325
- description
326
- } = parsedFile.header;
327
- if (description) {
328
- entries.push(`<description>${description}</description>`);
329
- }
330
- entries.push(`<file>${filePath(uri)}</file>`);
331
- const applyToPattern = evaluateApplyToPattern(parsedFile.header, isInClaudeRulesFolder(uri));
332
- if (applyToPattern) {
333
- entries.push(`<applyTo>${applyToPattern}</applyTo>`);
334
- }
335
- } else {
336
- entries.push(`<file>${filePath(uri)}</file>`);
337
- }
338
- entries.push("</instruction>");
339
- hasContent = true;
342
+ for (const instruction of instructionFiles) {
343
+ if (!matchesSessionType(instruction.sessionTypes, currentSessionType)) {
344
+ continue;
345
+ }
346
+ entries.push("<instruction>");
347
+ if (instruction.description) {
348
+ entries.push(`<description>${instruction.description}</description>`);
349
+ }
350
+ entries.push(`<file>${filePath(instruction.uri)}</file>`);
351
+ if (instruction.pattern) {
352
+ entries.push(`<applyTo>${instruction.pattern}</applyTo>`);
340
353
  }
354
+ entries.push("</instruction>");
355
+ hasContent = true;
341
356
  }
342
357
  const agentsMdFiles = await agentsMdPromise;
343
358
  for (const {
@@ -346,7 +361,7 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
346
361
  const folderName = this._labelService.getUriLabel(dirname(uri), {
347
362
  relative: true
348
363
  });
349
- const description = folderName.trim().length === 0 ? ( localize(7336, "Instructions for the workspace")) : ( localize(7337, "Instructions for folder '{0}'", folderName));
364
+ const description = folderName.trim().length === 0 ? ( localize(7459, "Instructions for the workspace")) : ( localize(7460, "Instructions for folder '{0}'", folderName));
350
365
  entries.push("<instruction>");
351
366
  entries.push(`<description>${description}</description>`);
352
367
  entries.push(`<file>${filePath(uri)}</file>`);
@@ -358,23 +373,48 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
358
373
  } else {
359
374
  entries.push("</instructions>", "", "");
360
375
  }
361
- const agentSkills = await this._promptsService.findAgentSkills(token, this._sessionResource);
362
- const isDebugLogEnabled = this._configurationService.getValue(AGENT_DEBUG_LOG_ENABLED_SETTING);
376
+ const agentSkills = await this._promptsService.findAgentSkills(token);
363
377
  const isFileLoggingEnabled = this._configurationService.getValue(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING);
364
378
  const modelInvocableSkills = agentSkills?.filter(skill => {
365
379
  if (skill.disableModelInvocation) {
380
+ debugInfo.debugDetails.push({
381
+ category: "skipped",
382
+ name: skill.name,
383
+ uri: skill.uri,
384
+ reason: ( localize(7461, "model invocation disabled"))
385
+ });
366
386
  return false;
367
387
  }
368
- if (skill.when && !this._contextKeyService.contextMatchesRules(skill.when)) {
388
+ if (!matchesSessionType(skill.sessionTypes, currentSessionType)) {
389
+ debugInfo.debugDetails.push({
390
+ category: "skipped",
391
+ name: skill.name,
392
+ uri: skill.uri,
393
+ reason: ( localize(7462, "session type not matched"))
394
+ });
369
395
  return false;
370
396
  }
371
- if ((!isDebugLogEnabled || !isFileLoggingEnabled) && skill.uri.path.includes(TROUBLESHOOT_SKILL_PATH)) {
397
+ if (!isFileLoggingEnabled && skill.uri.path.includes(TROUBLESHOOT_SKILL_PATH)) {
398
+ debugInfo.debugDetails.push({
399
+ category: "skipped",
400
+ name: skill.name,
401
+ uri: skill.uri,
402
+ reason: ( localize(7463, "debug logging disabled"))
403
+ });
372
404
  return false;
373
405
  }
374
406
  return true;
375
407
  });
376
408
  if (modelInvocableSkills && modelInvocableSkills.length > 0) {
377
409
  this._logSkillLoadedTelemetry(modelInvocableSkills);
410
+ for (const skill of modelInvocableSkills) {
411
+ debugInfo.debugDetails.push({
412
+ category: "skill",
413
+ name: skill.name,
414
+ uri: skill.uri,
415
+ reason: skill.storage
416
+ });
417
+ }
378
418
  const useSkillAdherencePrompt = this._configurationService.getValue(PromptsConfig.USE_SKILL_ADHERENCE_PROMPT);
379
419
  entries.push("<skills>");
380
420
  if (useSkillAdherencePrompt) {
@@ -431,17 +471,18 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
431
471
  entries.push("</skills>", "", "");
432
472
  }
433
473
  }
434
- if (runSubagentTool && this._configurationService.getValue(ChatConfiguration.SubagentToolCustomAgents)) {
474
+ if (runSubagentTool) {
475
+ const generalPurposeAgentEnabled = !!this._configurationService.getValue(ChatConfiguration.GeneralPurposeAgentEnabled);
435
476
  const canUseAgent = (() => {
436
477
  if (!this._enabledSubagents || this._enabledSubagents.includes("*")) {
437
- return agent => agent.visibility.agentInvocable;
478
+ return agent => agent.visibility.agentInvocable && matchesSessionType(agent.sessionTypes, currentSessionType);
438
479
  } else {
439
480
  const subagents = this._enabledSubagents;
440
- return agent => subagents.includes(agent.name);
481
+ return agent => subagents.includes(agent.name) && matchesSessionType(agent.sessionTypes, currentSessionType);
441
482
  }
442
483
  })();
443
- const agents = await this._promptsService.getCustomAgents(token, this._sessionResource);
444
- if (agents.length > 0) {
484
+ const agents = await this._promptsService.getCustomAgents(token);
485
+ if (generalPurposeAgentEnabled || agents.length > 0) {
445
486
  entries.push("<agents>");
446
487
  entries.push("Here is a list of agents that can be used when running a subagent.");
447
488
  entries.push(
@@ -450,6 +491,14 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
450
491
  entries.push(
451
492
  `Use the ${runSubagentTool.variable} tool with the agent name to run the subagent.`
452
493
  );
494
+ if (generalPurposeAgentEnabled) {
495
+ entries.push("<agent>");
496
+ entries.push(`<name>${GeneralPurposeAgentName}</name>`);
497
+ entries.push(
498
+ `<description>Full-capability agent for complex multi-step tasks requiring high-quality reasoning. Has access to the same tools and capabilities as the current agent and inherits the parent agent's model and system prompt. Use for tasks that don't fit a more specialized agent.</description>`
499
+ );
500
+ entries.push("</agent>");
501
+ }
453
502
  for (const agent of agents) {
454
503
  if (canUseAgent(agent)) {
455
504
  entries.push("<agent>");
@@ -461,9 +510,21 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
461
510
  entries.push(`<argumentHint>${agent.argumentHint}</argumentHint>`);
462
511
  }
463
512
  entries.push("</agent>");
513
+ debugInfo.debugDetails.push({
514
+ category: "custom-agent",
515
+ name: agent.name,
516
+ uri: agent.uri
517
+ });
464
518
  if (isInClaudeAgentsFolder(agent.uri)) {
465
519
  telemetryEvent.claudeAgentsCount++;
466
520
  }
521
+ } else {
522
+ debugInfo.debugDetails.push({
523
+ category: "skipped",
524
+ name: agent.name,
525
+ uri: agent.uri,
526
+ reason: ( localize(7464, "not invocable by model"))
527
+ });
467
528
  }
468
529
  }
469
530
  entries.push("</agents>", "", "");
@@ -487,7 +548,7 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
487
548
  collectToolReference(runSubagentTool);
488
549
  return toPromptTextVariableEntry(content, true, toolReferences);
489
550
  }
490
- async _addReferencedInstructions(attachedContext, telemetryEvent, token) {
551
+ async _addReferencedInstructions(attachedContext, telemetryEvent, debugInfo, token) {
491
552
  const includeReferencedInstructions = this._configurationService.getValue(PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS);
492
553
  if (!includeReferencedInstructions && this._modeKind !== ChatModeKind.Edit) {
493
554
  this._logService.trace(
@@ -528,11 +589,17 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
528
589
  if (isPromptOrInstructionsFile(uri)) {
529
590
  todo.push(uri);
530
591
  }
531
- const reason = ( localize(7338, "Referenced by {0}", basename(next)));
592
+ const reason = ( localize(7465, "Referenced by {0}", basename(next)));
532
593
  attachedContext.add(
533
594
  toPromptFileVariableEntry(uri, PromptFileVariableKind.InstructionReference, reason, true)
534
595
  );
535
596
  telemetryEvent.referencedInstructionsCount++;
597
+ debugInfo.debugDetails.push({
598
+ category: "referenced",
599
+ name: ( basename(uri).toString()),
600
+ uri,
601
+ reason
602
+ });
536
603
  this._logService.trace(`[InstructionsContextComputer] ${( uri.toString())} added, referenced by ${( next.toString())}`);
537
604
  }
538
605
  }
@@ -542,7 +609,7 @@ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
542
609
  }
543
610
  }
544
611
  };
545
- ComputeAutomaticInstructions = ( __decorate([( __param(4, IPromptsService)), ( __param(5, ILogService)), ( __param(6, ILabelService)), ( __param(7, IConfigurationService)), ( __param(8, IContextKeyService)), ( __param(9, IWorkspaceContextService)), ( __param(10, IFileService)), ( __param(11, IRemoteAgentService)), ( __param(12, ITelemetryService)), ( __param(13, ILanguageModelToolsService)), ( __param(14, IAgentPluginService))], ComputeAutomaticInstructions));
612
+ ComputeAutomaticInstructions = ( __decorate([( __param(4, IPromptsService)), ( __param(5, ILogService)), ( __param(6, ILabelService)), ( __param(7, IConfigurationService)), ( __param(8, IWorkspaceContextService)), ( __param(9, IFileService)), ( __param(10, IRemoteAgentService)), ( __param(11, ITelemetryService)), ( __param(12, ILanguageModelToolsService)), ( __param(13, IAgentPluginService))], ComputeAutomaticInstructions));
546
613
  function getFilePath(uri, remoteOS) {
547
614
  if (uri.scheme === Schemas.file || uri.scheme === Schemas.vscodeRemote) {
548
615
  const fsPath = uri.fsPath;
@@ -556,11 +623,5 @@ function getFilePath(uri, remoteOS) {
556
623
  }
557
624
  return ( uri.toString());
558
625
  }
559
- function evaluateApplyToPattern(header, isClaudeRules) {
560
- if (isClaudeRules) {
561
- return header?.paths?.join(", ") ?? "**";
562
- }
563
- return header?.applyTo ?? undefined;
564
- }
565
626
 
566
- export { ComputeAutomaticInstructions, evaluateApplyToPattern, getFilePath, newInstructionsCollectionEvent };
627
+ export { ComputeAutomaticInstructions, getFilePath, lastInstructionsCollectionResult, newInstructionsCollectionDebugInfo, newInstructionsCollectionEvent };
@@ -1,26 +1,17 @@
1
1
  import { IJSONSchema } from "../../../../../base/common/jsonSchema.js";
2
2
  import { URI } from "../../../../../base/common/uri.js";
3
3
  import { OperatingSystem } from "../../../../../base/common/platform.js";
4
+ import { IParsedHookCommand } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/platform/agentPlugins/common/pluginParsers";
4
5
  import { HookType } from "./hookTypes.js";
5
6
  import { Target } from "./promptTypes.js";
6
7
  import { IMapValue } from "./promptFileParser.js";
7
8
  /**
8
9
  * A single hook command configuration.
10
+ * Extends the platform-layer {@link IParsedHookCommand} with editor-specific
11
+ * metadata used for UI display and field highlighting.
9
12
  */
10
- export interface IHookCommand {
13
+ export interface IHookCommand extends IParsedHookCommand {
11
14
  readonly type: "command";
12
- /** Cross-platform command to execute. */
13
- readonly command?: string;
14
- /** Windows-specific command override. */
15
- readonly windows?: string;
16
- /** Linux-specific command override. */
17
- readonly linux?: string;
18
- /** macOS-specific command override. */
19
- readonly osx?: string;
20
- /** Resolved working directory URI. */
21
- readonly cwd?: URI;
22
- readonly env?: Record<string, string>;
23
- readonly timeout?: number;
24
15
  /** Original JSON field name that provided the windows command. */
25
16
  readonly windowsSource?: "windows" | "powershell";
26
17
  /** Original JSON field name that provided the linux command. */
@@ -33,7 +24,7 @@ export interface IHookCommand {
33
24
  * This is passed to the extension host so it knows what hooks are available.
34
25
  */
35
26
  export type ChatRequestHooks = {
36
- readonly [K in HookType]?: readonly IHookCommand[];
27
+ readonly [K in HookType]?: readonly IParsedHookCommand[];
37
28
  };
38
29
  /**
39
30
  * Merges two sets of hooks by concatenating the command arrays for each hook type.
@@ -64,11 +55,11 @@ export declare function getPlatformLabel(os: OperatingSystem): string;
64
55
  * This applies OS-specific overrides (windows, linux, osx) to get the actual command that will be executed.
65
56
  * Similar to how launch.json handles platform-specific configurations in debugAdapter.ts.
66
57
  */
67
- export declare function resolveEffectiveCommand(hook: IHookCommand, os: OperatingSystem): string | undefined;
58
+ export declare function resolveEffectiveCommand(hook: IParsedHookCommand, os: OperatingSystem): string | undefined;
68
59
  /**
69
60
  * Checks if the hook is using a platform-specific command override.
70
61
  */
71
- export declare function isUsingPlatformOverride(hook: IHookCommand, os: OperatingSystem): boolean;
62
+ export declare function isUsingPlatformOverride(hook: IParsedHookCommand, os: OperatingSystem): boolean;
72
63
  /**
73
64
  * Gets the source shell type for the effective command on the given platform.
74
65
  * Returns 'powershell' if the Windows command came from a powershell field,
@@ -81,13 +72,13 @@ export declare function getEffectiveCommandSource(hook: IHookCommand, os: Operat
81
72
  * Returns the actual field name from the JSON (e.g., 'bash' instead of 'osx' if bash was used).
82
73
  * This is used for editor focus to highlight the correct field.
83
74
  */
84
- export declare function getEffectiveCommandFieldKey(hook: IHookCommand, os: OperatingSystem): string;
75
+ export declare function getEffectiveCommandFieldKey(hook: IHookCommand | IParsedHookCommand, os: OperatingSystem): string;
85
76
  /**
86
77
  * Formats a hook command for display.
87
78
  * Resolves OS-specific overrides to show the effective command for the given platform.
88
79
  * If using a platform-specific override, includes the platform as a prefix badge.
89
80
  */
90
- export declare function formatHookCommandLabel(hook: IHookCommand, os: OperatingSystem): string;
81
+ export declare function formatHookCommandLabel(hook: IParsedHookCommand, os: OperatingSystem): string;
91
82
  /**
92
83
  * Resolves a raw hook command object to the canonical IHookCommand format.
93
84
  * Normalizes the command and resolves the cwd path relative to the workspace root.
@@ -25,32 +25,32 @@ function mergeHooks(base, additional) {
25
25
  return result;
26
26
  }
27
27
  const HOOK_COMMAND_FIELD_DESCRIPTIONS = {
28
- type: ( localize(7339, "Must be \"command\".")),
28
+ type: ( localize(7466, "Must be \"command\".")),
29
29
  command: ( localize(
30
- 7340,
30
+ 7467,
31
31
  "The command to execute. This is the default cross-platform command."
32
32
  )),
33
33
  windows: ( localize(
34
- 7341,
34
+ 7468,
35
35
  "Windows-specific command. If specified and running on Windows, this overrides the \"command\" field."
36
36
  )),
37
37
  linux: ( localize(
38
- 7342,
38
+ 7469,
39
39
  "Linux-specific command. If specified and running on Linux, this overrides the \"command\" field."
40
40
  )),
41
41
  osx: ( localize(
42
- 7343,
42
+ 7470,
43
43
  "macOS-specific command. If specified and running on macOS, this overrides the \"command\" field."
44
44
  )),
45
- bash: ( localize(7344, "Bash command for Linux and macOS.")),
46
- powershell: ( localize(7345, "PowerShell command for Windows.")),
47
- cwd: ( localize(7346, "Working directory for the script (relative to repository root).")),
45
+ bash: ( localize(7471, "Bash command for Linux and macOS.")),
46
+ powershell: ( localize(7472, "PowerShell command for Windows.")),
47
+ cwd: ( localize(7473, "Working directory for the script (relative to repository root).")),
48
48
  env: ( localize(
49
- 7347,
49
+ 7474,
50
50
  "Additional environment variables that are merged with the existing environment."
51
51
  )),
52
- timeout: ( localize(7348, "Maximum execution time in seconds (default: 30).")),
53
- timeoutSec: ( localize(7349, "Maximum execution time in seconds (default: 10)."))
52
+ timeout: ( localize(7475, "Maximum execution time in seconds (default: 30).")),
53
+ timeoutSec: ( localize(7476, "Maximum execution time in seconds (default: 10)."))
54
54
  };
55
55
  const vscodeHookCommandSchema = {
56
56
  type: "object",
@@ -70,7 +70,7 @@ const vscodeHookCommandSchema = {
70
70
  required: ["powershell"]
71
71
  }],
72
72
  errorMessage: ( localize(
73
- 7350,
73
+ 7477,
74
74
  "At least one of \"command\", \"windows\", \"linux\", or \"osx\" must be specified."
75
75
  )),
76
76
  properties: {
@@ -133,7 +133,7 @@ const copilotCliHookCommandSchema = {
133
133
  }, {
134
134
  required: ["powershell"]
135
135
  }],
136
- errorMessage: ( localize(7351, "At least one of \"bash\" or \"powershell\" must be specified.")),
136
+ errorMessage: ( localize(7478, "At least one of \"bash\" or \"powershell\" must be specified.")),
137
137
  properties: {
138
138
  type: {
139
139
  type: "string",
@@ -175,7 +175,7 @@ const hookFileSchema = {
175
175
  $schema: "http://json-schema.org/draft-07/schema#",
176
176
  type: "object",
177
177
  description: ( localize(
178
- 7352,
178
+ 7479,
179
179
  "GitHub Copilot hook configuration file. Hooks enable executing custom shell commands at strategic points in an agent's workflow."
180
180
  )),
181
181
  additionalProperties: true,
@@ -183,7 +183,7 @@ const hookFileSchema = {
183
183
  properties: {
184
184
  hooks: {
185
185
  type: "object",
186
- description: ( localize(7353, "Hook definitions organized by type.")),
186
+ description: ( localize(7480, "Hook definitions organized by type.")),
187
187
  additionalProperties: true
188
188
  }
189
189
  },
@@ -199,7 +199,7 @@ const hookFileSchema = {
199
199
  properties: {
200
200
  version: {
201
201
  type: "number",
202
- description: ( localize(7354, "Hook configuration format version."))
202
+ description: ( localize(7481, "Hook configuration format version."))
203
203
  },
204
204
  hooks: {
205
205
  properties: copilotCliHookProperties
@@ -214,8 +214,8 @@ const hookFileSchema = {
214
214
  }
215
215
  },
216
216
  defaultSnippets: [{
217
- label: ( localize(7355, "Basic hook configuration")),
218
- description: ( localize(7356, "A basic hook configuration with common hooks")),
217
+ label: ( localize(7482, "Basic hook configuration")),
218
+ description: ( localize(7483, "A basic hook configuration with common hooks")),
219
219
  body: {
220
220
  hooks: {
221
221
  SessionStart: [{
@@ -301,12 +301,13 @@ function resolveEffectiveCommand(hook, os) {
301
301
  return hook.command;
302
302
  }
303
303
  function getEffectiveCommandFieldKey(hook, os) {
304
+ const h = hook;
304
305
  if (os === OperatingSystem.Windows && hook.windows) {
305
- return hook.windowsSource ?? "windows";
306
+ return h.windowsSource ?? "windows";
306
307
  } else if (os === OperatingSystem.Macintosh && hook.osx) {
307
- return hook.osxSource ?? "osx";
308
+ return h.osxSource ?? "osx";
308
309
  } else if (os === OperatingSystem.Linux && hook.linux) {
309
- return hook.linuxSource ?? "linux";
310
+ return h.linuxSource ?? "linux";
310
311
  }
311
312
  return "command";
312
313
  }