@codingame/monaco-vscode-api 30.0.1 → 31.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/service/promptsService.d.ts
CHANGED
|
@@ -6,17 +6,36 @@ import { PromptFileSource, PromptsType, Target } from "../promptTypes.js";
|
|
|
6
6
|
import { IHandOff, ParsedPromptFile } from "../promptFileParser.js";
|
|
7
7
|
import { ChatRequestHooks } from "../hookSchema.js";
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
* A debug bridge (e.g. contribution) can listen and forward these to IChatDebugService.
|
|
9
|
+
* A single structured debug detail entry from the instructions context computer.
|
|
11
10
|
*/
|
|
12
|
-
export interface
|
|
13
|
-
readonly
|
|
11
|
+
export interface InstructionsCollectionDebugEntry {
|
|
12
|
+
readonly category: "applying" | "skipped" | "referenced" | "skill" | "custom-agent" | "hook";
|
|
14
13
|
readonly name: string;
|
|
15
|
-
readonly
|
|
16
|
-
readonly
|
|
17
|
-
/** When present, the bridge should store this for later event resolution. */
|
|
18
|
-
readonly discoveryInfo?: IPromptDiscoveryInfo;
|
|
14
|
+
readonly uri?: URI;
|
|
15
|
+
readonly reason?: string;
|
|
19
16
|
}
|
|
17
|
+
export type InstructionsCollectionEvent = {
|
|
18
|
+
applyingInstructionsCount: number;
|
|
19
|
+
referencedInstructionsCount: number;
|
|
20
|
+
agentInstructionsCount: number;
|
|
21
|
+
listedInstructionsCount: number;
|
|
22
|
+
totalInstructionsCount: number;
|
|
23
|
+
claudeRulesCount: number;
|
|
24
|
+
claudeMdCount: number;
|
|
25
|
+
claudeAgentsCount: number;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Debug-only information collected alongside {@link InstructionsCollectionEvent}.
|
|
29
|
+
* This data is used for debug logging and is not sent as telemetry.
|
|
30
|
+
*/
|
|
31
|
+
export type InstructionsCollectionDebugInfo = {
|
|
32
|
+
/** Per-file detail entries for debug logging. */
|
|
33
|
+
debugDetails: InstructionsCollectionDebugEntry[];
|
|
34
|
+
/** Total wall-clock time of the collect() call in milliseconds. */
|
|
35
|
+
durationInMillis: number;
|
|
36
|
+
};
|
|
37
|
+
export declare function newInstructionsCollectionEvent(): InstructionsCollectionEvent;
|
|
38
|
+
export declare function newInstructionsCollectionDebugInfo(): InstructionsCollectionDebugInfo;
|
|
20
39
|
/**
|
|
21
40
|
* Activation events for prompt file providers.
|
|
22
41
|
*/
|
|
@@ -45,7 +64,19 @@ export interface IPromptFileResource {
|
|
|
45
64
|
* Optional externally provided prompt command description.
|
|
46
65
|
*/
|
|
47
66
|
readonly description?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Optional condition that must evaluate to true for this resource to be offered.
|
|
69
|
+
*/
|
|
70
|
+
readonly when?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Optional session types that describe when this resource should be offered.
|
|
73
|
+
*/
|
|
74
|
+
readonly sessionTypes?: readonly string[];
|
|
48
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Returns whether a customization can be used in the provided chat session type.
|
|
78
|
+
*/
|
|
79
|
+
export declare function matchesSessionType(sessionTypes: readonly string[] | undefined, currentSessionType: string | undefined): boolean;
|
|
49
80
|
/**
|
|
50
81
|
* Where the prompt is stored.
|
|
51
82
|
*/
|
|
@@ -87,6 +118,10 @@ export interface IPromptPathBase {
|
|
|
87
118
|
readonly source?: PromptFileSource;
|
|
88
119
|
readonly name?: string;
|
|
89
120
|
readonly description?: string;
|
|
121
|
+
/**
|
|
122
|
+
* Optional session types that describe when this resource should be offered.
|
|
123
|
+
*/
|
|
124
|
+
readonly sessionTypes?: readonly string[];
|
|
90
125
|
}
|
|
91
126
|
export interface IExtensionPromptPath extends IPromptPathBase {
|
|
92
127
|
readonly storage: PromptsStorage.extension;
|
|
@@ -184,6 +219,15 @@ export interface ICustomAgent {
|
|
|
184
219
|
* Where the agent was loaded from.
|
|
185
220
|
*/
|
|
186
221
|
readonly source: IAgentSource;
|
|
222
|
+
/**
|
|
223
|
+
* Optional context key expression. When set, the agent is only available
|
|
224
|
+
* when this expression evaluates to true against a scoped context.
|
|
225
|
+
*/
|
|
226
|
+
readonly when?: ContextKeyExpression;
|
|
227
|
+
/**
|
|
228
|
+
* Optional session types that describe when this agent should be offered.
|
|
229
|
+
*/
|
|
230
|
+
readonly sessionTypes?: readonly string[];
|
|
187
231
|
}
|
|
188
232
|
export interface IAgentInstructions {
|
|
189
233
|
readonly content: string;
|
|
@@ -191,12 +235,71 @@ export interface IAgentInstructions {
|
|
|
191
235
|
readonly metadata?: Record<string, boolean | string | number>;
|
|
192
236
|
}
|
|
193
237
|
export interface IChatPromptSlashCommand {
|
|
238
|
+
readonly uri: URI;
|
|
194
239
|
readonly name: string;
|
|
195
|
-
readonly
|
|
196
|
-
readonly
|
|
197
|
-
readonly
|
|
198
|
-
readonly
|
|
240
|
+
readonly type: PromptsType;
|
|
241
|
+
readonly storage: PromptsStorage;
|
|
242
|
+
readonly source?: PromptFileSource;
|
|
243
|
+
readonly description?: string;
|
|
244
|
+
readonly argumentHint?: string;
|
|
245
|
+
readonly userInvocable: boolean;
|
|
246
|
+
readonly extension?: IExtensionDescription;
|
|
247
|
+
readonly pluginUri?: URI;
|
|
199
248
|
readonly when: ContextKeyExpression | undefined;
|
|
249
|
+
/**
|
|
250
|
+
* Optional session types that describe when this slash command should be offered.
|
|
251
|
+
*/
|
|
252
|
+
readonly sessionTypes?: readonly string[];
|
|
253
|
+
}
|
|
254
|
+
export interface IResolvedChatPromptSlashCommand extends IChatPromptSlashCommand {
|
|
255
|
+
readonly parsedPromptFile: ParsedPromptFile;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* A fully resolved instruction file with parsed header metadata and provenance information.
|
|
259
|
+
*/
|
|
260
|
+
export interface IInstructionFile {
|
|
261
|
+
/**
|
|
262
|
+
* URI of the instruction file.
|
|
263
|
+
*/
|
|
264
|
+
readonly uri: URI;
|
|
265
|
+
/**
|
|
266
|
+
* Name as listed in the instruction file header or derived from the file name
|
|
267
|
+
*/
|
|
268
|
+
readonly name: string;
|
|
269
|
+
/**
|
|
270
|
+
* Description as listed in the instruction file header. Used to load the instruction on-demand and for display in the UI.
|
|
271
|
+
*/
|
|
272
|
+
readonly description: string | undefined;
|
|
273
|
+
/**
|
|
274
|
+
* Storage of the prompt.
|
|
275
|
+
*/
|
|
276
|
+
readonly storage: PromptsStorage;
|
|
277
|
+
/**
|
|
278
|
+
* The "applyTo" pattern (or `paths` when in a Claude rules file) from the instruction file header.
|
|
279
|
+
* Describes when this instruction file should be applied.
|
|
280
|
+
*/
|
|
281
|
+
readonly pattern: string | undefined;
|
|
282
|
+
/**
|
|
283
|
+
* Identifier of the contributing extension (only when storage === PromptsStorage.extension).
|
|
284
|
+
*/
|
|
285
|
+
readonly extension?: IExtensionDescription;
|
|
286
|
+
/**
|
|
287
|
+
* Identifier of the contributing plugin (only when storage === PromptsStorage.plugin).
|
|
288
|
+
*/
|
|
289
|
+
readonly pluginUri?: URI;
|
|
290
|
+
/**
|
|
291
|
+
* The source that produced this prompt path.
|
|
292
|
+
*/
|
|
293
|
+
readonly source?: PromptFileSource;
|
|
294
|
+
/**
|
|
295
|
+
* Optional context key expression. When set, the instruction file is only available
|
|
296
|
+
* when this expression evaluates to true against a scoped context.
|
|
297
|
+
*/
|
|
298
|
+
readonly when?: ContextKeyExpression;
|
|
299
|
+
/**
|
|
300
|
+
* Optional session types that describe when this instruction should be offered.
|
|
301
|
+
*/
|
|
302
|
+
readonly sessionTypes?: readonly string[];
|
|
200
303
|
}
|
|
201
304
|
/**
|
|
202
305
|
* Supply-chain metadata describing where a skill originated.
|
|
@@ -229,11 +332,15 @@ export interface IAgentSkill {
|
|
|
229
332
|
* Optional extension metadata describing where this skill originated.
|
|
230
333
|
*/
|
|
231
334
|
readonly extension?: IExtensionDescription;
|
|
335
|
+
/**
|
|
336
|
+
* Optional session types that describe when this skill should be offered.
|
|
337
|
+
*/
|
|
338
|
+
readonly sessionTypes?: readonly string[];
|
|
232
339
|
}
|
|
233
340
|
/**
|
|
234
341
|
* Type of agent instruction file.
|
|
235
342
|
*/
|
|
236
|
-
export declare enum
|
|
343
|
+
export declare enum AgentInstructionFileType {
|
|
237
344
|
agentsMd = "agentsMd",
|
|
238
345
|
claudeMd = "claudeMd",
|
|
239
346
|
copilotInstructionsMd = "copilotInstructionsMd"
|
|
@@ -242,13 +349,13 @@ export declare enum AgentFileType {
|
|
|
242
349
|
* Represents a resolved agent instruction file with its real path for duplicate detection.
|
|
243
350
|
* Used by listAgentInstructions to filter out symlinks pointing to the same file.
|
|
244
351
|
*/
|
|
245
|
-
export interface
|
|
352
|
+
export interface IAgentInstructionFile {
|
|
246
353
|
readonly uri: URI;
|
|
247
354
|
/**
|
|
248
355
|
* The real path of the file, if it is a symlink.
|
|
249
356
|
*/
|
|
250
357
|
readonly realPath: URI | undefined;
|
|
251
|
-
readonly type:
|
|
358
|
+
readonly type: AgentInstructionFileType;
|
|
252
359
|
}
|
|
253
360
|
export interface Logger {
|
|
254
361
|
logInfo(message: string): void;
|
|
@@ -287,10 +394,55 @@ export interface IPromptSourceFolderResult {
|
|
|
287
394
|
export interface IPromptDiscoveryInfo {
|
|
288
395
|
readonly type: PromptsType;
|
|
289
396
|
readonly files: readonly IPromptFileDiscoveryResult[];
|
|
397
|
+
/** Time in milliseconds required to compute this discovery result. */
|
|
398
|
+
readonly durationInMillis: number;
|
|
290
399
|
/** Source folders that were searched */
|
|
291
400
|
readonly sourceFolders?: readonly IPromptSourceFolderResult[];
|
|
292
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* Discovery result for a slash command file, including the parsed prompt file.
|
|
404
|
+
*/
|
|
405
|
+
export interface ISlashCommandDiscoveryResult extends IPromptFileDiscoveryResult {
|
|
406
|
+
readonly userInvocable?: boolean;
|
|
407
|
+
readonly argumentHint?: string;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Summary of slash command discovery, including parsed prompt files.
|
|
411
|
+
*/
|
|
412
|
+
export interface ISlashCommandDiscoveryInfo extends IPromptDiscoveryInfo {
|
|
413
|
+
readonly files: readonly ISlashCommandDiscoveryResult[];
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Discovery result for an instruction file, including the resolved applyTo metadata.
|
|
417
|
+
*/
|
|
418
|
+
export interface IInstructionDiscoveryResult extends IPromptFileDiscoveryResult {
|
|
419
|
+
readonly pattern?: string;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Summary of instruction discovery, including resolved metadata.
|
|
423
|
+
*/
|
|
424
|
+
export interface IInstructionDiscoveryInfo extends IPromptDiscoveryInfo {
|
|
425
|
+
readonly files: readonly IInstructionDiscoveryResult[];
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Discovery result for an agent file, including the fully resolved agent.
|
|
429
|
+
*/
|
|
430
|
+
export interface IAgentDiscoveryResult extends IPromptFileDiscoveryResult {
|
|
431
|
+
readonly agent?: ICustomAgent;
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Summary of agent discovery, including resolved agents.
|
|
435
|
+
*/
|
|
436
|
+
export interface IAgentDiscoveryInfo extends IPromptDiscoveryInfo {
|
|
437
|
+
readonly files: readonly IAgentDiscoveryResult[];
|
|
438
|
+
}
|
|
293
439
|
export interface IConfiguredHooksInfo {
|
|
294
440
|
readonly hooks: ChatRequestHooks;
|
|
295
441
|
readonly hasDisabledClaudeHooks: boolean;
|
|
296
442
|
}
|
|
443
|
+
/**
|
|
444
|
+
* Summary of hook discovery, including the resolved hooks info.
|
|
445
|
+
*/
|
|
446
|
+
export interface IHookDiscoveryInfo extends IPromptDiscoveryInfo {
|
|
447
|
+
readonly hooksInfo: IConfiguredHooksInfo | undefined;
|
|
448
|
+
}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
function newInstructionsCollectionEvent() {
|
|
4
|
+
return { applyingInstructionsCount: 0, referencedInstructionsCount: 0, agentInstructionsCount: 0, listedInstructionsCount: 0, totalInstructionsCount: 0, claudeRulesCount: 0, claudeMdCount: 0, claudeAgentsCount: 0 };
|
|
5
|
+
}
|
|
6
|
+
function newInstructionsCollectionDebugInfo() {
|
|
7
|
+
return { debugDetails: [], durationInMillis: 0 };
|
|
8
|
+
}
|
|
3
9
|
const CUSTOM_AGENT_PROVIDER_ACTIVATION_EVENT = 'onCustomAgentProvider';
|
|
4
10
|
const INSTRUCTIONS_PROVIDER_ACTIVATION_EVENT = 'onInstructionsProvider';
|
|
5
11
|
const PROMPT_FILE_PROVIDER_ACTIVATION_EVENT = 'onPromptFileProvider';
|
|
6
12
|
const SKILL_PROVIDER_ACTIVATION_EVENT = 'onSkillProvider';
|
|
13
|
+
function matchesSessionType(sessionTypes, currentSessionType) {
|
|
14
|
+
return sessionTypes === undefined || currentSessionType === undefined || sessionTypes.includes(currentSessionType);
|
|
15
|
+
}
|
|
7
16
|
var PromptsStorage;
|
|
8
17
|
(function (PromptsStorage) {
|
|
9
18
|
PromptsStorage["local"] = "local";
|
|
@@ -11,6 +20,9 @@ var PromptsStorage;
|
|
|
11
20
|
PromptsStorage["extension"] = "extension";
|
|
12
21
|
PromptsStorage["plugin"] = "plugin";
|
|
13
22
|
})(PromptsStorage || (PromptsStorage = {}));
|
|
23
|
+
function isExtensionPromptPath(obj) {
|
|
24
|
+
return obj.storage === PromptsStorage.extension;
|
|
25
|
+
}
|
|
14
26
|
function isCustomAgentVisibility(obj) {
|
|
15
27
|
if (typeof obj !== 'object' || obj === null) {
|
|
16
28
|
return false;
|
|
@@ -18,11 +30,11 @@ function isCustomAgentVisibility(obj) {
|
|
|
18
30
|
const v = obj;
|
|
19
31
|
return typeof v.userInvocable === 'boolean' && typeof v.agentInvocable === 'boolean';
|
|
20
32
|
}
|
|
21
|
-
var
|
|
22
|
-
(function (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
})(
|
|
33
|
+
var AgentInstructionFileType;
|
|
34
|
+
(function (AgentInstructionFileType) {
|
|
35
|
+
AgentInstructionFileType["agentsMd"] = "agentsMd";
|
|
36
|
+
AgentInstructionFileType["claudeMd"] = "claudeMd";
|
|
37
|
+
AgentInstructionFileType["copilotInstructionsMd"] = "copilotInstructionsMd";
|
|
38
|
+
})(AgentInstructionFileType || (AgentInstructionFileType = {}));
|
|
27
39
|
|
|
28
|
-
export {
|
|
40
|
+
export { AgentInstructionFileType, CUSTOM_AGENT_PROVIDER_ACTIVATION_EVENT, INSTRUCTIONS_PROVIDER_ACTIVATION_EVENT, PROMPT_FILE_PROVIDER_ACTIVATION_EVENT, PromptsStorage, SKILL_PROVIDER_ACTIVATION_EVENT, isCustomAgentVisibility, isExtensionPromptPath, matchesSessionType, newInstructionsCollectionDebugInfo, newInstructionsCollectionEvent };
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { IExtensionDescription } from "../../../../../../platform/extensions/com
|
|
|
8
8
|
import { IResolvedPromptSourceFolder } from "../config/promptFileLocations.js";
|
|
9
9
|
import { ParsedPromptFile } from "../promptFileParser.js";
|
|
10
10
|
import { PromptsType } from "../promptTypes.js";
|
|
11
|
-
import { IPromptPath, PromptsStorage, IChatPromptSlashCommand, ICustomAgent,
|
|
11
|
+
import { IPromptPath, PromptsStorage, IResolvedChatPromptSlashCommand, IChatPromptSlashCommand, ICustomAgent, IAgentInstructionFile, Logger, IPromptFileContext, IPromptFileResource, IAgentSkill, IConfiguredHooksInfo, IInstructionFile, IPromptDiscoveryInfo } from "./promptsService.js";
|
|
12
12
|
/**
|
|
13
13
|
* Provides prompt services.
|
|
14
14
|
*/
|
|
@@ -48,7 +48,7 @@ export interface IPromptsService extends IDisposable {
|
|
|
48
48
|
/**
|
|
49
49
|
* Gets the prompt file for a slash command.
|
|
50
50
|
*/
|
|
51
|
-
resolvePromptSlashCommand(command: string, token: CancellationToken): Promise<
|
|
51
|
+
resolvePromptSlashCommand(command: string, token: CancellationToken): Promise<IResolvedChatPromptSlashCommand | undefined>;
|
|
52
52
|
/**
|
|
53
53
|
* Event that is triggered when the slash command to ParsedPromptFile cache is updated.
|
|
54
54
|
* Event handlers can use {@link resolvePromptSlashCommand} to retrieve the latest data.
|
|
@@ -56,9 +56,8 @@ export interface IPromptsService extends IDisposable {
|
|
|
56
56
|
readonly onDidChangeSlashCommands: Event<void>;
|
|
57
57
|
/**
|
|
58
58
|
* Returns a prompt command if the command name is valid.
|
|
59
|
-
* @param sessionResource Optional session resource to scope debug logging to a specific session.
|
|
60
59
|
*/
|
|
61
|
-
getPromptSlashCommands(token: CancellationToken
|
|
60
|
+
getPromptSlashCommands(token: CancellationToken): Promise<readonly IChatPromptSlashCommand[]>;
|
|
62
61
|
/**
|
|
63
62
|
* Returns the prompt command name for the given URI.
|
|
64
63
|
*/
|
|
@@ -73,9 +72,8 @@ export interface IPromptsService extends IDisposable {
|
|
|
73
72
|
readonly onDidChangeInstructions: Event<void>;
|
|
74
73
|
/**
|
|
75
74
|
* Finds all available custom agents
|
|
76
|
-
* @param sessionResource Optional session resource to scope debug logging to a specific session.
|
|
77
75
|
*/
|
|
78
|
-
getCustomAgents(token: CancellationToken
|
|
76
|
+
getCustomAgents(token: CancellationToken): Promise<readonly ICustomAgent[]>;
|
|
79
77
|
/**
|
|
80
78
|
* Parses the provided URI
|
|
81
79
|
* @param uris
|
|
@@ -85,17 +83,17 @@ export interface IPromptsService extends IDisposable {
|
|
|
85
83
|
* Internal: register a contributed file. Returns a disposable that removes the contribution.
|
|
86
84
|
* Not intended for extension authors; used by contribution point handler.
|
|
87
85
|
*/
|
|
88
|
-
registerContributedFile(type: PromptsType, uri: URI, extension: IExtensionDescription, name: string | undefined, description: string | undefined, when?: string): IDisposable;
|
|
86
|
+
registerContributedFile(type: PromptsType, uri: URI, extension: IExtensionDescription, name: string | undefined, description: string | undefined, when?: string, sessionTypes?: readonly string[]): IDisposable;
|
|
89
87
|
getPromptLocationLabel(promptPath: IPromptPath): string;
|
|
90
88
|
/**
|
|
91
89
|
* Gets list of AGENTS.md files, including optionally nested ones from subfolders.
|
|
92
90
|
*/
|
|
93
|
-
listNestedAgentMDs(token: CancellationToken): Promise<
|
|
91
|
+
listNestedAgentMDs(token: CancellationToken): Promise<IAgentInstructionFile[]>;
|
|
94
92
|
/**
|
|
95
93
|
* Gets combined list of agent instruction files (AGENTS.md, CLAUDE.md, copilot-instructions.md).
|
|
96
94
|
* Combines results from listAgentMDs (non-nested), listClaudeMDs, and listCopilotInstructionsMDs.
|
|
97
95
|
*/
|
|
98
|
-
listAgentInstructions(token: CancellationToken, logger?: Logger): Promise<
|
|
96
|
+
listAgentInstructions(token: CancellationToken, logger?: Logger): Promise<IAgentInstructionFile[]>;
|
|
99
97
|
/**
|
|
100
98
|
* For a chat mode file URI, return the name of the agent file that it should use.
|
|
101
99
|
* @param oldURI
|
|
@@ -122,27 +120,27 @@ export interface IPromptsService extends IDisposable {
|
|
|
122
120
|
}): IDisposable;
|
|
123
121
|
/**
|
|
124
122
|
* Gets list of agent skills files.
|
|
125
|
-
* @param sessionResource Optional session resource to scope debug logging to a specific session.
|
|
126
123
|
*/
|
|
127
|
-
findAgentSkills(token: CancellationToken
|
|
124
|
+
findAgentSkills(token: CancellationToken): Promise<IAgentSkill[] | undefined>;
|
|
128
125
|
/**
|
|
129
126
|
* Event that is triggered when the list of skills changes.
|
|
130
127
|
*/
|
|
131
128
|
readonly onDidChangeSkills: Event<void>;
|
|
132
129
|
/**
|
|
130
|
+
* Event that is triggered when the effective hook availability or configuration changes.
|
|
131
|
+
*/
|
|
132
|
+
readonly onDidChangeHooks: Event<void>;
|
|
133
|
+
/**
|
|
133
134
|
* Gets all hooks collected from hooks.json files.
|
|
134
|
-
* The result is cached and invalidated when hook
|
|
135
|
-
* @param sessionResource Optional session resource to scope debug logging to a specific session.
|
|
135
|
+
* The result is cached and invalidated when the effective hook availability or configuration changes.
|
|
136
136
|
*/
|
|
137
|
-
getHooks(token: CancellationToken
|
|
137
|
+
getHooks(token: CancellationToken): Promise<IConfiguredHooksInfo | undefined>;
|
|
138
138
|
/**
|
|
139
|
-
* Gets all instruction files
|
|
140
|
-
* @param sessionResource Optional session resource to scope debug logging to a specific session.
|
|
139
|
+
* Gets all instruction files
|
|
141
140
|
*/
|
|
142
|
-
getInstructionFiles(token: CancellationToken
|
|
141
|
+
getInstructionFiles(token: CancellationToken): Promise<readonly IInstructionFile[]>;
|
|
143
142
|
/**
|
|
144
|
-
*
|
|
145
|
-
* Listeners (such as a debug bridge) can forward these to IChatDebugService.
|
|
143
|
+
* Returns the cached discovery info for the given prompt type.
|
|
146
144
|
*/
|
|
147
|
-
|
|
145
|
+
getDiscoveryInfo(type: PromptsType, token: CancellationToken): Promise<IPromptDiscoveryInfo>;
|
|
148
146
|
}
|
|
@@ -8,6 +8,8 @@ import { IChatSlashCommandService } from "../participants/chatSlashCommands.serv
|
|
|
8
8
|
import { IPromptsService } from "../promptSyntax/service/promptsService.service.js";
|
|
9
9
|
import { IToolAndToolSetEnablementMap } from "../tools/languageModelToolsService.js";
|
|
10
10
|
import { IParsedChatRequest } from "./chatParserTypes.js";
|
|
11
|
+
export declare const agentReg: RegExp;
|
|
12
|
+
export declare const variableReg: RegExp;
|
|
11
13
|
export declare const slashReg: RegExp;
|
|
12
14
|
export interface IChatParserContext {
|
|
13
15
|
/** Used only as a disambiguator, when the query references an agent that has a duplicate with the same name. */
|
|
@@ -258,4 +258,4 @@ let ChatRequestParser = class ChatRequestParser {
|
|
|
258
258
|
};
|
|
259
259
|
ChatRequestParser = ( __decorate([( __param(0, IChatAgentService)), ( __param(1, IChatVariablesService)), ( __param(2, IChatSlashCommandService)), ( __param(3, IPromptsService))], ChatRequestParser));
|
|
260
260
|
|
|
261
|
-
export { ChatRequestParser, slashReg };
|
|
261
|
+
export { ChatRequestParser, agentReg, slashReg, variableReg };
|
package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export interface IQuestionOption {
|
|
|
19
19
|
export interface IQuestion {
|
|
20
20
|
readonly header: string;
|
|
21
21
|
readonly question: string;
|
|
22
|
+
readonly message?: string;
|
|
22
23
|
readonly multiSelect?: boolean;
|
|
23
24
|
readonly options?: IQuestionOption[];
|
|
24
25
|
readonly allowFreeformInput?: boolean;
|
|
@@ -45,6 +46,15 @@ export declare class AskQuestionsTool extends Disposable implements IToolImpl {
|
|
|
45
46
|
invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
|
|
46
47
|
prepareToolInvocation(context: IToolInvocationPreparationContext, _token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
|
|
47
48
|
private getRequest;
|
|
49
|
+
/**
|
|
50
|
+
* Resolves the terminal execution ID for the request.
|
|
51
|
+
* Prefer structured metadata and fall back to legacy message parsing for
|
|
52
|
+
* old sessions that may not carry the metadata yet.
|
|
53
|
+
* As a final fallback, search completed runInTerminal tool invocations in
|
|
54
|
+
* the response for the terminal ID (foreground/timeout path where the
|
|
55
|
+
* model calls ask_questions from the same turn as runInTerminal).
|
|
56
|
+
*/
|
|
57
|
+
private extractTerminalId;
|
|
48
58
|
private toQuestionCarousel;
|
|
49
59
|
private toChatQuestion;
|
|
50
60
|
protected convertCarouselAnswers(questions: IQuestion[], carouselAnswers: IChatQuestionAnswers | undefined, idToHeaderMap: Map<string, string>): IAnswerResult;
|
|
@@ -6,6 +6,7 @@ import { Disposable } from '../../../../../../base/common/lifecycle.js';
|
|
|
6
6
|
import { hasKey } from '../../../../../../base/common/types.js';
|
|
7
7
|
import { generateUuid } from '../../../../../../base/common/uuid.js';
|
|
8
8
|
import { localize } from '../../../../../../nls.js';
|
|
9
|
+
import { IChatToolInvocation } from '../../chatService/chatService.js';
|
|
9
10
|
import { IChatService } from '../../chatService/chatService.service.js';
|
|
10
11
|
import { ChatQuestionCarouselData } from '../../model/chatProgressTypes/chatQuestionCarouselData.js';
|
|
11
12
|
import { ChatPermissionLevel, ChatConfiguration } from '../../constants.js';
|
|
@@ -17,6 +18,7 @@ import { ToolDataSource } from '../languageModelToolsService.js';
|
|
|
17
18
|
import { ThemeIcon } from '../../../../../../base/common/themables.js';
|
|
18
19
|
import { Codicon } from '../../../../../../base/common/codicons.js';
|
|
19
20
|
import { raceCancellation } from '../../../../../../base/common/async.js';
|
|
21
|
+
import { TerminalToolId } from '../terminalToolIds.js';
|
|
20
22
|
|
|
21
23
|
const AUTOPILOT_ASK_USER_RESPONSE = "The user is not available to respond and will review your work later. Work autonomously and make good decisions.";
|
|
22
24
|
const AskQuestionsToolId = "vscode_askQuestions";
|
|
@@ -59,6 +61,10 @@ function createAskQuestionsToolData() {
|
|
|
59
61
|
type: "boolean",
|
|
60
62
|
description: "Allow freeform text answers in addition to option selection. Defaults to true; set to false to restrict to predefined options only."
|
|
61
63
|
},
|
|
64
|
+
message: {
|
|
65
|
+
type: "string",
|
|
66
|
+
description: "Optional markdown message to display below the question text, providing additional context or details."
|
|
67
|
+
},
|
|
62
68
|
options: {
|
|
63
69
|
type: "array",
|
|
64
70
|
description: "Optional list of selectable answers. If omitted, the question is free text.",
|
|
@@ -102,9 +108,9 @@ function createAskQuestionsToolData() {
|
|
|
102
108
|
legacyToolReferenceFullNames: [AskQuestionsToolId, "vscode/askQuestions"],
|
|
103
109
|
canBeReferencedInPrompt: false,
|
|
104
110
|
icon: ThemeIcon.fromId(Codicon.question.id),
|
|
105
|
-
displayName: ( localize(
|
|
111
|
+
displayName: ( localize(7750, "Ask Clarifying Questions")),
|
|
106
112
|
userDescription: ( localize(
|
|
107
|
-
|
|
113
|
+
7751,
|
|
108
114
|
"Ask structured clarifying questions using single select, multi-select, or freeform inputs to collect task requirements before proceeding."
|
|
109
115
|
)),
|
|
110
116
|
modelDescription: "Use this tool to ask the user a small number of clarifying questions before proceeding. Provide the questions array with concise headers and prompts. Use options for fixed choices, set multiSelect when multiple selections are allowed. Users can always provide a freeform text answer alongside options unless you set allowFreeformInput to false.",
|
|
@@ -130,7 +136,7 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
130
136
|
this.logService.trace(`[AskQuestionsTool] Invoking with ${questions?.length ?? 0} question(s)`);
|
|
131
137
|
if (!questions || questions.length === 0) {
|
|
132
138
|
throw ( new Error(( localize(
|
|
133
|
-
|
|
139
|
+
7752,
|
|
134
140
|
"No questions provided. The questions array must contain at least one question."
|
|
135
141
|
))));
|
|
136
142
|
}
|
|
@@ -153,6 +159,7 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
153
159
|
carousel,
|
|
154
160
|
idToHeaderMap
|
|
155
161
|
} = this.toQuestionCarousel(questions);
|
|
162
|
+
carousel.terminalId = this.extractTerminalId(request);
|
|
156
163
|
carousel.data = this.buildAutopilotCarouselAnswers(questions, carousel, idToHeaderMap);
|
|
157
164
|
carousel.isUsed = true;
|
|
158
165
|
this.chatService.appendProgress(request, carousel);
|
|
@@ -162,13 +169,28 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
162
169
|
carousel,
|
|
163
170
|
idToHeaderMap
|
|
164
171
|
} = this.toQuestionCarousel(questions);
|
|
172
|
+
carousel.terminalId = this.extractTerminalId(request);
|
|
173
|
+
this.logService.trace(
|
|
174
|
+
`[AskQuestionsTool] request=${request.id} terminalExecutionId=${request.terminalExecutionId ?? "undefined"} carousel.terminalId=${carousel.terminalId ?? "undefined"}`
|
|
175
|
+
);
|
|
165
176
|
this.chatService.appendProgress(request, carousel);
|
|
166
177
|
const answerResult = await raceCancellation(carousel.completion.p, token);
|
|
167
178
|
if (token.isCancellationRequested) {
|
|
168
179
|
throw ( new CancellationError());
|
|
169
180
|
}
|
|
181
|
+
if (carousel.dismissedByTerminalInput && carousel.terminalId) {
|
|
182
|
+
this.logService.info(
|
|
183
|
+
`[AskQuestionsTool] Carousel dismissed because user typed directly in terminal ${carousel.terminalId}`
|
|
184
|
+
);
|
|
185
|
+
return {
|
|
186
|
+
content: [{
|
|
187
|
+
kind: "text",
|
|
188
|
+
value: `The user is replying to the terminal prompts directly. Do not ask more questions or send input to the terminal. You will be automatically notified when the command in terminal ${carousel.terminalId} completes.`
|
|
189
|
+
}]
|
|
190
|
+
};
|
|
191
|
+
}
|
|
170
192
|
progress.report({
|
|
171
|
-
message: ( localize(
|
|
193
|
+
message: ( localize(7753, "Analyzing your answers..."))
|
|
172
194
|
});
|
|
173
195
|
const converted = this.convertCarouselAnswers(questions, answerResult?.answers, idToHeaderMap);
|
|
174
196
|
const {
|
|
@@ -206,14 +228,14 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
206
228
|
} = parameters;
|
|
207
229
|
if (!questions || questions.length === 0) {
|
|
208
230
|
throw ( new Error(( localize(
|
|
209
|
-
|
|
231
|
+
7752,
|
|
210
232
|
"No questions provided. The questions array must contain at least one question."
|
|
211
233
|
))));
|
|
212
234
|
}
|
|
213
235
|
for (const question of questions) {
|
|
214
236
|
if (question.options && question.options.length === 1) {
|
|
215
237
|
throw ( new Error(( localize(
|
|
216
|
-
|
|
238
|
+
7754,
|
|
217
239
|
"Question \"{0}\" must have at least two options, or none for free text input.",
|
|
218
240
|
question.header
|
|
219
241
|
))));
|
|
@@ -222,8 +244,8 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
222
244
|
}
|
|
223
245
|
const questionCount = questions.length;
|
|
224
246
|
const headers = ( questions.map(q => q.header)).join(", ");
|
|
225
|
-
const message = questionCount === 1 ? ( localize(
|
|
226
|
-
const pastMessage = questionCount === 1 ? ( localize(
|
|
247
|
+
const message = questionCount === 1 ? ( localize(7755, "Asking a question ({0})", headers)) : ( localize(7756, "Asking {0} questions ({1})", questionCount, headers));
|
|
248
|
+
const pastMessage = questionCount === 1 ? ( localize(7757, "Asked a question ({0})", headers)) : ( localize(7758, "Asked {0} questions ({1})", questionCount, headers));
|
|
227
249
|
return {
|
|
228
250
|
invocationMessage: ( new MarkdownString(message)),
|
|
229
251
|
pastTenseMessage: ( new MarkdownString(pastMessage))
|
|
@@ -257,6 +279,36 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
257
279
|
sessionResource: chatSessionResource
|
|
258
280
|
};
|
|
259
281
|
}
|
|
282
|
+
extractTerminalId(request) {
|
|
283
|
+
if (request.terminalExecutionId) {
|
|
284
|
+
return request.terminalExecutionId;
|
|
285
|
+
}
|
|
286
|
+
const match = request.message.text.match(/\[Terminal (?<termId>\S+) notification:/);
|
|
287
|
+
if (match?.groups?.termId) {
|
|
288
|
+
return match.groups.termId;
|
|
289
|
+
}
|
|
290
|
+
const response = request.response;
|
|
291
|
+
if (response) {
|
|
292
|
+
const parts = response.response.value;
|
|
293
|
+
for (let i = parts.length - 1; i >= 0; i--) {
|
|
294
|
+
const part = parts[i];
|
|
295
|
+
if (part.kind === "toolInvocation" && part.toolId === TerminalToolId.RunInTerminal) {
|
|
296
|
+
const state = part.state.get();
|
|
297
|
+
if (state.type === IChatToolInvocation.StateKind.Completed && state.contentForModel) {
|
|
298
|
+
for (const item of state.contentForModel) {
|
|
299
|
+
if (item.kind === "text") {
|
|
300
|
+
const idMatch = item.value.match(/terminal ID ([0-9a-fA-F-]+)/);
|
|
301
|
+
if (idMatch) {
|
|
302
|
+
return idMatch[1];
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
return undefined;
|
|
311
|
+
}
|
|
260
312
|
toQuestionCarousel(questions) {
|
|
261
313
|
const idToHeaderMap = ( new Map());
|
|
262
314
|
const mappedQuestions = ( questions.map(question => this.toChatQuestion(question, idToHeaderMap)));
|
|
@@ -289,6 +341,7 @@ let AskQuestionsTool = class AskQuestionsTool extends Disposable {
|
|
|
289
341
|
type,
|
|
290
342
|
title: displayTitle,
|
|
291
343
|
message: question.question,
|
|
344
|
+
detailedMessage: question.message,
|
|
292
345
|
options: question.options?.map(opt => ({
|
|
293
346
|
id: opt.label,
|
|
294
347
|
label: opt.description ? `${opt.label} - ${opt.description}` : opt.label,
|