import { VSBuffer } from "../../../base/common/buffer.js"; import { CancellationToken } from "../../../base/common/cancellation.js"; import { IRemoteConsoleLog } from "@codingame/monaco-vscode-extensions-service-override/vscode/vs/base/common/console"; import { SerializedError } from "../../../base/common/errors.js"; import { IRelativePattern } from "../../../base/common/glob.js"; import { IMarkdownString } from "../../../base/common/htmlContent.js"; import { IJSONSchema } from "../../../base/common/jsonSchema.js"; import { IDisposable } from "../../../base/common/lifecycle.js"; import { IAuthorizationProtectedResourceMetadata, IAuthorizationServerMetadata, IAuthorizationTokenResponse } from "../../../base/common/oauth.js"; import * as performance from "../../../base/common/performance.js"; import Severity from "../../../base/common/severity.js"; import { ThemeColor, ThemeIcon } from "../../../base/common/themables.js"; import { URI, UriComponents, UriDto } from "../../../base/common/uri.js"; import { RenderLineNumbersType, TextEditorCursorStyle } from "../../../editor/common/config/editorOptions.js"; import { ISingleEditOperation } from "../../../editor/common/core/editOperation.js"; import { IPosition } from "../../../editor/common/core/position.js"; import { IRange } from "../../../editor/common/core/range.js"; import { ISelection, Selection } from "../../../editor/common/core/selection.js"; import { IChange } from "../../../editor/common/diff/legacyLinesDiffComputer.js"; import * as editorCommon from "../../../editor/common/editorCommon.js"; import { StandardTokenType } from "../../../editor/common/encodedTokenAttributes.js"; import * as languages from "../../../editor/common/languages.js"; import { CompletionItemLabel } from "../../../editor/common/languages.js"; import { CharacterPair, CommentRule, EnterAction } from "../../../editor/common/languages/languageConfiguration.js"; import { EndOfLineSequence } from "../../../editor/common/model.js"; import { EditSuggestionId } from "../../../editor/common/textModelEditSource.js"; import { ISerializedModelContentChangedEvent } from "../../../editor/common/textModelEvents.js"; import { IAccessibilityInformation } from "../../../platform/accessibility/common/accessibility.js"; import { ILocalizedString } from "../../../platform/action/common/action.js"; import { ConfigurationTarget, IConfigurationChange, IConfigurationData, IConfigurationOverrides } from "../../../platform/configuration/common/configuration.js"; import { ConfigurationScope } from "../../../platform/configuration/common/configurationRegistry.js"; import { IExtensionIdWithVersion } from "../../../platform/extensionManagement/common/extensionStorage.js"; import { ExtensionIdentifier, IExtensionDescription } from "../../../platform/extensions/common/extensions.js"; import * as files from "../../../platform/files/common/files.js"; import { ResourceLabelFormatter } from "../../../platform/label/common/label.js"; import { ILoggerOptions, ILoggerResource, LogLevel } from "../../../platform/log/common/log.js"; import { IMarkerData } from "../../../platform/markers/common/markers.js"; import { IProgressOptions, IProgressStep } from "../../../platform/progress/common/progress.js"; import * as quickInput from "../../../platform/quickinput/common/quickInput.js"; import { IRemoteConnectionData, TunnelDescription } from "../../../platform/remote/common/remoteAuthorityResolver.js"; import { AuthInfo, Credentials } from "../../../platform/request/common/request.js"; import { ClassifiedEvent, IGDPRProperty, OmitMetadata, StrictPropertyCheck } from "../../../platform/telemetry/common/gdprTypings.js"; import { TelemetryLevel } from "../../../platform/telemetry/common/telemetry.js"; import { ISerializableEnvironmentDescriptionMap, ISerializableEnvironmentVariableCollection } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/terminal/common/environmentVariable"; import { ICreateContributedTerminalProfileOptions, IProcessProperty, IProcessReadyWindowsPty, IShellLaunchConfigDto, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, TerminalExitReason, TerminalLocation, TerminalShellType } from "../../../platform/terminal/common/terminal.js"; import { ProvidedPortAttributes, TunnelCreationOptions, TunnelOptions, TunnelPrivacyId, TunnelProviderFeatures } from "../../../platform/tunnel/common/tunnel.js"; import { EditSessionIdentityMatch } from "../../../platform/workspace/common/editSessions.js"; import { WorkspaceTrustRequestOptions } from "../../../platform/workspace/common/workspaceTrust.js"; import { SaveReason } from "../../common/editor.js"; import { IRevealOptions, ITreeItem, IViewBadge } from "../../common/views.js"; import { CallHierarchyItem } from "../../contrib/callHierarchy/common/callHierarchy.js"; import { IChatAgentMetadata, IChatAgentRequest, IChatAgentResult, UserSelectedTools } from "../../contrib/chat/common/participants/chatAgents.js"; import { ICodeMapperRequest, ICodeMapperResult } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/workbench/contrib/chat/common/editing/chatCodeMapperService"; import { IChatContextItem } from "../../contrib/chat/common/contextContrib/chatContext.js"; import { IChatProgressHistoryResponseContent, IChatRequestVariableData } from "../../contrib/chat/common/model/chatModel.js"; import { ChatResponseClearToPreviousToolInvocationReason, IChatContentInlineReference, IChatExternalEditsDto, IChatFollowup, IChatMultiDiffData, IChatMultiDiffDataSerialized, IChatNotebookEdit, IChatProgress, IChatTask, IChatTaskDto, IChatUserActionEvent, IChatVoteAction } from "../../contrib/chat/common/chatService/chatService.js"; import { IChatSessionItem, IChatSessionProviderOptionGroup, IChatSessionProviderOptionItem } from "../../contrib/chat/common/chatSessionsService.js"; import { IChatRequestVariableValue } from "../../contrib/chat/common/attachments/chatVariables.js"; import { ChatAgentLocation } from "../../contrib/chat/common/constants.js"; import { IChatMessage, IChatResponsePart, ILanguageModelChatInfoOptions, ILanguageModelChatMetadataAndIdentifier, ILanguageModelChatSelector } from "../../contrib/chat/common/languageModels.js"; import { IPreparedToolInvocation, IStreamedToolInvocation, IToolInvocation, IToolInvocationPreparationContext, IToolInvocationStreamContext, IToolProgressStep, IToolResult, ToolDataSource } from "../../contrib/chat/common/tools/languageModelToolsService.js"; import { IPromptFileContext, IPromptFileResource } from "../../contrib/chat/common/promptSyntax/service/promptsService.js"; import { DebugConfigurationProviderTriggerKind, IAdapterDescriptor, IConfig, IDebugSessionReplMode, IDebugTestRunReference, IDebugVisualization, IDebugVisualizationContext, IDebugVisualizationTreeItem, MainThreadDebugVisualization } from "../../contrib/debug/common/debug.js"; import { McpCollectionDefinition, McpConnectionState, McpServerDefinition, McpServerLaunch } from "../../contrib/mcp/common/mcpTypes.js"; import * as notebookCommon from "../../contrib/notebook/common/notebookCommon.js"; import { CellExecutionUpdateType } from "../../contrib/notebook/common/notebookExecutionService.js"; import { ICellExecutionComplete, ICellExecutionStateUpdate } from "../../contrib/notebook/common/notebookExecutionStateService.js"; import { ICellRange } from "../../contrib/notebook/common/notebookRange.js"; import { ISCMHistoryOptions } from "../../contrib/scm/common/history.js"; import { InputValidationType } from "../../contrib/scm/common/scm.js"; import { IWorkspaceSymbol, NotebookPriorityInfo } from "../../contrib/search/common/search.js"; import { IRawClosedNotebookFileMatch } from "../../contrib/search/common/searchNotebookHelpers.js"; import { IKeywordRecognitionEvent, ISpeechProviderMetadata, ISpeechToTextEvent, ITextToSpeechEvent } from "../../contrib/speech/common/speechService.js"; import { CoverageDetails, ExtensionRunTestsRequest, ICallProfileRunHandler, IFileCoverage, ISerializedTestResults, IStartControllerTests, ITestItem, ITestMessage, ITestRunProfile, ITestRunTask, ResolvedTestRunRequest, TestControllerCapability, TestMessageFollowupRequest, TestMessageFollowupResponse, TestResultState, TestsDiffOp } from "../../contrib/testing/common/testTypes.js"; import { Timeline, TimelineChangeEvent, TimelineOptions, TimelineProviderDescriptor } from "../../contrib/timeline/common/timeline.js"; import { TypeHierarchyItem } from "../../contrib/typeHierarchy/common/typeHierarchy.js"; import { RelatedInformationResult, RelatedInformationType } from "@codingame/monaco-vscode-quickaccess-service-override/vscode/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation"; import { AiSettingsSearchProviderOptions, AiSettingsSearchResult } from "../../services/aiSettingsSearch/common/aiSettingsSearch.js"; import { AuthenticationSession, AuthenticationSessionAccount, AuthenticationSessionsChangeEvent, IAuthenticationConstraint, IAuthenticationCreateSessionOptions, IAuthenticationGetSessionsOptions, IAuthenticationWwwAuthenticateRequest } from "../../services/authentication/common/authentication.js"; import { EditorGroupColumn } from "../../services/editor/common/editorGroupColumn.js"; import { IExtensionDescriptionDelta, IStaticWorkspaceData } from "../../services/extensions/common/extensionHostProtocol.js"; import { IResolveAuthorityResult } from "../../services/extensions/common/extensionHostProxy.js"; import { ActivationKind, ExtensionActivationReason, MissingExtensionDependency } from "../../services/extensions/common/extensions.js"; import { Dto, IRPCProtocol, SerializableObjectWithBuffers } from "../../services/extensions/common/proxyIdentifier.js"; import { IInlineCompletionsUnificationState } from "@codingame/monaco-vscode-base-service-override/vscode/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification"; import { ILanguageStatus } from "@codingame/monaco-vscode-languages-service-override/vscode/vs/workbench/services/languageStatus/common/languageStatusService"; import { OutputChannelUpdateMode } from "../../services/output/common/output.js"; import { CandidatePort } from "../../services/remote/common/tunnelModel.js"; import { IFileQueryBuilderOptions, ITextQueryBuilderOptions } from "../../services/search/common/queryBuilder.js"; import * as search from "../../services/search/common/search.js"; import { AISearchKeyword, TextSearchCompleteMessage } from "../../services/search/common/searchExtTypes.js"; import { ISaveProfileResult } from "../../services/userDataProfile/common/userDataProfile.js"; import { IExtHostDocumentSaveDelegate } from "./extHostDocumentData.js"; import { TerminalShellExecutionCommandLineConfidence } from "./extHostTypes.js"; import * as tasks from "@codingame/monaco-vscode-extensions-service-override/vscode/vs/workbench/api/common/shared/tasks"; import { PromptsType } from "../../contrib/chat/common/promptSyntax/promptTypes.js"; export type IconPathDto = UriComponents | { light: UriComponents; dark: UriComponents; } | ThemeIcon; export interface IWorkspaceData extends IStaticWorkspaceData { folders: { uri: UriComponents; name: string; index: number; }[]; } export interface IConfigurationInitData extends IConfigurationData { configurationScopes: [ string, ConfigurationScope | undefined ][]; } export interface IMainContext extends IRPCProtocol { } export interface MainThreadGitExtensionShape extends IDisposable { $onDidChangeRepository(handle: number): Promise; } export interface MainThreadClipboardShape extends IDisposable { $readText(): Promise; $writeText(value: string): Promise; } export interface MainThreadCommandsShape extends IDisposable { $registerCommand(id: string): void; $unregisterCommand(id: string): void; $fireCommandActivationEvent(id: string): void; $executeCommand(id: string, args: unknown[] | SerializableObjectWithBuffers, retry: boolean): Promise; $getCommands(): Promise; } export interface CommentProviderFeatures { reactionGroup?: languages.CommentReaction[]; reactionHandler?: boolean; options?: languages.CommentOptions; } export interface CommentChanges { readonly uniqueIdInThread: number; readonly body: string | IMarkdownString; readonly userName: string; readonly userIconPath?: UriComponents; readonly contextValue?: string; readonly commentReactions?: languages.CommentReaction[]; readonly label?: string; readonly mode?: languages.CommentMode; readonly state?: languages.CommentState; readonly timestamp?: string; } export type CommentThreadChanges = Partial<{ range: T | undefined; label: string; contextValue: string | null; comments: CommentChanges[]; collapseState: languages.CommentThreadCollapsibleState; canReply: boolean | languages.CommentAuthorInformation; state: languages.CommentThreadState; applicability: languages.CommentThreadApplicability; isTemplate: boolean; }>; export interface MainThreadCommentsShape extends IDisposable { $registerCommentController(handle: number, id: string, label: string, extensionId: string): void; $unregisterCommentController(handle: number): void; $updateCommentControllerFeatures(handle: number, features: CommentProviderFeatures): void; $createCommentThread(handle: number, commentThreadHandle: number, threadId: string, resource: UriComponents, range: IRange | ICellRange | undefined, comments: languages.Comment[], extensionId: ExtensionIdentifier, isTemplate: boolean, editorId?: string): languages.CommentThread | undefined; $updateCommentThread(handle: number, commentThreadHandle: number, threadId: string, resource: UriComponents, changes: CommentThreadChanges): void; $deleteCommentThread(handle: number, commentThreadHandle: number): void; $updateCommentingRanges(handle: number, resourceHints?: languages.CommentingRangeResourceHint): void; $revealCommentThread(handle: number, commentThreadHandle: number, commentUniqueIdInThread: number, options: languages.CommentThreadRevealOptions): Promise; $hideCommentThread(handle: number, commentThreadHandle: number): void; } export interface AuthenticationForceNewSessionOptions { detail?: string; sessionToRecreate?: AuthenticationSession; } export interface AuthenticationInteractiveOptions { detail?: string; learnMore?: UriComponents; sessionToRecreate?: AuthenticationSession; } export interface AuthenticationGetSessionOptions { clearSessionPreference?: boolean; createIfNone?: boolean | AuthenticationInteractiveOptions; forceNewSession?: boolean | AuthenticationInteractiveOptions; silent?: boolean; account?: AuthenticationSessionAccount; } export interface IRegisterAuthenticationProviderDetails { id: string; label: string; supportsMultipleAccounts: boolean; supportedAuthorizationServers?: UriComponents[]; supportsChallenges?: boolean; resourceServer?: UriComponents; } export interface IRegisterDynamicAuthenticationProviderDetails extends IRegisterAuthenticationProviderDetails { clientId: string; clientSecret?: string; authorizationServer: UriComponents; } export interface MainThreadAuthenticationShape extends IDisposable { $registerAuthenticationProvider(details: IRegisterAuthenticationProviderDetails): Promise; $unregisterAuthenticationProvider(id: string): Promise; $ensureProvider(id: string): Promise; $sendDidChangeSessions(providerId: string, event: AuthenticationSessionsChangeEvent): Promise; $getSession(providerId: string, scopeListOrRequest: ReadonlyArray | IAuthenticationWwwAuthenticateRequest, extensionId: string, extensionName: string, options: AuthenticationGetSessionOptions): Promise; $getAccounts(providerId: string): Promise>; $removeSession(providerId: string, sessionId: string): Promise; $waitForUriHandler(expectedUri: UriComponents): Promise; $showContinueNotification(message: string): Promise; $showDeviceCodeModal(userCode: string, verificationUri: string): Promise; $promptForClientRegistration(authorizationServerUrl: string): Promise<{ clientId: string; clientSecret?: string; } | undefined>; $registerDynamicAuthenticationProvider(details: IRegisterDynamicAuthenticationProviderDetails): Promise; $setSessionsForDynamicAuthProvider(authProviderId: string, clientId: string, sessions: (IAuthorizationTokenResponse & { created_at: number; })[]): Promise; $sendDidChangeDynamicProviderInfo({ providerId, clientId, authorizationServer, label, clientSecret }: { providerId: string; clientId?: string; authorizationServer?: UriComponents; label?: string; clientSecret?: string; }): Promise; } export interface MainThreadSecretStateShape extends IDisposable { $getPassword(extensionId: string, key: string): Promise; $setPassword(extensionId: string, key: string, value: string): Promise; $deletePassword(extensionId: string, key: string): Promise; $getKeys(extensionId: string): Promise; } export interface MainThreadConfigurationShape extends IDisposable { $updateConfigurationOption(target: ConfigurationTarget | null, key: string, value: unknown, overrides: IConfigurationOverrides | undefined, scopeToLanguage: boolean | undefined): Promise; $removeConfigurationOption(target: ConfigurationTarget | null, key: string, overrides: IConfigurationOverrides | undefined, scopeToLanguage: boolean | undefined): Promise; } export interface MainThreadDiagnosticsShape extends IDisposable { $changeMany(owner: string, entries: [ UriComponents, IMarkerData[] | undefined ][]): void; $clear(owner: string): void; } export interface MainThreadDialogOpenOptions { defaultUri?: UriComponents; openLabel?: string; canSelectFiles?: boolean; canSelectFolders?: boolean; canSelectMany?: boolean; filters?: { [name: string]: string[]; }; title?: string; allowUIResources?: boolean; } export interface MainThreadDialogSaveOptions { defaultUri?: UriComponents; saveLabel?: string; filters?: { [name: string]: string[]; }; title?: string; } export interface MainThreadDiaglogsShape extends IDisposable { $showOpenDialog(options?: MainThreadDialogOpenOptions): Promise; $showSaveDialog(options?: MainThreadDialogSaveOptions): Promise; } export interface MainThreadDecorationsShape extends IDisposable { $registerDecorationProvider(handle: number, label: string): void; $unregisterDecorationProvider(handle: number): void; $onDidChange(handle: number, resources: UriComponents[] | null): void; } export interface MainThreadDocumentContentProvidersShape extends IDisposable { $registerTextContentProvider(handle: number, scheme: string): void; $unregisterTextContentProvider(handle: number): void; $onVirtualDocumentChange(uri: UriComponents, value: string): Promise; } export interface MainThreadDocumentsShape extends IDisposable, IExtHostDocumentSaveDelegate { $tryCreateDocument(options?: { language?: string; content?: string; encoding?: string; }): Promise; $tryOpenDocument(uri: UriComponents, options?: { encoding?: string; }): Promise; $trySaveDocument(uri: UriComponents): Promise; } export interface ITextEditorConfigurationUpdate { tabSize?: number | "auto"; indentSize?: number | "tabSize"; insertSpaces?: boolean | "auto"; cursorStyle?: TextEditorCursorStyle; lineNumbers?: RenderLineNumbersType; } export interface IResolvedTextEditorConfiguration { tabSize: number; indentSize: number; originalIndentSize: number | "tabSize"; insertSpaces: boolean; cursorStyle: TextEditorCursorStyle; lineNumbers: RenderLineNumbersType; } export declare enum TextEditorRevealType { Default = 0, InCenter = 1, InCenterIfOutsideViewport = 2, AtTop = 3 } export interface IUndoStopOptions { undoStopBefore: boolean; undoStopAfter: boolean; } export interface IApplyEditsOptions extends IUndoStopOptions { setEndOfLine?: EndOfLineSequence; } export interface ISnippetOptions extends IUndoStopOptions { keepWhitespace?: boolean; } export interface ITextDocumentShowOptions { position?: EditorGroupColumn; preserveFocus?: boolean; pinned?: boolean; selection?: IRange; } export interface MainThreadBulkEditsShape extends IDisposable { $tryApplyWorkspaceEdit(workspaceEditDto: SerializableObjectWithBuffers, undoRedoGroupId?: number, respectAutoSaveConfig?: boolean): Promise; } export interface MainThreadTextEditorsShape extends IDisposable { $tryShowTextDocument(resource: UriComponents, options: ITextDocumentShowOptions): Promise; $registerTextEditorDecorationType(extensionId: ExtensionIdentifier, key: string, options: editorCommon.IDecorationRenderOptions): void; $removeTextEditorDecorationType(key: string): void; $tryShowEditor(id: string, position: EditorGroupColumn): Promise; $tryHideEditor(id: string): Promise; $trySetOptions(id: string, options: ITextEditorConfigurationUpdate): Promise; $trySetDecorations(id: string, key: string, ranges: editorCommon.IDecorationOptions[]): Promise; $trySetDecorationsFast(id: string, key: string, ranges: number[]): Promise; $tryRevealRange(id: string, range: IRange, revealType: TextEditorRevealType): Promise; $trySetSelections(id: string, selections: ISelection[]): Promise; $tryApplyEdits(id: string, modelVersionId: number, edits: ISingleEditOperation[], opts: IApplyEditsOptions): Promise; $tryInsertSnippet(id: string, modelVersionId: number, template: string, selections: readonly IRange[], opts: IUndoStopOptions): Promise; $getDiffInformation(id: string): Promise; } export interface MainThreadTreeViewsShape extends IDisposable { $registerTreeViewDataProvider(treeViewId: string, options: { showCollapseAll: boolean; canSelectMany: boolean; dropMimeTypes: readonly string[]; dragMimeTypes: readonly string[]; hasHandleDrag: boolean; hasHandleDrop: boolean; manuallyManageCheckboxes: boolean; }): Promise; $refresh(treeViewId: string, itemsToRefresh?: { [treeItemHandle: string]: ITreeItem; }): Promise; $reveal(treeViewId: string, itemInfo: { item: ITreeItem; parentChain: ITreeItem[]; } | undefined, options: IRevealOptions): Promise; $setMessage(treeViewId: string, message: string | IMarkdownString): void; $setTitle(treeViewId: string, title: string, description: string | undefined): void; $setBadge(treeViewId: string, badge: IViewBadge | undefined): void; $resolveDropFileData(destinationViewId: string, requestId: number, dataItemId: string): Promise; $disposeTree(treeViewId: string): Promise; $logResolveTreeNodeFailure(extensionId: string): void; } export interface MainThreadDownloadServiceShape extends IDisposable { $download(uri: UriComponents, to: UriComponents): Promise; } export interface MainThreadErrorsShape extends IDisposable { $onUnexpectedError(err: any | SerializedError): void; } export interface MainThreadConsoleShape extends IDisposable { $logExtensionHostMessage(msg: IRemoteConsoleLog): void; } export interface IRegExpDto { pattern: string; flags?: string; } export interface IIndentationRuleDto { decreaseIndentPattern: IRegExpDto; increaseIndentPattern: IRegExpDto; indentNextLinePattern?: IRegExpDto; unIndentedLinePattern?: IRegExpDto; } export interface IOnEnterRuleDto { beforeText: IRegExpDto; afterText?: IRegExpDto; previousLineText?: IRegExpDto; action: EnterAction; } export interface ILanguageConfigurationDto { comments?: CommentRule; brackets?: CharacterPair[]; wordPattern?: IRegExpDto; indentationRules?: IIndentationRuleDto; onEnterRules?: IOnEnterRuleDto[]; __electricCharacterSupport?: { brackets?: any; docComment?: { scope: string; open: string; lineStart: string; close?: string; }; }; __characterPairSupport?: { autoClosingPairs: { open: string; close: string; notIn?: string[]; }[]; }; autoClosingPairs?: { open: string; close: string; notIn?: string[]; }[]; } export type GlobPattern = string | IRelativePattern; export interface IRelativePatternDto extends IRelativePattern { baseUri: UriComponents; } export interface IDocumentFilterDto { $serialized: true; language?: string; scheme?: string; pattern?: string | IRelativePattern; exclusive?: boolean; notebookType?: string; isBuiltin?: boolean; } export interface IShareableItemDto { resourceUri: UriComponents; selection?: IRange; } export interface IDocumentContextItemDto { readonly uri: UriComponents; readonly version: number; readonly ranges: IRange[]; } export interface IConversationItemDto { readonly type: "request" | "response"; readonly message: string; readonly references?: IDocumentContextItemDto[]; } export interface IMappedEditsContextDto { documents: IDocumentContextItemDto[][]; conversation?: IConversationItemDto[]; } export interface ICodeBlockDto { code: string; resource: UriComponents; } export interface IMappedEditsRequestDto { readonly codeBlocks: ICodeBlockDto[]; readonly conversation?: IConversationItemDto[]; } export interface IMappedEditsResultDto { readonly errorMessage?: string; } export interface ISignatureHelpProviderMetadataDto { readonly triggerCharacters: readonly string[]; readonly retriggerCharacters: readonly string[]; } export interface IdentifiableInlineCompletions extends languages.InlineCompletions { pid: number; languageId: string; } export interface IdentifiableInlineCompletion extends languages.InlineCompletion { idx: number; suggestionId: EditSuggestionId | undefined; } export interface IInlineCompletionModelDto { readonly id: string; readonly name: string; } export interface IInlineCompletionModelInfoDto { readonly models: IInlineCompletionModelDto[]; readonly currentModelId: string; } export interface IInlineCompletionProviderOptionValueDto { readonly id: string; readonly label: string; } export interface IInlineCompletionProviderOptionDto { readonly id: string; readonly label: string; readonly values: readonly IInlineCompletionProviderOptionValueDto[]; readonly currentValueId: string; } export interface IInlineCompletionChangeHintDto { readonly data?: unknown; } export interface MainThreadLanguageFeaturesShape extends IDisposable { $unregister(handle: number): void; $registerDocumentSymbolProvider(handle: number, selector: IDocumentFilterDto[], label: string): void; $registerCodeLensSupport(handle: number, selector: IDocumentFilterDto[], eventHandle: number | undefined): void; $emitCodeLensEvent(eventHandle: number, event?: any): void; $registerDefinitionSupport(handle: number, selector: IDocumentFilterDto[]): void; $registerDeclarationSupport(handle: number, selector: IDocumentFilterDto[]): void; $registerImplementationSupport(handle: number, selector: IDocumentFilterDto[]): void; $registerTypeDefinitionSupport(handle: number, selector: IDocumentFilterDto[]): void; $registerHoverProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerEvaluatableExpressionProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerInlineValuesProvider(handle: number, selector: IDocumentFilterDto[], eventHandle: number | undefined): void; $emitInlineValuesEvent(eventHandle: number, event?: any): void; $registerDocumentHighlightProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerMultiDocumentHighlightProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerLinkedEditingRangeProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerReferenceSupport(handle: number, selector: IDocumentFilterDto[]): void; $registerCodeActionSupport(handle: number, selector: IDocumentFilterDto[], metadata: ICodeActionProviderMetadataDto, displayName: string, extensionID: string, supportsResolve: boolean): void; $registerPasteEditProvider(handle: number, selector: IDocumentFilterDto[], metadata: IPasteEditProviderMetadataDto): void; $registerDocumentFormattingSupport(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, displayName: string): void; $registerRangeFormattingSupport(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, displayName: string, supportRanges: boolean): void; $registerOnTypeFormattingSupport(handle: number, selector: IDocumentFilterDto[], autoFormatTriggerCharacters: string[], extensionId: ExtensionIdentifier): void; $registerNavigateTypeSupport(handle: number, supportsResolve: boolean): void; $registerRenameSupport(handle: number, selector: IDocumentFilterDto[], supportsResolveInitialValues: boolean): void; $registerNewSymbolNamesProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerDocumentSemanticTokensProvider(handle: number, selector: IDocumentFilterDto[], legend: languages.SemanticTokensLegend, eventHandle: number | undefined): void; $emitDocumentSemanticTokensEvent(eventHandle: number): void; $registerDocumentRangeSemanticTokensProvider(handle: number, selector: IDocumentFilterDto[], legend: languages.SemanticTokensLegend, eventHandle: number | undefined): void; $emitDocumentRangeSemanticTokensEvent(eventHandle: number): void; $registerCompletionsProvider(handle: number, selector: IDocumentFilterDto[], triggerCharacters: string[], supportsResolveDetails: boolean, extensionId: ExtensionIdentifier): void; $registerInlineCompletionsSupport(handle: number, selector: IDocumentFilterDto[], supportsHandleEvents: boolean, extensionId: string, extensionVersion: string, groupId: string | undefined, yieldsToExtensionIds: string[], displayName: string | undefined, debounceDelayMs: number | undefined, excludesExtensionIds: string[], supportsSetModelId: boolean, supportsOnDidChange: boolean, initialModelInfo: IInlineCompletionModelInfoDto | undefined, supportsOnDidChangeModelInfo: boolean, supportsSetProviderOption: boolean, initialProviderOptions: readonly IInlineCompletionProviderOptionDto[] | undefined, supportsOnDidChangeProviderOptions: boolean): void; $emitInlineCompletionsChange(handle: number, changeHint: IInlineCompletionChangeHintDto | undefined): void; $emitInlineCompletionModelInfoChange(handle: number, data: IInlineCompletionModelInfoDto | undefined): void; $emitInlineCompletionProviderOptionsChange(handle: number, data: readonly IInlineCompletionProviderOptionDto[] | undefined): void; $registerSignatureHelpProvider(handle: number, selector: IDocumentFilterDto[], metadata: ISignatureHelpProviderMetadataDto): void; $registerInlayHintsProvider(handle: number, selector: IDocumentFilterDto[], supportsResolve: boolean, eventHandle: number | undefined, displayName: string | undefined): void; $emitInlayHintsEvent(eventHandle: number): void; $registerDocumentLinkProvider(handle: number, selector: IDocumentFilterDto[], supportsResolve: boolean): void; $registerDocumentColorProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerFoldingRangeProvider(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, eventHandle: number | undefined): void; $emitFoldingRangeEvent(eventHandle: number, event?: any): void; $registerSelectionRangeProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerCallHierarchyProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerTypeHierarchyProvider(handle: number, selector: IDocumentFilterDto[]): void; $registerDocumentOnDropEditProvider(handle: number, selector: IDocumentFilterDto[], metadata?: IDocumentDropEditProviderMetadata): void; $resolvePasteFileData(handle: number, requestId: number, dataId: string): Promise; $resolveDocumentOnDropFileData(handle: number, requestId: number, dataId: string): Promise; $setLanguageConfiguration(handle: number, languageId: string, configuration: ILanguageConfigurationDto): void; } export interface MainThreadLanguagesShape extends IDisposable { $changeLanguage(resource: UriComponents, languageId: string): Promise; $tokensAtPosition(resource: UriComponents, position: IPosition): Promise; $setLanguageStatus(handle: number, status: ILanguageStatus): void; $removeLanguageStatus(handle: number): void; } export interface MainThreadMessageOptions { source?: { identifier: ExtensionIdentifier; label: string; }; modal?: boolean; detail?: string; useCustom?: boolean; } export interface MainThreadMessageServiceShape extends IDisposable { $showMessage(severity: Severity, message: string, options: MainThreadMessageOptions, commands: { title: string; isCloseAffordance: boolean; handle: number; }[]): Promise; } export interface MainThreadOutputServiceShape extends IDisposable { $register(label: string, file: UriComponents, languageId: string | undefined, extensionId: string): Promise; $update(channelId: string, mode: OutputChannelUpdateMode, till?: number): Promise; $reveal(channelId: string, preserveFocus: boolean): Promise; $close(channelId: string): Promise; $dispose(channelId: string): Promise; } export interface MainThreadProgressShape extends IDisposable { $startProgress(handle: number, options: IProgressOptions, extensionId?: string): Promise; $progressReport(handle: number, message: IProgressStep): void; $progressEnd(handle: number): void; } /** * A terminal that is created on the extension host side is temporarily assigned * a UUID by the extension host that created it. Once the renderer side has assigned * a real numeric id, the numeric id will be used. * * All other terminals (that are not created on the extension host side) always * use the numeric id. */ export type ExtHostTerminalIdentifier = number | string; export interface TerminalLaunchConfig { name?: string; shellPath?: string; shellArgs?: string[] | string; cwd?: string | UriComponents; env?: ITerminalEnvironment; icon?: URI | { light: URI; dark: URI; } | ThemeIcon; color?: string; initialText?: string; waitOnExit?: boolean; strictEnv?: boolean; hideFromUser?: boolean; isExtensionCustomPtyTerminal?: boolean; forceShellIntegration?: boolean; isFeatureTerminal?: boolean; isExtensionOwnedTerminal?: boolean; useShellEnvironment?: boolean; location?: TerminalLocation | { viewColumn: number; preserveFocus?: boolean; } | { parentTerminal: ExtHostTerminalIdentifier; } | { splitActiveTerminal: boolean; }; isTransient?: boolean; shellIntegrationNonce?: string; titleTemplate?: string; } export interface MainThreadTerminalServiceShape extends IDisposable { $createTerminal(extHostTerminalId: string, config: TerminalLaunchConfig): Promise; $dispose(id: ExtHostTerminalIdentifier): void; $hide(id: ExtHostTerminalIdentifier): void; $sendText(id: ExtHostTerminalIdentifier, text: string, shouldExecute: boolean): void; $show(id: ExtHostTerminalIdentifier, preserveFocus: boolean): void; $registerProcessSupport(isSupported: boolean): void; $registerProfileProvider(id: string, extensionIdentifier: string): void; $unregisterProfileProvider(id: string): void; $registerCompletionProvider(id: string, extensionIdentifier: string, ...triggerCharacters: string[]): void; $unregisterCompletionProvider(id: string): void; $registerQuickFixProvider(id: string, extensionIdentifier: string): void; $unregisterQuickFixProvider(id: string): void; $setEnvironmentVariableCollection(extensionIdentifier: string, persistent: boolean, collection: ISerializableEnvironmentVariableCollection | undefined, descriptionMap: ISerializableEnvironmentDescriptionMap): void; $startSendingDataEvents(): void; $stopSendingDataEvents(): void; $startSendingCommandEvents(): void; $stopSendingCommandEvents(): void; $startLinkProvider(): void; $stopLinkProvider(): void; $sendProcessData(terminalId: number, data: string): void; $sendProcessReady(terminalId: number, pid: number, cwd: string, windowsPty: IProcessReadyWindowsPty | undefined): void; $sendProcessProperty(terminalId: number, property: IProcessProperty): void; $sendProcessExit(terminalId: number, exitCode: number | undefined): void; } export interface MainThreadTerminalShellIntegrationShape extends IDisposable { $executeCommand(terminalId: number, commandLine: string): void; } export type TransferQuickPickItemOrSeparator = TransferQuickPickItem | quickInput.IQuickPickSeparator; export interface TransferQuickPickItem { handle: number; type?: "item"; label: string; iconPathDto?: IconPathDto; description?: string; detail?: string; picked?: boolean; alwaysShow?: boolean; buttons?: TransferQuickInputButton[]; resourceUri?: UriComponents; iconPath?: { light?: URI; dark: URI; }; iconClass?: string; } export interface TransferQuickInputButton extends quickInput.IQuickInputButton { handle: number; iconPathDto: IconPathDto; toggle?: { checked: boolean; }; iconPath?: { light?: URI; dark: URI; }; iconClass?: string; } export type TransferQuickInput = TransferQuickPick | TransferInputBox; export interface BaseTransferQuickInput { [key: string]: any; id: number; title?: string; type?: "quickPick" | "inputBox"; enabled?: boolean; busy?: boolean; visible?: boolean; } export interface TransferQuickPick extends BaseTransferQuickInput { type?: "quickPick"; value?: string; placeholder?: string; prompt?: string; buttons?: TransferQuickInputButton[]; items?: TransferQuickPickItemOrSeparator[]; activeItems?: number[]; selectedItems?: number[]; canSelectMany?: boolean; ignoreFocusOut?: boolean; matchOnDescription?: boolean; matchOnDetail?: boolean; sortByLabel?: boolean; } export interface TransferInputBox extends BaseTransferQuickInput { type?: "inputBox"; value?: string; valueSelection?: Readonly<[ number, number ]>; placeholder?: string; password?: boolean; buttons?: TransferQuickInputButton[]; prompt?: string; validationMessage?: string; } export interface IInputBoxOptions { title?: string; value?: string; valueSelection?: Readonly<[ number, number ]>; prompt?: string; placeHolder?: string; password?: boolean; ignoreFocusOut?: boolean; } export interface MainThreadQuickOpenShape extends IDisposable { $show(instance: number, options: quickInput.IPickOptions, token: CancellationToken): Promise; $setItems(instance: number, items: TransferQuickPickItemOrSeparator[]): Promise; $setError(instance: number, error: Error): Promise; $input(options: IInputBoxOptions | undefined, validateInput: boolean, token: CancellationToken): Promise; $createOrUpdate(params: TransferQuickInput): Promise; $dispose(id: number): Promise; } export interface MainThreadStatusBarShape extends IDisposable { $setEntry(id: string, statusId: string, extensionId: string | undefined, statusName: string, text: string, tooltip: IMarkdownString | string | undefined, hasTooltipProvider: boolean, command: ICommandDto | undefined, color: string | ThemeColor | undefined, backgroundColor: string | ThemeColor | undefined, alignLeft: boolean, priority: number | undefined, accessibilityInformation: IAccessibilityInformation | undefined): void; $disposeEntry(id: string): void; } export type StatusBarItemDto = { entryId: string; alignLeft: boolean; priority?: number; name: string; text: string; tooltip?: string; command?: string; accessibilityInformation?: IAccessibilityInformation; }; export interface ExtHostStatusBarShape { $acceptStaticEntries(added?: StatusBarItemDto[]): void; $provideTooltip(entryId: string, cancellation: CancellationToken): Promise; } export interface MainThreadStorageShape extends IDisposable { $initializeExtensionStorage(shared: boolean, extensionId: string): Promise; $setValue(shared: boolean, extensionId: string, value: object): Promise; $registerExtensionStorageKeysToSync(extension: IExtensionIdWithVersion, keys: string[]): void; } export interface MainThreadTelemetryShape extends IDisposable { $publicLog(eventName: string, data?: any): void; $publicLog2> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck): void; } export interface MainThreadEditorInsetsShape extends IDisposable { $createEditorInset(handle: number, id: string, uri: UriComponents, line: number, height: number, options: IWebviewContentOptions, extensionId: ExtensionIdentifier, extensionLocation: UriComponents): Promise; $disposeEditorInset(handle: number): void; $setHtml(handle: number, value: string): void; $setOptions(handle: number, options: IWebviewContentOptions): void; $postMessage(handle: number, value: any): Promise; } export interface ExtHostEditorInsetsShape { $onDidDispose(handle: number): void; $onDidReceiveMessage(handle: number, message: any): void; } export declare enum TabInputKind { UnknownInput = 0, TextInput = 1, TextDiffInput = 2, TextMergeInput = 3, NotebookInput = 4, NotebookDiffInput = 5, CustomEditorInput = 6, WebviewEditorInput = 7, TerminalEditorInput = 8, InteractiveEditorInput = 9, ChatEditorInput = 10, MultiDiffEditorInput = 11 } export declare enum TabModelOperationKind { TAB_OPEN = 0, TAB_CLOSE = 1, TAB_UPDATE = 2, TAB_MOVE = 3 } export interface UnknownInputDto { kind: TabInputKind.UnknownInput; } export interface TextInputDto { kind: TabInputKind.TextInput; uri: UriComponents; } export interface TextDiffInputDto { kind: TabInputKind.TextDiffInput; original: UriComponents; modified: UriComponents; } export interface TextMergeInputDto { kind: TabInputKind.TextMergeInput; base: UriComponents; input1: UriComponents; input2: UriComponents; result: UriComponents; } export interface NotebookInputDto { kind: TabInputKind.NotebookInput; notebookType: string; uri: UriComponents; } export interface NotebookDiffInputDto { kind: TabInputKind.NotebookDiffInput; notebookType: string; original: UriComponents; modified: UriComponents; } export interface CustomInputDto { kind: TabInputKind.CustomEditorInput; viewType: string; uri: UriComponents; } export interface WebviewInputDto { kind: TabInputKind.WebviewEditorInput; viewType: string; } export interface InteractiveEditorInputDto { kind: TabInputKind.InteractiveEditorInput; uri: UriComponents; inputBoxUri: UriComponents; } export interface ChatEditorInputDto { kind: TabInputKind.ChatEditorInput; } export interface MultiDiffEditorInputDto { kind: TabInputKind.MultiDiffEditorInput; diffEditors: TextDiffInputDto[]; } export interface TabInputDto { kind: TabInputKind.TerminalEditorInput; } export type AnyInputDto = UnknownInputDto | TextInputDto | TextDiffInputDto | MultiDiffEditorInputDto | TextMergeInputDto | NotebookInputDto | NotebookDiffInputDto | CustomInputDto | WebviewInputDto | InteractiveEditorInputDto | ChatEditorInputDto | TabInputDto; export interface MainThreadEditorTabsShape extends IDisposable { $moveTab(tabId: string, index: number, viewColumn: EditorGroupColumn, preserveFocus?: boolean): void; $closeTab(tabIds: string[], preserveFocus?: boolean): Promise; $closeGroup(groupIds: number[], preservceFocus?: boolean): Promise; } export interface IEditorTabGroupDto { isActive: boolean; viewColumn: EditorGroupColumn; tabs: IEditorTabDto[]; groupId: number; } export interface TabOperation { readonly kind: TabModelOperationKind.TAB_OPEN | TabModelOperationKind.TAB_CLOSE | TabModelOperationKind.TAB_UPDATE | TabModelOperationKind.TAB_MOVE; readonly index: number; readonly tabDto: IEditorTabDto; readonly groupId: number; readonly oldIndex?: number; } export interface IEditorTabDto { id: string; label: string; input: AnyInputDto; editorId?: string; isActive: boolean; isPinned: boolean; isPreview: boolean; isDirty: boolean; } export interface IExtHostEditorTabsShape { $acceptEditorTabModel(tabGroups: IEditorTabGroupDto[]): void; $acceptTabGroupUpdate(groupDto: IEditorTabGroupDto): void; $acceptTabOperation(operation: TabOperation): void; } export type WebviewHandle = string; export interface WebviewPanelShowOptions { readonly viewColumn?: EditorGroupColumn; readonly preserveFocus?: boolean; } export interface WebviewExtensionDescription { readonly id: ExtensionIdentifier; readonly location: UriComponents; } export declare enum WebviewEditorCapabilities { Editable = 0, SupportsHotExit = 1 } export interface IWebviewPortMapping { readonly webviewPort: number; readonly extensionHostPort: number; } export interface IWebviewContentOptions { readonly enableScripts?: boolean; readonly enableForms?: boolean; readonly enableCommandUris?: boolean | readonly string[]; readonly localResourceRoots?: readonly UriComponents[]; readonly portMapping?: readonly IWebviewPortMapping[]; } export interface IWebviewPanelOptions { readonly enableFindWidget?: boolean; readonly retainContextWhenHidden?: boolean; } export interface CustomTextEditorCapabilities { readonly supportsMove?: boolean; } export declare enum WebviewMessageArrayBufferViewType { Int8Array = 1, Uint8Array = 2, Uint8ClampedArray = 3, Int16Array = 4, Uint16Array = 5, Int32Array = 6, Uint32Array = 7, Float32Array = 8, Float64Array = 9, BigInt64Array = 10, BigUint64Array = 11 } export interface WebviewMessageArrayBufferReference { readonly $$vscode_array_buffer_reference$$: true; readonly index: number; /** * Tracks if the reference is to a view instead of directly to an ArrayBuffer. */ readonly view?: { readonly type: WebviewMessageArrayBufferViewType; readonly byteLength: number; readonly byteOffset: number; }; } export interface MainThreadWebviewsShape extends IDisposable { $setHtml(handle: WebviewHandle, value: string): void; $setOptions(handle: WebviewHandle, options: IWebviewContentOptions): void; $postMessage(handle: WebviewHandle, value: string, ...buffers: VSBuffer[]): Promise; } export type IWebviewIconPath = ThemeIcon | { readonly light: UriComponents; readonly dark: UriComponents; }; export interface IWebviewInitData { readonly title: string; readonly webviewOptions: IWebviewContentOptions; readonly panelOptions: IWebviewPanelOptions; readonly serializeBuffersForPostMessage: boolean; } export interface MainThreadWebviewPanelsShape extends IDisposable { $createWebviewPanel(extension: WebviewExtensionDescription, handle: WebviewHandle, viewType: string, initData: IWebviewInitData, showOptions: WebviewPanelShowOptions): void; $disposeWebview(handle: WebviewHandle): void; $reveal(handle: WebviewHandle, showOptions: WebviewPanelShowOptions): void; $setTitle(handle: WebviewHandle, value: string): void; $setIconPath(handle: WebviewHandle, value: IWebviewIconPath | undefined): void; $registerSerializer(viewType: string, options: { serializeBuffersForPostMessage: boolean; }): void; $unregisterSerializer(viewType: string): void; } export interface MainThreadCustomEditorsShape extends IDisposable { $registerTextEditorProvider(extension: WebviewExtensionDescription, viewType: string, options: IWebviewPanelOptions, capabilities: CustomTextEditorCapabilities, serializeBuffersForPostMessage: boolean): void; $registerCustomEditorProvider(extension: WebviewExtensionDescription, viewType: string, options: IWebviewPanelOptions, supportsMultipleEditorsPerDocument: boolean, serializeBuffersForPostMessage: boolean): void; $unregisterEditorProvider(viewType: string): void; $onDidEdit(resource: UriComponents, viewType: string, editId: number, label: string | undefined): void; $onContentChange(resource: UriComponents, viewType: string): void; } export interface MainThreadWebviewViewsShape extends IDisposable { $registerWebviewViewProvider(extension: WebviewExtensionDescription, viewType: string, options: { retainContextWhenHidden?: boolean; serializeBuffersForPostMessage: boolean; }): void; $unregisterWebviewViewProvider(viewType: string): void; $setWebviewViewTitle(handle: WebviewHandle, value: string | undefined): void; $setWebviewViewDescription(handle: WebviewHandle, value: string | undefined): void; $setWebviewViewBadge(handle: WebviewHandle, badge: IViewBadge | undefined): void; $show(handle: WebviewHandle, preserveFocus: boolean): void; } export interface WebviewPanelViewStateData { [handle: string]: { readonly active: boolean; readonly visible: boolean; readonly position: EditorGroupColumn; }; } export interface ExtHostWebviewsShape { $onMessage(handle: WebviewHandle, jsonSerializedMessage: string, buffers: SerializableObjectWithBuffers): void; $onMissingCsp(handle: WebviewHandle, extensionId: string): void; } export interface ExtHostWebviewPanelsShape { $onDidChangeWebviewPanelViewStates(newState: WebviewPanelViewStateData): void; $onDidDisposeWebviewPanel(handle: WebviewHandle): Promise; $deserializeWebviewPanel(newWebviewHandle: WebviewHandle, viewType: string, initData: { title: string; state: any; webviewOptions: IWebviewContentOptions; panelOptions: IWebviewPanelOptions; active: boolean; }, position: EditorGroupColumn): Promise; } export interface ExtHostCustomEditorsShape { $resolveCustomEditor(resource: UriComponents, newWebviewHandle: WebviewHandle, viewType: string, initData: { title: string; contentOptions: IWebviewContentOptions; options: IWebviewPanelOptions; active: boolean; }, position: EditorGroupColumn, cancellation: CancellationToken): Promise; $createCustomDocument(resource: UriComponents, viewType: string, backupId: string | undefined, untitledDocumentData: VSBuffer | undefined, cancellation: CancellationToken): Promise<{ editable: boolean; }>; $disposeCustomDocument(resource: UriComponents, viewType: string): Promise; $undo(resource: UriComponents, viewType: string, editId: number, isDirty: boolean): Promise; $redo(resource: UriComponents, viewType: string, editId: number, isDirty: boolean): Promise; $revert(resource: UriComponents, viewType: string, cancellation: CancellationToken): Promise; $disposeEdits(resourceComponents: UriComponents, viewType: string, editIds: number[]): void; $onSave(resource: UriComponents, viewType: string, cancellation: CancellationToken): Promise; $onSaveAs(resource: UriComponents, viewType: string, targetResource: UriComponents, cancellation: CancellationToken): Promise; $backup(resource: UriComponents, viewType: string, cancellation: CancellationToken): Promise; $onMoveCustomEditor(handle: WebviewHandle, newResource: UriComponents, viewType: string): Promise; } export interface ExtHostWebviewViewsShape { $resolveWebviewView(webviewHandle: WebviewHandle, viewType: string, title: string | undefined, state: any, cancellation: CancellationToken): Promise; $onDidChangeWebviewViewVisibility(webviewHandle: WebviewHandle, visible: boolean): void; $disposeWebviewView(webviewHandle: WebviewHandle): void; } export interface MainThreadManagedSocketsShape extends IDisposable { $registerSocketFactory(socketFactoryId: number): Promise; $unregisterSocketFactory(socketFactoryId: number): Promise; $onDidManagedSocketHaveData(socketId: number, data: VSBuffer): void; $onDidManagedSocketClose(socketId: number, error: string | undefined): void; $onDidManagedSocketEnd(socketId: number): void; } export interface ExtHostManagedSocketsShape { $openRemoteSocket(socketFactoryId: number): Promise; $remoteSocketWrite(socketId: number, buffer: VSBuffer): void; $remoteSocketEnd(socketId: number): void; $remoteSocketDrain(socketId: number): Promise; } export declare enum CellOutputKind { Text = 1, Error = 2, Rich = 3 } export declare enum NotebookEditorRevealType { Default = 0, InCenter = 1, InCenterIfOutsideViewport = 2, AtTop = 3 } export interface INotebookDocumentShowOptions { position?: EditorGroupColumn; preserveFocus?: boolean; pinned?: boolean; selections?: ICellRange[]; label?: string; } export type INotebookCellStatusBarEntryDto = Dto; export interface INotebookCellStatusBarListDto { items: INotebookCellStatusBarEntryDto[]; cacheId: number; } export interface MainThreadNotebookShape extends IDisposable { $registerNotebookSerializer(handle: number, extension: notebookCommon.NotebookExtensionDescription, viewType: string, options: notebookCommon.TransientOptions, registration: notebookCommon.INotebookContributionData | undefined): void; $unregisterNotebookSerializer(handle: number): void; $registerNotebookCellStatusBarItemProvider(handle: number, eventHandle: number | undefined, viewType: string): Promise; $unregisterNotebookCellStatusBarItemProvider(handle: number, eventHandle: number | undefined): Promise; $emitCellStatusBarEvent(eventHandle: number): void; } export interface MainThreadNotebookEditorsShape extends IDisposable { $tryShowNotebookDocument(uriComponents: UriComponents, viewType: string, options: INotebookDocumentShowOptions): Promise; $tryRevealRange(id: string, range: ICellRange, revealType: NotebookEditorRevealType): Promise; $trySetSelections(id: string, range: ICellRange[]): void; } export interface MainThreadNotebookDocumentsShape extends IDisposable { $tryCreateNotebook(options: { viewType: string; content?: NotebookDataDto; }): Promise; $tryOpenNotebook(uriComponents: UriComponents): Promise; $trySaveNotebook(uri: UriComponents): Promise; } export interface INotebookKernelDto2 { id: string; notebookType: string; extensionId: ExtensionIdentifier; extensionLocation: UriComponents; label: string; detail?: string; description?: string; supportedLanguages?: string[]; supportsInterrupt?: boolean; supportsExecutionOrder?: boolean; preloads?: { uri: UriComponents; provides: readonly string[]; }[]; hasVariableProvider?: boolean; } export interface INotebookProxyKernelDto { id: string; notebookType: string; extensionId: ExtensionIdentifier; extensionLocation: UriComponents; label: string; detail?: string; description?: string; kind?: string; } export interface ICellExecuteOutputEditDto { editType: CellExecutionUpdateType.Output; cellHandle: number; append?: boolean; outputs: NotebookOutputDto[]; } export interface ICellExecuteOutputItemEditDto { editType: CellExecutionUpdateType.OutputItems; append?: boolean; outputId: string; items: NotebookOutputItemDto[]; } export interface ICellExecutionStateUpdateDto extends ICellExecutionStateUpdate { } export interface ICellExecutionCompleteDto extends ICellExecutionComplete { } export type ICellExecuteUpdateDto = ICellExecuteOutputEditDto | ICellExecuteOutputItemEditDto | ICellExecutionStateUpdateDto; export interface VariablesResult { id: number; name: string; value: string; type?: string; language?: string; expression?: string; hasNamedChildren: boolean; indexedChildrenCount: number; extensionId: string; } export interface MainThreadNotebookKernelsShape extends IDisposable { $postMessage(handle: number, editorId: string | undefined, message: any): Promise; $addKernel(handle: number, data: INotebookKernelDto2): Promise; $updateKernel(handle: number, data: Partial): void; $removeKernel(handle: number): void; $updateNotebookPriority(handle: number, uri: UriComponents, value: number | undefined): void; $createExecution(handle: number, controllerId: string, uri: UriComponents, cellHandle: number): void; $updateExecution(handle: number, data: SerializableObjectWithBuffers): void; $completeExecution(handle: number, data: SerializableObjectWithBuffers): void; $createNotebookExecution(handle: number, controllerId: string, uri: UriComponents): void; $beginNotebookExecution(handle: number): void; $completeNotebookExecution(handle: number): void; $addKernelDetectionTask(handle: number, notebookType: string): Promise; $removeKernelDetectionTask(handle: number): void; $addKernelSourceActionProvider(handle: number, eventHandle: number, notebookType: string): Promise; $removeKernelSourceActionProvider(handle: number, eventHandle: number): void; $emitNotebookKernelSourceActionsChangeEvent(eventHandle: number): void; $receiveVariable(requestId: string, variable: VariablesResult): void; $variablesUpdated(notebookUri: UriComponents): void; } export interface MainThreadNotebookRenderersShape extends IDisposable { $postMessage(editorId: string | undefined, rendererId: string, message: unknown): Promise; } export interface MainThreadInteractiveShape extends IDisposable { } export interface MainThreadSpeechShape extends IDisposable { $registerProvider(handle: number, identifier: string, metadata: ISpeechProviderMetadata): void; $unregisterProvider(handle: number): void; $emitSpeechToTextEvent(session: number, event: ISpeechToTextEvent): void; $emitTextToSpeechEvent(session: number, event: ITextToSpeechEvent): void; $emitKeywordRecognitionEvent(session: number, event: IKeywordRecognitionEvent): void; } export interface ExtHostSpeechShape { $createSpeechToTextSession(handle: number, session: number, language?: string): Promise; $cancelSpeechToTextSession(session: number): Promise; $createTextToSpeechSession(handle: number, session: number, language?: string): Promise; $synthesizeSpeech(session: number, text: string): Promise; $cancelTextToSpeechSession(session: number): Promise; $createKeywordRecognitionSession(handle: number, session: number): Promise; $cancelKeywordRecognitionSession(session: number): Promise; } export interface MainThreadLanguageModelsShape extends IDisposable { $registerLanguageModelProvider(vendor: string): void; $onLMProviderChange(vendor: string): void; $unregisterProvider(vendor: string): void; $tryStartChatRequest(extension: ExtensionIdentifier, modelIdentifier: string, requestId: number, messages: SerializableObjectWithBuffers, options: {}, token: CancellationToken): Promise; $reportResponsePart(requestId: number, chunk: SerializableObjectWithBuffers): Promise; $reportResponseDone(requestId: number, error: SerializedError | undefined): Promise; $selectChatModels(selector: ILanguageModelChatSelector): Promise; $countTokens(modelId: string, value: string | IChatMessage, token: CancellationToken): Promise; $fileIsIgnored(uri: UriComponents, token: CancellationToken): Promise; $registerFileIgnoreProvider(handle: number): void; $unregisterFileIgnoreProvider(handle: number): void; } export interface ExtHostLanguageModelsShape { $provideLanguageModelChatInfo(vendor: string, options: ILanguageModelChatInfoOptions, token: CancellationToken): Promise; $updateModelAccesslist(data: { from: ExtensionIdentifier; to: ExtensionIdentifier; enabled: boolean; }[]): void; $startChatRequest(modelId: string, requestId: number, from: ExtensionIdentifier | undefined, messages: SerializableObjectWithBuffers, options: { [name: string]: any; }, token: CancellationToken): Promise; $acceptResponsePart(requestId: number, chunk: SerializableObjectWithBuffers): Promise; $acceptResponseDone(requestId: number, error: SerializedError | undefined): Promise; $provideTokenLength(modelId: string, value: string | IChatMessage, token: CancellationToken): Promise; $isFileIgnored(handle: number, uri: UriComponents, token: CancellationToken): Promise; } export type IChatContextItemDto = Dto; export interface ExtHostChatContextShape { $provideWorkspaceChatContext(handle: number, token: CancellationToken): Promise; $provideExplicitChatContext(handle: number, token: CancellationToken): Promise; $resolveExplicitChatContext(handle: number, context: IChatContextItem, token: CancellationToken): Promise; $provideResourceChatContext(handle: number, options: { resource: UriComponents; withValue: boolean; }, token: CancellationToken): Promise; $resolveResourceChatContext(handle: number, context: IChatContextItem, token: CancellationToken): Promise; $executeChatContextItemCommand(itemHandle: number): Promise; } export interface MainThreadChatContextShape extends IDisposable { $registerChatWorkspaceContextProvider(handle: number, id: string): void; $registerChatExplicitContextProvider(handle: number, id: string): void; $registerChatResourceContextProvider(handle: number, id: string, selector: IDocumentFilterDto[]): void; $unregisterChatContextProvider(handle: number): void; $updateWorkspaceContextItems(handle: number, items: IChatContextItemDto[]): void; $executeChatContextItemCommand(itemHandle: number): Promise; } export interface IChatDebugEventCommonDto { readonly id?: string; readonly sessionResource?: UriComponents; readonly created: number; readonly parentEventId?: string; } export interface IChatDebugToolCallEventDto extends IChatDebugEventCommonDto { readonly kind: "toolCall"; readonly toolName: string; readonly toolCallId?: string; readonly input?: string; readonly output?: string; readonly result?: "success" | "error"; readonly durationInMillis?: number; } export interface IChatDebugModelTurnEventDto extends IChatDebugEventCommonDto { readonly kind: "modelTurn"; readonly model?: string; readonly requestName?: string; readonly inputTokens?: number; readonly outputTokens?: number; readonly totalTokens?: number; readonly durationInMillis?: number; } export interface IChatDebugGenericEventDto extends IChatDebugEventCommonDto { readonly kind: "generic"; readonly name: string; readonly details?: string; readonly level: number; readonly category?: string; } export interface IChatDebugSubagentInvocationEventDto extends IChatDebugEventCommonDto { readonly kind: "subagentInvocation"; readonly agentName: string; readonly description?: string; readonly status?: "running" | "completed" | "failed"; readonly durationInMillis?: number; readonly toolCallCount?: number; readonly modelTurnCount?: number; } export interface IChatDebugMessageSectionDto { readonly name: string; readonly content: string; } export interface IChatDebugUserMessageEventDto extends IChatDebugEventCommonDto { readonly kind: "userMessage"; readonly message: string; readonly sections: readonly IChatDebugMessageSectionDto[]; } export interface IChatDebugAgentResponseEventDto extends IChatDebugEventCommonDto { readonly kind: "agentResponse"; readonly message: string; readonly sections: readonly IChatDebugMessageSectionDto[]; } export type IChatDebugEventDto = IChatDebugToolCallEventDto | IChatDebugModelTurnEventDto | IChatDebugGenericEventDto | IChatDebugSubagentInvocationEventDto | IChatDebugUserMessageEventDto | IChatDebugAgentResponseEventDto; export interface IChatDebugEventTextContentDto { readonly kind: "text"; readonly value: string; } export interface IChatDebugEventMessageContentDto { readonly kind: "message"; readonly type: "user" | "agent"; readonly message: string; readonly sections: readonly IChatDebugMessageSectionDto[]; } export interface IChatDebugEventToolCallContentDto { readonly kind: "toolCall"; readonly toolName: string; readonly result?: "success" | "error"; readonly durationInMillis?: number; readonly input?: string; readonly output?: string; } export interface IChatDebugEventModelTurnContentDto { readonly kind: "modelTurn"; readonly requestName: string; readonly model?: string; readonly status?: string; readonly durationInMillis?: number; readonly timeToFirstTokenInMillis?: number; readonly maxInputTokens?: number; readonly maxOutputTokens?: number; readonly inputTokens?: number; readonly outputTokens?: number; readonly cachedTokens?: number; readonly totalTokens?: number; readonly errorMessage?: string; readonly sections?: readonly IChatDebugMessageSectionDto[]; } export type IChatDebugResolvedEventContentDto = IChatDebugEventTextContentDto | IChatDebugEventMessageContentDto | IChatDebugEventToolCallContentDto | IChatDebugEventModelTurnContentDto; export interface ExtHostChatDebugShape { $provideChatDebugLog(handle: number, sessionResource: UriComponents, token: CancellationToken): Promise; $resolveChatDebugLogEvent(handle: number, eventId: string, token: CancellationToken): Promise; } export interface MainThreadChatDebugShape extends IDisposable { $registerChatDebugLogProvider(handle: number): void; $unregisterChatDebugLogProvider(handle: number): void; $acceptChatDebugEvent(handle: number, event: IChatDebugEventDto): void; } export interface MainThreadEmbeddingsShape extends IDisposable { $registerEmbeddingProvider(handle: number, identifier: string): void; $unregisterEmbeddingProvider(handle: number): void; $computeEmbeddings(embeddingsModel: string, input: string[], token: CancellationToken): Promise<({ values: number[]; }[])>; } export interface ExtHostEmbeddingsShape { $provideEmbeddings(handle: number, input: string[], token: CancellationToken): Promise<{ values: number[]; }[]>; $acceptEmbeddingModels(models: string[]): void; } export interface IExtensionChatAgentMetadata extends Dto { hasFollowups?: boolean; } export interface IDynamicChatAgentProps { name: string; publisherName: string; description?: string; fullName?: string; } export interface IChatAgentProgressShape { $handleProgressChunk(requestId: string, chunks: (IChatProgressDto | [ IChatProgressDto, number ])[]): Promise; $handleAnchorResolve(requestId: string, handle: string, anchor: Dto): void; } export interface MainThreadChatAgentsShape2 extends IChatAgentProgressShape, IDisposable { $registerAgent(handle: number, extension: ExtensionIdentifier, id: string, metadata: IExtensionChatAgentMetadata, dynamicProps: IDynamicChatAgentProps | undefined): void; $registerChatParticipantDetectionProvider(handle: number): void; $unregisterChatParticipantDetectionProvider(handle: number): void; $registerPromptFileProvider(handle: number, type: string, extension: ExtensionIdentifier): void; $unregisterPromptFileProvider(handle: number): void; $onDidChangePromptFiles(handle: number): void; $registerAgentCompletionsProvider(handle: number, id: string, triggerCharacters: string[]): void; $unregisterAgentCompletionsProvider(handle: number, id: string): void; $updateAgent(handle: number, metadataUpdate: IExtensionChatAgentMetadata): void; $unregisterAgent(handle: number): void; $transferActiveChatSession(toWorkspace: UriComponents): Promise; } export interface ICodeMapperTextEdit { uri: URI; edits: languages.TextEdit[]; } export interface ICodeMapperNotebookEditDto { uri: URI; edits: ICellEditOperationDto[]; } export type ICodeMapperProgressDto = Dto | Dto; export interface MainThreadCodeMapperShape extends IDisposable { $registerCodeMapperProvider(handle: number, displayName: string): void; $unregisterCodeMapperProvider(handle: number): void; $handleProgress(requestId: string, data: ICodeMapperProgressDto): Promise; } export interface IChatAgentCompletionItem { id: string; fullName?: string; icon?: string; insertText?: string; label: string | languages.CompletionItemLabel; value: IChatRequestVariableValueDto; detail?: string; documentation?: string | IMarkdownString; command?: ICommandDto; } export type IChatContentProgressDto = Dto> | IChatMultiDiffDataSerialized | IChatTaskDto; export type IChatAgentHistoryEntryDto = { request: IChatAgentRequest; response: ReadonlyArray; result: IChatAgentResult; }; export interface IChatSessionContextDto { readonly chatSessionResource: UriComponents; readonly isUntitled: boolean; readonly initialSessionOptions?: ReadonlyArray<{ optionId: string; value: string; }>; } export interface ExtHostChatAgentsShape2 { $invokeAgent(handle: number, request: Dto, context: { history: IChatAgentHistoryEntryDto[]; chatSessionContext?: IChatSessionContextDto; }, token: CancellationToken): Promise; $provideFollowups(request: Dto, handle: number, result: IChatAgentResult, context: { history: IChatAgentHistoryEntryDto[]; }, token: CancellationToken): Promise; $acceptFeedback(handle: number, result: IChatAgentResult, voteAction: IChatVoteAction): void; $handleQuestionCarouselAnswer(requestId: string, resolveId: string, answers: Record | undefined): void; $acceptAction(handle: number, result: IChatAgentResult, action: IChatUserActionEvent): void; $invokeCompletionProvider(handle: number, query: string, token: CancellationToken): Promise; $provideChatTitle(handle: number, context: IChatAgentHistoryEntryDto[], token: CancellationToken): Promise; $provideChatSummary(handle: number, context: IChatAgentHistoryEntryDto[], token: CancellationToken): Promise; $releaseSession(sessionResource: UriComponents): void; $detectChatParticipant(handle: number, request: Dto, context: { history: IChatAgentHistoryEntryDto[]; }, options: { participants: IChatParticipantMetadata[]; location: ChatAgentLocation; }, token: CancellationToken): Promise; $providePromptFiles(handle: number, type: PromptsType, context: IPromptFileContext, token: CancellationToken): Promise[] | undefined>; $setRequestTools(requestId: string, tools: UserSelectedTools): void; $setYieldRequested(requestId: string, value: boolean): void; $acceptActiveChatSession(sessionResource: UriComponents | undefined): void; $acceptCustomAgents(agents: ICustomAgentDto[]): void; $acceptInstructions(instructions: IInstructionDto[]): void; $acceptSkills(skills: ISkillDto[]): void; } export interface ICustomAgentDto { uri: UriComponents; } export interface IInstructionDto { uri: UriComponents; } export interface ISkillDto { uri: UriComponents; } export interface IChatParticipantMetadata { participant: string; command?: string; disambiguation: { category: string; description: string; examples: string[]; }[]; } export interface IChatParticipantDetectionResult { participant: string; command?: string; } export interface IToolDataDto { id: string; toolReferenceName?: string; legacyToolReferenceFullNames?: readonly string[]; tags?: readonly string[]; displayName: string; userDescription?: string; modelDescription: string; source: Dto; inputSchema?: IJSONSchema; } export interface ILanguageModelChatSelectorDto { vendor?: string; family?: string; version?: string; id?: string; } export interface IToolDefinitionDto extends IToolDataDto { icon?: IconPathDto; models?: ILanguageModelChatSelectorDto[]; toolSet?: string; } export interface MainThreadLanguageModelToolsShape extends IDisposable { $getTools(): Promise[]>; $acceptToolProgress(callId: string, progress: IToolProgressStep): void; $invokeTool(dto: Dto, token?: CancellationToken): Promise | SerializableObjectWithBuffers>>; $countTokensForInvocation(callId: string, input: string, token: CancellationToken): Promise; $registerTool(id: string, hasHandleToolStream: boolean): void; $registerToolWithDefinition(extensionId: ExtensionIdentifier, definition: IToolDefinitionDto, hasHandleToolStream: boolean): void; $unregisterTool(name: string): void; } export type IChatRequestVariableValueDto = Dto; export interface ExtHostLanguageModelToolsShape { $onDidChangeTools(tools: IToolDataDto[]): void; $invokeTool(dto: Dto, token: CancellationToken): Promise | SerializableObjectWithBuffers>>; $countTokensForInvocation(callId: string, input: string, token: CancellationToken): Promise; $handleToolStream(toolId: string, context: IToolInvocationStreamContext, token: CancellationToken): Promise; $prepareToolInvocation(toolId: string, context: IToolInvocationPreparationContext, token: CancellationToken): Promise; } export interface MainThreadUrlsShape extends IDisposable { $registerUriHandler(handle: number, extensionId: ExtensionIdentifier, extensionDisplayName: string): Promise; $unregisterUriHandler(handle: number): Promise; $createAppUri(uri: UriComponents): Promise; } export interface IChatResponseProgressFileTreeData { label: string; uri: URI; children?: IChatResponseProgressFileTreeData[]; } export type IDocumentContextDto = { uri: UriComponents; version: number; ranges: IRange[]; }; export type IChatProgressDto = Dto> | IChatTaskDto | IChatNotebookEditDto | IChatExternalEditsDto | IChatResponseClearToPreviousToolInvocationDto | IChatBeginToolInvocationDto | IChatUpdateToolInvocationDto | IChatUsageDto; export interface ExtHostUrlsShape { $handleExternalUri(handle: number, uri: UriComponents): Promise; } export interface MainThreadUriOpenersShape extends IDisposable { $registerUriOpener(id: string, schemes: readonly string[], extensionId: ExtensionIdentifier, label: string): Promise; $unregisterUriOpener(id: string): Promise; } export interface ExtHostUriOpenersShape { $canOpenUri(id: string, uri: UriComponents, token: CancellationToken): Promise; $openUri(id: string, context: { resolvedUri: UriComponents; sourceUri: UriComponents; }, token: CancellationToken): Promise; } export interface MainThreadChatOutputRendererShape extends IDisposable { $registerChatOutputRenderer(viewType: string, extensionId: ExtensionIdentifier, extensionLocation: UriComponents): void; $unregisterChatOutputRenderer(viewType: string): void; } export interface ExtHostChatOutputRendererShape { $renderChatOutput(viewType: string, mime: string, valueData: VSBuffer, webviewHandle: string, token: CancellationToken): Promise; } export interface MainThreadProfileContentHandlersShape { $registerProfileContentHandler(id: string, name: string, description: string | undefined, extensionId: string): Promise; $unregisterProfileContentHandler(id: string): Promise; } export interface ExtHostProfileContentHandlersShape { $saveProfile(id: string, name: string, content: string, token: CancellationToken): Promise | null>; $readProfile(id: string, idOrUri: string | UriComponents, token: CancellationToken): Promise; } export interface ITextSearchComplete { limitHit?: boolean; message?: TextSearchCompleteMessage | TextSearchCompleteMessage[]; } export interface ResourceTrustRequestOptionsDto { readonly uri: UriComponents; readonly message?: string; } export interface MainThreadWorkspaceShape extends IDisposable { $startFileSearch(includeFolder: UriComponents | null, options: IFileQueryBuilderOptions, token: CancellationToken): Promise; $startTextSearch(query: search.IPatternInfo, folder: UriComponents | null, options: ITextQueryBuilderOptions, requestId: number, token: CancellationToken): Promise; $checkExists(folders: readonly UriComponents[], includes: string[], token: CancellationToken): Promise; $save(uri: UriComponents, options: { saveAs: boolean; }): Promise; $saveAll(includeUntitled?: boolean): Promise; $updateWorkspaceFolders(extensionName: string, index: number, deleteCount: number, workspaceFoldersToAdd: { uri: UriComponents; name?: string; }[]): Promise; $resolveProxy(url: string): Promise; $lookupAuthorization(authInfo: AuthInfo): Promise; $lookupKerberosAuthorization(url: string): Promise; $loadCertificates(): Promise; $requestResourceTrust(options: ResourceTrustRequestOptionsDto): Promise; $requestWorkspaceTrust(options?: WorkspaceTrustRequestOptions): Promise; $isResourceTrusted(resource: UriComponents): Promise; $registerEditSessionIdentityProvider(handle: number, scheme: string): void; $unregisterEditSessionIdentityProvider(handle: number): void; $registerCanonicalUriProvider(handle: number, scheme: string): void; $unregisterCanonicalUriProvider(handle: number): void; $resolveDecoding(resource: UriComponents | undefined, options?: { encoding?: string; }): Promise<{ preferredEncoding: string; guessEncoding: boolean; candidateGuessEncodings: string[]; }>; $validateDetectedEncoding(resource: UriComponents | undefined, detectedEncoding: string, options?: { encoding?: string; }): Promise; $resolveEncoding(resource: UriComponents | undefined, options?: { encoding?: string; }): Promise<{ encoding: string; addBOM: boolean; }>; } export interface IFileChangeDto { resource: UriComponents; type: files.FileChangeType; } export interface MainThreadFileSystemShape extends IDisposable { $registerFileSystemProvider(handle: number, scheme: string, capabilities: files.FileSystemProviderCapabilities, readonlyMessage?: IMarkdownString): Promise; $unregisterProvider(handle: number): void; $onFileSystemChange(handle: number, resource: IFileChangeDto[]): void; $stat(resource: UriComponents): Promise; $readdir(resource: UriComponents): Promise<[ string, files.FileType ][]>; $readFile(resource: UriComponents): Promise; $writeFile(resource: UriComponents, content: VSBuffer): Promise; $rename(resource: UriComponents, target: UriComponents, opts: files.IFileOverwriteOptions): Promise; $copy(resource: UriComponents, target: UriComponents, opts: files.IFileOverwriteOptions): Promise; $mkdir(resource: UriComponents): Promise; $delete(resource: UriComponents, opts: files.IFileDeleteOptions): Promise; $ensureActivation(scheme: string): Promise; } export interface MainThreadFileSystemEventServiceShape extends IDisposable { $watch(extensionId: string, session: number, resource: UriComponents, opts: files.IWatchOptions, correlate: boolean): void; $unwatch(session: number): void; } export interface MainThreadLabelServiceShape extends IDisposable { $registerResourceLabelFormatter(handle: number, formatter: ResourceLabelFormatter): void; $unregisterResourceLabelFormatter(handle: number): void; } export interface MainThreadSearchShape extends IDisposable { $registerFileSearchProvider(handle: number, scheme: string): void; $registerAITextSearchProvider(handle: number, scheme: string): void; $registerTextSearchProvider(handle: number, scheme: string): void; $unregisterProvider(handle: number): void; $handleFileMatch(handle: number, session: number, data: UriComponents[]): void; $handleTextMatch(handle: number, session: number, data: search.IRawFileMatch2[]): void; $handleKeywordResult(handle: number, session: number, data: AISearchKeyword): void; $handleTelemetry(eventName: string, data: any): void; } export interface MainThreadShareShape extends IDisposable { $registerShareProvider(handle: number, selector: IDocumentFilterDto[], id: string, label: string, priority: number): void; $unregisterShareProvider(handle: number): void; } export interface MainThreadTaskShape extends IDisposable { $createTaskId(task: tasks.ITaskDTO): Promise; $registerTaskProvider(handle: number, type: string): Promise; $unregisterTaskProvider(handle: number): Promise; $fetchTasks(filter?: tasks.ITaskFilterDTO): Promise; $getTaskExecution(value: tasks.ITaskHandleDTO | tasks.ITaskDTO): Promise; $executeTask(task: tasks.ITaskHandleDTO | tasks.ITaskDTO): Promise; $terminateTask(id: string): Promise; $registerTaskSystem(scheme: string, info: tasks.ITaskSystemInfoDTO): void; $customExecutionComplete(id: string, result?: number): Promise; $registerSupportedExecutions(custom?: boolean, shell?: boolean, process?: boolean): Promise; } export interface MainThreadExtensionServiceShape extends IDisposable { $getExtension(extensionId: string): Promise | undefined>; $activateExtension(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise; $onWillActivateExtension(extensionId: ExtensionIdentifier): Promise; $onDidActivateExtension(extensionId: ExtensionIdentifier, codeLoadingTime: number, activateCallTime: number, activateResolvedTime: number, activationReason: ExtensionActivationReason): void; $onExtensionActivationError(extensionId: ExtensionIdentifier, error: SerializedError, missingExtensionDependency: MissingExtensionDependency | null): Promise; $onExtensionRuntimeError(extensionId: ExtensionIdentifier, error: SerializedError): void; $setPerformanceMarks(marks: performance.PerformanceMark[]): Promise; $asBrowserUri(uri: UriComponents): Promise; $getAllStaticBrowserUris(): Promise<[ UriComponents, UriComponents ][]>; } export interface SCMProviderFeatures { hasArtifactProvider?: boolean; hasHistoryProvider?: boolean; hasQuickDiffProvider?: boolean; quickDiffLabel?: string; hasSecondaryQuickDiffProvider?: boolean; secondaryQuickDiffLabel?: string; count?: number; commitTemplate?: string; acceptInputCommand?: languages.Command; actionButton?: SCMActionButtonDto | null; statusBarCommands?: ICommandDto[]; contextValue?: string; } export interface SCMActionButtonDto { command: ICommandDto & { shortTitle?: string; }; secondaryCommands?: ICommandDto[][]; enabled: boolean; } export interface SCMGroupFeatures { hideWhenEmpty?: boolean; contextValue?: string; } export type SCMRawResource = [ number, UriComponents, [ UriComponents | ThemeIcon | undefined, UriComponents | ThemeIcon | undefined ], string, boolean, boolean, string, ICommandDto | undefined, UriComponents | undefined, UriComponents | undefined ]; export type SCMRawResourceSplice = [ number, number, SCMRawResource[] ]; export type SCMRawResourceSplices = [ number, SCMRawResourceSplice[] ]; export interface SCMHistoryItemRefDto { readonly id: string; readonly name: string; readonly revision?: string; readonly category?: string; readonly description?: string; readonly icon?: IconPathDto; } export interface SCMHistoryItemRefsChangeEventDto { readonly added: readonly SCMHistoryItemRefDto[]; readonly modified: readonly SCMHistoryItemRefDto[]; readonly removed: readonly SCMHistoryItemRefDto[]; readonly silent: boolean; } export interface SCMHistoryItemDto { readonly id: string; readonly parentIds: string[]; readonly subject: string; readonly message: string; readonly displayId?: string; readonly author?: string; readonly authorIcon?: IconPathDto; readonly authorEmail?: string; readonly timestamp?: number; readonly statistics?: { readonly files: number; readonly insertions: number; readonly deletions: number; }; readonly references?: SCMHistoryItemRefDto[]; readonly tooltip?: IMarkdownString | Array | undefined; } export interface SCMHistoryItemChangeDto { readonly uri: UriComponents; readonly originalUri: UriComponents | undefined; readonly modifiedUri: UriComponents | undefined; } export interface SCMArtifactGroupDto { readonly id: string; readonly name: string; readonly icon?: UriComponents | { light: UriComponents; dark: UriComponents; } | ThemeIcon; readonly supportsFolders?: boolean; } export interface SCMArtifactDto { readonly id: string; readonly name: string; readonly description?: string; readonly icon?: UriComponents | { light: UriComponents; dark: UriComponents; } | ThemeIcon; readonly timestamp?: number; readonly command?: ICommandDto; } export interface MainThreadSCMShape extends IDisposable { $registerSourceControl(handle: number, parentHandle: number | undefined, id: string, label: string, rootUri: UriComponents | undefined, iconPath: IconPathDto | undefined, isHidden: boolean | undefined, inputBoxDocumentUri: UriComponents): Promise; $updateSourceControl(handle: number, features: SCMProviderFeatures): Promise; $unregisterSourceControl(handle: number): Promise; $registerGroups(sourceControlHandle: number, groups: [ number, string, string, SCMGroupFeatures, /* multiDiffEditorEnableViewChanges */ boolean ][], splices: SCMRawResourceSplices[]): Promise; $updateGroup(sourceControlHandle: number, handle: number, features: SCMGroupFeatures): Promise; $updateGroupLabel(sourceControlHandle: number, handle: number, label: string): Promise; $unregisterGroup(sourceControlHandle: number, handle: number): Promise; $spliceResourceStates(sourceControlHandle: number, splices: SCMRawResourceSplices[]): Promise; $setInputBoxValue(sourceControlHandle: number, value: string): Promise; $setInputBoxPlaceholder(sourceControlHandle: number, placeholder: string): Promise; $setInputBoxEnablement(sourceControlHandle: number, enabled: boolean): Promise; $setInputBoxVisibility(sourceControlHandle: number, visible: boolean): Promise; $showValidationMessage(sourceControlHandle: number, message: string | IMarkdownString, type: InputValidationType): Promise; $setValidationProviderIsEnabled(sourceControlHandle: number, enabled: boolean): Promise; $onDidChangeHistoryProviderCurrentHistoryItemRefs(sourceControlHandle: number, historyItemRef?: SCMHistoryItemRefDto, historyItemRemoteRef?: SCMHistoryItemRefDto, historyItemBaseRef?: SCMHistoryItemRefDto): Promise; $onDidChangeHistoryProviderHistoryItemRefs(sourceControlHandle: number, historyItemRefs: SCMHistoryItemRefsChangeEventDto): Promise; $onDidChangeArtifacts(sourceControlHandle: number, groups: string[]): Promise; } export interface MainThreadQuickDiffShape extends IDisposable { $registerQuickDiffProvider(handle: number, selector: IDocumentFilterDto[], id: string, label: string, rootUri: UriComponents | undefined): Promise; $unregisterQuickDiffProvider(handle: number): Promise; } export type DebugSessionUUID = string; export interface IDebugConfiguration { type: string; name: string; request: string; [key: string]: any; } export interface IStartDebuggingOptions { parentSessionID?: DebugSessionUUID; lifecycleManagedByParent?: boolean; repl?: IDebugSessionReplMode; noDebug?: boolean; compact?: boolean; suppressDebugToolbar?: boolean; suppressDebugStatusbar?: boolean; suppressDebugView?: boolean; suppressSaveBeforeStart?: boolean; testRun?: IDebugTestRunReference; } export interface MainThreadDebugServiceShape extends IDisposable { $registerDebugTypes(debugTypes: string[]): void; $sessionCached(sessionID: string): void; $acceptDAMessage(handle: number, message: DebugProtocol.ProtocolMessage): void; $acceptDAError(handle: number, name: string, message: string, stack: string | undefined): void; $acceptDAExit(handle: number, code: number | undefined, signal: string | undefined): void; $registerDebugConfigurationProvider(type: string, triggerKind: DebugConfigurationProviderTriggerKind, hasProvideMethod: boolean, hasResolveMethod: boolean, hasResolve2Method: boolean, handle: number): Promise; $registerDebugAdapterDescriptorFactory(type: string, handle: number): Promise; $unregisterDebugConfigurationProvider(handle: number): void; $unregisterDebugAdapterDescriptorFactory(handle: number): void; $startDebugging(folder: UriComponents | undefined, nameOrConfig: string | IDebugConfiguration, options: IStartDebuggingOptions): Promise; $stopDebugging(sessionId: DebugSessionUUID | undefined): Promise; $setDebugSessionName(id: DebugSessionUUID, name: string): void; $customDebugAdapterRequest(id: DebugSessionUUID, command: string, args: any): Promise; $getDebugProtocolBreakpoint(id: DebugSessionUUID, breakpoinId: string): Promise; $appendDebugConsole(value: string): void; $registerBreakpoints(breakpoints: Array): Promise; $unregisterBreakpoints(breakpointIds: string[], functionBreakpointIds: string[], dataBreakpointIds: string[]): Promise; $registerDebugVisualizer(extensionId: string, id: string): void; $unregisterDebugVisualizer(extensionId: string, id: string): void; $registerDebugVisualizerTree(treeId: string, canEdit: boolean): void; $unregisterDebugVisualizerTree(treeId: string): void; } export interface IOpenUriOptions { readonly allowTunneling?: boolean; readonly allowContributedOpeners?: boolean | string; } export interface MainThreadWindowShape extends IDisposable { $getInitialState(): Promise<{ isFocused: boolean; isActive: boolean; }>; $openUri(uri: UriComponents, uriString: string | undefined, options: IOpenUriOptions): Promise; $asExternalUri(uri: UriComponents, options: IOpenUriOptions): Promise; } export declare enum CandidatePortSource { None = 0, Process = 1, Output = 2, Hybrid = 3 } export interface PortAttributesSelector { portRange?: [ number, number ] | number; commandPattern?: RegExp; } export interface MainThreadTunnelServiceShape extends IDisposable { $openTunnel(tunnelOptions: TunnelOptions, source: string | undefined): Promise; $closeTunnel(remote: { host: string; port: number; }): Promise; $getTunnels(): Promise; $setTunnelProvider(features: TunnelProviderFeatures | undefined, enablePortsView: boolean): Promise; $hasTunnelProvider(): Promise; $setRemoteTunnelService(processId: number): Promise; $setCandidateFilter(): Promise; $onFoundNewCandidates(candidates: CandidatePort[]): Promise; $setCandidatePortSource(source: CandidatePortSource): Promise; $registerPortsAttributesProvider(selector: PortAttributesSelector, providerHandle: number): Promise; $unregisterPortsAttributesProvider(providerHandle: number): Promise; } export interface MainThreadTimelineShape extends IDisposable { $registerTimelineProvider(provider: TimelineProviderDescriptor): void; $unregisterTimelineProvider(source: string): void; $emitTimelineChangeEvent(e: TimelineChangeEvent | undefined): void; } export interface HoverWithId extends languages.Hover { /** * Id of the hover */ id: number; } export interface ICommandMetadataDto { /** * NOTE: Please use an ILocalizedString. string is in the type for backcompat for now. * A short summary of what the command does. This will be used in: * - API commands * - when showing keybindings that have no other UX * - when searching for commands in the Command Palette */ readonly description: ILocalizedString | string; readonly args?: ReadonlyArray<{ readonly name: string; readonly isOptional?: boolean; readonly description?: string; }>; readonly returns?: string; } export interface ICodeMapperRequestDto extends Dto { requestId: string; } export interface ExtHostCodeMapperShape { $mapCode(handle: number, request: ICodeMapperRequestDto, token: CancellationToken): Promise; } export interface ExtHostCommandsShape { $executeContributedCommand(id: string, ...args: any[]): Promise; $getContributedCommandMetadata(): Promise<{ [id: string]: string | ICommandMetadataDto; }>; } export interface ExtHostConfigurationShape { $initializeConfiguration(data: IConfigurationInitData): void; $acceptConfigurationChanged(data: IConfigurationInitData, change: IConfigurationChange): void; } export interface ExtHostDiagnosticsShape { $acceptMarkersChange(data: [ UriComponents, IMarkerData[] ][]): void; } export interface ExtHostDocumentContentProvidersShape { $provideTextDocumentContent(handle: number, uri: UriComponents): Promise; } export interface IModelAddedData { uri: UriComponents; versionId: number; lines: string[]; EOL: string; languageId: string; isDirty: boolean; encoding: string; } export interface ExtHostDocumentsShape { $acceptModelLanguageChanged(strURL: UriComponents, newLanguageId: string): void; $acceptModelSaved(strURL: UriComponents): void; $acceptDirtyStateChanged(strURL: UriComponents, isDirty: boolean): void; $acceptEncodingChanged(strURL: UriComponents, encoding: string): void; $acceptModelChanged(strURL: UriComponents, e: ISerializedModelContentChangedEvent, isDirty: boolean): void; } export interface ExtHostDocumentSaveParticipantShape { $participateInSave(resource: UriComponents, reason: SaveReason): Promise; } export interface ITextEditorAddData { id: string; documentUri: UriComponents; options: IResolvedTextEditorConfiguration; selections: ISelection[]; visibleRanges: IRange[]; editorPosition: EditorGroupColumn | undefined; } export interface ITextEditorPositionData { [id: string]: EditorGroupColumn; } export type ITextEditorChange = [ originalStartLineNumber: number, originalEndLineNumberExclusive: number, modifiedStartLineNumber: number, modifiedEndLineNumberExclusive: number ]; export interface ITextEditorDiffInformation { readonly documentVersion: number; readonly original: UriComponents | undefined; readonly modified: UriComponents; readonly changes: readonly ITextEditorChange[]; } export interface IEditorPropertiesChangeData { options: IResolvedTextEditorConfiguration | null; selections: ISelectionChangeEvent | null; visibleRanges: IRange[] | null; } export interface ISelectionChangeEvent { selections: Selection[]; source?: string; } export interface ExtHostEditorsShape { $acceptEditorPropertiesChanged(id: string, props: IEditorPropertiesChangeData): void; $acceptEditorPositionData(data: ITextEditorPositionData): void; $acceptEditorDiffInformation(id: string, diffInformation: ITextEditorDiffInformation[] | undefined): void; } export interface IDocumentsAndEditorsDelta { removedDocuments?: UriComponents[]; addedDocuments?: IModelAddedData[]; removedEditors?: string[]; addedEditors?: ITextEditorAddData[]; newActiveEditor?: string | null; } export interface ExtHostDocumentsAndEditorsShape { $acceptDocumentsAndEditorsDelta(delta: IDocumentsAndEditorsDelta): void; } export interface IDataTransferFileDTO { readonly id: string; readonly name: string; readonly uri?: UriComponents; } export interface DataTransferItemDTO { id: string; readonly asString: string; readonly fileData: IDataTransferFileDTO | undefined; readonly uriListData?: ReadonlyArray; } export interface DataTransferDTO { items: Array; } export interface CheckboxUpdate { treeItemHandle: string; newState: boolean; } export interface ExtHostTreeViewsShape { /** * To reduce what is sent on the wire: * w * x * y * z * * for [x,y] returns * [[1,z]], where the inner array is [original index, ...children] */ $getChildren(treeViewId: string, treeItemHandles?: string[]): Promise<(number | ITreeItem)[][] | undefined>; $handleDrop(destinationViewId: string, requestId: number, treeDataTransfer: DataTransferDTO, targetHandle: string | undefined, token: CancellationToken, operationUuid?: string, sourceViewId?: string, sourceTreeItemHandles?: string[]): Promise; $handleDrag(sourceViewId: string, sourceTreeItemHandles: string[], operationUuid: string, token: CancellationToken): Promise; $setExpanded(treeViewId: string, treeItemHandle: string, expanded: boolean): void; $setSelectionAndFocus(treeViewId: string, selectionHandles: string[], focusHandle: string): void; $setVisible(treeViewId: string, visible: boolean): void; $changeCheckboxState(treeViewId: string, checkboxUpdates: CheckboxUpdate[]): void; $hasResolve(treeViewId: string): Promise; $resolve(treeViewId: string, treeItemHandle: string, token: CancellationToken): Promise; } export interface ExtHostWorkspaceShape { $initializeWorkspace(workspace: IWorkspaceData | null, trusted: boolean): void; $acceptWorkspaceData(workspace: IWorkspaceData | null): void; $handleTextSearchResult(result: search.IRawFileMatch2, requestId: number): void; $onDidGrantWorkspaceTrust(): void; $onDidChangeWorkspaceTrustedFolders(): void; $getEditSessionIdentifier(folder: UriComponents, token: CancellationToken): Promise; $provideEditSessionIdentityMatch(folder: UriComponents, identity1: string, identity2: string, token: CancellationToken): Promise; $onWillCreateEditSessionIdentity(folder: UriComponents, token: CancellationToken, timeout: number): Promise; $provideCanonicalUri(uri: UriComponents, targetScheme: string, token: CancellationToken): Promise; } export interface ExtHostFileSystemInfoShape { $acceptProviderInfos(uri: UriComponents, capabilities: number | null): void; } export interface ExtHostFileSystemShape { $stat(handle: number, resource: UriComponents): Promise; $readdir(handle: number, resource: UriComponents): Promise<[ string, files.FileType ][]>; $readFile(handle: number, resource: UriComponents): Promise; $writeFile(handle: number, resource: UriComponents, content: VSBuffer, opts: files.IFileWriteOptions): Promise; $rename(handle: number, resource: UriComponents, target: UriComponents, opts: files.IFileOverwriteOptions): Promise; $copy(handle: number, resource: UriComponents, target: UriComponents, opts: files.IFileOverwriteOptions): Promise; $mkdir(handle: number, resource: UriComponents): Promise; $delete(handle: number, resource: UriComponents, opts: files.IFileDeleteOptions): Promise; $watch(handle: number, session: number, resource: UriComponents, opts: files.IWatchOptions): void; $unwatch(handle: number, session: number): void; $open(handle: number, resource: UriComponents, opts: files.IFileOpenOptions): Promise; $close(handle: number, fd: number): Promise; $read(handle: number, fd: number, pos: number, length: number): Promise; $write(handle: number, fd: number, pos: number, data: VSBuffer): Promise; } export interface ExtHostLabelServiceShape { $registerResourceLabelFormatter(formatter: ResourceLabelFormatter): IDisposable; } export interface ExtHostAuthenticationShape { $getSessions(id: string, scopes: string[] | undefined, options: IAuthenticationGetSessionsOptions): Promise>; $createSession(id: string, scopes: string[], options: IAuthenticationCreateSessionOptions): Promise; $getSessionsFromChallenges(id: string, constraint: IAuthenticationConstraint, options: IAuthenticationGetSessionsOptions): Promise>; $createSessionFromChallenges(id: string, constraint: IAuthenticationConstraint, options: IAuthenticationCreateSessionOptions): Promise; $removeSession(id: string, sessionId: string): Promise; $onDidChangeAuthenticationSessions(id: string, label: string, extensionIdFilter?: string[]): Promise; $onDidUnregisterAuthenticationProvider(id: string): Promise; $registerDynamicAuthProvider(authorizationServer: UriComponents, serverMetadata: IAuthorizationServerMetadata, resource?: IAuthorizationProtectedResourceMetadata, clientId?: string, clientSecret?: string, initialTokens?: (IAuthorizationTokenResponse & { created_at: number; })[]): Promise; $onDidChangeDynamicAuthProviderTokens(authProviderId: string, clientId: string, tokens?: (IAuthorizationTokenResponse & { created_at: number; })[]): Promise; } export interface ExtHostAiRelatedInformationShape { $provideAiRelatedInformation(handle: number, query: string, token: CancellationToken): Promise; } export interface MainThreadAiRelatedInformationShape { $getAiRelatedInformation(query: string, types: RelatedInformationType[]): Promise; $registerAiRelatedInformationProvider(handle: number, type: RelatedInformationType): void; $unregisterAiRelatedInformationProvider(handle: number): void; } export interface ExtHostAiSettingsSearchShape { $startSearch(handle: number, query: string, option: AiSettingsSearchProviderOptions, token: CancellationToken): Promise; } export interface MainThreadAiSettingsSearchShape { $registerAiSettingsSearchProvider(handle: number): void; $unregisterAiSettingsSearchProvider(handle: number): void; $handleSearchResult(handle: number, result: AiSettingsSearchResult): void; } export interface ExtHostAiEmbeddingVectorShape { $provideAiEmbeddingVector(handle: number, strings: string[], token: CancellationToken): Promise; } export interface MainThreadAiEmbeddingVectorShape { $registerAiEmbeddingVectorProvider(model: string, handle: number): void; $unregisterAiEmbeddingVectorProvider(handle: number): void; } export interface ExtHostSecretStateShape { $onDidChangePassword(e: { extensionId: string; key: string; }): Promise; } export interface ExtHostSearchShape { $enableExtensionHostSearch(): void; $getAIName(handle: number): Promise; $provideFileSearchResults(handle: number, session: number, query: search.IRawQuery, token: CancellationToken): Promise; $provideAITextSearchResults(handle: number, session: number, query: search.IRawAITextQuery, token: CancellationToken): Promise; $provideTextSearchResults(handle: number, session: number, query: search.IRawTextQuery, token: CancellationToken): Promise; $clearCache(cacheKey: string): Promise; } export interface ExtHostExtensionServiceShape { $resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise>; /** * Returns `null` if no resolver for `remoteAuthority` is found. */ $getCanonicalURI(remoteAuthority: string, uri: UriComponents): Promise; $startExtensionHost(extensionsDelta: IExtensionDescriptionDelta): Promise; $extensionTestsExecute(): Promise; $activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise; $activate(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise; $setRemoteEnvironment(env: { [key: string]: string | null; }): Promise; $updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise; $deltaExtensions(extensionsDelta: IExtensionDescriptionDelta): Promise; $test_latency(n: number): Promise; $test_up(b: VSBuffer): Promise; $test_down(size: number): Promise; } export interface FileSystemEvents { session?: number; created: UriComponents[]; changed: UriComponents[]; deleted: UriComponents[]; } export interface SourceTargetPair { source?: UriComponents; target: UriComponents; } export interface IWillRunFileOperationParticipation { edit: IWorkspaceEditDto; extensionNames: string[]; } export interface ExtHostFileSystemEventServiceShape { $onFileEvent(events: FileSystemEvents): void; $onWillRunFileOperation(operation: files.FileOperation, files: readonly SourceTargetPair[], timeout: number, token: CancellationToken): Promise; $onDidRunFileOperation(operation: files.FileOperation, files: readonly SourceTargetPair[]): void; } export interface ExtHostLanguagesShape { $acceptLanguageIds(ids: string[]): void; } export interface ExtHostHeapServiceShape { $onGarbageCollection(ids: number[]): void; } export interface IRawColorInfo { color: [ number, number, number, number ]; range: IRange; } export declare class IdObject { _id?: number; private static _n; static mixin(object: T): T & IdObject; } export declare enum ISuggestDataDtoField { label = "a", kind = "b", detail = "c", documentation = "d", sortText = "e", filterText = "f", preselect = "g", insertText = "h", insertTextRules = "i", range = "j", commitCharacters = "k", additionalTextEdits = "l", kindModifier = "m", commandIdent = "n", commandId = "o", commandArguments = "p" } export interface ISuggestDataDto { [ISuggestDataDtoField.label]: string | languages.CompletionItemLabel; [ISuggestDataDtoField.kind]?: languages.CompletionItemKind; [ISuggestDataDtoField.detail]?: string; [ISuggestDataDtoField.documentation]?: string | IMarkdownString; [ISuggestDataDtoField.sortText]?: string; [ISuggestDataDtoField.filterText]?: string; [ISuggestDataDtoField.preselect]?: true; [ISuggestDataDtoField.insertText]?: string; [ISuggestDataDtoField.insertTextRules]?: languages.CompletionItemInsertTextRule; [ISuggestDataDtoField.range]?: IRange | { insert: IRange; replace: IRange; }; [ISuggestDataDtoField.commitCharacters]?: string; [ISuggestDataDtoField.additionalTextEdits]?: ISingleEditOperation[]; [ISuggestDataDtoField.kindModifier]?: languages.CompletionItemTag[]; [ISuggestDataDtoField.commandIdent]?: string; [ISuggestDataDtoField.commandId]?: string; [ISuggestDataDtoField.commandArguments]?: any[]; x?: ChainedCacheId; } export declare enum ISuggestResultDtoField { defaultRanges = "a", completions = "b", isIncomplete = "c", duration = "d" } export interface ISuggestResultDto { [ISuggestResultDtoField.defaultRanges]: { insert: IRange; replace: IRange; }; [ISuggestResultDtoField.completions]: ISuggestDataDto[]; [ISuggestResultDtoField.isIncomplete]: undefined | true; [ISuggestResultDtoField.duration]: number; x?: number; } export interface ISignatureHelpDto { id: CacheId; signatures: languages.SignatureInformation[]; activeSignature: number; activeParameter: number; } export interface ISignatureHelpContextDto { readonly triggerKind: languages.SignatureHelpTriggerKind; readonly triggerCharacter: string | undefined; readonly isRetrigger: boolean; readonly activeSignatureHelp: ISignatureHelpDto | undefined; } export type IInlayHintDto = CachedSessionItem>; export type IInlayHintsDto = CachedSession<{ hints: IInlayHintDto[]; }>; export type ILocationDto = Dto; export type ILocationLinkDto = Dto; export type IWorkspaceSymbolDto = CachedSessionItem>; export type IWorkspaceSymbolsDto = CachedSession<{ symbols: IWorkspaceSymbolDto[]; }>; export interface IWorkspaceEditEntryMetadataDto { needsConfirmation: boolean; label: string; description?: string; iconPath?: IconPathDto; } export interface IChatNotebookEditDto { uri: UriComponents; edits: ICellEditOperationDto[]; kind: "notebookEdit"; done?: boolean; } export interface IChatResponseClearToPreviousToolInvocationDto { kind: "clearToPreviousToolInvocation"; reason: ChatResponseClearToPreviousToolInvocationReason; } export interface IChatBeginToolInvocationDto { kind: "beginToolInvocation"; toolCallId: string; toolName: string; streamData?: { partialInput?: unknown; }; subagentInvocationId?: string; } export interface IChatUpdateToolInvocationDto { kind: "updateToolInvocation"; toolCallId: string; streamData: { partialInput?: unknown; }; } export interface IChatUsageDto { kind: "usage"; promptTokens: number; completionTokens: number; promptTokenDetails?: readonly { category: string; label: string; percentageOfPrompt: number; }[]; } export type ICellEditOperationDto = notebookCommon.ICellMetadataEdit | notebookCommon.IDocumentMetadataEdit | { editType: notebookCommon.CellEditType.Replace; index: number; count: number; cells: NotebookCellDataDto[]; }; export type IWorkspaceCellEditDto = Dto> & { cellEdit: ICellEditOperationDto; }; export type IWorkspaceFileEditDto = Dto & { options?: Omit & { contents?: { type: "base64"; value: string; } | { type: "dataTransferItem"; id: string; }; }; }>; export type IWorkspaceTextEditDto = Dto; export interface IWorkspaceEditDto { edits: Array; } export type ICommandDto = { $ident?: string; } & languages.Command; export interface ICodeActionDto { cacheId?: ChainedCacheId; title: string; edit?: IWorkspaceEditDto; diagnostics?: Dto; command?: ICommandDto; kind?: string; isPreferred?: boolean; isAI?: boolean; disabled?: string; ranges?: IRange[]; } export interface ICodeActionListDto { cacheId: CacheId; actions: ReadonlyArray; } export interface ICodeActionProviderMetadataDto { readonly providedKinds?: readonly string[]; readonly documentation?: ReadonlyArray<{ readonly kind: string; readonly command: ICommandDto; }>; } export type CacheId = number; export type ChainedCacheId = [ CacheId, CacheId ]; type CachedSessionItem = T & { cacheId?: ChainedCacheId; }; type CachedSession = T & { cacheId?: CacheId; }; export type ILinksListDto = CachedSession<{ links: ILinkDto[]; }>; export type ILinkDto = CachedSessionItem>; export type ICodeLensListDto = CachedSession<{ lenses: ICodeLensDto[]; }>; export type ICodeLensDto = CachedSessionItem>; export type ICallHierarchyItemDto = Dto; export interface IIncomingCallDto { from: ICallHierarchyItemDto; fromRanges: IRange[]; } export interface IOutgoingCallDto { fromRanges: IRange[]; to: ICallHierarchyItemDto; } export interface ILanguageWordDefinitionDto { languageId: string; regexSource: string; regexFlags: string; } export interface ILinkedEditingRangesDto { ranges: IRange[]; wordPattern?: IRegExpDto; } export interface IInlineValueContextDto { frameId: number; stoppedLocation: IRange; } export type ITypeHierarchyItemDto = Dto; export interface IPasteEditProviderMetadataDto { readonly supportsCopy: boolean; readonly supportsPaste: boolean; readonly supportsResolve: boolean; readonly providedPasteEditKinds?: readonly string[]; readonly copyMimeTypes?: readonly string[]; readonly pasteMimeTypes?: readonly string[]; } export interface IDocumentPasteContextDto { readonly only: string | undefined; readonly triggerKind: languages.DocumentPasteTriggerKind; } export interface IPasteEditDto { _cacheId?: ChainedCacheId; title: string; kind: { value: string; } | undefined; insertText: string | { snippet: string; }; additionalEdit?: IWorkspaceEditDto; yieldTo?: readonly string[]; } export interface IDocumentDropEditProviderMetadata { readonly supportsResolve: boolean; readonly dropMimeTypes: readonly string[]; readonly providedDropKinds?: readonly string[]; } export interface IDocumentDropEditDto { _cacheId?: ChainedCacheId; title: string; kind: string | undefined; insertText: string | { snippet: string; }; additionalEdit?: IWorkspaceEditDto; yieldTo?: readonly string[]; } export interface ExtHostLanguageFeaturesShape { $provideDocumentSymbols(handle: number, resource: UriComponents, token: CancellationToken): Promise; $provideCodeLenses(handle: number, resource: UriComponents, token: CancellationToken): Promise; $resolveCodeLens(handle: number, symbol: ICodeLensDto, token: CancellationToken): Promise; $releaseCodeLenses(handle: number, id: number): void; $provideDefinition(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideDeclaration(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideImplementation(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideTypeDefinition(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideHover(handle: number, resource: UriComponents, position: IPosition, context: languages.HoverContext<{ id: number; }> | undefined, token: CancellationToken): Promise; $releaseHover(handle: number, id: number): void; $provideEvaluatableExpression(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideInlineValues(handle: number, resource: UriComponents, range: IRange, context: languages.InlineValueContext, token: CancellationToken): Promise; $provideDocumentHighlights(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideMultiDocumentHighlights(handle: number, resource: UriComponents, position: IPosition, otherModels: UriComponents[], token: CancellationToken): Promise | undefined>; $provideLinkedEditingRanges(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideReferences(handle: number, resource: UriComponents, position: IPosition, context: languages.ReferenceContext, token: CancellationToken): Promise; $provideCodeActions(handle: number, resource: UriComponents, rangeOrSelection: IRange | ISelection, context: languages.CodeActionContext, token: CancellationToken): Promise; $resolveCodeAction(handle: number, id: ChainedCacheId, token: CancellationToken): Promise<{ edit?: IWorkspaceEditDto; command?: ICommandDto; }>; $releaseCodeActions(handle: number, cacheId: number): void; $prepareDocumentPaste(handle: number, uri: UriComponents, ranges: readonly IRange[], dataTransfer: DataTransferDTO, token: CancellationToken): Promise; $providePasteEdits(handle: number, requestId: number, uri: UriComponents, ranges: IRange[], dataTransfer: DataTransferDTO, context: IDocumentPasteContextDto, token: CancellationToken): Promise; $resolvePasteEdit(handle: number, id: ChainedCacheId, token: CancellationToken): Promise<{ insertText?: string; additionalEdit?: IWorkspaceEditDto; }>; $releasePasteEdits(handle: number, cacheId: number): void; $provideDocumentFormattingEdits(handle: number, resource: UriComponents, options: languages.FormattingOptions, token: CancellationToken): Promise; $provideDocumentRangeFormattingEdits(handle: number, resource: UriComponents, range: IRange, options: languages.FormattingOptions, token: CancellationToken): Promise; $provideDocumentRangesFormattingEdits(handle: number, resource: UriComponents, range: IRange[], options: languages.FormattingOptions, token: CancellationToken): Promise; $provideOnTypeFormattingEdits(handle: number, resource: UriComponents, position: IPosition, ch: string, options: languages.FormattingOptions, token: CancellationToken): Promise; $provideWorkspaceSymbols(handle: number, search: string, token: CancellationToken): Promise; $resolveWorkspaceSymbol(handle: number, symbol: IWorkspaceSymbolDto, token: CancellationToken): Promise; $releaseWorkspaceSymbols(handle: number, id: number): void; $provideRenameEdits(handle: number, resource: UriComponents, position: IPosition, newName: string, token: CancellationToken): Promise; $resolveRenameLocation(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $supportsAutomaticNewSymbolNamesTriggerKind(handle: number): Promise; $provideNewSymbolNames(handle: number, resource: UriComponents, range: IRange, triggerKind: languages.NewSymbolNameTriggerKind, token: CancellationToken): Promise; $provideDocumentSemanticTokens(handle: number, resource: UriComponents, previousResultId: number, token: CancellationToken): Promise; $releaseDocumentSemanticTokens(handle: number, semanticColoringResultId: number): void; $provideDocumentRangeSemanticTokens(handle: number, resource: UriComponents, range: IRange, token: CancellationToken): Promise; $provideCompletionItems(handle: number, resource: UriComponents, position: IPosition, context: languages.CompletionContext, token: CancellationToken): Promise; $resolveCompletionItem(handle: number, id: ChainedCacheId, token: CancellationToken): Promise; $releaseCompletionItems(handle: number, id: number): void; $provideInlineCompletions(handle: number, resource: UriComponents, position: IPosition, context: languages.InlineCompletionContext, token: CancellationToken): Promise; $handleInlineCompletionDidShow(handle: number, pid: number, idx: number, updatedInsertText: string): void; $handleInlineCompletionPartialAccept(handle: number, pid: number, idx: number, acceptedCharacters: number, info: languages.PartialAcceptInfo): void; $handleInlineCompletionEndOfLifetime(handle: number, pid: number, idx: number, reason: languages.InlineCompletionEndOfLifeReason<{ pid: number; idx: number; }>): void; $handleInlineCompletionRejection(handle: number, pid: number, idx: number): void; $freeInlineCompletionsList(handle: number, pid: number, reason: languages.InlineCompletionsDisposeReason): void; $acceptInlineCompletionsUnificationState(state: IInlineCompletionsUnificationState): void; $handleInlineCompletionSetCurrentModelId(handle: number, modelId: string): void; $handleInlineCompletionSetProviderOption(handle: number, optionId: string, valueId: string): void; $provideSignatureHelp(handle: number, resource: UriComponents, position: IPosition, context: languages.SignatureHelpContext, token: CancellationToken): Promise; $releaseSignatureHelp(handle: number, id: number): void; $provideInlayHints(handle: number, resource: UriComponents, range: IRange, token: CancellationToken): Promise; $resolveInlayHint(handle: number, id: ChainedCacheId, token: CancellationToken): Promise; $releaseInlayHints(handle: number, id: number): void; $provideDocumentLinks(handle: number, resource: UriComponents, token: CancellationToken): Promise; $resolveDocumentLink(handle: number, id: ChainedCacheId, token: CancellationToken): Promise; $releaseDocumentLinks(handle: number, id: number): void; $provideDocumentColors(handle: number, resource: UriComponents, token: CancellationToken): Promise; $provideColorPresentations(handle: number, resource: UriComponents, colorInfo: IRawColorInfo, token: CancellationToken): Promise; $provideFoldingRanges(handle: number, resource: UriComponents, context: languages.FoldingContext, token: CancellationToken): Promise; $provideSelectionRanges(handle: number, resource: UriComponents, positions: IPosition[], token: CancellationToken): Promise; $prepareCallHierarchy(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideCallHierarchyIncomingCalls(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise; $provideCallHierarchyOutgoingCalls(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise; $releaseCallHierarchy(handle: number, sessionId: string): void; $setWordDefinitions(wordDefinitions: ILanguageWordDefinitionDto[]): void; $prepareTypeHierarchy(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise; $provideTypeHierarchySupertypes(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise; $provideTypeHierarchySubtypes(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise; $releaseTypeHierarchy(handle: number, sessionId: string): void; $provideDocumentOnDropEdits(handle: number, requestId: number, resource: UriComponents, position: IPosition, dataTransferDto: DataTransferDTO, token: CancellationToken): Promise; $releaseDocumentOnDropEdits(handle: number, cacheId: number): void; } export interface ExtHostQuickOpenShape { $onItemSelected(handle: number): void; $validateInput(input: string): Promise; $onDidChangeActive(sessionId: number, handles: number[]): void; $onDidChangeSelection(sessionId: number, handles: number[]): void; $onDidAccept(sessionId: number): void; $onDidChangeValue(sessionId: number, value: string): void; $onDidTriggerButton(sessionId: number, handle: number, checked?: boolean): void; $onDidTriggerItemButton(sessionId: number, itemHandle: number, buttonHandle: number, checked?: boolean): void; $onDidHide(sessionId: number): void; } export interface ExtHostTelemetryShape { $initializeTelemetryLevel(level: TelemetryLevel, supportsTelemetry: boolean, productConfig?: { usage: boolean; error: boolean; }): void; $onDidChangeTelemetryLevel(level: TelemetryLevel): void; } export interface MainThreadMeteredConnectionShape extends IDisposable { } export interface ExtHostMeteredConnectionShape { $initializeIsConnectionMetered(isMetered: boolean): void; $onDidChangeIsConnectionMetered(isMetered: boolean): void; } export interface ITerminalLinkDto { /** The ID of the link to enable activation and disposal. */ id: number; /** The startIndex of the link in the line. */ startIndex: number; /** The length of the link in the line. */ length: number; /** The descriptive label for what the link does when activated. */ label?: string; } export interface ITerminalDimensionsDto { columns: number; rows: number; } type SingleOrMany = T[] | T; export interface ITerminalQuickFixTerminalCommandDto { terminalCommand: string; shouldExecute?: boolean; } export interface ITerminalQuickFixOpenerDto { uri: UriComponents; } export type TerminalQuickFix = ITerminalQuickFixTerminalCommandDto | ITerminalQuickFixOpenerDto | ICommandDto; export interface TerminalCommandMatchResultDto { commandLine: string; commandLineMatch: RegExpMatchArray; outputMatch?: { regexMatch: RegExpMatchArray; outputLines: string[]; }; } export interface ITerminalCommandDto { commandLine: string | undefined; cwd: URI | string | undefined; exitCode: number | undefined; output: string | undefined; } export interface ITerminalCompletionContextDto { commandLine: string; cursorIndex: number; } export interface ITerminalCompletionItemDto { label: string | CompletionItemLabel; detail?: string; documentation?: string | IMarkdownString; icon?: ThemeIcon | undefined; kind?: number | undefined; isFile?: boolean | undefined; isDirectory?: boolean | undefined; isKeyword?: boolean | undefined; replacementRange: readonly [ number, number ]; } export interface ITerminalCompletionProvider { id: string; shellTypes?: TerminalShellType[]; provideCompletions(value: string, cursorPosition: number, token: CancellationToken): Promise | undefined>; triggerCharacters?: string[]; isBuiltin?: boolean; } /** * Represents a collection of {@link CompletionItem completion items} to be presented * in the editor. */ export declare class TerminalCompletionListDto { /** * Resources should be shown in the completions list */ resourceOptions?: TerminalCompletionResourceOptionsDto; /** * The completion items. */ items: T[]; /** * Creates a new completion list. * * @param items The completion items. * @param isIncomplete The list is not complete. */ constructor(items?: T[], resourceOptions?: TerminalCompletionResourceOptionsDto); } export interface TerminalCompletionResourceOptionsDto { showFiles?: boolean; showDirectories?: boolean; globPattern?: string | IRelativePattern; cwd: UriComponents; pathSeparator: string; } export interface ExtHostTerminalServiceShape { $acceptTerminalClosed(id: number, exitCode: number | undefined, exitReason: TerminalExitReason): void; $acceptTerminalOpened(id: number, extHostTerminalId: string | undefined, name: string, shellLaunchConfig: IShellLaunchConfigDto): void; $acceptActiveTerminalChanged(id: number | null): void; $acceptTerminalProcessId(id: number, processId: number): void; $acceptTerminalProcessData(id: number, data: string): void; $acceptDidExecuteCommand(id: number, command: ITerminalCommandDto): void; $acceptTerminalTitleChange(id: number, name: string): void; $acceptTerminalDimensions(id: number, cols: number, rows: number): void; $acceptTerminalMaximumDimensions(id: number, cols: number, rows: number): void; $acceptTerminalInteraction(id: number): void; $acceptTerminalSelection(id: number, selection: string | undefined): void; $acceptTerminalShellType(id: number, shellType: TerminalShellType | undefined): void; $startExtensionTerminal(id: number, initialDimensions: ITerminalDimensionsDto | undefined): Promise; $acceptProcessAckDataEvent(id: number, charCount: number): void; $acceptProcessInput(id: number, data: string): void; $acceptProcessResize(id: number, cols: number, rows: number): void; $acceptProcessShutdown(id: number, immediate: boolean): void; $acceptProcessRequestInitialCwd(id: number): void; $acceptProcessRequestCwd(id: number): void; $acceptProcessRequestLatency(id: number): Promise; $provideLinks(id: number, line: string): Promise; $activateLink(id: number, linkId: number): void; $initEnvironmentVariableCollections(collections: [ string, ISerializableEnvironmentVariableCollection ][]): void; $acceptDefaultProfile(profile: ITerminalProfile, automationProfile: ITerminalProfile): void; $createContributedProfileTerminal(id: string, options: ICreateContributedTerminalProfileOptions): Promise; $provideTerminalQuickFixes(id: string, matchResult: TerminalCommandMatchResultDto, token: CancellationToken): Promise | undefined>; $provideTerminalCompletions(id: string, options: ITerminalCompletionContextDto, token: CancellationToken): Promise; } export interface ExtHostTerminalShellIntegrationShape { $shellIntegrationChange(instanceId: number, supportsExecuteCommandApi: boolean): void; $shellExecutionStart(instanceId: number, supportsExecuteCommandApi: boolean, commandLineValue: string, commandLineConfidence: TerminalShellExecutionCommandLineConfidence, isTrusted: boolean, cwd: string | undefined): void; $shellExecutionEnd(instanceId: number, commandLineValue: string, commandLineConfidence: TerminalShellExecutionCommandLineConfidence, isTrusted: boolean, exitCode: number | undefined): void; $shellExecutionData(instanceId: number, data: string): void; $shellEnvChange(instanceId: number, shellEnvKeys: string[], shellEnvValues: string[], isTrusted: boolean): void; $cwdChange(instanceId: number, cwd: string | undefined): void; $closeTerminal(instanceId: number): void; } export interface ExtHostSCMShape { $provideOriginalResource(sourceControlHandle: number, uri: UriComponents, token: CancellationToken): Promise; $provideSecondaryOriginalResource(sourceControlHandle: number, uri: UriComponents, token: CancellationToken): Promise; $onInputBoxValueChange(sourceControlHandle: number, value: string): void; $executeResourceCommand(sourceControlHandle: number, groupHandle: number, handle: number, preserveFocus: boolean): Promise; $validateInput(sourceControlHandle: number, value: string, cursorPosition: number): Promise<[ string | IMarkdownString, number ] | undefined>; $setSelectedSourceControl(selectedSourceControlHandle: number | undefined): Promise; $provideHistoryItemRefs(sourceControlHandle: number, historyItemRefs: string[] | undefined, token: CancellationToken): Promise; $provideHistoryItems(sourceControlHandle: number, options: ISCMHistoryOptions, token: CancellationToken): Promise; $provideHistoryItemChanges(sourceControlHandle: number, historyItemId: string, historyItemParentId: string | undefined, token: CancellationToken): Promise; $resolveHistoryItem(sourceControlHandle: number, historyItemId: string, token: CancellationToken): Promise; $resolveHistoryItemChatContext(sourceControlHandle: number, historyItemId: string, token: CancellationToken): Promise; $resolveHistoryItemChangeRangeChatContext(sourceControlHandle: number, historyItemId: string, historyItemParentId: string, path: string, token: CancellationToken): Promise; $resolveHistoryItemRefsCommonAncestor(sourceControlHandle: number, historyItemRefs: string[], token: CancellationToken): Promise; $provideArtifactGroups(sourceControlHandle: number, token: CancellationToken): Promise; $provideArtifacts(sourceControlHandle: number, group: string, token: CancellationToken): Promise; } export interface ExtHostQuickDiffShape { $provideOriginalResource(sourceControlHandle: number, uri: UriComponents, token: CancellationToken): Promise; } export interface ExtHostShareShape { $provideShare(handle: number, shareableItem: IShareableItemDto, token: CancellationToken): Promise; } export interface ExtHostTaskShape { $provideTasks(handle: number, validTypes: { [key: string]: boolean; }): Promise; $resolveTask(handle: number, taskDTO: tasks.ITaskDTO): Promise; $onDidStartTask(execution: tasks.ITaskExecutionDTO, terminalId: number, resolvedDefinition: tasks.ITaskDefinitionDTO): void; $onDidStartTaskProcess(value: tasks.ITaskProcessStartedDTO): void; $onDidEndTaskProcess(value: tasks.ITaskProcessEndedDTO): void; $OnDidEndTask(execution: tasks.ITaskExecutionDTO): void; $onDidStartTaskProblemMatchers(status: tasks.ITaskProblemMatcherStartedDto): void; $onDidEndTaskProblemMatchers(status: tasks.ITaskProblemMatcherEndedDto): void; $resolveVariables(workspaceFolder: UriComponents, toResolve: { process?: { name: string; cwd?: string; }; variables: string[]; }): Promise<{ process?: string; variables: { [key: string]: string; }; }>; $jsonTasksSupported(): Promise; $findExecutable(command: string, cwd?: string, paths?: string[]): Promise; } export interface IBreakpointDto { type: string; id?: string; enabled: boolean; condition?: string; hitCondition?: string; logMessage?: string; mode?: string; } export interface IFunctionBreakpointDto extends IBreakpointDto { type: "function"; functionName: string; mode?: string; } export interface IDataBreakpointDto extends IBreakpointDto { type: "data"; dataId: string; canPersist: boolean; label: string; accessTypes?: DebugProtocol.DataBreakpointAccessType[]; accessType: DebugProtocol.DataBreakpointAccessType; mode?: string; } export interface ISourceBreakpointDto extends IBreakpointDto { type: "source"; uri: UriComponents; line: number; character: number; } export interface IBreakpointsDeltaDto { added?: Array; removed?: string[]; changed?: Array; } export interface ISourceMultiBreakpointDto { type: "sourceMulti"; uri: UriComponents; lines: { id: string; enabled: boolean; condition?: string; hitCondition?: string; logMessage?: string; line: number; character: number; mode?: string; }[]; } export interface IDebugSessionFullDto { id: DebugSessionUUID; type: string; name: string; parent: DebugSessionUUID | undefined; folderUri: UriComponents | undefined; configuration: IConfig; } export type IDebugSessionDto = IDebugSessionFullDto | DebugSessionUUID; export interface IThreadFocusDto { kind: "thread"; sessionId: string; threadId: number; } export interface IStackFrameFocusDto { kind: "stackFrame"; sessionId: string; threadId: number; frameId: number; } export interface ExtHostDebugServiceShape { $substituteVariables(folder: UriComponents | undefined, config: IConfig): Promise; $runInTerminal(args: DebugProtocol.RunInTerminalRequestArguments, sessionId: string): Promise; $startDASession(handle: number, session: IDebugSessionDto): Promise; $stopDASession(handle: number): Promise; $sendDAMessage(handle: number, message: DebugProtocol.ProtocolMessage): void; $resolveDebugConfiguration(handle: number, folder: UriComponents | undefined, debugConfiguration: IConfig, token: CancellationToken): Promise; $resolveDebugConfigurationWithSubstitutedVariables(handle: number, folder: UriComponents | undefined, debugConfiguration: IConfig, token: CancellationToken): Promise; $provideDebugConfigurations(handle: number, folder: UriComponents | undefined, token: CancellationToken): Promise; $provideDebugAdapter(handle: number, session: IDebugSessionDto): Promise>; $acceptDebugSessionStarted(session: IDebugSessionDto): void; $acceptDebugSessionTerminated(session: IDebugSessionDto): void; $acceptDebugSessionActiveChanged(session: IDebugSessionDto | undefined): void; $acceptDebugSessionCustomEvent(session: IDebugSessionDto, event: any): void; $acceptBreakpointsDelta(delta: IBreakpointsDeltaDto): void; $acceptDebugSessionNameChanged(session: IDebugSessionDto, name: string): void; $acceptStackFrameFocus(focus: IThreadFocusDto | IStackFrameFocusDto | undefined): void; $provideDebugVisualizers(extensionId: string, id: string, context: IDebugVisualizationContext, token: CancellationToken): Promise; $resolveDebugVisualizer(id: number, token: CancellationToken): Promise; $executeDebugVisualizerCommand(id: number): Promise; $disposeDebugVisualizers(ids: number[]): void; $getVisualizerTreeItem(treeId: string, element: IDebugVisualizationContext): Promise; $getVisualizerTreeItemChildren(treeId: string, element: number): Promise; $editVisualizerTreeItem(element: number, value: string): Promise; $disposeVisualizedTree(element: number): void; } export interface DecorationRequest { readonly id: number; readonly uri: UriComponents; } export type DecorationData = [ boolean, string, string | ThemeIcon, ThemeColor ]; export type DecorationReply = { [id: number]: DecorationData; }; export interface ExtHostDecorationsShape { $provideDecorations(handle: number, requests: DecorationRequest[], token: CancellationToken): Promise; } export interface ExtHostWindowShape { $onDidChangeWindowFocus(value: boolean): void; $onDidChangeWindowActive(value: boolean): void; $onDidChangeActiveNativeWindowHandle(handle: string | undefined): void; } export type PowerSystemIdleState = "active" | "idle" | "locked" | "unknown"; export type PowerThermalState = "unknown" | "nominal" | "fair" | "serious" | "critical"; export type PowerSaveBlockerType = "prevent-app-suspension" | "prevent-display-sleep"; export interface MainThreadPowerShape extends IDisposable { $getSystemIdleState(idleThreshold: number): Promise; $getSystemIdleTime(): Promise; $getCurrentThermalState(): Promise; $isOnBatteryPower(): Promise; $startPowerSaveBlocker(type: PowerSaveBlockerType): Promise; $stopPowerSaveBlocker(id: number): Promise; $isPowerSaveBlockerStarted(id: number): Promise; } export interface ExtHostPowerShape { $onDidSuspend(): void; $onDidResume(): void; $onDidChangeOnBatteryPower(isOnBattery: boolean): void; $onDidChangeThermalState(state: PowerThermalState): void; $onDidChangeSpeedLimit(limit: number): void; $onWillShutdown(): void; $onDidLockScreen(): void; $onDidUnlockScreen(): void; } export interface ExtHostLogLevelServiceShape { $setLogLevel(level: LogLevel, resource?: UriComponents): void; } export interface MainThreadLoggerShape { $log(file: UriComponents, messages: [ LogLevel, string ][]): void; $flush(file: UriComponents): void; $createLogger(file: UriComponents, options?: ILoggerOptions): Promise; $registerLogger(logger: UriDto): Promise; $deregisterLogger(resource: UriComponents): Promise; $setVisibility(resource: UriComponents, visible: boolean): Promise; } export interface ExtHostOutputServiceShape { $setVisibleChannel(channelId: string | null): void; } export interface ExtHostProgressShape { $acceptProgressCanceled(handle: number): void; } export interface ExtHostCommentsShape { $createCommentThreadTemplate(commentControllerHandle: number, uriComponents: UriComponents, range: IRange | undefined, editorId?: string): Promise; $updateCommentThreadTemplate(commentControllerHandle: number, threadHandle: number, range: IRange): Promise; $updateCommentThread(commentControllerHandle: number, threadHandle: number, changes: CommentThreadChanges): Promise; $deleteCommentThread(commentControllerHandle: number, commentThreadHandle: number): void; $provideCommentingRanges(commentControllerHandle: number, uriComponents: UriComponents, token: CancellationToken): Promise<{ ranges: IRange[]; fileComments: boolean; } | undefined>; $toggleReaction(commentControllerHandle: number, threadHandle: number, uri: UriComponents, comment: languages.Comment, reaction: languages.CommentReaction): Promise; $setActiveComment(controllerHandle: number, commentInfo: { commentThreadHandle: number; uniqueIdInThread?: number; } | undefined): Promise; } export interface INotebookSelectionChangeEvent { selections: ICellRange[]; } export interface INotebookVisibleRangesEvent { ranges: ICellRange[]; } export interface INotebookEditorPropertiesChangeData { visibleRanges?: INotebookVisibleRangesEvent; selections?: INotebookSelectionChangeEvent; } export interface INotebookDocumentPropertiesChangeData { metadata?: notebookCommon.NotebookDocumentMetadata; } export interface INotebookModelAddedData { uri: UriComponents; versionId: number; cells: NotebookCellDto[]; viewType: string; metadata?: notebookCommon.NotebookDocumentMetadata; } export interface INotebookEditorAddData { id: string; documentUri: UriComponents; selections: ICellRange[]; visibleRanges: ICellRange[]; viewColumn?: number; viewType: string; } export interface INotebookDocumentsAndEditorsDelta { removedDocuments?: UriComponents[]; addedDocuments?: INotebookModelAddedData[]; removedEditors?: string[]; addedEditors?: INotebookEditorAddData[]; newActiveEditor?: string | null; visibleEditors?: string[]; } export interface NotebookOutputItemDto { readonly mime: string; readonly valueBytes: VSBuffer; } export interface NotebookOutputDto { items: NotebookOutputItemDto[]; outputId: string; metadata?: Record; } export interface NotebookCellDataDto { source: string; language: string; mime: string | undefined; cellKind: notebookCommon.CellKind; outputs: NotebookOutputDto[]; metadata?: notebookCommon.NotebookCellMetadata; internalMetadata?: notebookCommon.NotebookCellInternalMetadata; } export interface NotebookDataDto { readonly cells: NotebookCellDataDto[]; readonly metadata: notebookCommon.NotebookDocumentMetadata; } export interface NotebookCellDto { handle: number; uri: UriComponents; eol: string; source: string[]; language: string; mime?: string; cellKind: notebookCommon.CellKind; outputs: NotebookOutputDto[]; metadata?: notebookCommon.NotebookCellMetadata; internalMetadata?: notebookCommon.NotebookCellInternalMetadata; } export type INotebookPartialFileStatsWithMetadata = Omit; export interface ExtHostNotebookShape extends ExtHostNotebookDocumentsAndEditorsShape { $provideNotebookCellStatusBarItems(handle: number, uri: UriComponents, index: number, token: CancellationToken): Promise; $releaseNotebookCellStatusBarItems(id: number): void; $dataToNotebook(handle: number, data: VSBuffer, token: CancellationToken): Promise>; $notebookToData(handle: number, data: SerializableObjectWithBuffers, token: CancellationToken): Promise; $saveNotebook(handle: number, uri: UriComponents, versionId: number, options: files.IWriteFileOptions, token: CancellationToken): Promise; $searchInNotebooks(handle: number, textQuery: search.ITextQuery, viewTypeFileTargets: NotebookPriorityInfo[], otherViewTypeFileTargets: NotebookPriorityInfo[], token: CancellationToken): Promise<{ results: IRawClosedNotebookFileMatch[]; limitHit: boolean; }>; } export interface ExtHostNotebookDocumentSaveParticipantShape { $participateInSave(resource: UriComponents, reason: SaveReason, token: CancellationToken): Promise; } export interface ExtHostNotebookRenderersShape { $postRendererMessage(editorId: string, rendererId: string, message: unknown): void; } export interface ExtHostNotebookDocumentsAndEditorsShape { $acceptDocumentAndEditorsDelta(delta: SerializableObjectWithBuffers): void; } export type NotebookRawContentEventDto = { readonly kind: notebookCommon.NotebookCellsChangeType.ModelChange; readonly changes: notebookCommon.NotebookCellTextModelSplice[]; } | { readonly kind: notebookCommon.NotebookCellsChangeType.Move; readonly index: number; readonly length: number; readonly newIdx: number; } | { readonly kind: notebookCommon.NotebookCellsChangeType.Output; readonly index: number; readonly outputs: NotebookOutputDto[]; } | { readonly kind: notebookCommon.NotebookCellsChangeType.OutputItem; readonly index: number; readonly outputId: string; readonly outputItems: NotebookOutputItemDto[]; readonly append: boolean; } | notebookCommon.NotebookCellsChangeLanguageEvent | notebookCommon.NotebookCellsChangeMimeEvent | notebookCommon.NotebookCellsChangeMetadataEvent | notebookCommon.NotebookCellsChangeInternalMetadataEvent | notebookCommon.NotebookCellContentChangeEvent; export type NotebookCellsChangedEventDto = { readonly rawEvents: NotebookRawContentEventDto[]; readonly versionId: number; }; export interface ExtHostNotebookDocumentsShape { $acceptModelChanged(uriComponents: UriComponents, event: SerializableObjectWithBuffers, isDirty: boolean, newMetadata?: notebookCommon.NotebookDocumentMetadata): void; $acceptDirtyStateChanged(uriComponents: UriComponents, isDirty: boolean): void; $acceptModelSaved(uriComponents: UriComponents): void; } export type INotebookEditorViewColumnInfo = Record; export interface ExtHostNotebookEditorsShape { $acceptEditorPropertiesChanged(id: string, data: INotebookEditorPropertiesChangeData): void; $acceptEditorViewColumns(data: INotebookEditorViewColumnInfo): void; } export interface ExtHostNotebookKernelsShape { $acceptNotebookAssociation(handle: number, uri: UriComponents, value: boolean): void; $executeCells(handle: number, uri: UriComponents, handles: number[]): Promise; $cancelCells(handle: number, uri: UriComponents, handles: number[]): Promise; $acceptKernelMessageFromRenderer(handle: number, editorId: string, message: any): void; $provideKernelSourceActions(handle: number, token: CancellationToken): Promise; $provideVariables(handle: number, requestId: string, notebookUri: UriComponents, parentId: number | undefined, kind: "named" | "indexed", start: number, token: CancellationToken): Promise; } export interface ExtHostInteractiveShape { $willAddInteractiveDocument(uri: UriComponents, eol: string, languageId: string, notebookUri: UriComponents): void; $willRemoveInteractiveDocument(uri: UriComponents, notebookUri: UriComponents): void; } export interface ExtHostStorageShape { $acceptValue(shared: boolean, extensionId: string, value: string): void; } export interface ExtHostThemingShape { $onColorThemeChange(themeType: string): void; } export interface MainThreadThemingShape extends IDisposable { } export interface MainThreadLocalizationShape extends IDisposable { $fetchBuiltInBundleUri(id: string, language: string): Promise; $fetchBundleContents(uriComponents: UriComponents): Promise; } export interface TunnelDto { remoteAddress: { port: number; host: string; }; localAddress: { port: number; host: string; } | string; public: boolean; privacy: TunnelPrivacyId | string; protocol: string | undefined; } export interface ExtHostTunnelServiceShape { $forwardPort(tunnelOptions: TunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise; $closeTunnel(remote: { host: string; port: number; }, silent?: boolean): Promise; $onDidTunnelsChange(): Promise; $registerCandidateFinder(enable: boolean): Promise; $applyCandidateFilter(candidates: CandidatePort[]): Promise; $providePortAttributes(handles: number[], ports: number[], pid: number | undefined, commandline: string | undefined, cancellationToken: CancellationToken): Promise; } export interface ExtHostTimelineShape { $getTimeline(source: string, uri: UriComponents, options: TimelineOptions, token: CancellationToken): Promise | undefined>; } export declare enum ExtHostTestingResource { Workspace = 0, TextDocument = 1 } export interface ExtHostTestingShape { $runControllerTests(req: IStartControllerTests[], token: CancellationToken): Promise<{ error?: string; }[]>; $startContinuousRun(req: ICallProfileRunHandler[], token: CancellationToken): Promise<{ error?: string; }[]>; $cancelExtensionTestRun(runId: string | undefined, taskId: string | undefined): void; /** Handles a diff of tests, as a result of a subscribeToDiffs() call */ $acceptDiff(diff: TestsDiffOp.Serialized[]): void; /** Expands a test item's children, by the given number of levels. */ $expandTest(testId: string, levels: number): Promise; /** Requests coverage details for a test run. Errors if not available. */ $getCoverageDetails(coverageId: string, testId: string | undefined, token: CancellationToken): Promise; /** Disposes resources associated with a test run. */ $disposeRun(runId: string): void; /** Configures a test run config. */ $configureRunProfile(controllerId: string, configId: number): void; /** Asks the controller to refresh its tests */ $refreshTests(controllerId: string, token: CancellationToken): Promise; /** Ensures any pending test diffs are flushed */ $syncTests(): Promise; /** Sets the active test run profiles */ $setDefaultRunProfiles(profiles: Record): void; $getTestsRelatedToCode(uri: UriComponents, position: IPosition, token: CancellationToken): Promise; $getCodeRelatedToTest(testId: string, token: CancellationToken): Promise; /** Publishes that a test run finished. */ $publishTestResults(results: ISerializedTestResults[]): void; /** Requests followup actions for a test (failure) message */ $provideTestFollowups(req: TestMessageFollowupRequest, token: CancellationToken): Promise; /** Actions a followup actions for a test (failure) message */ $executeTestFollowup(id: number): Promise; /** Disposes followup actions for a test (failure) message */ $disposeTestFollowups(id: number[]): void; } export interface IStartMcpOptions { launch: McpServerLaunch.Serialized; defaultCwd?: UriComponents; errorOnUserInteraction?: boolean; } export interface ExtHostMcpShape { $substituteVariables(workspaceFolder: UriComponents | undefined, value: McpServerLaunch.Serialized): Promise; $resolveMcpLaunch(collectionId: string, label: string): Promise; $startMcp(id: number, opts: IStartMcpOptions): void; $stopMcp(id: number): void; $sendMessage(id: number, message: string): void; $waitForInitialCollectionProviders(): Promise; $onDidChangeMcpServerDefinitions(servers: McpServerDefinition.Serialized[]): void; } export interface IMcpAuthenticationDetails { authorizationServer: UriComponents; authorizationServerMetadata: IAuthorizationServerMetadata; resourceMetadata: IAuthorizationProtectedResourceMetadata | undefined; scopes: string[] | undefined; } export interface IMcpAuthenticationOptions { errorOnUserInteraction?: boolean; forceNewRegistration?: boolean; } export declare enum IAuthResourceMetadataSource { Header = "header", WellKnown = "wellKnown", None = "none" } export declare enum IAuthServerMetadataSource { ResourceMetadata = "resourceMetadata", WellKnown = "wellKnown", Default = "default" } export interface IAuthMetadataSource { resourceMetadataSource: IAuthResourceMetadataSource; serverMetadataSource: IAuthServerMetadataSource; } export interface MainThreadMcpShape { $onDidChangeState(id: number, state: McpConnectionState): void; $onDidPublishLog(id: number, level: LogLevel, log: string): void; $onDidReceiveMessage(id: number, message: string): void; $upsertMcpCollection(collection: McpCollectionDefinition.FromExtHost, servers: McpServerDefinition.Serialized[]): void; $deleteMcpCollection(collectionId: string): void; $getTokenFromServerMetadata(id: number, authDetails: IMcpAuthenticationDetails, options?: IMcpAuthenticationOptions): Promise; $getTokenForProviderId(id: number, providerId: string, scopes: string[], options?: IMcpAuthenticationOptions): Promise; $logMcpAuthSetup(data: IAuthMetadataSource): void; $startMcpGateway(): Promise<{ address: UriComponents; gatewayId: string; } | undefined>; $disposeMcpGateway(gatewayId: string): void; } export interface MainThreadDataChannelsShape extends IDisposable { } export interface ExtHostDataChannelsShape { $onDidReceiveData(channelId: string, data: unknown): void; } export interface ExtHostLocalizationShape { getMessage(extensionId: string, details: IStringDetails): string; getBundle(extensionId: string): { [key: string]: string; } | undefined; getBundleUri(extensionId: string): URI | undefined; initializeLocalizedMessages(extension: IExtensionDescription): Promise; } export interface IStringDetails { message: string; args?: Record; comment?: string | string[]; } export interface ITestControllerPatch { label?: string; capabilities?: TestControllerCapability; } export interface MainThreadTestingShape { /** Registers that there's a test controller with the given ID */ $registerTestController(controllerId: string, label: string, capability: TestControllerCapability): void; /** Updates the label of an existing test controller. */ $updateController(controllerId: string, patch: ITestControllerPatch): void; /** Diposes of the test controller with the given ID */ $unregisterTestController(controllerId: string): void; /** Requests tests published to VS Code. */ $subscribeToDiffs(): void; /** Stops requesting tests published to VS Code. */ $unsubscribeFromDiffs(): void; /** Publishes that new tests were available on the given source. */ $publishDiff(controllerId: string, diff: TestsDiffOp.Serialized[]): void; /** Gets coverage details from a test result. */ $getCoverageDetails(resultId: string, taskIndex: number, uri: UriComponents, token: CancellationToken): Promise; /** Called when a new test run configuration is available */ $publishTestRunProfile(config: ITestRunProfile): void; /** Updates an existing test run configuration */ $updateTestRunConfig(controllerId: string, configId: number, update: Partial): void; /** Removes a previously-published test run config */ $removeTestProfile(controllerId: string, configId: number): void; /** Request by an extension to run tests. */ $runTests(req: ResolvedTestRunRequest, token: CancellationToken): Promise; /** * Adds tests to the run. The tests are given in descending depth. The first * item will be a previously-known test, or a test root. */ $addTestsToRun(controllerId: string, runId: string, tests: ITestItem.Serialized[]): void; /** Updates the state of a test run in the given run. */ $updateTestStateInRun(runId: string, taskId: string, testId: string, state: TestResultState, duration?: number): void; /** Appends a message to a test in the run. */ $appendTestMessagesInRun(runId: string, taskId: string, testId: string, messages: ITestMessage.Serialized[]): void; /** Appends raw output to the test run.. */ $appendOutputToRun(runId: string, taskId: string, output: VSBuffer, location?: ILocationDto, testId?: string): void; /** Triggered when coverage is added to test results. */ $appendCoverage(runId: string, taskId: string, coverage: IFileCoverage.Serialized): void; /** Signals a task in a test run started. */ $startedTestRunTask(runId: string, task: ITestRunTask): void; /** Signals a task in a test run ended. */ $finishedTestRunTask(runId: string, taskId: string): void; /** Start a new extension-provided test run. */ $startedExtensionTestRun(req: ExtensionRunTestsRequest): void; /** Signals that an extension-provided test run finished. */ $finishedExtensionTestRun(runId: string): void; /** Marks a test (or controller) as retired in all results. */ $markTestRetired(testIds: string[] | undefined): void; } export type ChatStatusItemDto = { id: string; title: string | { label: string; link: string; }; description: string; detail: string | undefined; }; export interface MainThreadChatStatusShape { $setEntry(id: string, entry: ChatStatusItemDto): void; $disposeEntry(id: string): void; } export type IChatSessionHistoryItemDto = { id?: string; type: "request"; prompt: string; participant: string; command?: string; variableData?: Dto; modelId?: string; } | { type: "response"; parts: IChatProgressDto[]; participant: string; }; export interface ChatSessionOptionUpdateDto { readonly optionId: string; readonly value: string | IChatSessionProviderOptionItem | undefined; } export interface ChatSessionOptionUpdateDto2 { readonly optionId: string; readonly value: string | IChatSessionProviderOptionItem; } export interface ChatSessionDto { id: string; resource: UriComponents; title?: string; history: Array; hasActiveResponseCallback: boolean; hasRequestHandler: boolean; supportsInterruption: boolean; options?: Record; } export interface IChatSessionProviderOptions { optionGroups?: readonly IChatSessionProviderOptionGroup[]; newSessionOptions?: Record; } export interface IChatSessionItemsChange { readonly addedOrUpdated: readonly Dto[]; readonly removed: readonly UriComponents[]; } export interface MainThreadChatSessionsShape extends IDisposable { $registerChatSessionItemController(controllerHandle: number, chatSessionType: string): void; $unregisterChatSessionItemController(controllerHandle: number): void; $updateChatSessionItems(controllerHandle: number, change: IChatSessionItemsChange): Promise; $addOrUpdateChatSessionItem(controllerHandle: number, item: Dto): Promise; $onDidChangeChatSessionItems(controllerHandle: number): void; $onDidCommitChatSessionItem(controllerHandle: number, original: UriComponents, modified: UriComponents): void; $registerChatSessionContentProvider(handle: number, chatSessionScheme: string): void; $unregisterChatSessionContentProvider(handle: number): void; $onDidChangeChatSessionOptions(handle: number, sessionResource: UriComponents, updates: ReadonlyArray): void; $onDidChangeChatSessionProviderOptions(handle: number): void; $handleProgressChunk(handle: number, sessionResource: UriComponents, requestId: string, chunks: (IChatProgressDto | [ IChatProgressDto, number ])[]): Promise; $handleAnchorResolve(handle: number, sessionResource: UriComponents, requestId: string, requestHandle: string, anchor: Dto): void; $handleProgressComplete(handle: number, sessionResource: UriComponents, requestId: string): void; } export interface ExtHostChatSessionsShape { $refreshChatSessionItems(providerHandle: number, token: CancellationToken): Promise; $onDidChangeChatSessionItemState(providerHandle: number, sessionResource: UriComponents, archived: boolean): void; $newChatSessionItem(controllerHandle: number, request: Dto, token: CancellationToken): Promise | undefined>; $provideChatSessionContent(providerHandle: number, sessionResource: UriComponents, token: CancellationToken): Promise; $interruptChatSessionActiveResponse(providerHandle: number, sessionResource: UriComponents, requestId: string): Promise; $disposeChatSessionContent(providerHandle: number, sessionResource: UriComponents): Promise; $invokeChatSessionRequestHandler(providerHandle: number, sessionResource: UriComponents, request: IChatAgentRequest, history: any[], token: CancellationToken): Promise; $provideChatSessionProviderOptions(providerHandle: number, token: CancellationToken): Promise; $invokeOptionGroupSearch(providerHandle: number, optionGroupId: string, query: string, token: CancellationToken): Promise; $provideHandleOptionsChange(providerHandle: number, sessionResource: UriComponents, updates: ReadonlyArray, token: CancellationToken): Promise; } export interface GitRefQueryDto { readonly contains?: string; readonly count?: number; readonly pattern?: string | string[]; readonly sort?: "alphabetically" | "committerdate" | "creatordate"; } export declare enum GitRefTypeDto { Head = 0, RemoteHead = 1, Tag = 2 } export interface GitRefDto { readonly id: string; readonly name: string; readonly type: GitRefTypeDto; readonly revision: string; } export interface GitRepositoryStateDto { readonly HEAD?: GitBranchDto; } export interface GitBranchDto { readonly name?: string; readonly commit?: string; readonly type: GitRefTypeDto; readonly remote?: string; readonly upstream?: GitUpstreamRefDto; readonly ahead?: number; readonly behind?: number; } export interface GitUpstreamRefDto { readonly remote: string; readonly name: string; readonly commit?: string; } export interface ExtHostGitExtensionShape { $isGitExtensionAvailable(): Promise; $openRepository(root: UriComponents): Promise<{ handle: number; rootUri: UriComponents; state: GitRepositoryStateDto; } | undefined>; $getRefs(handle: number, query: GitRefQueryDto, token?: CancellationToken): Promise; $getRepositoryState(handle: number): Promise; } export declare const MainContext: { MainThreadAuthentication: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadBulkEdits: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadLanguageModels: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadEmbeddings: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadChatAgents2: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadCodeMapper: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadLanguageModelTools: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadGitExtension: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadClipboard: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadCommands: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadComments: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadConfiguration: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadConsole: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadDebugService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadDecorations: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadDiagnostics: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadDialogs: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadDocuments: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadDocumentContentProviders: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTextEditors: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadEditorInsets: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadEditorTabs: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadErrors: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTreeViews: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadDownloadService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadLanguageFeatures: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadLanguages: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadLogger: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadMessageService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadOutputService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadProgress: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadQuickDiff: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadQuickOpen: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadStatusBar: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadSecretState: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadStorage: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadSpeech: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTelemetry: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadMeteredConnection: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTerminalService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTerminalShellIntegration: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadWebviews: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadWebviewPanels: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadWebviewViews: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadCustomEditors: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadUrls: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadUriOpeners: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadProfileContentHandlers: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadWorkspace: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadFileSystem: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadFileSystemEventService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadExtensionService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadSCM: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadSearch: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadShare: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTask: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadWindow: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadPower: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadLabelService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadNotebook: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadNotebookDocuments: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadNotebookEditors: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadNotebookKernels: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadNotebookRenderers: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadInteractive: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTheming: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTunnelService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadManagedSockets: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTimeline: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadTesting: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadLocalization: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadMcp: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadAiRelatedInformation: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadAiEmbeddingVector: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadChatStatus: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadAiSettingsSearch: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadDataChannels: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadChatSessions: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadChatOutputRenderer: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadChatContext: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; MainThreadChatDebug: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; }; export declare const ExtHostContext: { ExtHostCodeMapper: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostCommands: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostConfiguration: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostDiagnostics: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostDebugService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostDecorations: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostDocumentsAndEditors: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostDocuments: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostDocumentContentProviders: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostDocumentSaveParticipant: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostEditors: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTreeViews: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostFileSystem: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostFileSystemInfo: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostFileSystemEventService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostLanguages: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostLanguageFeatures: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostQuickOpen: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostQuickDiff: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostStatusBar: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostShare: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostExtensionService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostLogLevelServiceShape: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTerminalService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTerminalShellIntegration: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostSCM: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostSearch: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTask: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostWorkspace: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostWindow: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostPower: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostWebviews: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostWebviewPanels: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostCustomEditors: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostWebviewViews: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostEditorInsets: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostEditorTabs: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostProgress: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostComments: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostSecretState: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostStorage: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostUrls: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostUriOpeners: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostChatOutputRenderer: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostProfileContentHandlers: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostOutputService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostLabelService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostNotebook: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostNotebookDocuments: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostNotebookEditors: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostNotebookKernels: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostNotebookRenderers: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostNotebookDocumentSaveParticipant: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostInteractive: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostChatAgents2: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostLanguageModelTools: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostChatProvider: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostChatContext: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostChatDebug: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostSpeech: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostEmbeddings: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostAiRelatedInformation: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostAiEmbeddingVector: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostAiSettingsSearch: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTheming: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTunnelService: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostManagedSockets: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostAuthentication: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTimeline: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTesting: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostTelemetry: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostMeteredConnection: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostLocalization: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostMcp: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostDataChannels: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostChatSessions: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; ExtHostGitExtension: import("../../services/extensions/common/proxyIdentifier.js").ProxyIdentifier; }; export {};