@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.
- package/missing-services.js +137 -46
- package/package.json +9 -9
- package/services.d.ts +10 -1
- package/services.js +13 -4
- package/vscode/product.json.js +1 -1
- package/vscode/src/vs/base/browser/domStylesheets.js +2 -11
- package/vscode/src/vs/base/browser/overlayLayoutElement.d.ts +44 -0
- package/vscode/src/vs/base/browser/overlayLayoutElement.js +122 -0
- package/vscode/src/vs/base/browser/performance.d.ts +5 -0
- package/vscode/src/vs/base/browser/performance.js +4 -0
- package/vscode/src/vs/base/browser/ui/findinput/findInput.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/findinput/findInput.js +17 -1
- package/vscode/src/vs/base/browser/ui/scrollbar/media/scrollbars.css +5 -0
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.d.ts +2 -0
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +14 -8
- package/vscode/src/vs/base/common/async.d.ts +1 -0
- package/vscode/src/vs/base/common/defaultAccount.d.ts +1 -0
- package/vscode/src/vs/base/common/event.d.ts +6 -9
- package/vscode/src/vs/base/common/event.js +12 -8
- package/vscode/src/vs/base/common/htmlContent.d.ts +10 -0
- package/vscode/src/vs/base/common/htmlContent.js +8 -1
- package/vscode/src/vs/base/common/labels.d.ts +1 -1
- package/vscode/src/vs/base/common/labels.js +13 -3
- package/vscode/src/vs/base/common/observableInternal/index.d.ts +1 -1
- package/vscode/src/vs/base/common/observableInternal/index.js +1 -1
- package/vscode/src/vs/base/common/observableInternal/utils/utils.d.ts +6 -0
- package/vscode/src/vs/base/common/observableInternal/utils/utils.js +38 -1
- package/vscode/src/vs/base/common/performance.d.ts +3 -2
- package/vscode/src/vs/base/common/performance.js +32 -34
- package/vscode/src/vs/base/common/product.d.ts +31 -0
- package/vscode/src/vs/base/common/types.js +1 -1
- package/vscode/src/vs/base/common/uri.js +1 -1
- package/vscode/src/vs/editor/browser/view.js +2 -1
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +30 -2
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/workbenchUIElementFactory.d.ts +5 -0
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +2 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +1 -1
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +1 -1
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.d.ts +1 -0
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -0
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +1 -0
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +2 -1
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +1 -0
- package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +4 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +204 -157
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +25 -0
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +15 -17
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +3 -3
- package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
- package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
- package/vscode/src/vs/platform/actions/common/actions.js +3 -0
- package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
- package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
- package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.d.ts +45 -0
- package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.js +77 -0
- package/vscode/src/vs/platform/agentHost/browser/nullSshRemoteAgentHostService.d.ts +18 -0
- package/vscode/src/vs/platform/agentHost/browser/nullSshRemoteAgentHostService.js +25 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostUri.d.ts +58 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostUri.js +73 -0
- package/vscode/src/vs/platform/agentHost/common/agentPluginManager.d.ts +11 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +119 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.js +6 -0
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.d.ts +122 -0
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.js +104 -0
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.d.ts +54 -0
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.js +6 -0
- package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.d.ts +88 -0
- package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.d.ts +89 -0
- package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.js +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +22 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +234 -0
- package/vscode/src/vs/platform/agentHost/common/tunnelAgentHost.d.ts +91 -0
- package/vscode/src/vs/platform/agentHost/common/tunnelAgentHost.js +5 -0
- package/vscode/src/vs/platform/browserView/common/browserView.d.ts +28 -2
- package/vscode/src/vs/platform/browserView/common/browserViewTelemetry.d.ts +34 -0
- package/vscode/src/vs/platform/browserView/common/browserViewTelemetry.js +7 -0
- package/vscode/src/vs/platform/browserView/common/browserViewUri.d.ts +21 -0
- package/vscode/src/vs/platform/browserView/common/browserViewUri.js +34 -0
- package/vscode/src/vs/platform/browserView/common/cdp/types.d.ts +21 -10
- package/vscode/src/vs/platform/browserView/common/playwrightService.d.ts +7 -0
- package/vscode/src/vs/platform/browserView/common/playwrightService.service.d.ts +20 -5
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -4
- package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -22
- package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
- package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.d.ts +1 -0
- package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.js +3 -0
- package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +3 -1
- package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +3 -1
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
- package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
- package/vscode/src/vs/platform/editor/common/editor.d.ts +11 -3
- package/vscode/src/vs/platform/environment/common/argv.d.ts +2 -1
- package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -0
- package/vscode/src/vs/platform/environment/common/environmentService.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +2 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +14 -14
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +38 -16
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +1 -1
- package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
- package/vscode/src/vs/platform/files/common/files.js +6 -6
- package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/vscode/src/vs/platform/hover/browser/hoverWidget.js +1 -1
- package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
- package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +4 -2
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
- package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
- package/vscode/src/vs/platform/list/browser/listService.js +25 -25
- package/vscode/src/vs/platform/log/common/log.js +6 -6
- package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
- package/vscode/src/vs/platform/markers/common/markers.js +6 -6
- package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +1 -1
- package/vscode/src/vs/platform/mcp/common/mcpPlatformTypes.d.ts +4 -0
- package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +5 -5
- package/vscode/src/vs/platform/native/common/native.d.ts +11 -1
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.service.d.ts +33 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.service.js +6 -0
- package/vscode/src/vs/platform/notification/common/notification.js +3 -3
- package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -10
- package/vscode/src/vs/platform/product/common/product.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.d.ts +4 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +39 -16
- package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputService.d.ts +4 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +8 -0
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +2 -2
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -0
- package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +6 -1
- package/vscode/src/vs/platform/request/common/request.js +20 -20
- package/vscode/src/vs/platform/sandbox/common/settings.d.ts +11 -0
- package/vscode/src/vs/platform/sandbox/common/settings.js +14 -0
- package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools → platform/sandbox}/common/terminalSandboxService.service.d.ts +6 -6
- package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools → platform/sandbox}/common/terminalSandboxService.service.js +1 -1
- package/vscode/src/vs/platform/telemetry/common/errorTelemetry.d.ts +82 -0
- package/vscode/src/vs/platform/telemetry/common/errorTelemetry.js +108 -0
- package/vscode/src/vs/platform/telemetry/common/telemetry.service.d.ts +5 -0
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.d.ts +1 -0
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +2 -1
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -0
- package/vscode/src/vs/platform/terminal/common/terminal.js +5 -0
- package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +31 -31
- package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +1 -1
- package/vscode/src/vs/platform/theme/browser/defaultStyles.js +1 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +18 -18
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +97 -97
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +48 -48
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
- package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
- package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +11 -11
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
- package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/vscode/src/vs/platform/update/common/update.d.ts +10 -3
- package/vscode/src/vs/platform/update/common/update.js +3 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
- package/vscode/src/vs/platform/userDataSync/common/extensionsSync.d.ts +3 -1
- package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +14 -8
- package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
- package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
- package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +12 -12
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +39 -11
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +67 -14
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -5
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +36 -13
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +164 -26
- package/vscode/src/vs/workbench/api/common/extHostChatDebug.d.ts +4 -0
- package/vscode/src/vs/workbench/api/common/extHostChatDebug.js +7 -0
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +22 -5
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +278 -42
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.js +18 -35
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +4 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHostMcp.js +6 -4
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +3 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +16 -3
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +2 -8
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +6 -11
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +11 -11
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +58 -32
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +153 -148
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +34 -34
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +39 -39
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
- package/vscode/src/vs/workbench/browser/editor.js +2 -2
- package/vscode/src/vs/workbench/browser/labels.js +4 -4
- package/vscode/src/vs/workbench/browser/media/style.css +1 -0
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +33 -31
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +26 -26
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +9 -9
- package/vscode/src/vs/workbench/browser/parts/compositePart.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +37 -37
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -12
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -7
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +135 -135
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.d.ts +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +47 -26
- package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +7 -7
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +13 -13
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorParts.d.ts +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +21 -4
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -10
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +11 -12
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +66 -66
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/media/modalEditorPart.css +14 -5
- package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.d.ts +12 -0
- package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +117 -13
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +1 -3
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +2 -23
- package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
- package/vscode/src/vs/workbench/browser/web.api.d.ts +69 -0
- package/vscode/src/vs/workbench/common/contextkeys.d.ts +2 -0
- package/vscode/src/vs/workbench/common/contextkeys.js +41 -39
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
- package/vscode/src/vs/workbench/common/editor.js +4 -4
- package/vscode/src/vs/workbench/common/theme.js +161 -161
- package/vscode/src/vs/workbench/common/views.d.ts +2 -2
- package/vscode/src/vs/workbench/common/views.js +4 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +163 -155
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.js +267 -0
- package/vscode/src/vs/workbench/contrib/browserView/common/browserView.d.ts +8 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +68 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +88 -66
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +65 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +38 -17
- package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +92 -85
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +7 -3
- package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +18 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chat.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +32 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.service.d.ts +25 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +17 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatPerf.js +29 -13
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +98 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +11 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +6 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +4 -10
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.js +11 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +16 -5
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +16 -14
- package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +78 -18
- package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +47 -84
- package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +49 -57
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +54 -15
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +99 -25
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatPlanReviewData.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatPlanReviewData.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +16 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.d.ts +31 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +26 -6
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginGitService.service.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginGitService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +16 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +150 -89
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.d.ts +9 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +22 -21
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +77 -77
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +167 -15
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +19 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +18 -20
- package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +61 -8
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +176 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +18 -6
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +140 -59
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +90 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +34 -7
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +12 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +4 -10
- package/vscode/src/vs/workbench/contrib/chat/common/tools/terminalToolIds.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/terminalToolIds.js +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +133 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +17 -14
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +36 -31
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +17 -14
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css +2 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
- package/vscode/src/vs/workbench/contrib/debug/common/debug.service.d.ts +11 -5
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +16 -8
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
- package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +151 -150
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.d.ts +10 -5
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +460 -189
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -25
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +47 -47
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +32 -32
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +120 -102
- package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
- package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +27 -27
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +56 -53
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
- package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/common/files.js +19 -16
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +7 -4
- package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
- package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +40 -40
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +34 -34
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +53 -40
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayService.service.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +16 -16
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +5 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
- package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +4 -4
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.js +5 -2
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +22 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css +63 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +52 -75
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +60 -60
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +12 -9
- package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +17 -14
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
- package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
- package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
- package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
- package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
- package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
- package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +9 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/agentHostTerminalService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +27 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +16 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +12 -10
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.service.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +321 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
- package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.d.ts +6 -11
- package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.js +6 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +83 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.d.ts +7 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +137 -151
- package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +16 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +5 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.service.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +30 -30
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +6 -9
- package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingService.service.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.js +74 -0
- package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +3 -1
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +72 -48
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.service.d.ts +17 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.service.js +6 -0
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +13 -13
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +1 -1
- package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +22 -4
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +61 -19
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +16 -0
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +2 -1
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +18 -6
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +6 -0
- package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
- package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +2 -2
- package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +30 -30
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
- package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +10 -10
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
- package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
- package/vscode-dts/vscode.proposed.authIssuers.d.ts +12 -0
- package/vscode-dts/vscode.proposed.chatDebug.d.ts +11 -0
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +8 -0
- package/vscode-dts/vscode.proposed.chatPromptFiles.d.ts +316 -8
- package/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts +6 -4
- package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +92 -44
- package/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts +4 -1
- package/vscode-dts/vscode.proposed.toolInvocationApproveCombination.d.ts +13 -4
- package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.d.ts +0 -12
- package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.js +0 -6
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js
CHANGED
|
@@ -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 {
|
|
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 {
|
|
21
|
+
import { newInstructionsCollectionEvent, newInstructionsCollectionDebugInfo, matchesSessionType, AgentInstructionFileType } from './service/promptsService.js';
|
|
23
22
|
import { IPromptsService } from './service/promptsService.service.js';
|
|
24
|
-
import {
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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
|
|
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(
|
|
175
|
-
|
|
176
|
-
"
|
|
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 ===
|
|
243
|
+
if (type === AgentInstructionFileType.copilotInstructionsMd) {
|
|
226
244
|
copilotEntries.add(varEntry);
|
|
227
245
|
}
|
|
228
246
|
telemetryEvent.agentInstructionsCount++;
|
|
229
|
-
if (type ===
|
|
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
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
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(
|
|
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
|
|
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 (
|
|
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 (
|
|
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
|
|
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
|
|
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(
|
|
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,
|
|
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,
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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(
|
|
28
|
+
type: ( localize(7466, "Must be \"command\".")),
|
|
29
29
|
command: ( localize(
|
|
30
|
-
|
|
30
|
+
7467,
|
|
31
31
|
"The command to execute. This is the default cross-platform command."
|
|
32
32
|
)),
|
|
33
33
|
windows: ( localize(
|
|
34
|
-
|
|
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
|
-
|
|
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
|
-
|
|
42
|
+
7470,
|
|
43
43
|
"macOS-specific command. If specified and running on macOS, this overrides the \"command\" field."
|
|
44
44
|
)),
|
|
45
|
-
bash: ( localize(
|
|
46
|
-
powershell: ( localize(
|
|
47
|
-
cwd: ( localize(
|
|
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
|
-
|
|
49
|
+
7474,
|
|
50
50
|
"Additional environment variables that are merged with the existing environment."
|
|
51
51
|
)),
|
|
52
|
-
timeout: ( localize(
|
|
53
|
-
timeoutSec: ( localize(
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
218
|
-
description: ( localize(
|
|
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
|
|
306
|
+
return h.windowsSource ?? "windows";
|
|
306
307
|
} else if (os === OperatingSystem.Macintosh && hook.osx) {
|
|
307
|
-
return
|
|
308
|
+
return h.osxSource ?? "osx";
|
|
308
309
|
} else if (os === OperatingSystem.Linux && hook.linux) {
|
|
309
|
-
return
|
|
310
|
+
return h.linuxSource ?? "linux";
|
|
310
311
|
}
|
|
311
312
|
return "command";
|
|
312
313
|
}
|