@codingame/monaco-vscode-api 1.81.8-next.2 → 1.82.0-next.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/README.md +14 -0
- package/api.js +12 -8
- package/extensions.d.ts +1 -0
- package/extensions.js +3 -0
- package/missing-services.js +69 -20
- package/monaco-editor-treemending.patch +1407 -1026
- package/monaco-treemending.js +2 -2
- package/monaco.d.ts +1 -1
- package/monaco.js +3 -0
- package/package.json +3 -3
- package/service-override/extensions.d.ts +1 -1
- package/service-override/extensions.js +5 -1
- package/service-override/keybindings.d.ts +4 -1
- package/service-override/keybindings.js +35 -6
- package/service-override/quickaccess.d.ts +2 -1
- package/service-override/quickaccess.js +5 -2
- package/service-override/search.js +2 -2
- package/service-override/snippets.d.ts +1 -1
- package/service-override/storage.d.ts +1 -1
- package/service-override/theme.d.ts +1 -1
- package/service-override/tools/editor.d.ts +1 -1
- package/service-override/tools/editor.js +4 -3
- package/service-override/views.d.ts +1 -1
- package/service-override/views.js +4 -2
- package/vscode/src/vs/base/browser/contextmenu.d.ts +1 -1
- package/vscode/src/vs/base/browser/dom.d.ts +1 -1
- package/vscode/src/vs/base/browser/keyboardEvent.d.ts +1 -1
- package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +7 -1
- package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/contextview/contextview.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/grid/grid.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/grid/gridview.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/grid/gridview.js +1 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -2
- package/vscode/src/vs/base/browser/ui/sash/sash.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/splitview.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +5 -1
- package/vscode/src/vs/base/common/actions.d.ts +1 -1
- package/vscode/src/vs/base/common/async.d.ts +1 -1
- package/vscode/src/vs/base/common/buffer.d.ts +1 -1
- package/vscode/src/vs/base/common/codicons.d.ts +5 -0
- package/vscode/src/vs/base/common/collections.d.ts +1 -1
- package/vscode/src/vs/base/common/dataTransfer.d.ts +1 -1
- package/vscode/src/vs/base/common/errors.d.ts +1 -1
- package/vscode/src/vs/base/common/event.d.ts +10 -2
- package/vscode/src/vs/base/common/filters.d.ts +1 -1
- package/vscode/src/vs/base/common/glob.d.ts +1 -1
- package/vscode/src/vs/base/common/htmlContent.d.ts +1 -1
- package/vscode/src/vs/base/common/jsonSchema.d.ts +1 -1
- package/vscode/src/vs/base/common/keybindings.d.ts +1 -1
- package/vscode/src/vs/base/common/lifecycle.d.ts +1 -1
- package/vscode/src/vs/base/common/{observableImpl → observableInternal}/base.d.ts +1 -1
- package/vscode/src/vs/base/common/path.d.ts +1 -1
- package/vscode/src/vs/base/common/performance.d.ts +1 -1
- package/vscode/src/vs/base/common/platform.d.ts +1 -1
- package/vscode/src/vs/base/common/prefixTree.js +76 -13
- package/vscode/src/vs/base/common/processes.d.ts +1 -1
- package/vscode/src/vs/base/common/product.d.ts +10 -6
- package/vscode/src/vs/base/common/resources.d.ts +1 -1
- package/vscode/src/vs/base/common/stream.d.ts +1 -1
- package/vscode/src/vs/base/common/ternarySearchTree.d.ts +1 -1
- package/vscode/src/vs/base/common/themables.d.ts +1 -1
- package/vscode/src/vs/base/common/types.d.ts +1 -1
- package/vscode/src/vs/base/common/uri.d.ts +1 -1
- package/vscode/src/vs/base/common/uriIpc.d.ts +1 -1
- package/vscode/src/vs/base/parts/ipc/common/ipc.d.ts +1 -1
- package/vscode/src/vs/base/parts/ipc/common/ipc.net.d.ts +1 -1
- package/vscode/src/vs/base/parts/storage/common/storage.d.ts +1 -1
- package/vscode/src/vs/editor/browser/editorBrowser.d.ts +2 -2
- package/vscode/src/vs/editor/browser/services/bulkEditService.d.ts +1 -1
- package/vscode/src/vs/editor/browser/services/codeEditorService.d.ts +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.contribution.js +122 -26
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +25 -5
- package/vscode/src/vs/editor/common/core/dimension.d.ts +1 -1
- package/vscode/src/vs/editor/common/core/editOperation.d.ts +1 -1
- package/vscode/src/vs/editor/common/core/lineRange.d.ts +8 -1
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +47 -0
- package/vscode/src/vs/editor/common/core/position.d.ts +1 -1
- package/vscode/src/vs/editor/common/core/range.d.ts +1 -1
- package/vscode/src/vs/editor/common/core/selection.d.ts +1 -1
- package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +3 -2
- package/vscode/src/vs/editor/common/diff/{smartLinesDiffComputer.d.ts → legacyLinesDiffComputer.d.ts} +1 -1
- package/vscode/src/vs/editor/common/diff/linesDiffComputer.d.ts +1 -0
- package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -1
- package/vscode/src/vs/editor/common/encodedTokenAttributes.d.ts +1 -1
- package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -1
- package/vscode/src/vs/editor/common/languageSelector.d.ts +1 -1
- package/vscode/src/vs/editor/common/languages/language.d.ts +1 -1
- package/vscode/src/vs/editor/common/languages/languageConfiguration.d.ts +1 -1
- package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.d.ts +1 -1
- package/vscode/src/vs/editor/common/languages/supports/electricCharacter.d.ts +1 -1
- package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.d.ts +1 -1
- package/vscode/src/vs/editor/common/languages.d.ts +37 -7
- package/vscode/src/vs/editor/common/model.d.ts +1 -1
- package/vscode/src/vs/editor/common/services/editorWorker.d.ts +2 -2
- package/vscode/src/vs/editor/common/services/languageFeatureDebounce.d.ts +1 -1
- package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
- package/vscode/src/vs/editor/common/services/languageFeaturesService.js +1 -0
- package/vscode/src/vs/editor/common/services/resolverService.d.ts +1 -1
- package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.d.ts +1 -1
- package/vscode/src/vs/editor/common/textModelEvents.d.ts +1 -1
- package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.d.ts +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.d.ts +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +1 -1
- package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +1 -1
- package/vscode/src/vs/platform/action/common/action.d.ts +1 -1
- package/vscode/src/vs/platform/actions/browser/floatingMenu.js +73 -0
- package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +1 -1
- package/vscode/src/vs/platform/actions/common/actions.d.ts +5 -2
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +10 -3
- package/vscode/src/vs/platform/commands/common/commands.d.ts +1 -1
- package/vscode/src/vs/platform/configuration/common/configuration.d.ts +1 -1
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +1 -1
- package/vscode/src/vs/platform/contextkey/common/contextkey.d.ts +1 -1
- package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +1 -1
- package/vscode/src/vs/platform/credentials/common/credentials.d.ts +1 -1
- package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +1 -1
- package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +1 -1
- package/vscode/src/vs/platform/editor/common/editor.d.ts +1 -1
- package/vscode/src/vs/platform/environment/common/environment.d.ts +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.d.ts +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +13 -14
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
- package/vscode/src/vs/platform/files/common/files.d.ts +1 -1
- package/vscode/src/vs/platform/instantiation/common/descriptors.d.ts +1 -1
- package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +1 -1
- package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.d.ts +1 -1
- package/vscode/src/vs/platform/keybinding/common/keybinding.d.ts +1 -1
- package/vscode/src/vs/platform/keybinding/common/keybindingResolver.d.ts +1 -1
- package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +1 -1
- package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +1 -1
- package/vscode/src/vs/platform/log/common/log.d.ts +1 -1
- package/vscode/src/vs/platform/markers/common/markers.d.ts +1 -1
- package/vscode/src/vs/platform/notification/common/notification.d.ts +1 -1
- package/vscode/src/vs/platform/opener/common/opener.d.ts +1 -1
- package/vscode/src/vs/platform/policy/common/policy.d.ts +1 -1
- package/vscode/src/vs/platform/progress/common/progress.d.ts +1 -1
- package/vscode/src/vs/platform/quickinput/common/quickAccess.d.ts +1 -1
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +17 -13
- package/vscode/src/vs/platform/registry/common/platform.d.ts +1 -1
- package/vscode/src/vs/platform/remote/browser/browserSocketFactory.d.ts +1 -1
- package/vscode/src/vs/platform/remote/common/managedSocket.js +80 -1
- package/vscode/src/vs/platform/remote/common/remoteAgentConnection.d.ts +1 -1
- package/vscode/src/vs/platform/remote/common/remoteAgentEnvironment.d.ts +1 -1
- package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.d.ts +1 -1
- package/vscode/src/vs/platform/remote/common/remoteSocketFactoryService.d.ts +1 -1
- package/vscode/src/vs/platform/secrets/common/secrets.d.ts +1 -1
- package/vscode/src/vs/platform/storage/common/storage.d.ts +24 -5
- package/vscode/src/vs/platform/storage/common/storage.js +4 -2
- package/vscode/src/vs/platform/telemetry/common/gdprTypings.d.ts +1 -1
- package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -1
- package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +4 -2
- package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +21 -3
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.d.ts +32 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +14 -9
- package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +4 -2
- package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +18 -4
- package/vscode/src/vs/platform/terminal/common/environmentVariable.d.ts +1 -1
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +1 -1
- package/vscode/src/vs/platform/terminal/common/terminalProcess.d.ts +1 -1
- package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +6 -3
- package/vscode/src/vs/platform/theme/common/colorRegistry.d.ts +1 -1
- package/vscode/src/vs/platform/theme/common/iconRegistry.d.ts +1 -1
- package/vscode/src/vs/platform/theme/common/themeService.d.ts +1 -1
- package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +1 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +1 -1
- package/vscode/src/vs/platform/webview/common/webviewPortMapping.js +5 -1
- package/vscode/src/vs/platform/window/common/window.d.ts +1 -1
- package/vscode/src/vs/platform/workspace/common/workspace.d.ts +1 -1
- package/vscode/src/vs/platform/workspace/common/workspaceTrust.d.ts +1 -1
- package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +29 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +33 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +13 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadChatProvider.js +59 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +46 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +29 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +5 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +1 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +31 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +12 -67
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +7 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +36 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +21 -17
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +2 -3
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +10 -1
- package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +55 -16
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +32 -7
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +10 -2
- package/vscode/src/vs/workbench/api/common/extHostAiRelatedInformation.js +34 -0
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +21 -2
- package/vscode/src/vs/workbench/api/common/extHostChat.js +12 -31
- package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +70 -0
- package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +53 -0
- package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +37 -0
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +11 -0
- package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -2
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostDecorations.js +6 -4
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +8 -6
- package/vscode/src/vs/workbench/api/common/extHostEmbeddingVector.js +34 -0
- package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +5 -4
- package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +11 -10
- package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +3 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +45 -15
- package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +5 -3
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +4 -2
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +17 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +12 -11
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +66 -53
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +32 -18
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +19 -5
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +128 -6
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +28 -13
- package/vscode/src/vs/workbench/api/common/extHostWindow.js +4 -2
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -3
- package/vscode/src/vs/workbench/api/common/extensionHostMain.js +2 -2
- package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +5 -3
- package/vscode/src/vs/workbench/browser/codeeditor.js +34 -67
- package/vscode/src/vs/workbench/browser/dnd.js +3 -2
- package/vscode/src/vs/workbench/browser/part.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarActions.js +37 -20
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +21 -22
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +4 -2
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +10 -7
- package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/compositePart.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.js +4 -2
- package/vscode/src/vs/workbench/browser/parts/editor/accessibilityStatus.js +19 -24
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +11 -9
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +1 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +17 -16
- package/vscode/src/vs/workbench/browser/parts/editor/editor.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editor.js +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +25 -16
- package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +6 -4
- package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +4 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +12 -12
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +10 -8
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +13 -9
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +10 -6
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +14 -16
- package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +6 -4
- package/vscode/src/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/noTabsTitleControl.js +6 -4
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +7 -5
- package/vscode/src/vs/workbench/browser/parts/editor/tabsTitleControl.js +42 -32
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +13 -6
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -2
- package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +6 -4
- package/vscode/src/vs/workbench/browser/parts/editor/titleControl.js +6 -5
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +5 -3
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +8 -3
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +9 -7
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +14 -11
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +14 -10
- package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +4 -2
- package/vscode/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarItem.js +12 -2
- package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarModel.js +21 -23
- package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +10 -4
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +4 -2
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +13 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/web.api.d.ts +1 -1
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +37 -7
- package/vscode/src/vs/workbench/common/composite.d.ts +1 -1
- package/vscode/src/vs/workbench/common/contextkeys.js +12 -10
- package/vscode/src/vs/workbench/common/contributions.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +6 -8
- package/vscode/src/vs/workbench/common/editor/editorGroupModel.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +15 -5
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +7 -5
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +5 -4
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +5 -3
- package/vscode/src/vs/workbench/common/editor.d.ts +3 -1
- package/vscode/src/vs/workbench/common/editor.js +18 -1
- package/vscode/src/vs/workbench/common/memento.d.ts +1 -1
- package/vscode/src/vs/workbench/common/panecomposite.d.ts +1 -1
- package/vscode/src/vs/workbench/common/resources.js +11 -9
- package/vscode/src/vs/workbench/common/theme.js +118 -10
- package/vscode/src/vs/workbench/common/views.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.js +5 -241
- package/vscode/src/vs/workbench/contrib/accessibility/browser/{accessibilityContribution.js → accessibilityConfiguration.js} +50 -73
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +312 -0
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +376 -81
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +216 -0
- package/vscode/src/vs/workbench/contrib/accessibility/browser/unfocusedViewDimmingContribution.js +63 -0
- package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCueDebuggerContribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCueLineFeatureContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +4 -1
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +8 -3
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +10 -7
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +204 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.js +3 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +21 -10
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +45 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +4 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +4 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +14 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +0 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +7 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +4 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +15 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +2 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +2 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -1
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +7 -5
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +4 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +1 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +13 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +10 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +5 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +5 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +0 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +3 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +5 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +1 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +27 -26
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +1 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +17 -13
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +10 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +10 -6
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +5 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +4 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +5 -3
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +19 -11
- package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +25 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +225 -113
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +4 -2
- package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +4 -2
- package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +4 -3
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +4 -2
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +29 -5
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +11 -8
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +11 -6
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +22 -19
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +11 -7
- package/vscode/src/vs/workbench/contrib/files/common/files.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/files/common/files.js +6 -5
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +16 -14
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -3
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +7 -5
- package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +4 -2
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +16 -23
- package/vscode/src/vs/workbench/contrib/markers/browser/markersModel.js +1 -2
- package/vscode/src/vs/workbench/contrib/markers/browser/markersTable.js +10 -6
- package/vscode/src/vs/workbench/contrib/markers/browser/markersView.js +1 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +7 -5
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +5 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +27 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +0 -24
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +14 -14
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +1 -6
- package/vscode/src/vs/workbench/contrib/output/browser/logViewer.js +7 -4
- package/vscode/src/vs/workbench/contrib/output/browser/outputLinkProvider.js +4 -2
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +16 -11
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +13 -8
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferences.contribution.js +77 -62
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +5 -3
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesSearch.js +114 -36
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditor2.js +92 -73
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTree.js +21 -14
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +110 -103
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsWidgets.js +0 -4
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +4 -4
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +38 -36
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +6 -2
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +5 -4
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +2 -2
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +66 -36
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -5
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +57 -55
- package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +232 -0
- package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +7 -5
- package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +33 -3
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +1 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +3 -3
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +23 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +5 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +162 -90
- package/vscode/src/vs/workbench/contrib/search/browser/searchNotebookHelpers.js +57 -23
- package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +10 -6
- package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +80 -58
- package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +7 -5
- package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +7 -6
- package/vscode/src/vs/workbench/contrib/search/common/constants.js +2 -1
- package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.js +7 -5
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +10 -7
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +1 -2
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +7 -5
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +9 -6
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -6
- package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +5 -3
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.js +5 -6
- package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +54 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminal.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +56 -6
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +44 -31
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorService.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +47 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroup.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroupService.js +13 -18
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +86 -73
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +15 -103
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +1 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileService.js +11 -6
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalService.js +49 -32
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +3 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +9 -13
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalView.js +30 -6
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +91 -25
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariableService.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminal/common/history.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js +6 -7
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +35 -2
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +3 -7
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalConfiguration.js +62 -10
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +8 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.js +48 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp.js +42 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBuffer.js +23 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleWidget.js +30 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon.js +98 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.js +8 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +12 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +44 -17
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -0
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +10 -7
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +4 -2
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.js +5 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +4 -2
- package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +5 -4
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +28 -0
- package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +1 -1
- package/vscode/src/vs/workbench/services/{semanticSimilarity/common/semanticSimilarityService.js → aiEmbeddingVector/common/aiEmbeddingVectorService.js} +18 -13
- package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.js +10 -0
- package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +6 -4
- package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +1 -1
- package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +5 -6
- package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +2 -2
- package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +12 -9
- package/vscode/src/vs/workbench/services/editor/browser/editorService.js +6 -6
- package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.d.ts +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +4 -3
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +8 -6
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +4 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +5 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostProxy.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +10 -5
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
- package/vscode/src/vs/workbench/services/extensions/common/proxyIdentifier.d.ts +1 -1
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +10 -9
- package/vscode/src/vs/workbench/services/history/browser/historyService.js +14 -11
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +2 -2
- package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/hover/browser/hoverWidget.js +11 -3
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +6 -5
- package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +10 -8
- package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.d.ts +1 -1
- package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +6 -4
- package/vscode/src/vs/workbench/services/localization/common/locale.js +3 -0
- package/vscode/src/vs/workbench/services/notification/common/notificationService.js +5 -3
- package/vscode/src/vs/workbench/services/output/common/output.d.ts +1 -1
- package/vscode/src/vs/workbench/services/path/common/pathService.js +4 -3
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +5 -3
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +12 -11
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +4 -3
- package/vscode/src/vs/workbench/services/preferences/common/preferences.js +3 -2
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +5 -3
- package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +4 -2
- package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +6 -817
- package/vscode/src/vs/workbench/services/remote/common/{remoteExplorerService.d.ts → tunnelModel.d.ts} +1 -1
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +860 -0
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +1 -1
- package/vscode/src/vs/workbench/services/search/common/search.d.ts +1 -1
- package/vscode/src/vs/workbench/services/search/common/searchService.js +41 -26
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +12 -3
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.js +2 -1
- package/vscode/src/vs/workbench/services/storage/browser/storageService.js +4 -2
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.d.ts +1 -1
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.d.ts +1 -1
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/textMateWorkerTokenizerController.js +1 -1
- package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.js +9 -7
- package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +7 -5
- package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +1 -1
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +8 -6
- package/vscode/src/vs/workbench/services/textfile/common/encoding.js +5 -3
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +19 -17
- package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +4 -1
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
- package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +5 -3
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.d.ts +1 -1
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +12 -9
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +4 -2
- package/vscode/src/vs/workbench/services/update/browser/updateService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/url/browser/urlService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/userData/browser/userDataInit.d.ts +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.d.ts +1 -1
- package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +14 -13
- package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +4 -5
- package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +1 -0
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopy.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +17 -8
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileOperationParticipant.js +1 -0
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +8 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadSemanticSimilarity.js +0 -29
- package/vscode/src/vs/workbench/api/common/extHostSemanticSimilarity.js +0 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/quickQuestionActions/quickQuestionAction.js +0 -47
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +0 -4
- package/vscode/src/vs/workbench/contrib/tasks/browser/taskQuickPick.js +0 -386
- package/vscode/src/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +0 -109
- /package/vscode/src/vs/workbench/contrib/search/{browser → common}/notebookSearch.js +0 -0
|
@@ -557,7 +557,7 @@ let ViewsExtensionHandler = class ViewsExtensionHandler {
|
|
|
557
557
|
name: item.name,
|
|
558
558
|
when: ContextKeyExpr.deserialize(item.when),
|
|
559
559
|
containerIcon: icon || viewContainer?.icon,
|
|
560
|
-
containerTitle: item.contextualTitle || viewContainer
|
|
560
|
+
containerTitle: item.contextualTitle || (viewContainer && (typeof viewContainer.title === 'string' ? viewContainer.title : viewContainer.title.value)),
|
|
561
561
|
canToggleVisibility: true,
|
|
562
562
|
canMoveView: viewContainer?.id !== VIEWLET_ID,
|
|
563
563
|
treeView: type === ViewType.Tree ? this.instantiationService.createInstance(CustomTreeView, item.id, item.name, extension.description.identifier.value) : undefined,
|
|
@@ -11,4 +11,4 @@ interface IExtensionApiFactory {
|
|
|
11
11
|
(extension: IExtensionDescription, extensionInfo: IExtensionRegistries, configProvider: ExtHostConfigProvider): typeof vscode;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export { IExtensionApiFactory, IExtensionRegistries };
|
|
14
|
+
export type { IExtensionApiFactory, IExtensionRegistries };
|
|
@@ -37,7 +37,7 @@ import { IExtHostTerminalService } from './extHostTerminalService.js';
|
|
|
37
37
|
import { ExtHostEditors } from './extHostTextEditors.js';
|
|
38
38
|
import { ExtHostTreeViews } from './extHostTreeViews.js';
|
|
39
39
|
import { LanguageSelector } from './extHostTypeConverters.js';
|
|
40
|
-
import { Breakpoint, TerminalOutputAnchor, CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, CodeAction, CodeActionKind, CodeActionTriggerKind, CodeLens, Color, ColorInformation, ColorPresentation, ColorThemeKind, CommentMode, CommentState, CommentThreadCollapsibleState, CommentThreadState, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionList, CompletionTriggerKind, ConfigurationTarget, CustomExecution, DebugAdapterExecutable, DebugAdapterInlineImplementation, DebugAdapterNamedPipeServer, DebugAdapterServer, DebugConsoleMode, DecorationRangeBehavior, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, Disposable, DocumentHighlight, DocumentHighlightKind, DocumentLink, DocumentSymbol, EndOfLine, EnvironmentVariableMutatorType, EvaluatableExpression, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineCompletionTriggerKind, ExtensionKind, ExtensionMode, ExternalUriOpenerPriority, FileChangeType, FileDecoration, FileSystemError, FoldingRange, FoldingRangeKind, FunctionBreakpoint, InlineSuggestion, InlineSuggestionList, Hover, Location, MarkdownString, ParameterInformation, PortAutoForwardAction, Position, ProcessExecution, ProgressLocation, QuickInputButtons, Range, RelativePattern, Selection, SelectionRange, SemanticTokens, SemanticTokensBuilder, SemanticTokensEdit, SemanticTokensEdits, SemanticTokensLegend, ShellExecution, ShellQuoting, SignatureHelp, SignatureHelpTriggerKind, SignatureInformation, SnippetString, SourceBreakpoint, StandardTokenType, StatusBarAlignment, SymbolInformation, SymbolKind, SymbolTag, Task, TaskGroup, TaskPanelKind, TaskRevealKind, TaskScope, TerminalLink, TerminalQuickFixCommand, TerminalQuickFixOpener, TerminalLocation, TerminalProfile, TerminalExitReason,
|
|
40
|
+
import { Breakpoint, TerminalOutputAnchor, ChatMessage, ChatMessageRole, ChatVariableLevel, CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, CodeAction, CodeActionKind, CodeActionTriggerKind, CodeLens, Color, ColorInformation, ColorPresentation, ColorThemeKind, CommentMode, CommentState, CommentThreadCollapsibleState, CommentThreadState, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionList, CompletionTriggerKind, ConfigurationTarget, CustomExecution, DebugAdapterExecutable, DebugAdapterInlineImplementation, DebugAdapterNamedPipeServer, DebugAdapterServer, DebugConsoleMode, DecorationRangeBehavior, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, Disposable, DocumentHighlight, DocumentHighlightKind, DocumentLink, DocumentSymbol, EndOfLine, EnvironmentVariableMutatorType, EvaluatableExpression, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineCompletionTriggerKind, ExtensionKind, ExtensionMode, ExternalUriOpenerPriority, FileChangeType, FileDecoration, FileSystemError, FoldingRange, FoldingRangeKind, FunctionBreakpoint, InlineSuggestion, InlineSuggestionList, Hover, Location, MarkdownString, ParameterInformation, PortAutoForwardAction, Position, ProcessExecution, ProgressLocation, QuickInputButtons, Range, RelativePattern, Selection, SelectionRange, SemanticTokens, SemanticTokensBuilder, SemanticTokensEdit, SemanticTokensEdits, SemanticTokensLegend, ShellExecution, ShellQuoting, SignatureHelp, SignatureHelpTriggerKind, SignatureInformation, SnippetString, SourceBreakpoint, StandardTokenType, StatusBarAlignment, SymbolInformation, SymbolKind, SymbolTag, Task, TaskGroup, TaskPanelKind, TaskRevealKind, TaskScope, TerminalLink, TerminalQuickFixCommand, TerminalQuickFixOpener, TerminalLocation, TerminalProfile, TerminalExitReason, TextDocumentSaveReason, TextEdit, SnippetTextEdit, TextEditorLineNumbersStyle, TextEditorRevealType, TextEditorSelectionChangeKind, TextDocumentChangeReason, ThemeColor, ThemeIcon, TreeItem, TreeItemCheckboxState, TreeItemCollapsibleState, TypeHierarchyItem, ViewColumn, WorkspaceEdit, DocumentDropEdit, DocumentPasteEdit, InlayHint, InlayHintLabelPart, InlayHintKind, RemoteAuthorityResolverError, ResolvedAuthority, ManagedResolvedAuthority, SourceControlInputBoxValidationType, ExtensionRuntime, TimelineItem, NotebookRange, NotebookCellKind, NotebookCellExecutionState, NotebookCellData, NotebookData, NotebookRendererScript, NotebookCellStatusBarAlignment, NotebookEditorRevealType, NotebookCellOutput, NotebookCellOutputItem, NotebookCellStatusBarItem, NotebookControllerAffinity, NotebookControllerAffinity2, NotebookEdit, NotebookKernelSourceAction, PortAttributes, LinkedEditingRanges, TestResultState, TestRunRequest, TestMessage, TestTag, TestRunProfileKind, DataTransfer, DataTransferItem, CoveredCount, FileCoverage, StatementCoverage, BranchCoverage, FunctionCoverage, WorkspaceTrustState, LanguageStatusSeverity, QuickPickItemKind, InputBoxValidationSeverity, TextTabInput, TextDiffTabInput, TextMergeTabInput, CustomEditorTabInput, NotebookEditorTabInput, NotebookDiffEditorTabInput, WebviewEditorTabInput, TerminalEditorTabInput, InteractiveWindowInput, InteractiveSessionVoteDirection, InteractiveSessionCopyKind, InteractiveEditorResponseFeedbackKind, StackFrameFocus, ThreadFocus, NotebookCodeActionKind, RelatedInformationType } from './extHostTypes.js';
|
|
41
41
|
import { TelemetryTrustedValue } from '../../../platform/telemetry/common/telemetryUtils.js';
|
|
42
42
|
import { ExtHostUrls } from './extHostUrls.js';
|
|
43
43
|
import { ExtHostWebviews } from './extHostWebview.js';
|
|
@@ -91,10 +91,14 @@ import { ExtHostQuickDiff } from './extHostQuickDiff.js';
|
|
|
91
91
|
import { ExtHostChat } from './extHostChat.js';
|
|
92
92
|
import { ExtHostInteractiveEditor } from './extHostInlineChat.js';
|
|
93
93
|
import { ExtHostNotebookDocumentSaveParticipant } from './extHostNotebookDocumentSaveParticipant.js';
|
|
94
|
-
import { ExtHostSemanticSimilarity } from './extHostSemanticSimilarity.js';
|
|
95
94
|
import { ExtHostIssueReporter } from './extHostIssueReporter.js';
|
|
96
95
|
import { IExtHostManagedSockets } from './extHostManagedSockets.js';
|
|
97
96
|
import { ExtHostShare } from './extHostShare.js';
|
|
97
|
+
import { ExtHostChatProvider } from './extHostChatProvider.js';
|
|
98
|
+
import { ExtHostChatSlashCommands } from './extHostChatSlashCommand.js';
|
|
99
|
+
import { ExtHostChatVariables } from './extHostChatVariables.js';
|
|
100
|
+
import { ExtHostRelatedInformation } from './extHostAiRelatedInformation.js';
|
|
101
|
+
import { ExtHostAiEmbeddingVector } from './extHostEmbeddingVector.js';
|
|
98
102
|
function createApiFactoryAndRegisterActors(accessor) {
|
|
99
103
|
const initData = accessor.get(IExtHostInitDataService);
|
|
100
104
|
const extHostFileSystemInfo = accessor.get(IExtHostFileSystemInfo);
|
|
@@ -211,8 +215,12 @@ function createApiFactoryAndRegisterActors(accessor) {
|
|
|
211
215
|
extHostLogService
|
|
212
216
|
)));
|
|
213
217
|
const extHostInteractiveEditor = rpcProtocol.set(ExtHostContext.ExtHostInlineChat, ( new ExtHostInteractiveEditor(rpcProtocol, extHostCommands, extHostDocuments, extHostLogService)));
|
|
218
|
+
const extHostChatProvider = rpcProtocol.set(ExtHostContext.ExtHostChatProvider, ( new ExtHostChatProvider(rpcProtocol, extHostLogService)));
|
|
219
|
+
const extHostChatSlashCommands = rpcProtocol.set(ExtHostContext.ExtHostChatSlashCommands, ( new ExtHostChatSlashCommands(rpcProtocol, extHostChatProvider, extHostLogService)));
|
|
220
|
+
const extHostChatVariables = rpcProtocol.set(ExtHostContext.ExtHostChatVariables, ( new ExtHostChatVariables(rpcProtocol)));
|
|
214
221
|
const extHostChat = rpcProtocol.set(ExtHostContext.ExtHostChat, ( new ExtHostChat(rpcProtocol, extHostLogService)));
|
|
215
|
-
const
|
|
222
|
+
const extHostAiRelatedInformation = rpcProtocol.set(ExtHostContext.ExtHostAiRelatedInformation, ( new ExtHostRelatedInformation(rpcProtocol)));
|
|
223
|
+
const extHostAiEmbeddingVector = rpcProtocol.set(ExtHostContext.ExtHostAiEmbeddingVector, ( new ExtHostAiEmbeddingVector(rpcProtocol)));
|
|
216
224
|
const extHostIssueReporter = rpcProtocol.set(ExtHostContext.ExtHostIssueReporter, ( new ExtHostIssueReporter(rpcProtocol)));
|
|
217
225
|
const extHostStatusBar = rpcProtocol.set(ExtHostContext.ExtHostStatusBar, ( new ExtHostStatusBar(rpcProtocol, extHostCommands.converter)));
|
|
218
226
|
const extHostBulkEdits = ( new ExtHostBulkEdits(rpcProtocol, extHostDocumentsAndEditors));
|
|
@@ -671,6 +679,10 @@ function createApiFactoryAndRegisterActors(accessor) {
|
|
|
671
679
|
checkProposedApiEnabled(extension, 'terminalDataWriteEvent');
|
|
672
680
|
return extHostTerminalService.onDidWriteTerminalData(listener, thisArg, disposables);
|
|
673
681
|
},
|
|
682
|
+
onDidExecuteTerminalCommand(listener, thisArg, disposables) {
|
|
683
|
+
checkProposedApiEnabled(extension, 'terminalExecuteCommandEvent');
|
|
684
|
+
return extHostTerminalService.onDidExecuteTerminalCommand(listener, thisArg, disposables);
|
|
685
|
+
},
|
|
674
686
|
get state() {
|
|
675
687
|
return extHostWindow.getState(extension);
|
|
676
688
|
},
|
|
@@ -1256,16 +1268,40 @@ function createApiFactoryAndRegisterActors(accessor) {
|
|
|
1256
1268
|
return extHostChat.transferChatSession(session, toWorkspace);
|
|
1257
1269
|
}
|
|
1258
1270
|
};
|
|
1259
|
-
const
|
|
1260
|
-
|
|
1261
|
-
checkProposedApiEnabled(extension, '
|
|
1262
|
-
return
|
|
1271
|
+
const ai = {
|
|
1272
|
+
getRelatedInformation(query, types) {
|
|
1273
|
+
checkProposedApiEnabled(extension, 'aiRelatedInformation');
|
|
1274
|
+
return extHostAiRelatedInformation.getRelatedInformation(extension, query, types);
|
|
1275
|
+
},
|
|
1276
|
+
registerRelatedInformationProvider(type, provider) {
|
|
1277
|
+
checkProposedApiEnabled(extension, 'aiRelatedInformation');
|
|
1278
|
+
return extHostAiRelatedInformation.registerRelatedInformationProvider(extension, type, provider);
|
|
1279
|
+
},
|
|
1280
|
+
registerEmbeddingVectorProvider(model, provider) {
|
|
1281
|
+
checkProposedApiEnabled(extension, 'aiRelatedInformation');
|
|
1282
|
+
return extHostAiEmbeddingVector.registerEmbeddingVectorProvider(extension, model, provider);
|
|
1263
1283
|
}
|
|
1264
1284
|
};
|
|
1265
|
-
const
|
|
1266
|
-
|
|
1267
|
-
checkProposedApiEnabled(extension, '
|
|
1268
|
-
return
|
|
1285
|
+
const chat = {
|
|
1286
|
+
registerChatResponseProvider(id, provider, metadata) {
|
|
1287
|
+
checkProposedApiEnabled(extension, 'chatProvider');
|
|
1288
|
+
return extHostChatProvider.registerProvider(extension.identifier, id, provider, metadata);
|
|
1289
|
+
},
|
|
1290
|
+
registerSlashCommand(name, command, metadata) {
|
|
1291
|
+
checkProposedApiEnabled(extension, 'chatSlashCommands');
|
|
1292
|
+
return extHostChatSlashCommands.registerCommand(extension.identifier, name, command, metadata ?? { description: '' });
|
|
1293
|
+
},
|
|
1294
|
+
requestChatAccess(id) {
|
|
1295
|
+
checkProposedApiEnabled(extension, 'chatRequestAccess');
|
|
1296
|
+
return extHostChatProvider.requestChatResponseProvider(extension.identifier, id);
|
|
1297
|
+
},
|
|
1298
|
+
registerVariable(name, description, resolver) {
|
|
1299
|
+
checkProposedApiEnabled(extension, 'chatVariables');
|
|
1300
|
+
return extHostChatVariables.registerVariableResolver(extension, name, description, resolver);
|
|
1301
|
+
},
|
|
1302
|
+
registerMappedEditsProvider(selector, provider) {
|
|
1303
|
+
checkProposedApiEnabled(extension, 'mappedEditsProvider');
|
|
1304
|
+
return extHostLanguageFeatures.registerMappedEditsProvider(extension, selector, provider);
|
|
1269
1305
|
}
|
|
1270
1306
|
};
|
|
1271
1307
|
return {
|
|
@@ -1274,11 +1310,11 @@ function createApiFactoryAndRegisterActors(accessor) {
|
|
|
1274
1310
|
authentication,
|
|
1275
1311
|
commands,
|
|
1276
1312
|
comments,
|
|
1313
|
+
chat,
|
|
1277
1314
|
debug,
|
|
1278
1315
|
env,
|
|
1279
1316
|
extensions,
|
|
1280
1317
|
interactive,
|
|
1281
|
-
interactiveSlashCommands,
|
|
1282
1318
|
l10n,
|
|
1283
1319
|
languages,
|
|
1284
1320
|
notebooks,
|
|
@@ -1289,6 +1325,9 @@ function createApiFactoryAndRegisterActors(accessor) {
|
|
|
1289
1325
|
workspace,
|
|
1290
1326
|
Breakpoint: Breakpoint,
|
|
1291
1327
|
TerminalOutputAnchor: TerminalOutputAnchor,
|
|
1328
|
+
ChatMessage: ChatMessage,
|
|
1329
|
+
ChatMessageRole: ChatMessageRole,
|
|
1330
|
+
ChatVariableLevel: ChatVariableLevel,
|
|
1292
1331
|
CallHierarchyIncomingCall: CallHierarchyIncomingCall,
|
|
1293
1332
|
CallHierarchyItem: CallHierarchyItem,
|
|
1294
1333
|
CallHierarchyOutgoingCall: CallHierarchyOutgoingCall,
|
|
@@ -1390,12 +1429,11 @@ function createApiFactoryAndRegisterActors(accessor) {
|
|
|
1390
1429
|
TaskRevealKind: TaskRevealKind,
|
|
1391
1430
|
TaskScope: TaskScope,
|
|
1392
1431
|
TerminalLink: TerminalLink,
|
|
1393
|
-
|
|
1432
|
+
TerminalQuickFixExecuteTerminalCommand: TerminalQuickFixCommand,
|
|
1394
1433
|
TerminalQuickFixOpener: TerminalQuickFixOpener,
|
|
1395
1434
|
TerminalLocation: TerminalLocation,
|
|
1396
1435
|
TerminalProfile: TerminalProfile,
|
|
1397
1436
|
TerminalExitReason: TerminalExitReason,
|
|
1398
|
-
TerminalQuickFixType: TerminalQuickFixType,
|
|
1399
1437
|
TextDocumentSaveReason: TextDocumentSaveReason,
|
|
1400
1438
|
TextEdit: TextEdit,
|
|
1401
1439
|
SnippetTextEdit: SnippetTextEdit,
|
|
@@ -1444,8 +1482,8 @@ function createApiFactoryAndRegisterActors(accessor) {
|
|
|
1444
1482
|
LinkedEditingRanges: LinkedEditingRanges,
|
|
1445
1483
|
TestResultState: TestResultState,
|
|
1446
1484
|
TestRunRequest: TestRunRequest,
|
|
1447
|
-
TestRunRequest2: TestRunRequest2,
|
|
1448
1485
|
TestMessage: TestMessage,
|
|
1486
|
+
TestMessage2: TestMessage,
|
|
1449
1487
|
TestTag: TestTag,
|
|
1450
1488
|
TestRunProfileKind: TestRunProfileKind,
|
|
1451
1489
|
TextSearchCompleteMessageType: TextSearchCompleteMessageType,
|
|
@@ -1477,7 +1515,8 @@ function createApiFactoryAndRegisterActors(accessor) {
|
|
|
1477
1515
|
InteractiveEditorResponseFeedbackKind: InteractiveEditorResponseFeedbackKind,
|
|
1478
1516
|
StackFrameFocus: StackFrameFocus,
|
|
1479
1517
|
ThreadFocus: ThreadFocus,
|
|
1480
|
-
NotebookCodeActionKind: NotebookCodeActionKind
|
|
1518
|
+
NotebookCodeActionKind: NotebookCodeActionKind,
|
|
1519
|
+
RelatedInformationType: RelatedInformationType
|
|
1481
1520
|
};
|
|
1482
1521
|
};
|
|
1483
1522
|
}
|
|
@@ -2,13 +2,13 @@ import { Dto } from '../../services/extensions/common/proxyIdentifier.js';
|
|
|
2
2
|
import { VSBuffer } from '../../../base/common/buffer.js';
|
|
3
3
|
import { CancellationToken } from '../../../base/common/cancellation.js';
|
|
4
4
|
import { UriComponents, URI } from '../../../base/common/uri.js';
|
|
5
|
-
import { TerminalCommandMatchResult, TerminalQuickFixCommand, TerminalQuickFixOpener } from 'vscode';
|
|
6
5
|
import { SerializedError } from '../../../base/common/errors.js';
|
|
7
6
|
import { IDisposable } from '../../../base/common/lifecycle.js';
|
|
8
7
|
import { PerformanceMark } from '../../../base/common/performance.js';
|
|
9
|
-
import {
|
|
8
|
+
import { Command } from '../../../editor/common/languages.js';
|
|
10
9
|
import { IConfigurationData, ConfigurationTarget, IConfigurationOverrides, IConfigurationChange } from '../../../platform/configuration/common/configuration.js';
|
|
11
10
|
import { ConfigurationScope } from '../../../platform/configuration/common/configurationRegistry.js';
|
|
11
|
+
import { IExtensionDescription, ExtensionIdentifier } from '../../../platform/extensions/common/extensions.js';
|
|
12
12
|
import { IRemoteConnectionData } from '../../../platform/remote/common/remoteAuthorityResolver.js';
|
|
13
13
|
import { ClassifiedEvent, OmitMetadata, IGDPRProperty, StrictPropertyCheck } from '../../../platform/telemetry/common/gdprTypings.js';
|
|
14
14
|
import { ISerializableEnvironmentVariableCollection } from '../../../platform/terminal/common/environmentVariable.js';
|
|
@@ -20,10 +20,9 @@ import { ExtensionActivationReason, MissingExtensionDependency, ActivationKind }
|
|
|
20
20
|
import { IPatternInfo, IRawFileMatch2 } from '../../services/search/common/search.js';
|
|
21
21
|
import { IExtensionDescriptionDelta, IStaticWorkspaceData } from '../../services/extensions/common/extensionHostProtocol.js';
|
|
22
22
|
import { IResolveAuthorityResult } from '../../services/extensions/common/extensionHostProxy.js';
|
|
23
|
-
import { CandidatePort } from '../../services/remote/common/
|
|
23
|
+
import { CandidatePort } from '../../services/remote/common/tunnelModel.js';
|
|
24
24
|
import { ITextQueryBuilderOptions } from '../../services/search/common/queryBuilder.js';
|
|
25
25
|
|
|
26
|
-
type TerminalQuickFix = TerminalQuickFixCommand | TerminalQuickFixOpener;
|
|
27
26
|
interface IWorkspaceData extends IStaticWorkspaceData {
|
|
28
27
|
folders: {
|
|
29
28
|
uri: UriComponents;
|
|
@@ -130,6 +129,9 @@ interface ExtHostExtensionServiceShape {
|
|
|
130
129
|
$test_up(b: VSBuffer): Promise<number>;
|
|
131
130
|
$test_down(size: number): Promise<VSBuffer>;
|
|
132
131
|
}
|
|
132
|
+
type ICommandDto = {
|
|
133
|
+
$ident?: string;
|
|
134
|
+
} & Command;
|
|
133
135
|
interface ITerminalLinkDto {
|
|
134
136
|
/** The ID of the link to enable activation and disposal. */
|
|
135
137
|
id: number;
|
|
@@ -144,12 +146,35 @@ interface ITerminalDimensionsDto {
|
|
|
144
146
|
columns: number;
|
|
145
147
|
rows: number;
|
|
146
148
|
}
|
|
149
|
+
type SingleOrMany<T> = T[] | T;
|
|
150
|
+
interface ITerminalQuickFixExecuteTerminalCommandDto {
|
|
151
|
+
terminalCommand: string;
|
|
152
|
+
}
|
|
153
|
+
interface ITerminalQuickFixOpenerDto {
|
|
154
|
+
uri: UriComponents;
|
|
155
|
+
}
|
|
156
|
+
type TerminalQuickFix = ITerminalQuickFixExecuteTerminalCommandDto | ITerminalQuickFixOpenerDto | ICommandDto;
|
|
157
|
+
interface TerminalCommandMatchResultDto {
|
|
158
|
+
commandLine: string;
|
|
159
|
+
commandLineMatch: RegExpMatchArray;
|
|
160
|
+
outputMatch?: {
|
|
161
|
+
regexMatch: RegExpMatchArray;
|
|
162
|
+
outputLines: string[];
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
interface ITerminalCommandDto {
|
|
166
|
+
commandLine: string | undefined;
|
|
167
|
+
cwd: URI | string | undefined;
|
|
168
|
+
exitCode: number | undefined;
|
|
169
|
+
output: string | undefined;
|
|
170
|
+
}
|
|
147
171
|
interface ExtHostTerminalServiceShape {
|
|
148
172
|
$acceptTerminalClosed(id: number, exitCode: number | undefined, exitReason: TerminalExitReason): void;
|
|
149
173
|
$acceptTerminalOpened(id: number, extHostTerminalId: string | undefined, name: string, shellLaunchConfig: IShellLaunchConfigDto): void;
|
|
150
174
|
$acceptActiveTerminalChanged(id: number | null): void;
|
|
151
175
|
$acceptTerminalProcessId(id: number, processId: number): void;
|
|
152
176
|
$acceptTerminalProcessData(id: number, data: string): void;
|
|
177
|
+
$acceptDidExecuteCommand(id: number, command: ITerminalCommandDto): void;
|
|
153
178
|
$acceptTerminalTitleChange(id: number, name: string): void;
|
|
154
179
|
$acceptTerminalDimensions(id: number, cols: number, rows: number): void;
|
|
155
180
|
$acceptTerminalMaximumDimensions(id: number, cols: number, rows: number): void;
|
|
@@ -168,7 +193,7 @@ interface ExtHostTerminalServiceShape {
|
|
|
168
193
|
$initEnvironmentVariableCollections(collections: [string, ISerializableEnvironmentVariableCollection][]): void;
|
|
169
194
|
$acceptDefaultProfile(profile: ITerminalProfile, automationProfile: ITerminalProfile): void;
|
|
170
195
|
$createContributedProfileTerminal(id: string, options: ICreateContributedTerminalProfileOptions): Promise<void>;
|
|
171
|
-
$provideTerminalQuickFixes(id: string, matchResult:
|
|
196
|
+
$provideTerminalQuickFixes(id: string, matchResult: TerminalCommandMatchResultDto, token: CancellationToken): Promise<SingleOrMany<TerminalQuickFix> | undefined>;
|
|
172
197
|
}
|
|
173
198
|
interface TunnelDto {
|
|
174
199
|
remoteAddress: {
|
|
@@ -184,7 +209,7 @@ interface TunnelDto {
|
|
|
184
209
|
protocol: string | undefined;
|
|
185
210
|
}
|
|
186
211
|
interface ExtHostTunnelServiceShape {
|
|
187
|
-
$forwardPort(tunnelOptions: TunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise<TunnelDto | undefined>;
|
|
212
|
+
$forwardPort(tunnelOptions: TunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise<TunnelDto | string | undefined>;
|
|
188
213
|
$closeTunnel(remote: {
|
|
189
214
|
host: string;
|
|
190
215
|
port: number;
|
|
@@ -208,4 +233,4 @@ interface IStringDetails {
|
|
|
208
233
|
comment?: string | string[];
|
|
209
234
|
}
|
|
210
235
|
|
|
211
|
-
export { ExtHostConfigurationShape, ExtHostExtensionServiceShape, ExtHostFileSystemInfoShape, ExtHostLocalizationShape, ExtHostManagedSocketsShape, ExtHostTerminalIdentifier, ExtHostTerminalServiceShape, ExtHostTunnelServiceShape, ExtHostWorkspaceShape, IConfigurationInitData, IStringDetails, ITerminalDimensionsDto, ITerminalLinkDto, ITextSearchComplete, IWorkspaceData, MainThreadConfigurationShape, MainThreadExtensionServiceShape, MainThreadTelemetryShape, MainThreadWorkspaceShape, PortAttributesSelector, TerminalQuickFix, TunnelDto };
|
|
236
|
+
export type { ExtHostConfigurationShape, ExtHostExtensionServiceShape, ExtHostFileSystemInfoShape, ExtHostLocalizationShape, ExtHostManagedSocketsShape, ExtHostTerminalIdentifier, ExtHostTerminalServiceShape, ExtHostTunnelServiceShape, ExtHostWorkspaceShape, ICommandDto, IConfigurationInitData, IStringDetails, ITerminalCommandDto, ITerminalDimensionsDto, ITerminalLinkDto, ITerminalQuickFixExecuteTerminalCommandDto, ITerminalQuickFixOpenerDto, ITextSearchComplete, IWorkspaceData, MainThreadConfigurationShape, MainThreadExtensionServiceShape, MainThreadTelemetryShape, MainThreadWorkspaceShape, PortAttributesSelector, TerminalCommandMatchResultDto, TerminalQuickFix, TunnelDto };
|
|
@@ -29,6 +29,9 @@ class IdObject {
|
|
|
29
29
|
const MainContext = {
|
|
30
30
|
MainThreadAuthentication: ( createProxyIdentifier('MainThreadAuthentication')),
|
|
31
31
|
MainThreadBulkEdits: ( createProxyIdentifier('MainThreadBulkEdits')),
|
|
32
|
+
MainThreadChatProvider: ( createProxyIdentifier('MainThreadChatProvider')),
|
|
33
|
+
MainThreadChatSlashCommands: ( createProxyIdentifier('MainThreadChatSlashCommands')),
|
|
34
|
+
MainThreadChatVariables: ( createProxyIdentifier('MainThreadChatVariables')),
|
|
32
35
|
MainThreadClipboard: ( createProxyIdentifier('MainThreadClipboard')),
|
|
33
36
|
MainThreadCommands: ( createProxyIdentifier('MainThreadCommands')),
|
|
34
37
|
MainThreadComments: ( createProxyIdentifier('MainThreadComments')),
|
|
@@ -90,7 +93,8 @@ const MainContext = {
|
|
|
90
93
|
MainThreadTimeline: ( createProxyIdentifier('MainThreadTimeline')),
|
|
91
94
|
MainThreadTesting: ( createProxyIdentifier('MainThreadTesting')),
|
|
92
95
|
MainThreadLocalization: ( createProxyIdentifier('MainThreadLocalizationShape')),
|
|
93
|
-
|
|
96
|
+
MainThreadAiRelatedInformation: ( createProxyIdentifier('MainThreadAiRelatedInformation')),
|
|
97
|
+
MainThreadAiEmbeddingVector: ( createProxyIdentifier('MainThreadAiEmbeddingVector')),
|
|
94
98
|
MainThreadIssueReporter: ( createProxyIdentifier('MainThreadIssueReporter')),
|
|
95
99
|
};
|
|
96
100
|
const ExtHostContext = {
|
|
@@ -146,7 +150,11 @@ const ExtHostContext = {
|
|
|
146
150
|
ExtHostInteractive: ( createProxyIdentifier('ExtHostInteractive')),
|
|
147
151
|
ExtHostInlineChat: ( createProxyIdentifier('ExtHostInlineChatShape')),
|
|
148
152
|
ExtHostChat: ( createProxyIdentifier('ExtHostChat')),
|
|
149
|
-
|
|
153
|
+
ExtHostChatSlashCommands: ( createProxyIdentifier('ExtHostChatSlashCommands')),
|
|
154
|
+
ExtHostChatVariables: ( createProxyIdentifier('ExtHostChatVariables')),
|
|
155
|
+
ExtHostChatProvider: ( createProxyIdentifier('ExtHostChatProvider')),
|
|
156
|
+
ExtHostAiRelatedInformation: ( createProxyIdentifier('ExtHostAiRelatedInformation')),
|
|
157
|
+
ExtHostAiEmbeddingVector: ( createProxyIdentifier('ExtHostAiEmbeddingVector')),
|
|
150
158
|
ExtHostTheming: ( createProxyIdentifier('ExtHostTheming')),
|
|
151
159
|
ExtHostTunnelService: ( createProxyIdentifier('ExtHostTunnelService')),
|
|
152
160
|
ExtHostManagedSockets: ( createProxyIdentifier('ExtHostManagedSockets')),
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { MainContext } from './extHost.protocol.js';
|
|
2
|
+
import { Disposable } from './extHostTypes.js';
|
|
3
|
+
class ExtHostRelatedInformation {
|
|
4
|
+
constructor(mainContext) {
|
|
5
|
+
this._relatedInformationProviders = ( new Map());
|
|
6
|
+
this._nextHandle = 0;
|
|
7
|
+
this._proxy = ( mainContext.getProxy(MainContext.MainThreadAiRelatedInformation));
|
|
8
|
+
}
|
|
9
|
+
async $provideAiRelatedInformation(handle, query, token) {
|
|
10
|
+
if (this._relatedInformationProviders.size === 0) {
|
|
11
|
+
throw new Error('No related information providers registered');
|
|
12
|
+
}
|
|
13
|
+
const provider = this._relatedInformationProviders.get(handle);
|
|
14
|
+
if (!provider) {
|
|
15
|
+
throw new Error('related information provider not found');
|
|
16
|
+
}
|
|
17
|
+
const result = (await provider.provideRelatedInformation(query, token)) ?? [];
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
getRelatedInformation(extension, query, types) {
|
|
21
|
+
return this._proxy.$getAiRelatedInformation(query, types);
|
|
22
|
+
}
|
|
23
|
+
registerRelatedInformationProvider(extension, type, provider) {
|
|
24
|
+
const handle = this._nextHandle;
|
|
25
|
+
this._nextHandle++;
|
|
26
|
+
this._relatedInformationProviders.set(handle, provider);
|
|
27
|
+
this._proxy.$registerAiRelatedInformationProvider(handle, type);
|
|
28
|
+
return ( new Disposable(() => {
|
|
29
|
+
this._proxy.$unregisterAiRelatedInformationProvider(handle);
|
|
30
|
+
this._relatedInformationProviders.delete(handle);
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export { ExtHostRelatedInformation };
|
|
@@ -6,7 +6,7 @@ import { decodeSemanticTokensDto } from 'monaco-editor/esm/vs/editor/common/serv
|
|
|
6
6
|
import { validateWhenClauses } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
7
7
|
import { matchesSomeScheme } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
|
|
8
8
|
import { ApiCommand, ApiCommandArgument, ApiCommandResult } from './extHostCommands.js';
|
|
9
|
-
import { Position as Position$1, Range, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, WorkspaceEdit, DocumentLink, SignatureHelp, Selection as Selection$1, Color, ColorPresentation, InlayHint, FoldingRange, InlineValue, ViewColumn, TextEditorOpenOptions, TypeHierarchyItem, DefinitionLink, location, DocumentHighlight, SymbolKind, TextEdit, Hover, CompletionItem, NotebookExclusiveDocumentPattern } from './extHostTypeConverters.js';
|
|
9
|
+
import { Position as Position$1, Range, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, WorkspaceEdit, DocumentLink, SignatureHelp, Selection as Selection$1, Color, ColorPresentation, InlayHint, FoldingRange, InlineValue, ViewColumn, TextEditorOpenOptions, TypeHierarchyItem, MappedEditsContext, DefinitionLink, location, DocumentHighlight, SymbolKind, TextEdit, Hover, CompletionItem, NotebookExclusiveDocumentPattern } from './extHostTypeConverters.js';
|
|
10
10
|
import { Position, SelectionRange, SemanticTokensLegend, SemanticTokens, CompletionList, Range as Range$1, Selection, ColorInformation, Color as Color$1, SymbolInformation, Location, CodeLens, CodeAction, CodeActionKind } from './extHostTypes.js';
|
|
11
11
|
const newCommands = [
|
|
12
12
|
(
|
|
@@ -619,7 +619,26 @@ const newCommands = [
|
|
|
619
619
|
( new ApiCommandArgument('value', 'The context key value', () => true, v => v)),
|
|
620
620
|
],
|
|
621
621
|
ApiCommandResult.Void
|
|
622
|
-
))
|
|
622
|
+
)),
|
|
623
|
+
(
|
|
624
|
+
new ApiCommand(
|
|
625
|
+
'vscode.executeMappedEditsProvider',
|
|
626
|
+
'_executeMappedEditsProvider',
|
|
627
|
+
'Execute Mapped Edits Provider',
|
|
628
|
+
[
|
|
629
|
+
ApiCommandArgument.Uri,
|
|
630
|
+
ApiCommandArgument.StringArray,
|
|
631
|
+
( new ApiCommandArgument(
|
|
632
|
+
'MappedEditsContext',
|
|
633
|
+
'Mapped Edits Context',
|
|
634
|
+
(v) => MappedEditsContext.is(v),
|
|
635
|
+
(v) => MappedEditsContext.from(v)
|
|
636
|
+
))
|
|
637
|
+
],
|
|
638
|
+
( new ApiCommandResult('A promise that resolves to a workspace edit or null', (value) => {
|
|
639
|
+
return value ? WorkspaceEdit.to(value) : null;
|
|
640
|
+
}))
|
|
641
|
+
)),
|
|
623
642
|
];
|
|
624
643
|
class ExtHostApiCommands {
|
|
625
644
|
static register(commands) {
|
|
@@ -3,10 +3,9 @@ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
|
3
3
|
import { Iterable } from 'monaco-editor/esm/vs/base/common/iterator.js';
|
|
4
4
|
import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
5
5
|
import { StopWatch } from 'monaco-editor/esm/vs/base/common/stopwatch.js';
|
|
6
|
-
import { withNullAsUndefined } from 'monaco-editor/esm/vs/base/common/types.js';
|
|
7
6
|
import { localize } from 'monaco-editor/esm/vs/nls.js';
|
|
8
7
|
import { MainContext } from './extHost.protocol.js';
|
|
9
|
-
import { ChatReplyFollowup, ChatFollowup, CompletionItemKind } from './extHostTypeConverters.js';
|
|
8
|
+
import { ChatReplyFollowup, ChatFollowup, CompletionItemKind, ChatVariable, MarkdownString } from './extHostTypeConverters.js';
|
|
10
9
|
class ChatProviderWrapper {
|
|
11
10
|
static { this._pool = 0; }
|
|
12
11
|
constructor(extension, provider) {
|
|
@@ -20,7 +19,6 @@ class ExtHostChat {
|
|
|
20
19
|
constructor(mainContext, logService) {
|
|
21
20
|
this.logService = logService;
|
|
22
21
|
this._chatProvider = ( new Map());
|
|
23
|
-
this._slashCommandProvider = ( new Map());
|
|
24
22
|
this._chatSessions = ( new Map());
|
|
25
23
|
this._onDidPerformUserAction = ( new Emitter());
|
|
26
24
|
this.onDidPerformUserAction = this._onDidPerformUserAction.event;
|
|
@@ -150,7 +148,13 @@ class ExtHostChat {
|
|
|
150
148
|
const requestObj = {
|
|
151
149
|
session: realSession,
|
|
152
150
|
message: typeof request.message === 'string' ? request.message : ChatReplyFollowup.to(request.message),
|
|
151
|
+
variables: {}
|
|
153
152
|
};
|
|
153
|
+
if (request.variables) {
|
|
154
|
+
for (const key of ( Object.keys(request.variables))) {
|
|
155
|
+
requestObj.variables[key] = ( request.variables[key].map(ChatVariable.to));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
154
158
|
const stopWatch = StopWatch.create(false);
|
|
155
159
|
let firstProgress;
|
|
156
160
|
const progressObj = {
|
|
@@ -174,6 +178,11 @@ class ExtHostChat {
|
|
|
174
178
|
this._proxy.$acceptResponseProgress(handle, sessionId, progressContent, progressHandle ?? undefined);
|
|
175
179
|
});
|
|
176
180
|
}
|
|
181
|
+
else if ('content' in progress) {
|
|
182
|
+
this._proxy.$acceptResponseProgress(handle, sessionId, {
|
|
183
|
+
content: typeof progress.content === 'string' ? progress.content : MarkdownString.from(progress.content)
|
|
184
|
+
});
|
|
185
|
+
}
|
|
177
186
|
else {
|
|
178
187
|
this._proxy.$acceptResponseProgress(handle, sessionId, progress);
|
|
179
188
|
}
|
|
@@ -226,33 +235,5 @@ class ExtHostChat {
|
|
|
226
235
|
async $onDidPerformUserAction(event) {
|
|
227
236
|
this._onDidPerformUserAction.fire(event);
|
|
228
237
|
}
|
|
229
|
-
registerSlashCommandProvider(extension, chatProviderId, provider) {
|
|
230
|
-
const wrapper = ( new ChatProviderWrapper(extension, provider));
|
|
231
|
-
this._slashCommandProvider.set(wrapper.handle, wrapper);
|
|
232
|
-
this._proxy.$registerSlashCommandProvider(wrapper.handle, chatProviderId);
|
|
233
|
-
return toDisposable(() => {
|
|
234
|
-
this._proxy.$unregisterSlashCommandProvider(wrapper.handle);
|
|
235
|
-
this._slashCommandProvider.delete(wrapper.handle);
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
async $provideProviderSlashCommands(handle, token) {
|
|
239
|
-
const entry = this._slashCommandProvider.get(handle);
|
|
240
|
-
if (!entry) {
|
|
241
|
-
return undefined;
|
|
242
|
-
}
|
|
243
|
-
const slashCommands = await entry.provider.provideSlashCommands(token);
|
|
244
|
-
return slashCommands?.map(c => ({
|
|
245
|
-
...c,
|
|
246
|
-
kind: CompletionItemKind.from(c.kind)
|
|
247
|
-
}));
|
|
248
|
-
}
|
|
249
|
-
async $resolveSlashCommand(handle, command, token) {
|
|
250
|
-
const entry = this._slashCommandProvider.get(handle);
|
|
251
|
-
if (!entry) {
|
|
252
|
-
return undefined;
|
|
253
|
-
}
|
|
254
|
-
const resolved = await entry.provider.resolveSlashCommand(command, token);
|
|
255
|
-
return withNullAsUndefined(resolved);
|
|
256
|
-
}
|
|
257
238
|
}
|
|
258
239
|
export { ExtHostChat };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
2
|
+
import { MainContext } from './extHost.protocol.js';
|
|
3
|
+
import { ChatMessage } from './extHostTypeConverters.js';
|
|
4
|
+
import { Progress } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
|
|
5
|
+
import { ExtensionIdentifierMap } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
|
|
6
|
+
class ExtHostChatProvider {
|
|
7
|
+
static { this._idPool = 1; }
|
|
8
|
+
constructor(mainContext, _logService) {
|
|
9
|
+
this._logService = _logService;
|
|
10
|
+
this._providers = ( new Map());
|
|
11
|
+
this._pendingRequest = ( new Map());
|
|
12
|
+
this._chatAccessAllowList = ( new ExtensionIdentifierMap());
|
|
13
|
+
this._proxy = ( mainContext.getProxy(MainContext.MainThreadChatProvider));
|
|
14
|
+
}
|
|
15
|
+
registerProvider(extension, identifier, provider, metadata) {
|
|
16
|
+
const handle = ExtHostChatProvider._idPool++;
|
|
17
|
+
this._providers.set(handle, { extension, provider });
|
|
18
|
+
this._proxy.$registerProvider(handle, identifier, { extension, displayName: metadata.name ?? extension.value });
|
|
19
|
+
return toDisposable(() => {
|
|
20
|
+
this._proxy.$unregisterProvider(handle);
|
|
21
|
+
this._providers.delete(handle);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async $provideChatResponse(handle, requestId, messages, options, token) {
|
|
25
|
+
const data = this._providers.get(handle);
|
|
26
|
+
if (!data) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const progress = ( new Progress(async (fragment) => {
|
|
30
|
+
if (token.isCancellationRequested) {
|
|
31
|
+
this._logService.warn(`[CHAT](${data.extension.value}) CANNOT send progress because the REQUEST IS CANCELLED`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
await this._proxy.$handleProgressChunk(requestId, { index: fragment.index, part: fragment.part });
|
|
35
|
+
}, { async: true }));
|
|
36
|
+
return data.provider.provideChatResponse(( messages.map(ChatMessage.to)), options, progress, token);
|
|
37
|
+
}
|
|
38
|
+
allowListExtensionWhile(extension, promise) {
|
|
39
|
+
this._chatAccessAllowList.set(extension, promise);
|
|
40
|
+
promise.finally(() => this._chatAccessAllowList.delete(extension));
|
|
41
|
+
}
|
|
42
|
+
async requestChatResponseProvider(from, identifier) {
|
|
43
|
+
if (!( this._chatAccessAllowList.has(from))) {
|
|
44
|
+
throw new Error('Extension is NOT allowed to make chat requests');
|
|
45
|
+
}
|
|
46
|
+
const that = this;
|
|
47
|
+
return {
|
|
48
|
+
get isRevoked() {
|
|
49
|
+
return !( that._chatAccessAllowList.has(from));
|
|
50
|
+
},
|
|
51
|
+
async makeRequest(messages, options, progress, token) {
|
|
52
|
+
if (!( that._chatAccessAllowList.has(from))) {
|
|
53
|
+
throw new Error('Access to chat has been revoked');
|
|
54
|
+
}
|
|
55
|
+
const requestId = (Math.random() * 1e6) | 0;
|
|
56
|
+
that._pendingRequest.set(requestId, progress);
|
|
57
|
+
try {
|
|
58
|
+
await that._proxy.$fetchResponse(from, identifier, requestId, ( messages.map(ChatMessage.from)), options, token);
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
that._pendingRequest.delete(requestId);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async $handleResponseFragment(requestId, chunk) {
|
|
67
|
+
this._pendingRequest.get(requestId)?.report(chunk);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export { ExtHostChatProvider };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
2
|
+
import { MainContext } from './extHost.protocol.js';
|
|
3
|
+
import { ChatMessageRole } from './extHostTypes.js';
|
|
4
|
+
import { ChatMessage } from './extHostTypeConverters.js';
|
|
5
|
+
import { Progress } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
|
|
6
|
+
import { raceCancellation, DeferredPromise } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
7
|
+
class ExtHostChatSlashCommands {
|
|
8
|
+
static { this._idPool = 0; }
|
|
9
|
+
constructor(mainContext, _extHostChatProvider, _logService) {
|
|
10
|
+
this._extHostChatProvider = _extHostChatProvider;
|
|
11
|
+
this._logService = _logService;
|
|
12
|
+
this._commands = ( new Map());
|
|
13
|
+
this._proxy = ( mainContext.getProxy(MainContext.MainThreadChatSlashCommands));
|
|
14
|
+
}
|
|
15
|
+
registerCommand(extension, name, command, metadata) {
|
|
16
|
+
const handle = ExtHostChatSlashCommands._idPool++;
|
|
17
|
+
this._commands.set(handle, { extension, command });
|
|
18
|
+
this._proxy.$registerCommand(handle, name, metadata.description);
|
|
19
|
+
return toDisposable(() => {
|
|
20
|
+
this._proxy.$unregisterCommand(handle);
|
|
21
|
+
this._commands.delete(handle);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async $executeCommand(handle, requestId, prompt, context, token) {
|
|
25
|
+
const data = this._commands.get(handle);
|
|
26
|
+
if (!data) {
|
|
27
|
+
this._logService.warn(`[CHAT](${handle}) CANNOT execute command because the command is not registered`);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
let done = false;
|
|
31
|
+
function throwIfDone() {
|
|
32
|
+
if (done) {
|
|
33
|
+
throw new Error('Only valid while executing the command');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const commandExecution = ( new DeferredPromise());
|
|
37
|
+
token.onCancellationRequested(() => commandExecution.complete());
|
|
38
|
+
setTimeout(() => commandExecution.complete(), 3 * 1000);
|
|
39
|
+
this._extHostChatProvider.allowListExtensionWhile(data.extension, commandExecution.p);
|
|
40
|
+
const task = data.command({ role: ChatMessageRole.User, content: prompt }, { history: ( context.history.map(ChatMessage.to)) }, ( new Progress(p => {
|
|
41
|
+
throwIfDone();
|
|
42
|
+
this._proxy.$handleProgressChunk(requestId, { content: p.message.value });
|
|
43
|
+
})), token);
|
|
44
|
+
try {
|
|
45
|
+
await raceCancellation(Promise.resolve(task), token);
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
done = true;
|
|
49
|
+
commandExecution.complete();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export { ExtHostChatSlashCommands };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
2
|
+
import { MainContext } from './extHost.protocol.js';
|
|
3
|
+
import { onUnexpectedExternalError } from 'monaco-editor/esm/vs/base/common/errors.js';
|
|
4
|
+
import { ChatVariable } from './extHostTypeConverters.js';
|
|
5
|
+
class ExtHostChatVariables {
|
|
6
|
+
static { this._idPool = 0; }
|
|
7
|
+
constructor(mainContext) {
|
|
8
|
+
this._resolver = ( new Map());
|
|
9
|
+
this._proxy = ( mainContext.getProxy(MainContext.MainThreadChatVariables));
|
|
10
|
+
}
|
|
11
|
+
async $resolveVariable(handle, messageText, token) {
|
|
12
|
+
const item = this._resolver.get(handle);
|
|
13
|
+
if (!item) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const value = await item.resolver.resolve(item.data.name, { message: messageText }, token);
|
|
18
|
+
if (value) {
|
|
19
|
+
return ( value.map(ChatVariable.from));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
onUnexpectedExternalError(err);
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
registerVariableResolver(extension, name, description, resolver) {
|
|
28
|
+
const handle = ExtHostChatVariables._idPool++;
|
|
29
|
+
this._resolver.set(handle, { extension: extension.identifier, data: { name, description }, resolver: resolver });
|
|
30
|
+
this._proxy.$registerVariable(handle, { name, description });
|
|
31
|
+
return toDisposable(() => {
|
|
32
|
+
this._resolver.delete(handle);
|
|
33
|
+
this._proxy.$unregisterVariable(handle);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export { ExtHostChatVariables };
|