Path: blob/main/src/vs/workbench/api/common/extHost.protocol.ts
5241 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { VSBuffer } from '../../../base/common/buffer.js';6import { CancellationToken } from '../../../base/common/cancellation.js';7import { IRemoteConsoleLog } from '../../../base/common/console.js';8import { SerializedError } from '../../../base/common/errors.js';9import { IRelativePattern } from '../../../base/common/glob.js';10import { IMarkdownString } from '../../../base/common/htmlContent.js';11import { IJSONSchema } from '../../../base/common/jsonSchema.js';12import { IDisposable } from '../../../base/common/lifecycle.js';13import { IAuthorizationProtectedResourceMetadata, IAuthorizationServerMetadata, IAuthorizationTokenResponse } from '../../../base/common/oauth.js';14import * as performance from '../../../base/common/performance.js';15import Severity from '../../../base/common/severity.js';16import { ThemeColor, ThemeIcon } from '../../../base/common/themables.js';17import { URI, UriComponents, UriDto } from '../../../base/common/uri.js';18import { RenderLineNumbersType, TextEditorCursorStyle } from '../../../editor/common/config/editorOptions.js';19import { ISingleEditOperation } from '../../../editor/common/core/editOperation.js';20import { IPosition } from '../../../editor/common/core/position.js';21import { IRange } from '../../../editor/common/core/range.js';22import { ISelection, Selection } from '../../../editor/common/core/selection.js';23import { IChange } from '../../../editor/common/diff/legacyLinesDiffComputer.js';24import * as editorCommon from '../../../editor/common/editorCommon.js';25import { StandardTokenType } from '../../../editor/common/encodedTokenAttributes.js';26import * as languages from '../../../editor/common/languages.js';27import { CompletionItemLabel } from '../../../editor/common/languages.js';28import { CharacterPair, CommentRule, EnterAction } from '../../../editor/common/languages/languageConfiguration.js';29import { EndOfLineSequence } from '../../../editor/common/model.js';30import { EditSuggestionId } from '../../../editor/common/textModelEditSource.js';31import { ISerializedModelContentChangedEvent } from '../../../editor/common/textModelEvents.js';32import { IAccessibilityInformation } from '../../../platform/accessibility/common/accessibility.js';33import { ILocalizedString } from '../../../platform/action/common/action.js';34import { ConfigurationTarget, IConfigurationChange, IConfigurationData, IConfigurationOverrides } from '../../../platform/configuration/common/configuration.js';35import { ConfigurationScope } from '../../../platform/configuration/common/configurationRegistry.js';36import { IExtensionIdWithVersion } from '../../../platform/extensionManagement/common/extensionStorage.js';37import { ExtensionIdentifier, IExtensionDescription } from '../../../platform/extensions/common/extensions.js';38import * as files from '../../../platform/files/common/files.js';39import { ResourceLabelFormatter } from '../../../platform/label/common/label.js';40import { ILoggerOptions, ILoggerResource, LogLevel } from '../../../platform/log/common/log.js';41import { IMarkerData } from '../../../platform/markers/common/markers.js';42import { IProgressOptions, IProgressStep } from '../../../platform/progress/common/progress.js';43import * as quickInput from '../../../platform/quickinput/common/quickInput.js';44import { IRemoteConnectionData, TunnelDescription } from '../../../platform/remote/common/remoteAuthorityResolver.js';45import { AuthInfo, Credentials } from '../../../platform/request/common/request.js';46import { ClassifiedEvent, IGDPRProperty, OmitMetadata, StrictPropertyCheck } from '../../../platform/telemetry/common/gdprTypings.js';47import { TelemetryLevel } from '../../../platform/telemetry/common/telemetry.js';48import { ISerializableEnvironmentDescriptionMap, ISerializableEnvironmentVariableCollection } from '../../../platform/terminal/common/environmentVariable.js';49import { ICreateContributedTerminalProfileOptions, IProcessProperty, IProcessReadyWindowsPty, IShellLaunchConfigDto, ITerminalEnvironment, ITerminalLaunchError, ITerminalProfile, TerminalExitReason, TerminalLocation, TerminalShellType } from '../../../platform/terminal/common/terminal.js';50import { ProvidedPortAttributes, TunnelCreationOptions, TunnelOptions, TunnelPrivacyId, TunnelProviderFeatures } from '../../../platform/tunnel/common/tunnel.js';51import { EditSessionIdentityMatch } from '../../../platform/workspace/common/editSessions.js';52import { WorkspaceTrustRequestOptions } from '../../../platform/workspace/common/workspaceTrust.js';53import { SaveReason } from '../../common/editor.js';54import { IRevealOptions, ITreeItem, IViewBadge } from '../../common/views.js';55import { CallHierarchyItem } from '../../contrib/callHierarchy/common/callHierarchy.js';56import { IChatAgentMetadata, IChatAgentRequest, IChatAgentResult, UserSelectedTools } from '../../contrib/chat/common/participants/chatAgents.js';57import { ICodeMapperRequest, ICodeMapperResult } from '../../contrib/chat/common/editing/chatCodeMapperService.js';58import { IChatContextItem } from '../../contrib/chat/common/contextContrib/chatContext.js';59import { IChatProgressHistoryResponseContent, IChatRequestVariableData } from '../../contrib/chat/common/model/chatModel.js';60import { ChatResponseClearToPreviousToolInvocationReason, IChatContentInlineReference, IChatExternalEditsDto, IChatFollowup, IChatMultiDiffData, IChatMultiDiffDataSerialized, IChatNotebookEdit, IChatProgress, IChatTask, IChatTaskDto, IChatUserActionEvent, IChatVoteAction } from '../../contrib/chat/common/chatService/chatService.js';61import { IChatSessionItem, IChatSessionProviderOptionGroup, IChatSessionProviderOptionItem } from '../../contrib/chat/common/chatSessionsService.js';62import { IChatRequestVariableValue } from '../../contrib/chat/common/attachments/chatVariables.js';63import { ChatAgentLocation } from '../../contrib/chat/common/constants.js';64import { IChatMessage, IChatResponsePart, ILanguageModelChatInfoOptions, ILanguageModelChatMetadataAndIdentifier, ILanguageModelChatSelector } from '../../contrib/chat/common/languageModels.js';65import { IPreparedToolInvocation, IStreamedToolInvocation, IToolInvocation, IToolInvocationPreparationContext, IToolInvocationStreamContext, IToolProgressStep, IToolResult, ToolDataSource } from '../../contrib/chat/common/tools/languageModelToolsService.js';66import { IPromptFileContext, IPromptFileResource } from '../../contrib/chat/common/promptSyntax/service/promptsService.js';67import { DebugConfigurationProviderTriggerKind, IAdapterDescriptor, IConfig, IDebugSessionReplMode, IDebugTestRunReference, IDebugVisualization, IDebugVisualizationContext, IDebugVisualizationTreeItem, MainThreadDebugVisualization } from '../../contrib/debug/common/debug.js';68import { McpCollectionDefinition, McpConnectionState, McpServerDefinition, McpServerLaunch } from '../../contrib/mcp/common/mcpTypes.js';69import * as notebookCommon from '../../contrib/notebook/common/notebookCommon.js';70import { CellExecutionUpdateType } from '../../contrib/notebook/common/notebookExecutionService.js';71import { ICellExecutionComplete, ICellExecutionStateUpdate } from '../../contrib/notebook/common/notebookExecutionStateService.js';72import { ICellRange } from '../../contrib/notebook/common/notebookRange.js';73import { ISCMHistoryOptions } from '../../contrib/scm/common/history.js';74import { InputValidationType } from '../../contrib/scm/common/scm.js';75import { IWorkspaceSymbol, NotebookPriorityInfo } from '../../contrib/search/common/search.js';76import { IRawClosedNotebookFileMatch } from '../../contrib/search/common/searchNotebookHelpers.js';77import { IKeywordRecognitionEvent, ISpeechProviderMetadata, ISpeechToTextEvent, ITextToSpeechEvent } from '../../contrib/speech/common/speechService.js';78import { CoverageDetails, ExtensionRunTestsRequest, ICallProfileRunHandler, IFileCoverage, ISerializedTestResults, IStartControllerTests, ITestItem, ITestMessage, ITestRunProfile, ITestRunTask, ResolvedTestRunRequest, TestControllerCapability, TestMessageFollowupRequest, TestMessageFollowupResponse, TestResultState, TestsDiffOp } from '../../contrib/testing/common/testTypes.js';79import { Timeline, TimelineChangeEvent, TimelineOptions, TimelineProviderDescriptor } from '../../contrib/timeline/common/timeline.js';80import { TypeHierarchyItem } from '../../contrib/typeHierarchy/common/typeHierarchy.js';81import { RelatedInformationResult, RelatedInformationType } from '../../services/aiRelatedInformation/common/aiRelatedInformation.js';82import { AiSettingsSearchProviderOptions, AiSettingsSearchResult } from '../../services/aiSettingsSearch/common/aiSettingsSearch.js';83import { AuthenticationSession, AuthenticationSessionAccount, AuthenticationSessionsChangeEvent, IAuthenticationConstraint, IAuthenticationCreateSessionOptions, IAuthenticationGetSessionsOptions, IAuthenticationWwwAuthenticateRequest } from '../../services/authentication/common/authentication.js';84import { EditorGroupColumn } from '../../services/editor/common/editorGroupColumn.js';85import { IExtensionDescriptionDelta, IStaticWorkspaceData } from '../../services/extensions/common/extensionHostProtocol.js';86import { IResolveAuthorityResult } from '../../services/extensions/common/extensionHostProxy.js';87import { ActivationKind, ExtensionActivationReason, MissingExtensionDependency } from '../../services/extensions/common/extensions.js';88import { Dto, IRPCProtocol, SerializableObjectWithBuffers, createProxyIdentifier } from '../../services/extensions/common/proxyIdentifier.js';89import { IInlineCompletionsUnificationState } from '../../services/inlineCompletions/common/inlineCompletionsUnification.js';90import { ILanguageStatus } from '../../services/languageStatus/common/languageStatusService.js';91import { OutputChannelUpdateMode } from '../../services/output/common/output.js';92import { CandidatePort } from '../../services/remote/common/tunnelModel.js';93import { IFileQueryBuilderOptions, ITextQueryBuilderOptions } from '../../services/search/common/queryBuilder.js';94import * as search from '../../services/search/common/search.js';95import { AISearchKeyword, TextSearchCompleteMessage } from '../../services/search/common/searchExtTypes.js';96import { ISaveProfileResult } from '../../services/userDataProfile/common/userDataProfile.js';97import { IExtHostDocumentSaveDelegate } from './extHostDocumentData.js';98import { TerminalShellExecutionCommandLineConfidence } from './extHostTypes.js';99import * as tasks from './shared/tasks.js';100import { PromptsType } from '../../contrib/chat/common/promptSyntax/promptTypes.js';101import { IHookCommandResult } from '../../contrib/chat/common/hooks/hooksCommandTypes.js';102import { IHookResult } from '../../contrib/chat/common/hooks/hooksTypes.js';103import { IHookCommand } from '../../contrib/chat/common/promptSyntax/hookSchema.js';104105export type IconPathDto =106| UriComponents107| { light: UriComponents; dark: UriComponents }108| ThemeIcon;109110export interface IWorkspaceData extends IStaticWorkspaceData {111folders: { uri: UriComponents; name: string; index: number }[];112}113114export interface IConfigurationInitData extends IConfigurationData {115configurationScopes: [string, ConfigurationScope | undefined][];116}117118export interface IMainContext extends IRPCProtocol {119}120121// --- main thread122123export interface MainThreadClipboardShape extends IDisposable {124$readText(): Promise<string>;125$writeText(value: string): Promise<void>;126}127128export interface MainThreadCommandsShape extends IDisposable {129$registerCommand(id: string): void;130$unregisterCommand(id: string): void;131$fireCommandActivationEvent(id: string): void;132$executeCommand(id: string, args: unknown[] | SerializableObjectWithBuffers<unknown[]>, retry: boolean): Promise<unknown | undefined>;133$getCommands(): Promise<string[]>;134}135136export interface CommentProviderFeatures {137reactionGroup?: languages.CommentReaction[];138reactionHandler?: boolean;139options?: languages.CommentOptions;140}141142export interface CommentChanges {143readonly uniqueIdInThread: number;144readonly body: string | IMarkdownString;145readonly userName: string;146readonly userIconPath?: UriComponents;147readonly contextValue?: string;148readonly commentReactions?: languages.CommentReaction[];149readonly label?: string;150readonly mode?: languages.CommentMode;151readonly state?: languages.CommentState;152readonly timestamp?: string;153}154155export type CommentThreadChanges<T = IRange> = Partial<{156range: T | undefined;157label: string;158contextValue: string | null;159comments: CommentChanges[];160collapseState: languages.CommentThreadCollapsibleState;161canReply: boolean | languages.CommentAuthorInformation;162state: languages.CommentThreadState;163applicability: languages.CommentThreadApplicability;164isTemplate: boolean;165}>;166167export interface MainThreadCommentsShape extends IDisposable {168$registerCommentController(handle: number, id: string, label: string, extensionId: string): void;169$unregisterCommentController(handle: number): void;170$updateCommentControllerFeatures(handle: number, features: CommentProviderFeatures): void;171$createCommentThread(handle: number, commentThreadHandle: number, threadId: string, resource: UriComponents, range: IRange | ICellRange | undefined, comments: languages.Comment[], extensionId: ExtensionIdentifier, isTemplate: boolean, editorId?: string): languages.CommentThread<IRange | ICellRange> | undefined;172$updateCommentThread(handle: number, commentThreadHandle: number, threadId: string, resource: UriComponents, changes: CommentThreadChanges): void;173$deleteCommentThread(handle: number, commentThreadHandle: number): void;174$updateCommentingRanges(handle: number, resourceHints?: languages.CommentingRangeResourceHint): void;175$revealCommentThread(handle: number, commentThreadHandle: number, commentUniqueIdInThread: number, options: languages.CommentThreadRevealOptions): Promise<void>;176$hideCommentThread(handle: number, commentThreadHandle: number): void;177}178179export interface AuthenticationForceNewSessionOptions {180detail?: string;181sessionToRecreate?: AuthenticationSession;182}183184export interface AuthenticationInteractiveOptions {185detail?: string;186learnMore?: UriComponents;187sessionToRecreate?: AuthenticationSession;188}189190export interface AuthenticationGetSessionOptions {191clearSessionPreference?: boolean;192createIfNone?: boolean | AuthenticationInteractiveOptions;193forceNewSession?: boolean | AuthenticationInteractiveOptions;194silent?: boolean;195account?: AuthenticationSessionAccount;196}197export interface IRegisterAuthenticationProviderDetails {198id: string;199label: string;200supportsMultipleAccounts: boolean;201supportedAuthorizationServers?: UriComponents[];202supportsChallenges?: boolean;203resourceServer?: UriComponents;204}205206export interface IRegisterDynamicAuthenticationProviderDetails extends IRegisterAuthenticationProviderDetails {207clientId: string;208clientSecret?: string;209authorizationServer: UriComponents;210}211212export interface MainThreadAuthenticationShape extends IDisposable {213$registerAuthenticationProvider(details: IRegisterAuthenticationProviderDetails): Promise<void>;214$unregisterAuthenticationProvider(id: string): Promise<void>;215$ensureProvider(id: string): Promise<void>;216$sendDidChangeSessions(providerId: string, event: AuthenticationSessionsChangeEvent): Promise<void>;217$getSession(providerId: string, scopeListOrRequest: ReadonlyArray<string> | IAuthenticationWwwAuthenticateRequest, extensionId: string, extensionName: string, options: AuthenticationGetSessionOptions): Promise<AuthenticationSession | undefined>;218$getAccounts(providerId: string): Promise<ReadonlyArray<AuthenticationSessionAccount>>;219$removeSession(providerId: string, sessionId: string): Promise<void>;220$waitForUriHandler(expectedUri: UriComponents): Promise<UriComponents>;221$showContinueNotification(message: string): Promise<boolean>;222$showDeviceCodeModal(userCode: string, verificationUri: string): Promise<boolean>;223$promptForClientRegistration(authorizationServerUrl: string): Promise<{ clientId: string; clientSecret?: string } | undefined>;224$registerDynamicAuthenticationProvider(details: IRegisterDynamicAuthenticationProviderDetails): Promise<void>;225$setSessionsForDynamicAuthProvider(authProviderId: string, clientId: string, sessions: (IAuthorizationTokenResponse & { created_at: number })[]): Promise<void>;226$sendDidChangeDynamicProviderInfo({ providerId, clientId, authorizationServer, label, clientSecret }: { providerId: string; clientId?: string; authorizationServer?: UriComponents; label?: string; clientSecret?: string }): Promise<void>;227}228229export interface MainThreadSecretStateShape extends IDisposable {230$getPassword(extensionId: string, key: string): Promise<string | undefined>;231$setPassword(extensionId: string, key: string, value: string): Promise<void>;232$deletePassword(extensionId: string, key: string): Promise<void>;233$getKeys(extensionId: string): Promise<string[]>;234}235236export interface MainThreadConfigurationShape extends IDisposable {237$updateConfigurationOption(target: ConfigurationTarget | null, key: string, value: unknown, overrides: IConfigurationOverrides | undefined, scopeToLanguage: boolean | undefined): Promise<void>;238$removeConfigurationOption(target: ConfigurationTarget | null, key: string, overrides: IConfigurationOverrides | undefined, scopeToLanguage: boolean | undefined): Promise<void>;239}240241export interface MainThreadDiagnosticsShape extends IDisposable {242$changeMany(owner: string, entries: [UriComponents, IMarkerData[] | undefined][]): void;243$clear(owner: string): void;244}245246export interface MainThreadDialogOpenOptions {247defaultUri?: UriComponents;248openLabel?: string;249canSelectFiles?: boolean;250canSelectFolders?: boolean;251canSelectMany?: boolean;252filters?: { [name: string]: string[] };253title?: string;254allowUIResources?: boolean;255}256257export interface MainThreadDialogSaveOptions {258defaultUri?: UriComponents;259saveLabel?: string;260filters?: { [name: string]: string[] };261title?: string;262}263264export interface MainThreadDiaglogsShape extends IDisposable {265$showOpenDialog(options?: MainThreadDialogOpenOptions): Promise<UriComponents[] | undefined>;266$showSaveDialog(options?: MainThreadDialogSaveOptions): Promise<UriComponents | undefined>;267}268269export interface MainThreadDecorationsShape extends IDisposable {270$registerDecorationProvider(handle: number, label: string): void;271$unregisterDecorationProvider(handle: number): void;272$onDidChange(handle: number, resources: UriComponents[] | null): void;273}274275export interface MainThreadDocumentContentProvidersShape extends IDisposable {276$registerTextContentProvider(handle: number, scheme: string): void;277$unregisterTextContentProvider(handle: number): void;278$onVirtualDocumentChange(uri: UriComponents, value: string): Promise<void>;279}280281export interface MainThreadDocumentsShape extends IDisposable, IExtHostDocumentSaveDelegate {282$tryCreateDocument(options?: { language?: string; content?: string; encoding?: string }): Promise<UriComponents>;283$tryOpenDocument(uri: UriComponents, options?: { encoding?: string }): Promise<UriComponents>;284$trySaveDocument(uri: UriComponents): Promise<boolean>;285}286287export interface ITextEditorConfigurationUpdate {288tabSize?: number | 'auto';289indentSize?: number | 'tabSize';290insertSpaces?: boolean | 'auto';291cursorStyle?: TextEditorCursorStyle;292lineNumbers?: RenderLineNumbersType;293}294295export interface IResolvedTextEditorConfiguration {296tabSize: number;297indentSize: number;298originalIndentSize: number | 'tabSize';299insertSpaces: boolean;300cursorStyle: TextEditorCursorStyle;301lineNumbers: RenderLineNumbersType;302}303304export enum TextEditorRevealType {305Default = 0,306InCenter = 1,307InCenterIfOutsideViewport = 2,308AtTop = 3309}310311export interface IUndoStopOptions {312undoStopBefore: boolean;313undoStopAfter: boolean;314}315316export interface IApplyEditsOptions extends IUndoStopOptions {317setEndOfLine?: EndOfLineSequence;318}319320export interface ISnippetOptions extends IUndoStopOptions {321keepWhitespace?: boolean;322}323export interface ITextDocumentShowOptions {324position?: EditorGroupColumn;325preserveFocus?: boolean;326pinned?: boolean;327selection?: IRange;328}329330export interface MainThreadBulkEditsShape extends IDisposable {331$tryApplyWorkspaceEdit(workspaceEditDto: SerializableObjectWithBuffers<IWorkspaceEditDto>, undoRedoGroupId?: number, respectAutoSaveConfig?: boolean): Promise<boolean>;332}333334export interface MainThreadTextEditorsShape extends IDisposable {335$tryShowTextDocument(resource: UriComponents, options: ITextDocumentShowOptions): Promise<string | undefined>;336$registerTextEditorDecorationType(extensionId: ExtensionIdentifier, key: string, options: editorCommon.IDecorationRenderOptions): void;337$removeTextEditorDecorationType(key: string): void;338$tryShowEditor(id: string, position: EditorGroupColumn): Promise<void>;339$tryHideEditor(id: string): Promise<void>;340$trySetOptions(id: string, options: ITextEditorConfigurationUpdate): Promise<void>;341$trySetDecorations(id: string, key: string, ranges: editorCommon.IDecorationOptions[]): Promise<void>;342$trySetDecorationsFast(id: string, key: string, ranges: number[]): Promise<void>;343$tryRevealRange(id: string, range: IRange, revealType: TextEditorRevealType): Promise<void>;344$trySetSelections(id: string, selections: ISelection[]): Promise<void>;345$tryApplyEdits(id: string, modelVersionId: number, edits: ISingleEditOperation[], opts: IApplyEditsOptions): Promise<boolean>;346$tryInsertSnippet(id: string, modelVersionId: number, template: string, selections: readonly IRange[], opts: IUndoStopOptions): Promise<boolean>;347$getDiffInformation(id: string): Promise<IChange[]>;348}349350export interface MainThreadTreeViewsShape extends IDisposable {351$registerTreeViewDataProvider(treeViewId: string, options: { showCollapseAll: boolean; canSelectMany: boolean; dropMimeTypes: readonly string[]; dragMimeTypes: readonly string[]; hasHandleDrag: boolean; hasHandleDrop: boolean; manuallyManageCheckboxes: boolean }): Promise<void>;352$refresh(treeViewId: string, itemsToRefresh?: { [treeItemHandle: string]: ITreeItem }): Promise<void>;353$reveal(treeViewId: string, itemInfo: { item: ITreeItem; parentChain: ITreeItem[] } | undefined, options: IRevealOptions): Promise<void>;354$setMessage(treeViewId: string, message: string | IMarkdownString): void;355$setTitle(treeViewId: string, title: string, description: string | undefined): void;356$setBadge(treeViewId: string, badge: IViewBadge | undefined): void;357$resolveDropFileData(destinationViewId: string, requestId: number, dataItemId: string): Promise<VSBuffer>;358$disposeTree(treeViewId: string): Promise<void>;359$logResolveTreeNodeFailure(extensionId: string): void;360}361362export interface MainThreadDownloadServiceShape extends IDisposable {363$download(uri: UriComponents, to: UriComponents): Promise<void>;364}365366export interface MainThreadErrorsShape extends IDisposable {367$onUnexpectedError(err: any | SerializedError): void;368}369370export interface MainThreadConsoleShape extends IDisposable {371$logExtensionHostMessage(msg: IRemoteConsoleLog): void;372}373374export interface IRegExpDto {375pattern: string;376flags?: string;377}378export interface IIndentationRuleDto {379decreaseIndentPattern: IRegExpDto;380increaseIndentPattern: IRegExpDto;381indentNextLinePattern?: IRegExpDto;382unIndentedLinePattern?: IRegExpDto;383}384export interface IOnEnterRuleDto {385beforeText: IRegExpDto;386afterText?: IRegExpDto;387previousLineText?: IRegExpDto;388action: EnterAction;389}390export interface ILanguageConfigurationDto {391comments?: CommentRule;392brackets?: CharacterPair[];393wordPattern?: IRegExpDto;394indentationRules?: IIndentationRuleDto;395onEnterRules?: IOnEnterRuleDto[];396__electricCharacterSupport?: {397brackets?: any;398docComment?: {399scope: string;400open: string;401lineStart: string;402close?: string;403};404};405__characterPairSupport?: {406autoClosingPairs: {407open: string;408close: string;409notIn?: string[];410}[];411};412autoClosingPairs?: {413open: string;414close: string;415notIn?: string[];416}[];417}418419export type GlobPattern = string | IRelativePattern;420421export interface IRelativePatternDto extends IRelativePattern {422baseUri: UriComponents;423}424425export interface IDocumentFilterDto {426$serialized: true;427language?: string;428scheme?: string;429pattern?: string | IRelativePattern;430exclusive?: boolean;431notebookType?: string;432isBuiltin?: boolean;433}434435export interface IShareableItemDto {436resourceUri: UriComponents;437selection?: IRange;438}439440export interface IDocumentContextItemDto {441readonly uri: UriComponents;442readonly version: number;443readonly ranges: IRange[];444}445446export interface IConversationItemDto {447readonly type: 'request' | 'response';448readonly message: string;449readonly references?: IDocumentContextItemDto[];450}451452export interface IMappedEditsContextDto {453documents: IDocumentContextItemDto[][];454conversation?: IConversationItemDto[];455}456457export interface ICodeBlockDto {458code: string;459resource: UriComponents;460}461462export interface IMappedEditsRequestDto {463readonly codeBlocks: ICodeBlockDto[];464readonly conversation?: IConversationItemDto[];465}466467export interface IMappedEditsResultDto {468readonly errorMessage?: string;469}470471export interface ISignatureHelpProviderMetadataDto {472readonly triggerCharacters: readonly string[];473readonly retriggerCharacters: readonly string[];474}475476export interface IdentifiableInlineCompletions extends languages.InlineCompletions<IdentifiableInlineCompletion> {477pid: number;478languageId: string;479}480481export interface IdentifiableInlineCompletion extends languages.InlineCompletion {482idx: number;483suggestionId: EditSuggestionId | undefined;484}485486export interface IInlineCompletionModelDto {487readonly id: string;488readonly name: string;489}490491export interface IInlineCompletionModelInfoDto {492readonly models: IInlineCompletionModelDto[];493readonly currentModelId: string;494}495496export interface IInlineCompletionChangeHintDto {497readonly data?: unknown;498}499500export interface MainThreadLanguageFeaturesShape extends IDisposable {501$unregister(handle: number): void;502$registerDocumentSymbolProvider(handle: number, selector: IDocumentFilterDto[], label: string): void;503$registerCodeLensSupport(handle: number, selector: IDocumentFilterDto[], eventHandle: number | undefined): void;504$emitCodeLensEvent(eventHandle: number, event?: any): void;505$registerDefinitionSupport(handle: number, selector: IDocumentFilterDto[]): void;506$registerDeclarationSupport(handle: number, selector: IDocumentFilterDto[]): void;507$registerImplementationSupport(handle: number, selector: IDocumentFilterDto[]): void;508$registerTypeDefinitionSupport(handle: number, selector: IDocumentFilterDto[]): void;509$registerHoverProvider(handle: number, selector: IDocumentFilterDto[]): void;510$registerEvaluatableExpressionProvider(handle: number, selector: IDocumentFilterDto[]): void;511$registerInlineValuesProvider(handle: number, selector: IDocumentFilterDto[], eventHandle: number | undefined): void;512$emitInlineValuesEvent(eventHandle: number, event?: any): void;513$registerDocumentHighlightProvider(handle: number, selector: IDocumentFilterDto[]): void;514$registerMultiDocumentHighlightProvider(handle: number, selector: IDocumentFilterDto[]): void;515$registerLinkedEditingRangeProvider(handle: number, selector: IDocumentFilterDto[]): void;516$registerReferenceSupport(handle: number, selector: IDocumentFilterDto[]): void;517$registerCodeActionSupport(handle: number, selector: IDocumentFilterDto[], metadata: ICodeActionProviderMetadataDto, displayName: string, extensionID: string, supportsResolve: boolean): void;518$registerPasteEditProvider(handle: number, selector: IDocumentFilterDto[], metadata: IPasteEditProviderMetadataDto): void;519$registerDocumentFormattingSupport(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, displayName: string): void;520$registerRangeFormattingSupport(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, displayName: string, supportRanges: boolean): void;521$registerOnTypeFormattingSupport(handle: number, selector: IDocumentFilterDto[], autoFormatTriggerCharacters: string[], extensionId: ExtensionIdentifier): void;522$registerNavigateTypeSupport(handle: number, supportsResolve: boolean): void;523$registerRenameSupport(handle: number, selector: IDocumentFilterDto[], supportsResolveInitialValues: boolean): void;524$registerNewSymbolNamesProvider(handle: number, selector: IDocumentFilterDto[]): void;525$registerDocumentSemanticTokensProvider(handle: number, selector: IDocumentFilterDto[], legend: languages.SemanticTokensLegend, eventHandle: number | undefined): void;526$emitDocumentSemanticTokensEvent(eventHandle: number): void;527$registerDocumentRangeSemanticTokensProvider(handle: number, selector: IDocumentFilterDto[], legend: languages.SemanticTokensLegend, eventHandle: number | undefined): void;528$emitDocumentRangeSemanticTokensEvent(eventHandle: number): void;529$registerCompletionsProvider(handle: number, selector: IDocumentFilterDto[], triggerCharacters: string[], supportsResolveDetails: boolean, extensionId: ExtensionIdentifier): void;530$registerInlineCompletionsSupport(531handle: number,532selector: IDocumentFilterDto[],533supportsHandleEvents: boolean,534extensionId: string,535extensionVersion: string,536groupId: string | undefined,537yieldsToExtensionIds: string[],538displayName: string | undefined,539debounceDelayMs: number | undefined,540excludesExtensionIds: string[],541supportsSetModelId: boolean,542supportsOnDidChange: boolean,543initialModelInfo: IInlineCompletionModelInfoDto | undefined,544supportsOnDidChangeModelInfo: boolean,545): void;546$emitInlineCompletionsChange(handle: number, changeHint: IInlineCompletionChangeHintDto | undefined): void;547$emitInlineCompletionModelInfoChange(handle: number, data: IInlineCompletionModelInfoDto | undefined): void;548$registerSignatureHelpProvider(handle: number, selector: IDocumentFilterDto[], metadata: ISignatureHelpProviderMetadataDto): void;549$registerInlayHintsProvider(handle: number, selector: IDocumentFilterDto[], supportsResolve: boolean, eventHandle: number | undefined, displayName: string | undefined): void;550$emitInlayHintsEvent(eventHandle: number): void;551$registerDocumentLinkProvider(handle: number, selector: IDocumentFilterDto[], supportsResolve: boolean): void;552$registerDocumentColorProvider(handle: number, selector: IDocumentFilterDto[]): void;553$registerFoldingRangeProvider(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, eventHandle: number | undefined): void;554$emitFoldingRangeEvent(eventHandle: number, event?: any): void;555$registerSelectionRangeProvider(handle: number, selector: IDocumentFilterDto[]): void;556$registerCallHierarchyProvider(handle: number, selector: IDocumentFilterDto[]): void;557$registerTypeHierarchyProvider(handle: number, selector: IDocumentFilterDto[]): void;558$registerDocumentOnDropEditProvider(handle: number, selector: IDocumentFilterDto[], metadata?: IDocumentDropEditProviderMetadata): void;559$resolvePasteFileData(handle: number, requestId: number, dataId: string): Promise<VSBuffer>;560$resolveDocumentOnDropFileData(handle: number, requestId: number, dataId: string): Promise<VSBuffer>;561$setLanguageConfiguration(handle: number, languageId: string, configuration: ILanguageConfigurationDto): void;562}563564export interface MainThreadLanguagesShape extends IDisposable {565$changeLanguage(resource: UriComponents, languageId: string): Promise<void>;566$tokensAtPosition(resource: UriComponents, position: IPosition): Promise<undefined | { type: StandardTokenType; range: IRange }>;567$setLanguageStatus(handle: number, status: ILanguageStatus): void;568$removeLanguageStatus(handle: number): void;569}570571export interface MainThreadMessageOptions {572source?: { identifier: ExtensionIdentifier; label: string };573modal?: boolean;574detail?: string;575useCustom?: boolean;576}577578export interface MainThreadMessageServiceShape extends IDisposable {579$showMessage(severity: Severity, message: string, options: MainThreadMessageOptions, commands: { title: string; isCloseAffordance: boolean; handle: number }[]): Promise<number | undefined>;580}581582export interface MainThreadOutputServiceShape extends IDisposable {583$register(label: string, file: UriComponents, languageId: string | undefined, extensionId: string): Promise<string>;584$update(channelId: string, mode: OutputChannelUpdateMode, till?: number): Promise<void>;585$reveal(channelId: string, preserveFocus: boolean): Promise<void>;586$close(channelId: string): Promise<void>;587$dispose(channelId: string): Promise<void>;588}589590export interface MainThreadProgressShape extends IDisposable {591592$startProgress(handle: number, options: IProgressOptions, extensionId?: string): Promise<void>;593$progressReport(handle: number, message: IProgressStep): void;594$progressEnd(handle: number): void;595}596597/**598* A terminal that is created on the extension host side is temporarily assigned599* a UUID by the extension host that created it. Once the renderer side has assigned600* a real numeric id, the numeric id will be used.601*602* All other terminals (that are not created on the extension host side) always603* use the numeric id.604*/605export type ExtHostTerminalIdentifier = number | string;606607export interface TerminalLaunchConfig {608name?: string;609shellPath?: string;610shellArgs?: string[] | string;611cwd?: string | UriComponents;612env?: ITerminalEnvironment;613icon?: URI | { light: URI; dark: URI } | ThemeIcon;614color?: string;615initialText?: string;616waitOnExit?: boolean;617strictEnv?: boolean;618hideFromUser?: boolean;619isExtensionCustomPtyTerminal?: boolean;620forceShellIntegration?: boolean;621isFeatureTerminal?: boolean;622isExtensionOwnedTerminal?: boolean;623useShellEnvironment?: boolean;624location?: TerminalLocation | { viewColumn: number; preserveFocus?: boolean } | { parentTerminal: ExtHostTerminalIdentifier } | { splitActiveTerminal: boolean };625isTransient?: boolean;626shellIntegrationNonce?: string;627}628629630export interface MainThreadTerminalServiceShape extends IDisposable {631$createTerminal(extHostTerminalId: string, config: TerminalLaunchConfig): Promise<void>;632$dispose(id: ExtHostTerminalIdentifier): void;633$hide(id: ExtHostTerminalIdentifier): void;634$sendText(id: ExtHostTerminalIdentifier, text: string, shouldExecute: boolean): void;635$show(id: ExtHostTerminalIdentifier, preserveFocus: boolean): void;636$registerProcessSupport(isSupported: boolean): void;637$registerProfileProvider(id: string, extensionIdentifier: string): void;638$unregisterProfileProvider(id: string): void;639$registerCompletionProvider(id: string, extensionIdentifier: string, ...triggerCharacters: string[]): void;640$unregisterCompletionProvider(id: string): void;641$registerQuickFixProvider(id: string, extensionIdentifier: string): void;642$unregisterQuickFixProvider(id: string): void;643$setEnvironmentVariableCollection(extensionIdentifier: string, persistent: boolean, collection: ISerializableEnvironmentVariableCollection | undefined, descriptionMap: ISerializableEnvironmentDescriptionMap): void;644645// Optional event toggles646$startSendingDataEvents(): void;647$stopSendingDataEvents(): void;648$startSendingCommandEvents(): void;649$stopSendingCommandEvents(): void;650$startLinkProvider(): void;651$stopLinkProvider(): void;652653// Process654$sendProcessData(terminalId: number, data: string): void;655$sendProcessReady(terminalId: number, pid: number, cwd: string, windowsPty: IProcessReadyWindowsPty | undefined): void;656$sendProcessProperty(terminalId: number, property: IProcessProperty<any>): void;657$sendProcessExit(terminalId: number, exitCode: number | undefined): void;658}659660export interface MainThreadTerminalShellIntegrationShape extends IDisposable {661$executeCommand(terminalId: number, commandLine: string): void;662}663664export type TransferQuickPickItemOrSeparator = TransferQuickPickItem | quickInput.IQuickPickSeparator;665export interface TransferQuickPickItem {666handle: number;667668// shared properties from IQuickPickItem669type?: 'item';670label: string;671iconPathDto?: IconPathDto;672description?: string;673detail?: string;674picked?: boolean;675alwaysShow?: boolean;676buttons?: TransferQuickInputButton[];677resourceUri?: UriComponents;678679// TODO: These properties are not used for transfer (iconPathDto is used instead) but they cannot be removed680// because this type is used as IQuickPickItem on the main thread. Ideally IQuickPickItem should also use IconPath.681iconPath?: { light?: URI; dark: URI };682iconClass?: string;683}684685export interface TransferQuickInputButton extends quickInput.IQuickInputButton {686handle: number;687iconPathDto: IconPathDto;688toggle?: { checked: boolean };689690// TODO: These properties are not used for transfer (iconPathDto is used instead) but they cannot be removed691// because this type is used as IQuickInputButton on the main thread. Ideally IQuickInputButton should also use IconPath.692iconPath?: { light?: URI; dark: URI };693iconClass?: string;694}695696export type TransferQuickInput = TransferQuickPick | TransferInputBox;697698export interface BaseTransferQuickInput {699700[key: string]: any;701702id: number;703704title?: string;705706type?: 'quickPick' | 'inputBox';707708enabled?: boolean;709710busy?: boolean;711712visible?: boolean;713}714715export interface TransferQuickPick extends BaseTransferQuickInput {716717type?: 'quickPick';718719value?: string;720721placeholder?: string;722723prompt?: string;724725buttons?: TransferQuickInputButton[];726727items?: TransferQuickPickItemOrSeparator[];728729activeItems?: number[];730731selectedItems?: number[];732733canSelectMany?: boolean;734735ignoreFocusOut?: boolean;736737matchOnDescription?: boolean;738739matchOnDetail?: boolean;740741sortByLabel?: boolean;742}743744export interface TransferInputBox extends BaseTransferQuickInput {745746type?: 'inputBox';747748value?: string;749750valueSelection?: Readonly<[number, number]>;751752placeholder?: string;753754password?: boolean;755756buttons?: TransferQuickInputButton[];757758prompt?: string;759760validationMessage?: string;761}762763export interface IInputBoxOptions {764title?: string;765value?: string;766valueSelection?: Readonly<[number, number]>;767prompt?: string;768placeHolder?: string;769password?: boolean;770ignoreFocusOut?: boolean;771}772773export interface MainThreadQuickOpenShape extends IDisposable {774$show(instance: number, options: quickInput.IPickOptions<TransferQuickPickItem>, token: CancellationToken): Promise<number | number[] | undefined>;775$setItems(instance: number, items: TransferQuickPickItemOrSeparator[]): Promise<void>;776$setError(instance: number, error: Error): Promise<void>;777$input(options: IInputBoxOptions | undefined, validateInput: boolean, token: CancellationToken): Promise<string | undefined>;778$createOrUpdate(params: TransferQuickInput): Promise<void>;779$dispose(id: number): Promise<void>;780}781782export interface MainThreadStatusBarShape extends IDisposable {783$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;784$disposeEntry(id: string): void;785}786787export type StatusBarItemDto = {788entryId: string;789alignLeft: boolean;790priority?: number;791name: string;792text: string;793tooltip?: string;794command?: string;795accessibilityInformation?: IAccessibilityInformation;796};797798export interface ExtHostStatusBarShape {799$acceptStaticEntries(added?: StatusBarItemDto[]): void;800$provideTooltip(entryId: string, cancellation: CancellationToken): Promise<string | IMarkdownString | undefined>;801}802803export interface MainThreadStorageShape extends IDisposable {804$initializeExtensionStorage(shared: boolean, extensionId: string): Promise<string | undefined>;805$setValue(shared: boolean, extensionId: string, value: object): Promise<void>;806$registerExtensionStorageKeysToSync(extension: IExtensionIdWithVersion, keys: string[]): void;807}808809export interface MainThreadTelemetryShape extends IDisposable {810$publicLog(eventName: string, data?: any): void;811$publicLog2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): void;812}813814export interface MainThreadEditorInsetsShape extends IDisposable {815$createEditorInset(handle: number, id: string, uri: UriComponents, line: number, height: number, options: IWebviewContentOptions, extensionId: ExtensionIdentifier, extensionLocation: UriComponents): Promise<void>;816$disposeEditorInset(handle: number): void;817818$setHtml(handle: number, value: string): void;819$setOptions(handle: number, options: IWebviewContentOptions): void;820$postMessage(handle: number, value: any): Promise<boolean>;821}822823export interface ExtHostEditorInsetsShape {824$onDidDispose(handle: number): void;825$onDidReceiveMessage(handle: number, message: any): void;826}827828//#region --- tabs model829830export const enum TabInputKind {831UnknownInput,832TextInput,833TextDiffInput,834TextMergeInput,835NotebookInput,836NotebookDiffInput,837CustomEditorInput,838WebviewEditorInput,839TerminalEditorInput,840InteractiveEditorInput,841ChatEditorInput,842MultiDiffEditorInput843}844845export const enum TabModelOperationKind {846TAB_OPEN,847TAB_CLOSE,848TAB_UPDATE,849TAB_MOVE850}851852export interface UnknownInputDto {853kind: TabInputKind.UnknownInput;854}855856export interface TextInputDto {857kind: TabInputKind.TextInput;858uri: UriComponents;859}860861export interface TextDiffInputDto {862kind: TabInputKind.TextDiffInput;863original: UriComponents;864modified: UriComponents;865}866867export interface TextMergeInputDto {868kind: TabInputKind.TextMergeInput;869base: UriComponents;870input1: UriComponents;871input2: UriComponents;872result: UriComponents;873}874875export interface NotebookInputDto {876kind: TabInputKind.NotebookInput;877notebookType: string;878uri: UriComponents;879}880881export interface NotebookDiffInputDto {882kind: TabInputKind.NotebookDiffInput;883notebookType: string;884original: UriComponents;885modified: UriComponents;886}887888export interface CustomInputDto {889kind: TabInputKind.CustomEditorInput;890viewType: string;891uri: UriComponents;892}893894export interface WebviewInputDto {895kind: TabInputKind.WebviewEditorInput;896viewType: string;897}898899export interface InteractiveEditorInputDto {900kind: TabInputKind.InteractiveEditorInput;901uri: UriComponents;902inputBoxUri: UriComponents;903}904905export interface ChatEditorInputDto {906kind: TabInputKind.ChatEditorInput;907}908909export interface MultiDiffEditorInputDto {910kind: TabInputKind.MultiDiffEditorInput;911diffEditors: TextDiffInputDto[];912}913914export interface TabInputDto {915kind: TabInputKind.TerminalEditorInput;916}917918export type AnyInputDto = UnknownInputDto | TextInputDto | TextDiffInputDto | MultiDiffEditorInputDto | TextMergeInputDto | NotebookInputDto | NotebookDiffInputDto | CustomInputDto | WebviewInputDto | InteractiveEditorInputDto | ChatEditorInputDto | TabInputDto;919920export interface MainThreadEditorTabsShape extends IDisposable {921// manage tabs: move, close, rearrange etc922$moveTab(tabId: string, index: number, viewColumn: EditorGroupColumn, preserveFocus?: boolean): void;923$closeTab(tabIds: string[], preserveFocus?: boolean): Promise<boolean>;924$closeGroup(groupIds: number[], preservceFocus?: boolean): Promise<boolean>;925}926927export interface IEditorTabGroupDto {928isActive: boolean;929viewColumn: EditorGroupColumn;930// Decided not to go with simple index here due to opening and closing causing index shifts931// This allows us to patch the model without having to do full rebuilds932tabs: IEditorTabDto[];933groupId: number;934}935936export interface TabOperation {937readonly kind: TabModelOperationKind.TAB_OPEN | TabModelOperationKind.TAB_CLOSE | TabModelOperationKind.TAB_UPDATE | TabModelOperationKind.TAB_MOVE;938// TODO @lramos15 Possibly get rid of index for tab update, it's only needed for open and close939readonly index: number;940readonly tabDto: IEditorTabDto;941readonly groupId: number;942readonly oldIndex?: number;943}944945export interface IEditorTabDto {946id: string;947label: string;948input: AnyInputDto;949editorId?: string;950isActive: boolean;951isPinned: boolean;952isPreview: boolean;953isDirty: boolean;954}955956export interface IExtHostEditorTabsShape {957// Accepts a whole new model958$acceptEditorTabModel(tabGroups: IEditorTabGroupDto[]): void;959// Only when group property changes (not the tabs inside)960$acceptTabGroupUpdate(groupDto: IEditorTabGroupDto): void;961// When a tab is added, removed, or updated962$acceptTabOperation(operation: TabOperation): void;963}964965//#endregion966967export type WebviewHandle = string;968969export interface WebviewPanelShowOptions {970readonly viewColumn?: EditorGroupColumn;971readonly preserveFocus?: boolean;972}973974export interface WebviewExtensionDescription {975readonly id: ExtensionIdentifier;976readonly location: UriComponents;977}978979export enum WebviewEditorCapabilities {980Editable,981SupportsHotExit,982}983984export interface IWebviewPortMapping {985readonly webviewPort: number;986readonly extensionHostPort: number;987}988989export interface IWebviewContentOptions {990readonly enableScripts?: boolean;991readonly enableForms?: boolean;992readonly enableCommandUris?: boolean | readonly string[];993readonly localResourceRoots?: readonly UriComponents[];994readonly portMapping?: readonly IWebviewPortMapping[];995}996997export interface IWebviewPanelOptions {998readonly enableFindWidget?: boolean;999readonly retainContextWhenHidden?: boolean;1000}10011002export interface CustomTextEditorCapabilities {1003readonly supportsMove?: boolean;1004}10051006export const enum WebviewMessageArrayBufferViewType {1007Int8Array = 1,1008Uint8Array = 2,1009Uint8ClampedArray = 3,1010Int16Array = 4,1011Uint16Array = 5,1012Int32Array = 6,1013Uint32Array = 7,1014Float32Array = 8,1015Float64Array = 9,1016BigInt64Array = 10,1017BigUint64Array = 11,1018}10191020export interface WebviewMessageArrayBufferReference {1021readonly $$vscode_array_buffer_reference$$: true;10221023readonly index: number;10241025/**1026* Tracks if the reference is to a view instead of directly to an ArrayBuffer.1027*/1028readonly view?: {1029readonly type: WebviewMessageArrayBufferViewType;1030readonly byteLength: number;1031readonly byteOffset: number;1032};1033}10341035export interface MainThreadWebviewsShape extends IDisposable {1036$setHtml(handle: WebviewHandle, value: string): void;1037$setOptions(handle: WebviewHandle, options: IWebviewContentOptions): void;1038$postMessage(handle: WebviewHandle, value: string, ...buffers: VSBuffer[]): Promise<boolean>;1039}10401041export type IWebviewIconPath = ThemeIcon | {1042readonly light: UriComponents;1043readonly dark: UriComponents;1044};10451046export interface IWebviewInitData {1047readonly title: string;1048readonly webviewOptions: IWebviewContentOptions;1049readonly panelOptions: IWebviewPanelOptions;1050readonly serializeBuffersForPostMessage: boolean;1051}10521053export interface MainThreadWebviewPanelsShape extends IDisposable {1054$createWebviewPanel(1055extension: WebviewExtensionDescription,1056handle: WebviewHandle,1057viewType: string,1058initData: IWebviewInitData,1059showOptions: WebviewPanelShowOptions,1060): void;1061$disposeWebview(handle: WebviewHandle): void;1062$reveal(handle: WebviewHandle, showOptions: WebviewPanelShowOptions): void;1063$setTitle(handle: WebviewHandle, value: string): void;1064$setIconPath(handle: WebviewHandle, value: IWebviewIconPath | undefined): void;10651066$registerSerializer(viewType: string, options: { serializeBuffersForPostMessage: boolean }): void;1067$unregisterSerializer(viewType: string): void;1068}10691070export interface MainThreadCustomEditorsShape extends IDisposable {1071$registerTextEditorProvider(extension: WebviewExtensionDescription, viewType: string, options: IWebviewPanelOptions, capabilities: CustomTextEditorCapabilities, serializeBuffersForPostMessage: boolean): void;1072$registerCustomEditorProvider(extension: WebviewExtensionDescription, viewType: string, options: IWebviewPanelOptions, supportsMultipleEditorsPerDocument: boolean, serializeBuffersForPostMessage: boolean): void;1073$unregisterEditorProvider(viewType: string): void;10741075$onDidEdit(resource: UriComponents, viewType: string, editId: number, label: string | undefined): void;1076$onContentChange(resource: UriComponents, viewType: string): void;1077}10781079export interface MainThreadWebviewViewsShape extends IDisposable {1080$registerWebviewViewProvider(extension: WebviewExtensionDescription, viewType: string, options: { retainContextWhenHidden?: boolean; serializeBuffersForPostMessage: boolean }): void;1081$unregisterWebviewViewProvider(viewType: string): void;10821083$setWebviewViewTitle(handle: WebviewHandle, value: string | undefined): void;1084$setWebviewViewDescription(handle: WebviewHandle, value: string | undefined): void;1085$setWebviewViewBadge(handle: WebviewHandle, badge: IViewBadge | undefined): void;10861087$show(handle: WebviewHandle, preserveFocus: boolean): void;1088}10891090export interface WebviewPanelViewStateData {1091[handle: string]: {1092readonly active: boolean;1093readonly visible: boolean;1094readonly position: EditorGroupColumn;1095};1096}10971098export interface ExtHostWebviewsShape {1099$onMessage(handle: WebviewHandle, jsonSerializedMessage: string, buffers: SerializableObjectWithBuffers<VSBuffer[]>): void;1100$onMissingCsp(handle: WebviewHandle, extensionId: string): void;1101}11021103export interface ExtHostWebviewPanelsShape {1104$onDidChangeWebviewPanelViewStates(newState: WebviewPanelViewStateData): void;1105$onDidDisposeWebviewPanel(handle: WebviewHandle): Promise<void>;1106$deserializeWebviewPanel(1107newWebviewHandle: WebviewHandle,1108viewType: string,1109initData: {1110title: string;1111state: any;1112webviewOptions: IWebviewContentOptions;1113panelOptions: IWebviewPanelOptions;1114active: boolean;1115},1116position: EditorGroupColumn,1117): Promise<void>;1118}11191120export interface ExtHostCustomEditorsShape {1121$resolveCustomEditor(1122resource: UriComponents,1123newWebviewHandle: WebviewHandle,1124viewType: string,1125initData: {1126title: string;1127contentOptions: IWebviewContentOptions;1128options: IWebviewPanelOptions;1129active: boolean;1130},1131position: EditorGroupColumn,1132cancellation: CancellationToken1133): Promise<void>;1134$createCustomDocument(resource: UriComponents, viewType: string, backupId: string | undefined, untitledDocumentData: VSBuffer | undefined, cancellation: CancellationToken): Promise<{ editable: boolean }>;1135$disposeCustomDocument(resource: UriComponents, viewType: string): Promise<void>;11361137$undo(resource: UriComponents, viewType: string, editId: number, isDirty: boolean): Promise<void>;1138$redo(resource: UriComponents, viewType: string, editId: number, isDirty: boolean): Promise<void>;1139$revert(resource: UriComponents, viewType: string, cancellation: CancellationToken): Promise<void>;1140$disposeEdits(resourceComponents: UriComponents, viewType: string, editIds: number[]): void;11411142$onSave(resource: UriComponents, viewType: string, cancellation: CancellationToken): Promise<void>;1143$onSaveAs(resource: UriComponents, viewType: string, targetResource: UriComponents, cancellation: CancellationToken): Promise<void>;11441145$backup(resource: UriComponents, viewType: string, cancellation: CancellationToken): Promise<string>;11461147$onMoveCustomEditor(handle: WebviewHandle, newResource: UriComponents, viewType: string): Promise<void>;1148}11491150export interface ExtHostWebviewViewsShape {1151$resolveWebviewView(webviewHandle: WebviewHandle, viewType: string, title: string | undefined, state: any, cancellation: CancellationToken): Promise<void>;11521153$onDidChangeWebviewViewVisibility(webviewHandle: WebviewHandle, visible: boolean): void;11541155$disposeWebviewView(webviewHandle: WebviewHandle): void;1156}11571158export interface MainThreadManagedSocketsShape extends IDisposable {1159$registerSocketFactory(socketFactoryId: number): Promise<void>;1160$unregisterSocketFactory(socketFactoryId: number): Promise<void>;1161$onDidManagedSocketHaveData(socketId: number, data: VSBuffer): void;1162$onDidManagedSocketClose(socketId: number, error: string | undefined): void;1163$onDidManagedSocketEnd(socketId: number): void;1164}11651166export interface ExtHostManagedSocketsShape {1167$openRemoteSocket(socketFactoryId: number): Promise<number>;1168$remoteSocketWrite(socketId: number, buffer: VSBuffer): void;1169$remoteSocketEnd(socketId: number): void;1170$remoteSocketDrain(socketId: number): Promise<void>;1171}11721173export enum CellOutputKind {1174Text = 1,1175Error = 2,1176Rich = 31177}11781179export enum NotebookEditorRevealType {1180Default = 0,1181InCenter = 1,1182InCenterIfOutsideViewport = 2,1183AtTop = 31184}11851186export interface INotebookDocumentShowOptions {1187position?: EditorGroupColumn;1188preserveFocus?: boolean;1189pinned?: boolean;1190selections?: ICellRange[];1191label?: string;1192}11931194export type INotebookCellStatusBarEntryDto = Dto<notebookCommon.INotebookCellStatusBarItem>;11951196export interface INotebookCellStatusBarListDto {1197items: INotebookCellStatusBarEntryDto[];1198cacheId: number;1199}12001201export interface MainThreadNotebookShape extends IDisposable {1202$registerNotebookSerializer(handle: number, extension: notebookCommon.NotebookExtensionDescription, viewType: string, options: notebookCommon.TransientOptions, registration: notebookCommon.INotebookContributionData | undefined): void;1203$unregisterNotebookSerializer(handle: number): void;12041205$registerNotebookCellStatusBarItemProvider(handle: number, eventHandle: number | undefined, viewType: string): Promise<void>;1206$unregisterNotebookCellStatusBarItemProvider(handle: number, eventHandle: number | undefined): Promise<void>;1207$emitCellStatusBarEvent(eventHandle: number): void;1208}12091210export interface MainThreadNotebookEditorsShape extends IDisposable {1211$tryShowNotebookDocument(uriComponents: UriComponents, viewType: string, options: INotebookDocumentShowOptions): Promise<string>;1212$tryRevealRange(id: string, range: ICellRange, revealType: NotebookEditorRevealType): Promise<void>;1213$trySetSelections(id: string, range: ICellRange[]): void;1214}12151216export interface MainThreadNotebookDocumentsShape extends IDisposable {1217$tryCreateNotebook(options: { viewType: string; content?: NotebookDataDto }): Promise<UriComponents>;1218$tryOpenNotebook(uriComponents: UriComponents): Promise<UriComponents>;1219$trySaveNotebook(uri: UriComponents): Promise<boolean>;1220}12211222export interface INotebookKernelDto2 {1223id: string;1224notebookType: string;1225extensionId: ExtensionIdentifier;1226extensionLocation: UriComponents;1227label: string;1228detail?: string;1229description?: string;1230supportedLanguages?: string[];1231supportsInterrupt?: boolean;1232supportsExecutionOrder?: boolean;1233preloads?: { uri: UriComponents; provides: readonly string[] }[];1234hasVariableProvider?: boolean;1235}12361237export interface INotebookProxyKernelDto {1238id: string;1239notebookType: string;1240extensionId: ExtensionIdentifier;1241extensionLocation: UriComponents;1242label: string;1243detail?: string;1244description?: string;1245kind?: string;1246}12471248export interface ICellExecuteOutputEditDto {1249editType: CellExecutionUpdateType.Output;1250cellHandle: number;1251append?: boolean;1252outputs: NotebookOutputDto[];1253}12541255export interface ICellExecuteOutputItemEditDto {1256editType: CellExecutionUpdateType.OutputItems;1257append?: boolean;1258outputId: string;1259items: NotebookOutputItemDto[];1260}12611262export interface ICellExecutionStateUpdateDto extends ICellExecutionStateUpdate {1263}12641265export interface ICellExecutionCompleteDto extends ICellExecutionComplete {1266}12671268export type ICellExecuteUpdateDto = ICellExecuteOutputEditDto | ICellExecuteOutputItemEditDto | ICellExecutionStateUpdateDto;12691270export interface VariablesResult {1271id: number;1272name: string;1273value: string;1274type?: string;1275language?: string;1276expression?: string;1277hasNamedChildren: boolean;1278indexedChildrenCount: number;1279extensionId: string;1280}12811282export interface MainThreadNotebookKernelsShape extends IDisposable {1283$postMessage(handle: number, editorId: string | undefined, message: any): Promise<boolean>;1284$addKernel(handle: number, data: INotebookKernelDto2): Promise<void>;1285$updateKernel(handle: number, data: Partial<INotebookKernelDto2>): void;1286$removeKernel(handle: number): void;1287$updateNotebookPriority(handle: number, uri: UriComponents, value: number | undefined): void;12881289$createExecution(handle: number, controllerId: string, uri: UriComponents, cellHandle: number): void;1290$updateExecution(handle: number, data: SerializableObjectWithBuffers<ICellExecuteUpdateDto[]>): void;1291$completeExecution(handle: number, data: SerializableObjectWithBuffers<ICellExecutionCompleteDto>): void;12921293$createNotebookExecution(handle: number, controllerId: string, uri: UriComponents): void;1294$beginNotebookExecution(handle: number,): void;1295$completeNotebookExecution(handle: number): void;12961297$addKernelDetectionTask(handle: number, notebookType: string): Promise<void>;1298$removeKernelDetectionTask(handle: number): void;12991300$addKernelSourceActionProvider(handle: number, eventHandle: number, notebookType: string): Promise<void>;1301$removeKernelSourceActionProvider(handle: number, eventHandle: number): void;1302$emitNotebookKernelSourceActionsChangeEvent(eventHandle: number): void;1303$receiveVariable(requestId: string, variable: VariablesResult): void;1304$variablesUpdated(notebookUri: UriComponents): void;1305}13061307export interface MainThreadNotebookRenderersShape extends IDisposable {1308$postMessage(editorId: string | undefined, rendererId: string, message: unknown): Promise<boolean>;1309}13101311export interface MainThreadInteractiveShape extends IDisposable {1312}13131314export interface MainThreadSpeechShape extends IDisposable {1315$registerProvider(handle: number, identifier: string, metadata: ISpeechProviderMetadata): void;1316$unregisterProvider(handle: number): void;13171318$emitSpeechToTextEvent(session: number, event: ISpeechToTextEvent): void;1319$emitTextToSpeechEvent(session: number, event: ITextToSpeechEvent): void;1320$emitKeywordRecognitionEvent(session: number, event: IKeywordRecognitionEvent): void;1321}13221323export interface ExtHostSpeechShape {1324$createSpeechToTextSession(handle: number, session: number, language?: string): Promise<void>;1325$cancelSpeechToTextSession(session: number): Promise<void>;13261327$createTextToSpeechSession(handle: number, session: number, language?: string): Promise<void>;1328$synthesizeSpeech(session: number, text: string): Promise<void>;1329$cancelTextToSpeechSession(session: number): Promise<void>;13301331$createKeywordRecognitionSession(handle: number, session: number): Promise<void>;1332$cancelKeywordRecognitionSession(session: number): Promise<void>;1333}13341335export interface MainThreadLanguageModelsShape extends IDisposable {1336$registerLanguageModelProvider(vendor: string): void;1337$onLMProviderChange(vendor: string): void;1338$unregisterProvider(vendor: string): void;1339$tryStartChatRequest(extension: ExtensionIdentifier, modelIdentifier: string, requestId: number, messages: SerializableObjectWithBuffers<IChatMessage[]>, options: {}, token: CancellationToken): Promise<void>;1340$reportResponsePart(requestId: number, chunk: SerializableObjectWithBuffers<IChatResponsePart | IChatResponsePart[]>): Promise<void>;1341$reportResponseDone(requestId: number, error: SerializedError | undefined): Promise<void>;1342$selectChatModels(selector: ILanguageModelChatSelector): Promise<string[]>;1343$countTokens(modelId: string, value: string | IChatMessage, token: CancellationToken): Promise<number>;1344$fileIsIgnored(uri: UriComponents, token: CancellationToken): Promise<boolean>;1345$registerFileIgnoreProvider(handle: number): void;1346$unregisterFileIgnoreProvider(handle: number): void;1347}13481349export interface ExtHostLanguageModelsShape {1350$provideLanguageModelChatInfo(vendor: string, options: ILanguageModelChatInfoOptions, token: CancellationToken): Promise<ILanguageModelChatMetadataAndIdentifier[]>;1351$updateModelAccesslist(data: { from: ExtensionIdentifier; to: ExtensionIdentifier; enabled: boolean }[]): void;1352$startChatRequest(modelId: string, requestId: number, from: ExtensionIdentifier, messages: SerializableObjectWithBuffers<IChatMessage[]>, options: { [name: string]: any }, token: CancellationToken): Promise<void>;1353$acceptResponsePart(requestId: number, chunk: SerializableObjectWithBuffers<IChatResponsePart | IChatResponsePart[]>): Promise<void>;1354$acceptResponseDone(requestId: number, error: SerializedError | undefined): Promise<void>;1355$provideTokenLength(modelId: string, value: string | IChatMessage, token: CancellationToken): Promise<number>;1356$isFileIgnored(handle: number, uri: UriComponents, token: CancellationToken): Promise<boolean>;1357}13581359export type IChatContextItemDto = Dto<IChatContextItem>;13601361export interface ExtHostChatContextShape {1362$provideWorkspaceChatContext(handle: number, token: CancellationToken): Promise<IChatContextItem[]>;1363$provideExplicitChatContext(handle: number, token: CancellationToken): Promise<IChatContextItem[]>;1364$resolveExplicitChatContext(handle: number, context: IChatContextItem, token: CancellationToken): Promise<IChatContextItem>;1365$provideResourceChatContext(handle: number, options: { resource: UriComponents; withValue: boolean }, token: CancellationToken): Promise<IChatContextItem | undefined>;1366$resolveResourceChatContext(handle: number, context: IChatContextItem, token: CancellationToken): Promise<IChatContextItem>;1367$executeChatContextItemCommand(itemHandle: number): Promise<void>;1368}13691370export interface MainThreadChatContextShape extends IDisposable {1371$registerChatWorkspaceContextProvider(handle: number, id: string): void;1372$registerChatExplicitContextProvider(handle: number, id: string): void;1373$registerChatResourceContextProvider(handle: number, id: string, selector: IDocumentFilterDto[]): void;1374$unregisterChatContextProvider(handle: number): void;1375$updateWorkspaceContextItems(handle: number, items: IChatContextItemDto[]): void;1376$executeChatContextItemCommand(itemHandle: number): Promise<void>;1377}13781379export interface MainThreadEmbeddingsShape extends IDisposable {1380$registerEmbeddingProvider(handle: number, identifier: string): void;1381$unregisterEmbeddingProvider(handle: number): void;1382$computeEmbeddings(embeddingsModel: string, input: string[], token: CancellationToken): Promise<({ values: number[] }[])>;1383}13841385export interface ExtHostEmbeddingsShape {1386$provideEmbeddings(handle: number, input: string[], token: CancellationToken): Promise<{ values: number[] }[]>;1387$acceptEmbeddingModels(models: string[]): void;1388}13891390export interface IExtensionChatAgentMetadata extends Dto<IChatAgentMetadata> {1391hasFollowups?: boolean;1392}13931394export interface IDynamicChatAgentProps {1395name: string;1396publisherName: string;1397description?: string;1398fullName?: string;1399}14001401export interface IChatAgentProgressShape {1402$handleProgressChunk(requestId: string, chunks: (IChatProgressDto | [IChatProgressDto, number])[]): Promise<void>;1403$handleAnchorResolve(requestId: string, handle: string, anchor: Dto<IChatContentInlineReference>): void;1404}14051406export interface MainThreadChatAgentsShape2 extends IChatAgentProgressShape, IDisposable {1407$registerAgent(handle: number, extension: ExtensionIdentifier, id: string, metadata: IExtensionChatAgentMetadata, dynamicProps: IDynamicChatAgentProps | undefined): void;1408$registerChatParticipantDetectionProvider(handle: number): void;1409$unregisterChatParticipantDetectionProvider(handle: number): void;1410$registerPromptFileProvider(handle: number, type: string, extension: ExtensionIdentifier): void;1411$unregisterPromptFileProvider(handle: number): void;1412$onDidChangePromptFiles(handle: number): void;1413$registerAgentCompletionsProvider(handle: number, id: string, triggerCharacters: string[]): void;1414$unregisterAgentCompletionsProvider(handle: number, id: string): void;1415$updateAgent(handle: number, metadataUpdate: IExtensionChatAgentMetadata): void;1416$unregisterAgent(handle: number): void;14171418$transferActiveChatSession(toWorkspace: UriComponents): Promise<void>;1419}14201421export interface ICodeMapperTextEdit {1422uri: URI;1423edits: languages.TextEdit[];1424}14251426export interface ICodeMapperNotebookEditDto {1427uri: URI;1428edits: ICellEditOperationDto[];1429}14301431export type ICodeMapperProgressDto = Dto<ICodeMapperTextEdit> | Dto<ICodeMapperNotebookEditDto>;14321433export interface MainThreadCodeMapperShape extends IDisposable {1434$registerCodeMapperProvider(handle: number, displayName: string): void;1435$unregisterCodeMapperProvider(handle: number): void;1436$handleProgress(requestId: string, data: ICodeMapperProgressDto): Promise<void>;1437}14381439export interface IChatAgentCompletionItem {1440id: string;1441fullName?: string;1442icon?: string;1443insertText?: string;1444label: string | languages.CompletionItemLabel;1445value: IChatRequestVariableValueDto;1446detail?: string;1447documentation?: string | IMarkdownString;1448command?: ICommandDto;1449}14501451export type IChatContentProgressDto =1452| Dto<Exclude<IChatProgressHistoryResponseContent, IChatTask | IChatMultiDiffData>>1453| IChatMultiDiffDataSerialized1454| IChatTaskDto;14551456export type IChatAgentHistoryEntryDto = {1457request: IChatAgentRequest;1458response: ReadonlyArray<IChatContentProgressDto>;1459result: IChatAgentResult;1460};14611462export interface IChatSessionContextDto {1463readonly chatSessionResource: UriComponents;1464readonly isUntitled: boolean;1465}14661467export interface ExtHostChatAgentsShape2 {1468$invokeAgent(handle: number, request: Dto<IChatAgentRequest>, context: { history: IChatAgentHistoryEntryDto[]; chatSessionContext?: IChatSessionContextDto }, token: CancellationToken): Promise<IChatAgentResult | undefined>;1469$provideFollowups(request: Dto<IChatAgentRequest>, handle: number, result: IChatAgentResult, context: { history: IChatAgentHistoryEntryDto[] }, token: CancellationToken): Promise<IChatFollowup[]>;1470$acceptFeedback(handle: number, result: IChatAgentResult, voteAction: IChatVoteAction): void;1471$handleQuestionCarouselAnswer(requestId: string, resolveId: string, answers: Record<string, unknown> | undefined): void;1472$acceptAction(handle: number, result: IChatAgentResult, action: IChatUserActionEvent): void;1473$invokeCompletionProvider(handle: number, query: string, token: CancellationToken): Promise<IChatAgentCompletionItem[]>;1474$provideChatTitle(handle: number, context: IChatAgentHistoryEntryDto[], token: CancellationToken): Promise<string | undefined>;1475$provideChatSummary(handle: number, context: IChatAgentHistoryEntryDto[], token: CancellationToken): Promise<string | undefined>;1476$releaseSession(sessionResource: UriComponents): void;1477$detectChatParticipant(handle: number, request: Dto<IChatAgentRequest>, context: { history: IChatAgentHistoryEntryDto[] }, options: { participants: IChatParticipantMetadata[]; location: ChatAgentLocation }, token: CancellationToken): Promise<IChatParticipantDetectionResult | null | undefined>;1478$providePromptFiles(handle: number, type: PromptsType, context: IPromptFileContext, token: CancellationToken): Promise<Dto<IPromptFileResource>[] | undefined>;1479$setRequestTools(requestId: string, tools: UserSelectedTools): void;1480$setYieldRequested(requestId: string): void;1481}1482export interface IChatParticipantMetadata {1483participant: string;1484command?: string;1485disambiguation: { category: string; description: string; examples: string[] }[];1486}14871488export interface IChatParticipantDetectionResult {1489participant: string;1490command?: string;1491}14921493export interface IToolDataDto {1494id: string;1495toolReferenceName?: string;1496legacyToolReferenceFullNames?: readonly string[];1497tags?: readonly string[];1498displayName: string;1499userDescription?: string;1500modelDescription: string;1501source: Dto<ToolDataSource>;1502inputSchema?: IJSONSchema;1503}15041505export interface ILanguageModelChatSelectorDto {1506vendor?: string;1507family?: string;1508version?: string;1509id?: string;1510}15111512export interface IToolDefinitionDto extends IToolDataDto {1513icon?: IconPathDto;1514models?: ILanguageModelChatSelectorDto[];1515toolSet?: string;1516}15171518export interface MainThreadLanguageModelToolsShape extends IDisposable {1519$getTools(): Promise<Dto<IToolDataDto>[]>;1520$acceptToolProgress(callId: string, progress: IToolProgressStep): void;1521$invokeTool(dto: Dto<IToolInvocation>, token?: CancellationToken): Promise<Dto<IToolResult> | SerializableObjectWithBuffers<Dto<IToolResult>>>;1522$countTokensForInvocation(callId: string, input: string, token: CancellationToken): Promise<number>;1523$registerTool(id: string, hasHandleToolStream: boolean): void;1524$registerToolWithDefinition(extensionId: ExtensionIdentifier, definition: IToolDefinitionDto, hasHandleToolStream: boolean): void;1525$unregisterTool(name: string): void;1526}15271528export type IChatRequestVariableValueDto = Dto<IChatRequestVariableValue>;15291530export interface ExtHostLanguageModelToolsShape {1531$onDidChangeTools(tools: IToolDataDto[]): void;1532$invokeTool(dto: Dto<IToolInvocation>, token: CancellationToken): Promise<Dto<IToolResult> | SerializableObjectWithBuffers<Dto<IToolResult>>>;1533$countTokensForInvocation(callId: string, input: string, token: CancellationToken): Promise<number>;15341535$handleToolStream(toolId: string, context: IToolInvocationStreamContext, token: CancellationToken): Promise<IStreamedToolInvocation | undefined>;1536$prepareToolInvocation(toolId: string, context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;1537}15381539export interface MainThreadUrlsShape extends IDisposable {1540$registerUriHandler(handle: number, extensionId: ExtensionIdentifier, extensionDisplayName: string): Promise<void>;1541$unregisterUriHandler(handle: number): Promise<void>;1542$createAppUri(uri: UriComponents): Promise<UriComponents>;1543}15441545export interface IChatResponseProgressFileTreeData {1546label: string;1547uri: URI;1548children?: IChatResponseProgressFileTreeData[];1549}15501551export type IDocumentContextDto = {1552uri: UriComponents;1553version: number;1554ranges: IRange[];1555};15561557export type IChatProgressDto =1558| Dto<Exclude<IChatProgress, IChatTask | IChatNotebookEdit>>1559| IChatTaskDto1560| IChatNotebookEditDto1561| IChatExternalEditsDto1562| IChatResponseClearToPreviousToolInvocationDto1563| IChatBeginToolInvocationDto1564| IChatUpdateToolInvocationDto1565| IChatUsageDto;15661567export interface ExtHostUrlsShape {1568$handleExternalUri(handle: number, uri: UriComponents): Promise<void>;1569}15701571export interface MainThreadUriOpenersShape extends IDisposable {1572$registerUriOpener(id: string, schemes: readonly string[], extensionId: ExtensionIdentifier, label: string): Promise<void>;1573$unregisterUriOpener(id: string): Promise<void>;1574}15751576export interface ExtHostUriOpenersShape {1577$canOpenUri(id: string, uri: UriComponents, token: CancellationToken): Promise<languages.ExternalUriOpenerPriority>;1578$openUri(id: string, context: { resolvedUri: UriComponents; sourceUri: UriComponents }, token: CancellationToken): Promise<void>;1579}15801581export interface MainThreadChatOutputRendererShape extends IDisposable {1582$registerChatOutputRenderer(viewType: string, extensionId: ExtensionIdentifier, extensionLocation: UriComponents): void;1583$unregisterChatOutputRenderer(viewType: string): void;1584}15851586export interface ExtHostChatOutputRendererShape {1587$renderChatOutput(viewType: string, mime: string, valueData: VSBuffer, webviewHandle: string, token: CancellationToken): Promise<void>;1588}15891590export interface MainThreadProfileContentHandlersShape {1591$registerProfileContentHandler(id: string, name: string, description: string | undefined, extensionId: string): Promise<void>;1592$unregisterProfileContentHandler(id: string): Promise<void>;1593}15941595export interface ExtHostProfileContentHandlersShape {1596$saveProfile(id: string, name: string, content: string, token: CancellationToken): Promise<UriDto<ISaveProfileResult> | null>;1597$readProfile(id: string, idOrUri: string | UriComponents, token: CancellationToken): Promise<string | null>;1598}15991600export interface ITextSearchComplete {1601limitHit?: boolean;1602message?: TextSearchCompleteMessage | TextSearchCompleteMessage[];1603}16041605export interface ResourceTrustRequestOptionsDto {1606readonly uri: UriComponents;1607readonly message?: string;1608}16091610export interface MainThreadWorkspaceShape extends IDisposable {1611$startFileSearch(includeFolder: UriComponents | null, options: IFileQueryBuilderOptions, token: CancellationToken): Promise<UriComponents[] | null>;1612$startTextSearch(query: search.IPatternInfo, folder: UriComponents | null, options: ITextQueryBuilderOptions, requestId: number, token: CancellationToken): Promise<ITextSearchComplete | null>;1613$checkExists(folders: readonly UriComponents[], includes: string[], token: CancellationToken): Promise<boolean>;1614$save(uri: UriComponents, options: { saveAs: boolean }): Promise<UriComponents | undefined>;1615$saveAll(includeUntitled?: boolean): Promise<boolean>;1616$updateWorkspaceFolders(extensionName: string, index: number, deleteCount: number, workspaceFoldersToAdd: { uri: UriComponents; name?: string }[]): Promise<void>;1617$resolveProxy(url: string): Promise<string | undefined>;1618$lookupAuthorization(authInfo: AuthInfo): Promise<Credentials | undefined>;1619$lookupKerberosAuthorization(url: string): Promise<string | undefined>;1620$loadCertificates(): Promise<string[]>;1621$requestResourceTrust(options: ResourceTrustRequestOptionsDto): Promise<boolean | undefined>;1622$requestWorkspaceTrust(options?: WorkspaceTrustRequestOptions): Promise<boolean | undefined>;1623$isResourceTrusted(resource: UriComponents): Promise<boolean>;1624$registerEditSessionIdentityProvider(handle: number, scheme: string): void;1625$unregisterEditSessionIdentityProvider(handle: number): void;1626$registerCanonicalUriProvider(handle: number, scheme: string): void;1627$unregisterCanonicalUriProvider(handle: number): void;1628$resolveDecoding(resource: UriComponents | undefined, options?: { encoding?: string }): Promise<{ preferredEncoding: string; guessEncoding: boolean; candidateGuessEncodings: string[] }>;1629$validateDetectedEncoding(resource: UriComponents | undefined, detectedEncoding: string, options?: { encoding?: string }): Promise<string>;1630$resolveEncoding(resource: UriComponents | undefined, options?: { encoding?: string }): Promise<{ encoding: string; addBOM: boolean }>;1631}16321633export interface IFileChangeDto {1634resource: UriComponents;1635type: files.FileChangeType;1636}16371638export interface MainThreadFileSystemShape extends IDisposable {1639$registerFileSystemProvider(handle: number, scheme: string, capabilities: files.FileSystemProviderCapabilities, readonlyMessage?: IMarkdownString): Promise<void>;1640$unregisterProvider(handle: number): void;1641$onFileSystemChange(handle: number, resource: IFileChangeDto[]): void;16421643$stat(resource: UriComponents): Promise<files.IStat>;1644$readdir(resource: UriComponents): Promise<[string, files.FileType][]>;1645$readFile(resource: UriComponents): Promise<VSBuffer>;1646$writeFile(resource: UriComponents, content: VSBuffer): Promise<void>;1647$rename(resource: UriComponents, target: UriComponents, opts: files.IFileOverwriteOptions): Promise<void>;1648$copy(resource: UriComponents, target: UriComponents, opts: files.IFileOverwriteOptions): Promise<void>;1649$mkdir(resource: UriComponents): Promise<void>;1650$delete(resource: UriComponents, opts: files.IFileDeleteOptions): Promise<void>;16511652$ensureActivation(scheme: string): Promise<void>;1653}16541655export interface MainThreadFileSystemEventServiceShape extends IDisposable {1656$watch(extensionId: string, session: number, resource: UriComponents, opts: files.IWatchOptions, correlate: boolean): void;1657$unwatch(session: number): void;1658}16591660export interface MainThreadLabelServiceShape extends IDisposable {1661$registerResourceLabelFormatter(handle: number, formatter: ResourceLabelFormatter): void;1662$unregisterResourceLabelFormatter(handle: number): void;1663}16641665export interface MainThreadSearchShape extends IDisposable {1666$registerFileSearchProvider(handle: number, scheme: string): void;1667$registerAITextSearchProvider(handle: number, scheme: string): void;1668$registerTextSearchProvider(handle: number, scheme: string): void;1669$unregisterProvider(handle: number): void;1670$handleFileMatch(handle: number, session: number, data: UriComponents[]): void;1671$handleTextMatch(handle: number, session: number, data: search.IRawFileMatch2[]): void;1672$handleKeywordResult(handle: number, session: number, data: AISearchKeyword): void;1673$handleTelemetry(eventName: string, data: any): void;1674}16751676export interface MainThreadShareShape extends IDisposable {1677$registerShareProvider(handle: number, selector: IDocumentFilterDto[], id: string, label: string, priority: number): void;1678$unregisterShareProvider(handle: number): void;1679}16801681export interface MainThreadTaskShape extends IDisposable {1682$createTaskId(task: tasks.ITaskDTO): Promise<string>;1683$registerTaskProvider(handle: number, type: string): Promise<void>;1684$unregisterTaskProvider(handle: number): Promise<void>;1685$fetchTasks(filter?: tasks.ITaskFilterDTO): Promise<tasks.ITaskDTO[]>;1686$getTaskExecution(value: tasks.ITaskHandleDTO | tasks.ITaskDTO): Promise<tasks.ITaskExecutionDTO>;1687$executeTask(task: tasks.ITaskHandleDTO | tasks.ITaskDTO): Promise<tasks.ITaskExecutionDTO>;1688$terminateTask(id: string): Promise<void>;1689$registerTaskSystem(scheme: string, info: tasks.ITaskSystemInfoDTO): void;1690$customExecutionComplete(id: string, result?: number): Promise<void>;1691$registerSupportedExecutions(custom?: boolean, shell?: boolean, process?: boolean): Promise<void>;1692}16931694export interface MainThreadExtensionServiceShape extends IDisposable {1695$getExtension(extensionId: string): Promise<Dto<IExtensionDescription> | undefined>;1696$activateExtension(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;1697$onWillActivateExtension(extensionId: ExtensionIdentifier): Promise<void>;1698$onDidActivateExtension(extensionId: ExtensionIdentifier, codeLoadingTime: number, activateCallTime: number, activateResolvedTime: number, activationReason: ExtensionActivationReason): void;1699$onExtensionActivationError(extensionId: ExtensionIdentifier, error: SerializedError, missingExtensionDependency: MissingExtensionDependency | null): Promise<void>;1700$onExtensionRuntimeError(extensionId: ExtensionIdentifier, error: SerializedError): void;1701$setPerformanceMarks(marks: performance.PerformanceMark[]): Promise<void>;1702$asBrowserUri(uri: UriComponents): Promise<UriComponents>;1703}17041705export interface SCMProviderFeatures {1706hasArtifactProvider?: boolean;1707hasHistoryProvider?: boolean;1708hasQuickDiffProvider?: boolean;1709quickDiffLabel?: string;1710hasSecondaryQuickDiffProvider?: boolean;1711secondaryQuickDiffLabel?: string;1712count?: number;1713commitTemplate?: string;1714acceptInputCommand?: languages.Command;1715actionButton?: SCMActionButtonDto | null;1716statusBarCommands?: ICommandDto[];1717contextValue?: string;1718}17191720export interface SCMActionButtonDto {1721command: ICommandDto & { shortTitle?: string };1722secondaryCommands?: ICommandDto[][];1723enabled: boolean;1724}17251726export interface SCMGroupFeatures {1727hideWhenEmpty?: boolean;1728contextValue?: string;1729}17301731export type SCMRawResource = [1732number /*handle*/,1733UriComponents /*resourceUri*/,1734[UriComponents | ThemeIcon | undefined, UriComponents | ThemeIcon | undefined] /*icons: light, dark*/,1735string /*tooltip*/,1736boolean /*strike through*/,1737boolean /*faded*/,1738string /*context value*/,1739ICommandDto | undefined /*command*/,1740UriComponents | undefined /* multiFileDiffEditorOriginalUri */,1741UriComponents | undefined /* multiFileDiffEditorModifiedUri */,1742];17431744export type SCMRawResourceSplice = [1745number /* start */,1746number /* delete count */,1747SCMRawResource[]1748];17491750export type SCMRawResourceSplices = [1751number, /*handle*/1752SCMRawResourceSplice[]1753];17541755export interface SCMHistoryItemRefDto {1756readonly id: string;1757readonly name: string;1758readonly revision?: string;1759readonly category?: string;1760readonly description?: string;1761readonly icon?: IconPathDto;1762}17631764export interface SCMHistoryItemRefsChangeEventDto {1765readonly added: readonly SCMHistoryItemRefDto[];1766readonly modified: readonly SCMHistoryItemRefDto[];1767readonly removed: readonly SCMHistoryItemRefDto[];1768readonly silent: boolean;1769}17701771export interface SCMHistoryItemDto {1772readonly id: string;1773readonly parentIds: string[];1774readonly subject: string;1775readonly message: string;1776readonly displayId?: string;1777readonly author?: string;1778readonly authorIcon?: IconPathDto;1779readonly authorEmail?: string;1780readonly timestamp?: number;1781readonly statistics?: {1782readonly files: number;1783readonly insertions: number;1784readonly deletions: number;1785};1786readonly references?: SCMHistoryItemRefDto[];1787readonly tooltip?: IMarkdownString | Array<IMarkdownString> | undefined;1788}17891790export interface SCMHistoryItemChangeDto {1791readonly uri: UriComponents;1792readonly originalUri: UriComponents | undefined;1793readonly modifiedUri: UriComponents | undefined;1794}17951796export interface SCMArtifactGroupDto {1797readonly id: string;1798readonly name: string;1799readonly icon?: UriComponents | { light: UriComponents; dark: UriComponents } | ThemeIcon;1800readonly supportsFolders?: boolean;1801}18021803export interface SCMArtifactDto {1804readonly id: string;1805readonly name: string;1806readonly description?: string;1807readonly icon?: UriComponents | { light: UriComponents; dark: UriComponents } | ThemeIcon;1808readonly timestamp?: number;1809readonly command?: ICommandDto;1810}18111812export interface MainThreadSCMShape extends IDisposable {1813$registerSourceControl(handle: number, parentHandle: number | undefined, id: string, label: string, rootUri: UriComponents | undefined, iconPath: IconPathDto | undefined, isHidden: boolean | undefined, inputBoxDocumentUri: UriComponents): Promise<void>;1814$updateSourceControl(handle: number, features: SCMProviderFeatures): Promise<void>;1815$unregisterSourceControl(handle: number): Promise<void>;18161817$registerGroups(sourceControlHandle: number, groups: [number /*handle*/, string /*id*/, string /*label*/, SCMGroupFeatures, /* multiDiffEditorEnableViewChanges */ boolean][], splices: SCMRawResourceSplices[]): Promise<void>;1818$updateGroup(sourceControlHandle: number, handle: number, features: SCMGroupFeatures): Promise<void>;1819$updateGroupLabel(sourceControlHandle: number, handle: number, label: string): Promise<void>;1820$unregisterGroup(sourceControlHandle: number, handle: number): Promise<void>;18211822$spliceResourceStates(sourceControlHandle: number, splices: SCMRawResourceSplices[]): Promise<void>;18231824$setInputBoxValue(sourceControlHandle: number, value: string): Promise<void>;1825$setInputBoxPlaceholder(sourceControlHandle: number, placeholder: string): Promise<void>;1826$setInputBoxEnablement(sourceControlHandle: number, enabled: boolean): Promise<void>;1827$setInputBoxVisibility(sourceControlHandle: number, visible: boolean): Promise<void>;1828$showValidationMessage(sourceControlHandle: number, message: string | IMarkdownString, type: InputValidationType): Promise<void>;1829$setValidationProviderIsEnabled(sourceControlHandle: number, enabled: boolean): Promise<void>;18301831$onDidChangeHistoryProviderCurrentHistoryItemRefs(sourceControlHandle: number, historyItemRef?: SCMHistoryItemRefDto, historyItemRemoteRef?: SCMHistoryItemRefDto, historyItemBaseRef?: SCMHistoryItemRefDto): Promise<void>;1832$onDidChangeHistoryProviderHistoryItemRefs(sourceControlHandle: number, historyItemRefs: SCMHistoryItemRefsChangeEventDto): Promise<void>;18331834$onDidChangeArtifacts(sourceControlHandle: number, groups: string[]): Promise<void>;1835}18361837export interface MainThreadQuickDiffShape extends IDisposable {1838$registerQuickDiffProvider(handle: number, selector: IDocumentFilterDto[], id: string, label: string, rootUri: UriComponents | undefined): Promise<void>;1839$unregisterQuickDiffProvider(handle: number): Promise<void>;1840}18411842export type DebugSessionUUID = string;18431844export interface IDebugConfiguration {1845type: string;1846name: string;1847request: string;1848[key: string]: any;1849}18501851export interface IStartDebuggingOptions {1852parentSessionID?: DebugSessionUUID;1853lifecycleManagedByParent?: boolean;1854repl?: IDebugSessionReplMode;1855noDebug?: boolean;1856compact?: boolean;1857suppressDebugToolbar?: boolean;1858suppressDebugStatusbar?: boolean;1859suppressDebugView?: boolean;1860suppressSaveBeforeStart?: boolean;1861testRun?: IDebugTestRunReference;1862}18631864export interface MainThreadDebugServiceShape extends IDisposable {1865$registerDebugTypes(debugTypes: string[]): void;1866$sessionCached(sessionID: string): void;1867$acceptDAMessage(handle: number, message: DebugProtocol.ProtocolMessage): void;1868$acceptDAError(handle: number, name: string, message: string, stack: string | undefined): void;1869$acceptDAExit(handle: number, code: number | undefined, signal: string | undefined): void;1870$registerDebugConfigurationProvider(type: string, triggerKind: DebugConfigurationProviderTriggerKind, hasProvideMethod: boolean, hasResolveMethod: boolean, hasResolve2Method: boolean, handle: number): Promise<void>;1871$registerDebugAdapterDescriptorFactory(type: string, handle: number): Promise<void>;1872$unregisterDebugConfigurationProvider(handle: number): void;1873$unregisterDebugAdapterDescriptorFactory(handle: number): void;1874$startDebugging(folder: UriComponents | undefined, nameOrConfig: string | IDebugConfiguration, options: IStartDebuggingOptions): Promise<boolean>;1875$stopDebugging(sessionId: DebugSessionUUID | undefined): Promise<void>;1876$setDebugSessionName(id: DebugSessionUUID, name: string): void;1877$customDebugAdapterRequest(id: DebugSessionUUID, command: string, args: any): Promise<any>;1878$getDebugProtocolBreakpoint(id: DebugSessionUUID, breakpoinId: string): Promise<DebugProtocol.Breakpoint | undefined>;1879$appendDebugConsole(value: string): void;1880$registerBreakpoints(breakpoints: Array<ISourceMultiBreakpointDto | IFunctionBreakpointDto | IDataBreakpointDto>): Promise<void>;1881$unregisterBreakpoints(breakpointIds: string[], functionBreakpointIds: string[], dataBreakpointIds: string[]): Promise<void>;1882$registerDebugVisualizer(extensionId: string, id: string): void;1883$unregisterDebugVisualizer(extensionId: string, id: string): void;1884$registerDebugVisualizerTree(treeId: string, canEdit: boolean): void;1885$unregisterDebugVisualizerTree(treeId: string): void;1886}18871888export interface IOpenUriOptions {1889readonly allowTunneling?: boolean;1890readonly allowContributedOpeners?: boolean | string;1891}18921893export interface MainThreadWindowShape extends IDisposable {1894$getInitialState(): Promise<{ isFocused: boolean; isActive: boolean }>;1895$openUri(uri: UriComponents, uriString: string | undefined, options: IOpenUriOptions): Promise<boolean>;1896$asExternalUri(uri: UriComponents, options: IOpenUriOptions): Promise<UriComponents>;1897}18981899export enum CandidatePortSource {1900None = 0,1901Process = 1,1902Output = 2,1903Hybrid = 31904}19051906export interface PortAttributesSelector {1907portRange?: [number, number] | number;1908commandPattern?: RegExp;1909}19101911export interface MainThreadTunnelServiceShape extends IDisposable {1912$openTunnel(tunnelOptions: TunnelOptions, source: string | undefined): Promise<TunnelDto | undefined>;1913$closeTunnel(remote: { host: string; port: number }): Promise<void>;1914$getTunnels(): Promise<TunnelDescription[]>;1915$setTunnelProvider(features: TunnelProviderFeatures | undefined, enablePortsView: boolean): Promise<void>;1916$hasTunnelProvider(): Promise<boolean>;1917$setRemoteTunnelService(processId: number): Promise<void>;1918$setCandidateFilter(): Promise<void>;1919$onFoundNewCandidates(candidates: CandidatePort[]): Promise<void>;1920$setCandidatePortSource(source: CandidatePortSource): Promise<void>;1921$registerPortsAttributesProvider(selector: PortAttributesSelector, providerHandle: number): Promise<void>;1922$unregisterPortsAttributesProvider(providerHandle: number): Promise<void>;1923}19241925export interface MainThreadTimelineShape extends IDisposable {1926$registerTimelineProvider(provider: TimelineProviderDescriptor): void;1927$unregisterTimelineProvider(source: string): void;1928$emitTimelineChangeEvent(e: TimelineChangeEvent | undefined): void;1929}19301931export interface HoverWithId extends languages.Hover {1932/**1933* Id of the hover1934*/1935id: number;1936}19371938// -- extension host19391940export interface ICommandMetadataDto {1941/**1942* NOTE: Please use an ILocalizedString. string is in the type for backcompat for now.1943* A short summary of what the command does. This will be used in:1944* - API commands1945* - when showing keybindings that have no other UX1946* - when searching for commands in the Command Palette1947*/1948readonly description: ILocalizedString | string;1949readonly args?: ReadonlyArray<{1950readonly name: string;1951readonly isOptional?: boolean;1952readonly description?: string;1953}>;1954readonly returns?: string;1955}19561957export interface ICodeMapperRequestDto extends Dto<ICodeMapperRequest> {1958requestId: string;1959}19601961export interface ExtHostCodeMapperShape {1962$mapCode(handle: number, request: ICodeMapperRequestDto, token: CancellationToken): Promise<ICodeMapperResult | null | undefined>;1963}19641965export interface ExtHostCommandsShape {1966$executeContributedCommand(id: string, ...args: any[]): Promise<unknown>;1967$getContributedCommandMetadata(): Promise<{ [id: string]: string | ICommandMetadataDto }>;1968}19691970export interface ExtHostConfigurationShape {1971$initializeConfiguration(data: IConfigurationInitData): void;1972$acceptConfigurationChanged(data: IConfigurationInitData, change: IConfigurationChange): void;1973}19741975export interface ExtHostDiagnosticsShape {1976$acceptMarkersChange(data: [UriComponents, IMarkerData[]][]): void;1977}19781979export interface ExtHostDocumentContentProvidersShape {1980$provideTextDocumentContent(handle: number, uri: UriComponents): Promise<string | null | undefined>;1981}19821983export interface IModelAddedData {1984uri: UriComponents;1985versionId: number;1986lines: string[];1987EOL: string;1988languageId: string;1989isDirty: boolean;1990encoding: string;1991}1992export interface ExtHostDocumentsShape {1993$acceptModelLanguageChanged(strURL: UriComponents, newLanguageId: string): void;1994$acceptModelSaved(strURL: UriComponents): void;1995$acceptDirtyStateChanged(strURL: UriComponents, isDirty: boolean): void;1996$acceptEncodingChanged(strURL: UriComponents, encoding: string): void;1997$acceptModelChanged(strURL: UriComponents, e: ISerializedModelContentChangedEvent, isDirty: boolean): void;1998}19992000export interface ExtHostDocumentSaveParticipantShape {2001$participateInSave(resource: UriComponents, reason: SaveReason): Promise<boolean[]>;2002}20032004export interface ITextEditorAddData {2005id: string;2006documentUri: UriComponents;2007options: IResolvedTextEditorConfiguration;2008selections: ISelection[];2009visibleRanges: IRange[];2010editorPosition: EditorGroupColumn | undefined;2011}2012export interface ITextEditorPositionData {2013[id: string]: EditorGroupColumn;2014}20152016export type ITextEditorChange = [2017originalStartLineNumber: number,2018originalEndLineNumberExclusive: number,2019modifiedStartLineNumber: number,2020modifiedEndLineNumberExclusive: number2021];20222023export interface ITextEditorDiffInformation {2024readonly documentVersion: number;2025readonly original: UriComponents | undefined;2026readonly modified: UriComponents;2027readonly changes: readonly ITextEditorChange[];2028}20292030export interface IEditorPropertiesChangeData {2031options: IResolvedTextEditorConfiguration | null;2032selections: ISelectionChangeEvent | null;2033visibleRanges: IRange[] | null;2034}2035export interface ISelectionChangeEvent {2036selections: Selection[];2037source?: string;2038}20392040export interface ExtHostEditorsShape {2041$acceptEditorPropertiesChanged(id: string, props: IEditorPropertiesChangeData): void;2042$acceptEditorPositionData(data: ITextEditorPositionData): void;2043$acceptEditorDiffInformation(id: string, diffInformation: ITextEditorDiffInformation[] | undefined): void;2044}20452046export interface IDocumentsAndEditorsDelta {2047removedDocuments?: UriComponents[];2048addedDocuments?: IModelAddedData[];2049removedEditors?: string[];2050addedEditors?: ITextEditorAddData[];2051newActiveEditor?: string | null;2052}20532054export interface ExtHostDocumentsAndEditorsShape {2055$acceptDocumentsAndEditorsDelta(delta: IDocumentsAndEditorsDelta): void;2056}20572058export interface IDataTransferFileDTO {2059readonly id: string;2060readonly name: string;2061readonly uri?: UriComponents;2062}20632064export interface DataTransferItemDTO {2065id: string;2066readonly asString: string;2067readonly fileData: IDataTransferFileDTO | undefined;2068readonly uriListData?: ReadonlyArray<string | UriComponents>;2069}20702071export interface DataTransferDTO {2072items: Array<readonly [/* type */string, DataTransferItemDTO]>;2073}20742075export interface CheckboxUpdate {2076treeItemHandle: string;2077newState: boolean;2078}20792080export interface ExtHostTreeViewsShape {2081/**2082* To reduce what is sent on the wire:2083* w2084* x2085* y2086* z2087*2088* for [x,y] returns2089* [[1,z]], where the inner array is [original index, ...children]2090*/2091$getChildren(treeViewId: string, treeItemHandles?: string[]): Promise<(number | ITreeItem)[][] | undefined>;2092$handleDrop(destinationViewId: string, requestId: number, treeDataTransfer: DataTransferDTO, targetHandle: string | undefined, token: CancellationToken, operationUuid?: string, sourceViewId?: string, sourceTreeItemHandles?: string[]): Promise<void>;2093$handleDrag(sourceViewId: string, sourceTreeItemHandles: string[], operationUuid: string, token: CancellationToken): Promise<DataTransferDTO | undefined>;2094$setExpanded(treeViewId: string, treeItemHandle: string, expanded: boolean): void;2095$setSelectionAndFocus(treeViewId: string, selectionHandles: string[], focusHandle: string): void;2096$setVisible(treeViewId: string, visible: boolean): void;2097$changeCheckboxState(treeViewId: string, checkboxUpdates: CheckboxUpdate[]): void;2098$hasResolve(treeViewId: string): Promise<boolean>;2099$resolve(treeViewId: string, treeItemHandle: string, token: CancellationToken): Promise<ITreeItem | undefined>;2100}21012102export interface ExtHostWorkspaceShape {2103$initializeWorkspace(workspace: IWorkspaceData | null, trusted: boolean): void;2104$acceptWorkspaceData(workspace: IWorkspaceData | null): void;2105$handleTextSearchResult(result: search.IRawFileMatch2, requestId: number): void;2106$onDidGrantWorkspaceTrust(): void;2107$onDidChangeWorkspaceTrustedFolders(): void;2108$getEditSessionIdentifier(folder: UriComponents, token: CancellationToken): Promise<string | undefined>;2109$provideEditSessionIdentityMatch(folder: UriComponents, identity1: string, identity2: string, token: CancellationToken): Promise<EditSessionIdentityMatch | undefined>;2110$onWillCreateEditSessionIdentity(folder: UriComponents, token: CancellationToken, timeout: number): Promise<void>;2111$provideCanonicalUri(uri: UriComponents, targetScheme: string, token: CancellationToken): Promise<UriComponents | undefined>;2112}21132114export interface ExtHostFileSystemInfoShape {2115$acceptProviderInfos(uri: UriComponents, capabilities: number | null): void;2116}21172118export interface ExtHostFileSystemShape {2119$stat(handle: number, resource: UriComponents): Promise<files.IStat>;2120$readdir(handle: number, resource: UriComponents): Promise<[string, files.FileType][]>;2121$readFile(handle: number, resource: UriComponents): Promise<VSBuffer>;2122$writeFile(handle: number, resource: UriComponents, content: VSBuffer, opts: files.IFileWriteOptions): Promise<void>;2123$rename(handle: number, resource: UriComponents, target: UriComponents, opts: files.IFileOverwriteOptions): Promise<void>;2124$copy(handle: number, resource: UriComponents, target: UriComponents, opts: files.IFileOverwriteOptions): Promise<void>;2125$mkdir(handle: number, resource: UriComponents): Promise<void>;2126$delete(handle: number, resource: UriComponents, opts: files.IFileDeleteOptions): Promise<void>;2127$watch(handle: number, session: number, resource: UriComponents, opts: files.IWatchOptions): void;2128$unwatch(handle: number, session: number): void;2129$open(handle: number, resource: UriComponents, opts: files.IFileOpenOptions): Promise<number>;2130$close(handle: number, fd: number): Promise<void>;2131$read(handle: number, fd: number, pos: number, length: number): Promise<VSBuffer>;2132$write(handle: number, fd: number, pos: number, data: VSBuffer): Promise<number>;2133}21342135export interface ExtHostLabelServiceShape {2136$registerResourceLabelFormatter(formatter: ResourceLabelFormatter): IDisposable;2137}21382139export interface ExtHostAuthenticationShape {2140$getSessions(id: string, scopes: string[] | undefined, options: IAuthenticationGetSessionsOptions): Promise<ReadonlyArray<AuthenticationSession>>;2141$createSession(id: string, scopes: string[], options: IAuthenticationCreateSessionOptions): Promise<AuthenticationSession>;2142$getSessionsFromChallenges(id: string, constraint: IAuthenticationConstraint, options: IAuthenticationGetSessionsOptions): Promise<ReadonlyArray<AuthenticationSession>>;2143$createSessionFromChallenges(id: string, constraint: IAuthenticationConstraint, options: IAuthenticationCreateSessionOptions): Promise<AuthenticationSession>;2144$removeSession(id: string, sessionId: string): Promise<void>;2145$onDidChangeAuthenticationSessions(id: string, label: string, extensionIdFilter?: string[]): Promise<void>;2146$onDidUnregisterAuthenticationProvider(id: string): Promise<void>;2147$registerDynamicAuthProvider(authorizationServer: UriComponents, serverMetadata: IAuthorizationServerMetadata, resource?: IAuthorizationProtectedResourceMetadata, clientId?: string, clientSecret?: string, initialTokens?: (IAuthorizationTokenResponse & { created_at: number })[]): Promise<string>;2148$onDidChangeDynamicAuthProviderTokens(authProviderId: string, clientId: string, tokens?: (IAuthorizationTokenResponse & { created_at: number })[]): Promise<void>;2149}21502151export interface ExtHostAiRelatedInformationShape {2152$provideAiRelatedInformation(handle: number, query: string, token: CancellationToken): Promise<RelatedInformationResult[]>;2153}21542155export interface MainThreadAiRelatedInformationShape {2156$getAiRelatedInformation(query: string, types: RelatedInformationType[]): Promise<RelatedInformationResult[]>;2157$registerAiRelatedInformationProvider(handle: number, type: RelatedInformationType): void;2158$unregisterAiRelatedInformationProvider(handle: number): void;2159}21602161export interface ExtHostAiSettingsSearchShape {2162$startSearch(handle: number, query: string, option: AiSettingsSearchProviderOptions, token: CancellationToken): Promise<void>;2163}21642165export interface MainThreadAiSettingsSearchShape {2166$registerAiSettingsSearchProvider(handle: number): void;2167$unregisterAiSettingsSearchProvider(handle: number): void;2168$handleSearchResult(handle: number, result: AiSettingsSearchResult): void;2169}21702171export interface ExtHostAiEmbeddingVectorShape {2172$provideAiEmbeddingVector(handle: number, strings: string[], token: CancellationToken): Promise<number[][]>;2173}21742175export interface MainThreadAiEmbeddingVectorShape {2176$registerAiEmbeddingVectorProvider(model: string, handle: number): void;2177$unregisterAiEmbeddingVectorProvider(handle: number): void;2178}21792180export interface ExtHostSecretStateShape {2181$onDidChangePassword(e: { extensionId: string; key: string }): Promise<void>;2182}21832184export interface ExtHostSearchShape {2185$enableExtensionHostSearch(): void;2186$getAIName(handle: number): Promise<string | undefined>;2187$provideFileSearchResults(handle: number, session: number, query: search.IRawQuery, token: CancellationToken): Promise<search.ISearchCompleteStats>;2188$provideAITextSearchResults(handle: number, session: number, query: search.IRawAITextQuery, token: CancellationToken): Promise<search.ISearchCompleteStats>;2189$provideTextSearchResults(handle: number, session: number, query: search.IRawTextQuery, token: CancellationToken): Promise<search.ISearchCompleteStats>;2190$clearCache(cacheKey: string): Promise<void>;2191}21922193export interface ExtHostExtensionServiceShape {2194$resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise<Dto<IResolveAuthorityResult>>;2195/**2196* Returns `null` if no resolver for `remoteAuthority` is found.2197*/2198$getCanonicalURI(remoteAuthority: string, uri: UriComponents): Promise<UriComponents | null>;2199$startExtensionHost(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;2200$extensionTestsExecute(): Promise<number>;2201$activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;2202$activate(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;2203$setRemoteEnvironment(env: { [key: string]: string | null }): Promise<void>;2204$updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise<void>;22052206$deltaExtensions(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;22072208$test_latency(n: number): Promise<number>;2209$test_up(b: VSBuffer): Promise<number>;2210$test_down(size: number): Promise<VSBuffer>;2211}22122213export interface FileSystemEvents {2214session?: number;2215created: UriComponents[];2216changed: UriComponents[];2217deleted: UriComponents[];2218}22192220export interface SourceTargetPair {2221source?: UriComponents;2222target: UriComponents;2223}22242225export interface IWillRunFileOperationParticipation {2226edit: IWorkspaceEditDto;2227extensionNames: string[];2228}22292230export interface ExtHostFileSystemEventServiceShape {2231$onFileEvent(events: FileSystemEvents): void;2232$onWillRunFileOperation(operation: files.FileOperation, files: readonly SourceTargetPair[], timeout: number, token: CancellationToken): Promise<IWillRunFileOperationParticipation | undefined>;2233$onDidRunFileOperation(operation: files.FileOperation, files: readonly SourceTargetPair[]): void;2234}22352236export interface ExtHostLanguagesShape {2237$acceptLanguageIds(ids: string[]): void;2238}22392240export interface ExtHostHeapServiceShape {2241$onGarbageCollection(ids: number[]): void;2242}2243export interface IRawColorInfo {2244color: [number, number, number, number];2245range: IRange;2246}22472248export class IdObject {2249_id?: number;2250private static _n = 0;2251static mixin<T extends object>(object: T): T & IdObject {2252// eslint-disable-next-line local/code-no-any-casts2253(<any>object)._id = IdObject._n++;2254// eslint-disable-next-line local/code-no-any-casts2255return <any>object;2256}2257}22582259export const enum ISuggestDataDtoField {2260label = 'a',2261kind = 'b',2262detail = 'c',2263documentation = 'd',2264sortText = 'e',2265filterText = 'f',2266preselect = 'g',2267insertText = 'h',2268insertTextRules = 'i',2269range = 'j',2270commitCharacters = 'k',2271additionalTextEdits = 'l',2272kindModifier = 'm',2273commandIdent = 'n',2274commandId = 'o',2275commandArguments = 'p',2276}22772278export interface ISuggestDataDto {2279[ISuggestDataDtoField.label]: string | languages.CompletionItemLabel;2280[ISuggestDataDtoField.kind]?: languages.CompletionItemKind;2281[ISuggestDataDtoField.detail]?: string;2282[ISuggestDataDtoField.documentation]?: string | IMarkdownString;2283[ISuggestDataDtoField.sortText]?: string;2284[ISuggestDataDtoField.filterText]?: string;2285[ISuggestDataDtoField.preselect]?: true;2286[ISuggestDataDtoField.insertText]?: string;2287[ISuggestDataDtoField.insertTextRules]?: languages.CompletionItemInsertTextRule;2288[ISuggestDataDtoField.range]?: IRange | { insert: IRange; replace: IRange };2289[ISuggestDataDtoField.commitCharacters]?: string;2290[ISuggestDataDtoField.additionalTextEdits]?: ISingleEditOperation[];2291[ISuggestDataDtoField.kindModifier]?: languages.CompletionItemTag[];2292// Command2293[ISuggestDataDtoField.commandIdent]?: string;2294[ISuggestDataDtoField.commandId]?: string;2295[ISuggestDataDtoField.commandArguments]?: any[];2296// not-standard2297x?: ChainedCacheId;2298}22992300export const enum ISuggestResultDtoField {2301defaultRanges = 'a',2302completions = 'b',2303isIncomplete = 'c',2304duration = 'd',2305}23062307export interface ISuggestResultDto {2308[ISuggestResultDtoField.defaultRanges]: { insert: IRange; replace: IRange };2309[ISuggestResultDtoField.completions]: ISuggestDataDto[];2310[ISuggestResultDtoField.isIncomplete]: undefined | true;2311[ISuggestResultDtoField.duration]: number;2312x?: number;2313}23142315export interface ISignatureHelpDto {2316id: CacheId;2317signatures: languages.SignatureInformation[];2318activeSignature: number;2319activeParameter: number;2320}23212322export interface ISignatureHelpContextDto {2323readonly triggerKind: languages.SignatureHelpTriggerKind;2324readonly triggerCharacter: string | undefined;2325readonly isRetrigger: boolean;2326readonly activeSignatureHelp: ISignatureHelpDto | undefined;2327}23282329export type IInlayHintDto = CachedSessionItem<Dto<languages.InlayHint>>;23302331export type IInlayHintsDto = CachedSession<{ hints: IInlayHintDto[] }>;23322333export type ILocationDto = Dto<languages.Location>;2334export type ILocationLinkDto = Dto<languages.LocationLink>;23352336export type IWorkspaceSymbolDto = CachedSessionItem<Dto<IWorkspaceSymbol>>;2337export type IWorkspaceSymbolsDto = CachedSession<{ symbols: IWorkspaceSymbolDto[] }>;23382339export interface IWorkspaceEditEntryMetadataDto {2340needsConfirmation: boolean;2341label: string;2342description?: string;2343iconPath?: IconPathDto;2344}23452346export interface IChatNotebookEditDto {2347uri: UriComponents;2348edits: ICellEditOperationDto[];2349kind: 'notebookEdit';2350done?: boolean;2351}23522353export interface IChatResponseClearToPreviousToolInvocationDto {2354kind: 'clearToPreviousToolInvocation';2355reason: ChatResponseClearToPreviousToolInvocationReason;2356}23572358export interface IChatBeginToolInvocationDto {2359kind: 'beginToolInvocation';2360toolCallId: string;2361toolName: string;2362streamData?: {2363partialInput?: unknown;2364};2365subagentInvocationId?: string;2366}23672368export interface IChatUpdateToolInvocationDto {2369kind: 'updateToolInvocation';2370toolCallId: string;2371streamData: {2372partialInput?: unknown;2373};2374}23752376export interface IChatUsageDto {2377kind: 'usage';2378promptTokens: number;2379completionTokens: number;2380promptTokenDetails?: readonly { category: string; label: string; percentageOfPrompt: number }[];2381}23822383export type ICellEditOperationDto =2384notebookCommon.ICellMetadataEdit2385| notebookCommon.IDocumentMetadataEdit2386| {2387editType: notebookCommon.CellEditType.Replace;2388index: number;2389count: number;2390cells: NotebookCellDataDto[];2391};23922393export type IWorkspaceCellEditDto = Dto<Omit<notebookCommon.IWorkspaceNotebookCellEdit, 'cellEdit'>> & { cellEdit: ICellEditOperationDto };23942395export type IWorkspaceFileEditDto = Dto<2396Omit<languages.IWorkspaceFileEdit, 'options'> & {2397options?: Omit<languages.WorkspaceFileEditOptions, 'contents'> & { contents?: { type: 'base64'; value: string } | { type: 'dataTransferItem'; id: string } };2398}>;23992400export type IWorkspaceTextEditDto = Dto<languages.IWorkspaceTextEdit>;24012402export interface IWorkspaceEditDto {2403edits: Array<IWorkspaceFileEditDto | IWorkspaceTextEditDto | IWorkspaceCellEditDto>;2404}24052406export type ICommandDto = { $ident?: string } & languages.Command;24072408export interface ICodeActionDto {2409cacheId?: ChainedCacheId;2410title: string;2411edit?: IWorkspaceEditDto;2412diagnostics?: Dto<IMarkerData[]>;2413command?: ICommandDto;2414kind?: string;2415isPreferred?: boolean;2416isAI?: boolean;2417disabled?: string;2418ranges?: IRange[];2419}24202421export interface ICodeActionListDto {2422cacheId: CacheId;2423actions: ReadonlyArray<ICodeActionDto>;2424}24252426export interface ICodeActionProviderMetadataDto {2427readonly providedKinds?: readonly string[];2428readonly documentation?: ReadonlyArray<{ readonly kind: string; readonly command: ICommandDto }>;2429}24302431export type CacheId = number;2432export type ChainedCacheId = [CacheId, CacheId];24332434type CachedSessionItem<T> = T & { cacheId?: ChainedCacheId };2435type CachedSession<T> = T & { cacheId?: CacheId };24362437export type ILinksListDto = CachedSession<{ links: ILinkDto[] }>;2438export type ILinkDto = CachedSessionItem<Dto<languages.ILink>>;24392440export type ICodeLensListDto = CachedSession<{ lenses: ICodeLensDto[] }>;2441export type ICodeLensDto = CachedSessionItem<Dto<languages.CodeLens>>;24422443export type ICallHierarchyItemDto = Dto<CallHierarchyItem>;24442445export interface IIncomingCallDto {2446from: ICallHierarchyItemDto;2447fromRanges: IRange[];2448}24492450export interface IOutgoingCallDto {2451fromRanges: IRange[];2452to: ICallHierarchyItemDto;2453}24542455export interface ILanguageWordDefinitionDto {2456languageId: string;2457regexSource: string;2458regexFlags: string;2459}24602461export interface ILinkedEditingRangesDto {2462ranges: IRange[];2463wordPattern?: IRegExpDto;2464}24652466export interface IInlineValueContextDto {2467frameId: number;2468stoppedLocation: IRange;2469}24702471export type ITypeHierarchyItemDto = Dto<TypeHierarchyItem>;24722473export interface IPasteEditProviderMetadataDto {2474readonly supportsCopy: boolean;2475readonly supportsPaste: boolean;2476readonly supportsResolve: boolean;24772478readonly providedPasteEditKinds?: readonly string[];2479readonly copyMimeTypes?: readonly string[];2480readonly pasteMimeTypes?: readonly string[];2481}24822483export interface IDocumentPasteContextDto {2484readonly only: string | undefined;2485readonly triggerKind: languages.DocumentPasteTriggerKind;2486}24872488export interface IPasteEditDto {2489_cacheId?: ChainedCacheId;2490title: string;2491kind: { value: string } | undefined;2492insertText: string | { snippet: string };2493additionalEdit?: IWorkspaceEditDto;2494yieldTo?: readonly string[];2495}24962497export interface IDocumentDropEditProviderMetadata {2498readonly supportsResolve: boolean;24992500readonly dropMimeTypes: readonly string[];2501readonly providedDropKinds?: readonly string[];2502}25032504export interface IDocumentDropEditDto {2505_cacheId?: ChainedCacheId;2506title: string;2507kind: string | undefined;2508insertText: string | { snippet: string };2509additionalEdit?: IWorkspaceEditDto;2510yieldTo?: readonly string[];2511}25122513export interface ExtHostLanguageFeaturesShape {2514$provideDocumentSymbols(handle: number, resource: UriComponents, token: CancellationToken): Promise<languages.DocumentSymbol[] | undefined>;2515$provideCodeLenses(handle: number, resource: UriComponents, token: CancellationToken): Promise<ICodeLensListDto | undefined>;2516$resolveCodeLens(handle: number, symbol: ICodeLensDto, token: CancellationToken): Promise<ICodeLensDto | undefined>;2517$releaseCodeLenses(handle: number, id: number): void;2518$provideDefinition(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<ILocationLinkDto[]>;2519$provideDeclaration(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<ILocationLinkDto[]>;2520$provideImplementation(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<ILocationLinkDto[]>;2521$provideTypeDefinition(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<ILocationLinkDto[]>;2522$provideHover(handle: number, resource: UriComponents, position: IPosition, context: languages.HoverContext<{ id: number }> | undefined, token: CancellationToken): Promise<HoverWithId | undefined>;2523$releaseHover(handle: number, id: number): void;2524$provideEvaluatableExpression(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<languages.EvaluatableExpression | undefined>;2525$provideInlineValues(handle: number, resource: UriComponents, range: IRange, context: languages.InlineValueContext, token: CancellationToken): Promise<languages.InlineValue[] | undefined>;2526$provideDocumentHighlights(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<languages.DocumentHighlight[] | undefined>;2527$provideMultiDocumentHighlights(handle: number, resource: UriComponents, position: IPosition, otherModels: UriComponents[], token: CancellationToken): Promise<Dto<languages.MultiDocumentHighlight[]> | undefined>;2528$provideLinkedEditingRanges(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<ILinkedEditingRangesDto | undefined>;2529$provideReferences(handle: number, resource: UriComponents, position: IPosition, context: languages.ReferenceContext, token: CancellationToken): Promise<ILocationDto[] | undefined>;2530$provideCodeActions(handle: number, resource: UriComponents, rangeOrSelection: IRange | ISelection, context: languages.CodeActionContext, token: CancellationToken): Promise<ICodeActionListDto | undefined>;2531$resolveCodeAction(handle: number, id: ChainedCacheId, token: CancellationToken): Promise<{ edit?: IWorkspaceEditDto; command?: ICommandDto }>;2532$releaseCodeActions(handle: number, cacheId: number): void;2533$prepareDocumentPaste(handle: number, uri: UriComponents, ranges: readonly IRange[], dataTransfer: DataTransferDTO, token: CancellationToken): Promise<DataTransferDTO | undefined>;2534$providePasteEdits(handle: number, requestId: number, uri: UriComponents, ranges: IRange[], dataTransfer: DataTransferDTO, context: IDocumentPasteContextDto, token: CancellationToken): Promise<IPasteEditDto[] | undefined>;2535$resolvePasteEdit(handle: number, id: ChainedCacheId, token: CancellationToken): Promise<{ insertText?: string; additionalEdit?: IWorkspaceEditDto }>;2536$releasePasteEdits(handle: number, cacheId: number): void;2537$provideDocumentFormattingEdits(handle: number, resource: UriComponents, options: languages.FormattingOptions, token: CancellationToken): Promise<languages.TextEdit[] | undefined>;2538$provideDocumentRangeFormattingEdits(handle: number, resource: UriComponents, range: IRange, options: languages.FormattingOptions, token: CancellationToken): Promise<languages.TextEdit[] | undefined>;2539$provideDocumentRangesFormattingEdits(handle: number, resource: UriComponents, range: IRange[], options: languages.FormattingOptions, token: CancellationToken): Promise<languages.TextEdit[] | undefined>;2540$provideOnTypeFormattingEdits(handle: number, resource: UriComponents, position: IPosition, ch: string, options: languages.FormattingOptions, token: CancellationToken): Promise<languages.TextEdit[] | undefined>;2541$provideWorkspaceSymbols(handle: number, search: string, token: CancellationToken): Promise<IWorkspaceSymbolsDto>;2542$resolveWorkspaceSymbol(handle: number, symbol: IWorkspaceSymbolDto, token: CancellationToken): Promise<IWorkspaceSymbolDto | undefined>;2543$releaseWorkspaceSymbols(handle: number, id: number): void;2544$provideRenameEdits(handle: number, resource: UriComponents, position: IPosition, newName: string, token: CancellationToken): Promise<IWorkspaceEditDto & { rejectReason?: string } | undefined>;2545$resolveRenameLocation(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<languages.RenameLocation | undefined>;2546$supportsAutomaticNewSymbolNamesTriggerKind(handle: number): Promise<boolean | undefined>;2547$provideNewSymbolNames(handle: number, resource: UriComponents, range: IRange, triggerKind: languages.NewSymbolNameTriggerKind, token: CancellationToken): Promise<languages.NewSymbolName[] | undefined>;2548$provideDocumentSemanticTokens(handle: number, resource: UriComponents, previousResultId: number, token: CancellationToken): Promise<VSBuffer | null>;2549$releaseDocumentSemanticTokens(handle: number, semanticColoringResultId: number): void;2550$provideDocumentRangeSemanticTokens(handle: number, resource: UriComponents, range: IRange, token: CancellationToken): Promise<VSBuffer | null>;2551$provideCompletionItems(handle: number, resource: UriComponents, position: IPosition, context: languages.CompletionContext, token: CancellationToken): Promise<ISuggestResultDto | undefined>;2552$resolveCompletionItem(handle: number, id: ChainedCacheId, token: CancellationToken): Promise<ISuggestDataDto | undefined>;2553$releaseCompletionItems(handle: number, id: number): void;2554$provideInlineCompletions(handle: number, resource: UriComponents, position: IPosition, context: languages.InlineCompletionContext, token: CancellationToken): Promise<IdentifiableInlineCompletions | undefined>;2555$handleInlineCompletionDidShow(handle: number, pid: number, idx: number, updatedInsertText: string): void;2556$handleInlineCompletionPartialAccept(handle: number, pid: number, idx: number, acceptedCharacters: number, info: languages.PartialAcceptInfo): void;2557$handleInlineCompletionEndOfLifetime(handle: number, pid: number, idx: number, reason: languages.InlineCompletionEndOfLifeReason<{ pid: number; idx: number }>): void;2558$handleInlineCompletionRejection(handle: number, pid: number, idx: number): void;2559$freeInlineCompletionsList(handle: number, pid: number, reason: languages.InlineCompletionsDisposeReason): void;2560$acceptInlineCompletionsUnificationState(state: IInlineCompletionsUnificationState): void;2561$handleInlineCompletionSetCurrentModelId(handle: number, modelId: string): void;2562$provideSignatureHelp(handle: number, resource: UriComponents, position: IPosition, context: languages.SignatureHelpContext, token: CancellationToken): Promise<ISignatureHelpDto | undefined>;2563$releaseSignatureHelp(handle: number, id: number): void;2564$provideInlayHints(handle: number, resource: UriComponents, range: IRange, token: CancellationToken): Promise<IInlayHintsDto | undefined>;2565$resolveInlayHint(handle: number, id: ChainedCacheId, token: CancellationToken): Promise<IInlayHintDto | undefined>;2566$releaseInlayHints(handle: number, id: number): void;2567$provideDocumentLinks(handle: number, resource: UriComponents, token: CancellationToken): Promise<ILinksListDto | undefined>;2568$resolveDocumentLink(handle: number, id: ChainedCacheId, token: CancellationToken): Promise<ILinkDto | undefined>;2569$releaseDocumentLinks(handle: number, id: number): void;2570$provideDocumentColors(handle: number, resource: UriComponents, token: CancellationToken): Promise<IRawColorInfo[]>;2571$provideColorPresentations(handle: number, resource: UriComponents, colorInfo: IRawColorInfo, token: CancellationToken): Promise<languages.IColorPresentation[] | undefined>;2572$provideFoldingRanges(handle: number, resource: UriComponents, context: languages.FoldingContext, token: CancellationToken): Promise<languages.FoldingRange[] | undefined>;2573$provideSelectionRanges(handle: number, resource: UriComponents, positions: IPosition[], token: CancellationToken): Promise<languages.SelectionRange[][]>;2574$prepareCallHierarchy(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<ICallHierarchyItemDto[] | undefined>;2575$provideCallHierarchyIncomingCalls(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise<IIncomingCallDto[] | undefined>;2576$provideCallHierarchyOutgoingCalls(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise<IOutgoingCallDto[] | undefined>;2577$releaseCallHierarchy(handle: number, sessionId: string): void;2578$setWordDefinitions(wordDefinitions: ILanguageWordDefinitionDto[]): void;2579$prepareTypeHierarchy(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<ITypeHierarchyItemDto[] | undefined>;2580$provideTypeHierarchySupertypes(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise<ITypeHierarchyItemDto[] | undefined>;2581$provideTypeHierarchySubtypes(handle: number, sessionId: string, itemId: string, token: CancellationToken): Promise<ITypeHierarchyItemDto[] | undefined>;2582$releaseTypeHierarchy(handle: number, sessionId: string): void;2583$provideDocumentOnDropEdits(handle: number, requestId: number, resource: UriComponents, position: IPosition, dataTransferDto: DataTransferDTO, token: CancellationToken): Promise<IDocumentDropEditDto[] | undefined>;2584$releaseDocumentOnDropEdits(handle: number, cacheId: number): void;2585}25862587export interface ExtHostQuickOpenShape {2588$onItemSelected(handle: number): void;2589$validateInput(input: string): Promise<string | { content: string; severity: Severity } | null | undefined>;2590$onDidChangeActive(sessionId: number, handles: number[]): void;2591$onDidChangeSelection(sessionId: number, handles: number[]): void;2592$onDidAccept(sessionId: number): void;2593$onDidChangeValue(sessionId: number, value: string): void;2594$onDidTriggerButton(sessionId: number, handle: number, checked?: boolean): void;2595$onDidTriggerItemButton(sessionId: number, itemHandle: number, buttonHandle: number, checked?: boolean): void;2596$onDidHide(sessionId: number): void;2597}25982599export interface ExtHostTelemetryShape {2600$initializeTelemetryLevel(level: TelemetryLevel, supportsTelemetry: boolean, productConfig?: { usage: boolean; error: boolean }): void;2601$onDidChangeTelemetryLevel(level: TelemetryLevel): void;2602}26032604export interface MainThreadMeteredConnectionShape extends IDisposable {2605}26062607export interface ExtHostMeteredConnectionShape {2608$initializeIsConnectionMetered(isMetered: boolean): void;2609$onDidChangeIsConnectionMetered(isMetered: boolean): void;2610}26112612export interface ITerminalLinkDto {2613/** The ID of the link to enable activation and disposal. */2614id: number;2615/** The startIndex of the link in the line. */2616startIndex: number;2617/** The length of the link in the line. */2618length: number;2619/** The descriptive label for what the link does when activated. */2620label?: string;2621}26222623export interface ITerminalDimensionsDto {2624columns: number;2625rows: number;2626}26272628type SingleOrMany<T> = T[] | T;26292630export interface ITerminalQuickFixTerminalCommandDto {2631terminalCommand: string;2632shouldExecute?: boolean;2633}26342635export interface ITerminalQuickFixOpenerDto {2636uri: UriComponents;2637}26382639export type TerminalQuickFix = ITerminalQuickFixTerminalCommandDto | ITerminalQuickFixOpenerDto | ICommandDto;26402641export interface TerminalCommandMatchResultDto {2642commandLine: string;2643commandLineMatch: RegExpMatchArray;2644outputMatch?: {2645regexMatch: RegExpMatchArray;2646outputLines: string[];2647};2648}26492650export interface ITerminalCommandDto {2651commandLine: string | undefined;2652cwd: URI | string | undefined;2653exitCode: number | undefined;2654output: string | undefined;2655}26562657export interface ITerminalCompletionContextDto {2658commandLine: string;2659cursorIndex: number;2660}26612662export interface ITerminalCompletionItemDto {2663label: string | CompletionItemLabel;2664detail?: string;2665documentation?: string | IMarkdownString;2666icon?: ThemeIcon | undefined;2667kind?: number | undefined;2668isFile?: boolean | undefined;2669isDirectory?: boolean | undefined;2670isKeyword?: boolean | undefined;2671replacementRange: readonly [number, number];2672}26732674export interface ITerminalCompletionProvider {2675id: string;2676shellTypes?: TerminalShellType[];2677provideCompletions(value: string, cursorPosition: number, token: CancellationToken): Promise<TerminalCompletionListDto<ITerminalCompletionItemDto> | undefined>;2678triggerCharacters?: string[];2679isBuiltin?: boolean;2680}2681/**2682* Represents a collection of {@link CompletionItem completion items} to be presented2683* in the editor.2684*/2685export class TerminalCompletionListDto<T extends ITerminalCompletionItemDto = ITerminalCompletionItemDto> {26862687/**2688* Resources should be shown in the completions list2689*/2690resourceOptions?: TerminalCompletionResourceOptionsDto;26912692/**2693* The completion items.2694*/2695items: T[];26962697/**2698* Creates a new completion list.2699*2700* @param items The completion items.2701* @param isIncomplete The list is not complete.2702*/2703constructor(items?: T[], resourceOptions?: TerminalCompletionResourceOptionsDto) {2704this.items = items ?? [];2705this.resourceOptions = resourceOptions;2706}2707}27082709export interface TerminalCompletionResourceOptionsDto {2710showFiles?: boolean;2711showDirectories?: boolean;2712globPattern?: string | IRelativePattern;2713cwd: UriComponents;2714pathSeparator: string;2715}27162717export interface ExtHostTerminalServiceShape {2718$acceptTerminalClosed(id: number, exitCode: number | undefined, exitReason: TerminalExitReason): void;2719$acceptTerminalOpened(id: number, extHostTerminalId: string | undefined, name: string, shellLaunchConfig: IShellLaunchConfigDto): void;2720$acceptActiveTerminalChanged(id: number | null): void;2721$acceptTerminalProcessId(id: number, processId: number): void;2722$acceptTerminalProcessData(id: number, data: string): void;2723$acceptDidExecuteCommand(id: number, command: ITerminalCommandDto): void;2724$acceptTerminalTitleChange(id: number, name: string): void;2725$acceptTerminalDimensions(id: number, cols: number, rows: number): void;2726$acceptTerminalMaximumDimensions(id: number, cols: number, rows: number): void;2727$acceptTerminalInteraction(id: number): void;2728$acceptTerminalSelection(id: number, selection: string | undefined): void;2729$acceptTerminalShellType(id: number, shellType: TerminalShellType | undefined): void;2730$startExtensionTerminal(id: number, initialDimensions: ITerminalDimensionsDto | undefined): Promise<ITerminalLaunchError | undefined>;2731$acceptProcessAckDataEvent(id: number, charCount: number): void;2732$acceptProcessInput(id: number, data: string): void;2733$acceptProcessResize(id: number, cols: number, rows: number): void;2734$acceptProcessShutdown(id: number, immediate: boolean): void;2735$acceptProcessRequestInitialCwd(id: number): void;2736$acceptProcessRequestCwd(id: number): void;2737$acceptProcessRequestLatency(id: number): Promise<number>;2738$provideLinks(id: number, line: string): Promise<ITerminalLinkDto[]>;2739$activateLink(id: number, linkId: number): void;2740$initEnvironmentVariableCollections(collections: [string, ISerializableEnvironmentVariableCollection][]): void;2741$acceptDefaultProfile(profile: ITerminalProfile, automationProfile: ITerminalProfile): void;2742$createContributedProfileTerminal(id: string, options: ICreateContributedTerminalProfileOptions): Promise<void>;2743$provideTerminalQuickFixes(id: string, matchResult: TerminalCommandMatchResultDto, token: CancellationToken): Promise<SingleOrMany<TerminalQuickFix> | undefined>;2744$provideTerminalCompletions(id: string, options: ITerminalCompletionContextDto, token: CancellationToken): Promise<TerminalCompletionListDto | undefined>;2745}27462747export interface ExtHostTerminalShellIntegrationShape {2748$shellIntegrationChange(instanceId: number, supportsExecuteCommandApi: boolean): void;2749$shellExecutionStart(instanceId: number, supportsExecuteCommandApi: boolean, commandLineValue: string, commandLineConfidence: TerminalShellExecutionCommandLineConfidence, isTrusted: boolean, cwd: string | undefined): void;2750$shellExecutionEnd(instanceId: number, commandLineValue: string, commandLineConfidence: TerminalShellExecutionCommandLineConfidence, isTrusted: boolean, exitCode: number | undefined): void;2751$shellExecutionData(instanceId: number, data: string): void;2752$shellEnvChange(instanceId: number, shellEnvKeys: string[], shellEnvValues: string[], isTrusted: boolean): void;2753$cwdChange(instanceId: number, cwd: string | undefined): void;2754$closeTerminal(instanceId: number): void;2755}27562757export interface ExtHostSCMShape {2758$provideOriginalResource(sourceControlHandle: number, uri: UriComponents, token: CancellationToken): Promise<UriComponents | null>;2759$provideSecondaryOriginalResource(sourceControlHandle: number, uri: UriComponents, token: CancellationToken): Promise<UriComponents | null>;2760$onInputBoxValueChange(sourceControlHandle: number, value: string): void;2761$executeResourceCommand(sourceControlHandle: number, groupHandle: number, handle: number, preserveFocus: boolean): Promise<void>;2762$validateInput(sourceControlHandle: number, value: string, cursorPosition: number): Promise<[string | IMarkdownString, number] | undefined>;2763$setSelectedSourceControl(selectedSourceControlHandle: number | undefined): Promise<void>;2764$provideHistoryItemRefs(sourceControlHandle: number, historyItemRefs: string[] | undefined, token: CancellationToken): Promise<SCMHistoryItemRefDto[] | undefined>;2765$provideHistoryItems(sourceControlHandle: number, options: ISCMHistoryOptions, token: CancellationToken): Promise<SCMHistoryItemDto[] | undefined>;2766$provideHistoryItemChanges(sourceControlHandle: number, historyItemId: string, historyItemParentId: string | undefined, token: CancellationToken): Promise<SCMHistoryItemChangeDto[] | undefined>;2767$resolveHistoryItem(sourceControlHandle: number, historyItemId: string, token: CancellationToken): Promise<SCMHistoryItemDto | undefined>;2768$resolveHistoryItemChatContext(sourceControlHandle: number, historyItemId: string, token: CancellationToken): Promise<string | undefined>;2769$resolveHistoryItemChangeRangeChatContext(sourceControlHandle: number, historyItemId: string, historyItemParentId: string, path: string, token: CancellationToken): Promise<string | undefined>;2770$resolveHistoryItemRefsCommonAncestor(sourceControlHandle: number, historyItemRefs: string[], token: CancellationToken): Promise<string | undefined>;27712772$provideArtifactGroups(sourceControlHandle: number, token: CancellationToken): Promise<SCMArtifactGroupDto[] | undefined>;2773$provideArtifacts(sourceControlHandle: number, group: string, token: CancellationToken): Promise<SCMArtifactDto[] | undefined>;2774}27752776export interface ExtHostQuickDiffShape {2777$provideOriginalResource(sourceControlHandle: number, uri: UriComponents, token: CancellationToken): Promise<UriComponents | null>;2778}27792780export interface ExtHostShareShape {2781$provideShare(handle: number, shareableItem: IShareableItemDto, token: CancellationToken): Promise<UriComponents | string | undefined>;2782}27832784export interface ExtHostTaskShape {2785$provideTasks(handle: number, validTypes: { [key: string]: boolean }): Promise<tasks.ITaskSetDTO>;2786$resolveTask(handle: number, taskDTO: tasks.ITaskDTO): Promise<tasks.ITaskDTO | undefined>;2787$onDidStartTask(execution: tasks.ITaskExecutionDTO, terminalId: number, resolvedDefinition: tasks.ITaskDefinitionDTO): void;2788$onDidStartTaskProcess(value: tasks.ITaskProcessStartedDTO): void;2789$onDidEndTaskProcess(value: tasks.ITaskProcessEndedDTO): void;2790$OnDidEndTask(execution: tasks.ITaskExecutionDTO): void;2791$onDidStartTaskProblemMatchers(status: tasks.ITaskProblemMatcherStartedDto): void;2792$onDidEndTaskProblemMatchers(status: tasks.ITaskProblemMatcherEndedDto): void;2793$resolveVariables(workspaceFolder: UriComponents, toResolve: { process?: { name: string; cwd?: string }; variables: string[] }): Promise<{ process?: string; variables: { [key: string]: string } }>;2794$jsonTasksSupported(): Promise<boolean>;2795$findExecutable(command: string, cwd?: string, paths?: string[]): Promise<string | undefined>;2796}27972798export interface IBreakpointDto {2799type: string;2800id?: string;2801enabled: boolean;2802condition?: string;2803hitCondition?: string;2804logMessage?: string;2805mode?: string;2806}28072808export interface IFunctionBreakpointDto extends IBreakpointDto {2809type: 'function';2810functionName: string;2811mode?: string;2812}28132814export interface IDataBreakpointDto extends IBreakpointDto {2815type: 'data';2816dataId: string;2817canPersist: boolean;2818label: string;2819accessTypes?: DebugProtocol.DataBreakpointAccessType[];2820accessType: DebugProtocol.DataBreakpointAccessType;2821mode?: string;2822}28232824export interface ISourceBreakpointDto extends IBreakpointDto {2825type: 'source';2826uri: UriComponents;2827line: number;2828character: number;2829}28302831export interface IBreakpointsDeltaDto {2832added?: Array<ISourceBreakpointDto | IFunctionBreakpointDto | IDataBreakpointDto>;2833removed?: string[];2834changed?: Array<ISourceBreakpointDto | IFunctionBreakpointDto | IDataBreakpointDto>;2835}28362837export interface ISourceMultiBreakpointDto {2838type: 'sourceMulti';2839uri: UriComponents;2840lines: {2841id: string;2842enabled: boolean;2843condition?: string;2844hitCondition?: string;2845logMessage?: string;2846line: number;2847character: number;2848mode?: string;2849}[];2850}28512852export interface IDebugSessionFullDto {2853id: DebugSessionUUID;2854type: string;2855name: string;2856parent: DebugSessionUUID | undefined;2857folderUri: UriComponents | undefined;2858configuration: IConfig;2859}28602861export type IDebugSessionDto = IDebugSessionFullDto | DebugSessionUUID;28622863export interface IThreadFocusDto {2864kind: 'thread';2865sessionId: string;2866threadId: number;2867}28682869export interface IStackFrameFocusDto {2870kind: 'stackFrame';2871sessionId: string;2872threadId: number;2873frameId: number;2874}287528762877export interface ExtHostDebugServiceShape {2878$substituteVariables(folder: UriComponents | undefined, config: IConfig): Promise<IConfig>;2879$runInTerminal(args: DebugProtocol.RunInTerminalRequestArguments, sessionId: string): Promise<number | undefined>;2880$startDASession(handle: number, session: IDebugSessionDto): Promise<void>;2881$stopDASession(handle: number): Promise<void>;2882$sendDAMessage(handle: number, message: DebugProtocol.ProtocolMessage): void;2883$resolveDebugConfiguration(handle: number, folder: UriComponents | undefined, debugConfiguration: IConfig, token: CancellationToken): Promise<IConfig | null | undefined>;2884$resolveDebugConfigurationWithSubstitutedVariables(handle: number, folder: UriComponents | undefined, debugConfiguration: IConfig, token: CancellationToken): Promise<IConfig | null | undefined>;2885$provideDebugConfigurations(handle: number, folder: UriComponents | undefined, token: CancellationToken): Promise<IConfig[]>;2886$provideDebugAdapter(handle: number, session: IDebugSessionDto): Promise<Dto<IAdapterDescriptor>>;2887$acceptDebugSessionStarted(session: IDebugSessionDto): void;2888$acceptDebugSessionTerminated(session: IDebugSessionDto): void;2889$acceptDebugSessionActiveChanged(session: IDebugSessionDto | undefined): void;2890$acceptDebugSessionCustomEvent(session: IDebugSessionDto, event: any): void;2891$acceptBreakpointsDelta(delta: IBreakpointsDeltaDto): void;2892$acceptDebugSessionNameChanged(session: IDebugSessionDto, name: string): void;2893$acceptStackFrameFocus(focus: IThreadFocusDto | IStackFrameFocusDto | undefined): void;2894$provideDebugVisualizers(extensionId: string, id: string, context: IDebugVisualizationContext, token: CancellationToken): Promise<IDebugVisualization.Serialized[]>;2895$resolveDebugVisualizer(id: number, token: CancellationToken): Promise<MainThreadDebugVisualization>;2896$executeDebugVisualizerCommand(id: number): Promise<void>;2897$disposeDebugVisualizers(ids: number[]): void;2898$getVisualizerTreeItem(treeId: string, element: IDebugVisualizationContext): Promise<IDebugVisualizationTreeItem.Serialized | undefined>;2899$getVisualizerTreeItemChildren(treeId: string, element: number): Promise<IDebugVisualizationTreeItem.Serialized[]>;2900$editVisualizerTreeItem(element: number, value: string): Promise<IDebugVisualizationTreeItem.Serialized | undefined>;2901$disposeVisualizedTree(element: number): void;2902}290329042905export interface DecorationRequest {2906readonly id: number;2907readonly uri: UriComponents;2908}29092910export type DecorationData = [boolean, string, string | ThemeIcon, ThemeColor];2911export type DecorationReply = { [id: number]: DecorationData };29122913export interface ExtHostDecorationsShape {2914$provideDecorations(handle: number, requests: DecorationRequest[], token: CancellationToken): Promise<DecorationReply>;2915}29162917export interface ExtHostWindowShape {2918$onDidChangeWindowFocus(value: boolean): void;2919$onDidChangeWindowActive(value: boolean): void;2920$onDidChangeActiveNativeWindowHandle(handle: string | undefined): void;2921}29222923export type PowerSystemIdleState = 'active' | 'idle' | 'locked' | 'unknown';2924export type PowerThermalState = 'unknown' | 'nominal' | 'fair' | 'serious' | 'critical';2925export type PowerSaveBlockerType = 'prevent-app-suspension' | 'prevent-display-sleep';29262927export interface MainThreadPowerShape extends IDisposable {2928$getSystemIdleState(idleThreshold: number): Promise<PowerSystemIdleState>;2929$getSystemIdleTime(): Promise<number>;2930$getCurrentThermalState(): Promise<PowerThermalState>;2931$isOnBatteryPower(): Promise<boolean>;2932$startPowerSaveBlocker(type: PowerSaveBlockerType): Promise<number>;2933$stopPowerSaveBlocker(id: number): Promise<boolean>;2934$isPowerSaveBlockerStarted(id: number): Promise<boolean>;2935}29362937export interface ExtHostPowerShape {2938$onDidSuspend(): void;2939$onDidResume(): void;2940$onDidChangeOnBatteryPower(isOnBattery: boolean): void;2941$onDidChangeThermalState(state: PowerThermalState): void;2942$onDidChangeSpeedLimit(limit: number): void;2943$onWillShutdown(): void;2944$onDidLockScreen(): void;2945$onDidUnlockScreen(): void;2946}29472948export interface ExtHostLogLevelServiceShape {2949$setLogLevel(level: LogLevel, resource?: UriComponents): void;2950}29512952export interface MainThreadLoggerShape {2953$log(file: UriComponents, messages: [LogLevel, string][]): void;2954$flush(file: UriComponents): void;2955$createLogger(file: UriComponents, options?: ILoggerOptions): Promise<void>;2956$registerLogger(logger: UriDto<ILoggerResource>): Promise<void>;2957$deregisterLogger(resource: UriComponents): Promise<void>;2958$setVisibility(resource: UriComponents, visible: boolean): Promise<void>;2959}29602961export interface ExtHostOutputServiceShape {2962$setVisibleChannel(channelId: string | null): void;2963}29642965export interface ExtHostProgressShape {2966$acceptProgressCanceled(handle: number): void;2967}29682969export interface ExtHostCommentsShape {2970$createCommentThreadTemplate(commentControllerHandle: number, uriComponents: UriComponents, range: IRange | undefined, editorId?: string): Promise<void>;2971$updateCommentThreadTemplate(commentControllerHandle: number, threadHandle: number, range: IRange): Promise<void>;2972$updateCommentThread(commentControllerHandle: number, threadHandle: number, changes: CommentThreadChanges): Promise<void>;2973$deleteCommentThread(commentControllerHandle: number, commentThreadHandle: number): void;2974$provideCommentingRanges(commentControllerHandle: number, uriComponents: UriComponents, token: CancellationToken): Promise<{ ranges: IRange[]; fileComments: boolean } | undefined>;2975$toggleReaction(commentControllerHandle: number, threadHandle: number, uri: UriComponents, comment: languages.Comment, reaction: languages.CommentReaction): Promise<void>;2976$setActiveComment(controllerHandle: number, commentInfo: { commentThreadHandle: number; uniqueIdInThread?: number } | undefined): Promise<void>;2977}29782979export interface INotebookSelectionChangeEvent {2980selections: ICellRange[];2981}29822983export interface INotebookVisibleRangesEvent {2984ranges: ICellRange[];2985}29862987export interface INotebookEditorPropertiesChangeData {2988visibleRanges?: INotebookVisibleRangesEvent;2989selections?: INotebookSelectionChangeEvent;2990}29912992export interface INotebookDocumentPropertiesChangeData {2993metadata?: notebookCommon.NotebookDocumentMetadata;2994}29952996export interface INotebookModelAddedData {2997uri: UriComponents;2998versionId: number;2999cells: NotebookCellDto[];3000viewType: string;3001metadata?: notebookCommon.NotebookDocumentMetadata;3002}30033004export interface INotebookEditorAddData {3005id: string;3006documentUri: UriComponents;3007selections: ICellRange[];3008visibleRanges: ICellRange[];3009viewColumn?: number;3010viewType: string;3011}30123013export interface INotebookDocumentsAndEditorsDelta {3014removedDocuments?: UriComponents[];3015addedDocuments?: INotebookModelAddedData[];3016removedEditors?: string[];3017addedEditors?: INotebookEditorAddData[];3018newActiveEditor?: string | null;3019visibleEditors?: string[];3020}30213022export interface NotebookOutputItemDto {3023readonly mime: string;3024readonly valueBytes: VSBuffer;3025}30263027export interface NotebookOutputDto {3028items: NotebookOutputItemDto[];3029outputId: string;3030metadata?: Record<string, any>;3031}30323033export interface NotebookCellDataDto {3034source: string;3035language: string;3036mime: string | undefined;3037cellKind: notebookCommon.CellKind;3038outputs: NotebookOutputDto[];3039metadata?: notebookCommon.NotebookCellMetadata;3040internalMetadata?: notebookCommon.NotebookCellInternalMetadata;3041}30423043export interface NotebookDataDto {3044readonly cells: NotebookCellDataDto[];3045readonly metadata: notebookCommon.NotebookDocumentMetadata;3046}30473048export interface NotebookCellDto {3049handle: number;3050uri: UriComponents;3051eol: string;3052source: string[];3053language: string;3054mime?: string;3055cellKind: notebookCommon.CellKind;3056outputs: NotebookOutputDto[];3057metadata?: notebookCommon.NotebookCellMetadata;3058internalMetadata?: notebookCommon.NotebookCellInternalMetadata;3059}30603061export type INotebookPartialFileStatsWithMetadata = Omit<files.IFileStatWithMetadata, 'resource' | 'children'>;30623063export interface ExtHostNotebookShape extends ExtHostNotebookDocumentsAndEditorsShape {3064$provideNotebookCellStatusBarItems(handle: number, uri: UriComponents, index: number, token: CancellationToken): Promise<INotebookCellStatusBarListDto | undefined>;3065$releaseNotebookCellStatusBarItems(id: number): void;30663067$dataToNotebook(handle: number, data: VSBuffer, token: CancellationToken): Promise<SerializableObjectWithBuffers<NotebookDataDto>>;3068$notebookToData(handle: number, data: SerializableObjectWithBuffers<NotebookDataDto>, token: CancellationToken): Promise<VSBuffer>;3069$saveNotebook(handle: number, uri: UriComponents, versionId: number, options: files.IWriteFileOptions, token: CancellationToken): Promise<INotebookPartialFileStatsWithMetadata | files.FileOperationError>;30703071$searchInNotebooks(handle: number, textQuery: search.ITextQuery, viewTypeFileTargets: NotebookPriorityInfo[], otherViewTypeFileTargets: NotebookPriorityInfo[], token: CancellationToken): Promise<{ results: IRawClosedNotebookFileMatch[]; limitHit: boolean }>;3072}30733074export interface ExtHostNotebookDocumentSaveParticipantShape {3075$participateInSave(resource: UriComponents, reason: SaveReason, token: CancellationToken): Promise<boolean>;3076}30773078export interface ExtHostNotebookRenderersShape {3079$postRendererMessage(editorId: string, rendererId: string, message: unknown): void;3080}30813082export interface ExtHostNotebookDocumentsAndEditorsShape {3083$acceptDocumentAndEditorsDelta(delta: SerializableObjectWithBuffers<INotebookDocumentsAndEditorsDelta>): void;3084}30853086export type NotebookRawContentEventDto =3087// notebookCommon.NotebookCellsInitializeEvent<NotebookCellDto>3088| {30893090readonly kind: notebookCommon.NotebookCellsChangeType.ModelChange;3091readonly changes: notebookCommon.NotebookCellTextModelSplice<NotebookCellDto>[];3092}3093| {3094readonly kind: notebookCommon.NotebookCellsChangeType.Move;3095readonly index: number;3096readonly length: number;3097readonly newIdx: number;3098}3099| {3100readonly kind: notebookCommon.NotebookCellsChangeType.Output;3101readonly index: number;3102readonly outputs: NotebookOutputDto[];3103}3104| {3105readonly kind: notebookCommon.NotebookCellsChangeType.OutputItem;3106readonly index: number;3107readonly outputId: string;3108readonly outputItems: NotebookOutputItemDto[];3109readonly append: boolean;3110}3111| notebookCommon.NotebookCellsChangeLanguageEvent3112| notebookCommon.NotebookCellsChangeMimeEvent3113| notebookCommon.NotebookCellsChangeMetadataEvent3114| notebookCommon.NotebookCellsChangeInternalMetadataEvent3115// | notebookCommon.NotebookDocumentChangeMetadataEvent3116| notebookCommon.NotebookCellContentChangeEvent3117// | notebookCommon.NotebookDocumentUnknownChangeEvent3118;31193120export type NotebookCellsChangedEventDto = {3121readonly rawEvents: NotebookRawContentEventDto[];3122readonly versionId: number;3123};31243125export interface ExtHostNotebookDocumentsShape {3126$acceptModelChanged(uriComponents: UriComponents, event: SerializableObjectWithBuffers<NotebookCellsChangedEventDto>, isDirty: boolean, newMetadata?: notebookCommon.NotebookDocumentMetadata): void;3127$acceptDirtyStateChanged(uriComponents: UriComponents, isDirty: boolean): void;3128$acceptModelSaved(uriComponents: UriComponents): void;3129}31303131export type INotebookEditorViewColumnInfo = Record<string, number>;31323133export interface ExtHostNotebookEditorsShape {3134$acceptEditorPropertiesChanged(id: string, data: INotebookEditorPropertiesChangeData): void;3135$acceptEditorViewColumns(data: INotebookEditorViewColumnInfo): void;3136}31373138export interface ExtHostNotebookKernelsShape {3139$acceptNotebookAssociation(handle: number, uri: UriComponents, value: boolean): void;3140$executeCells(handle: number, uri: UriComponents, handles: number[]): Promise<void>;3141$cancelCells(handle: number, uri: UriComponents, handles: number[]): Promise<void>;3142$acceptKernelMessageFromRenderer(handle: number, editorId: string, message: any): void;3143$provideKernelSourceActions(handle: number, token: CancellationToken): Promise<notebookCommon.INotebookKernelSourceAction[]>;3144$provideVariables(handle: number, requestId: string, notebookUri: UriComponents, parentId: number | undefined, kind: 'named' | 'indexed', start: number, token: CancellationToken): Promise<void>;3145}31463147export interface ExtHostInteractiveShape {3148$willAddInteractiveDocument(uri: UriComponents, eol: string, languageId: string, notebookUri: UriComponents): void;3149$willRemoveInteractiveDocument(uri: UriComponents, notebookUri: UriComponents): void;3150}31513152export interface ExtHostStorageShape {3153$acceptValue(shared: boolean, extensionId: string, value: string): void;3154}31553156export interface ExtHostThemingShape {3157$onColorThemeChange(themeType: string): void;3158}31593160export interface MainThreadThemingShape extends IDisposable {3161}31623163export interface MainThreadLocalizationShape extends IDisposable {3164$fetchBuiltInBundleUri(id: string, language: string): Promise<UriComponents | undefined>;3165$fetchBundleContents(uriComponents: UriComponents): Promise<string>;3166}31673168export interface TunnelDto {3169remoteAddress: { port: number; host: string };3170localAddress: { port: number; host: string } | string;3171public: boolean;3172privacy: TunnelPrivacyId | string;3173protocol: string | undefined;3174}317531763177export interface ExtHostTunnelServiceShape {3178$forwardPort(tunnelOptions: TunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise<TunnelDto | string | undefined>;3179$closeTunnel(remote: { host: string; port: number }, silent?: boolean): Promise<void>;3180$onDidTunnelsChange(): Promise<void>;3181$registerCandidateFinder(enable: boolean): Promise<void>;3182$applyCandidateFilter(candidates: CandidatePort[]): Promise<CandidatePort[]>;3183$providePortAttributes(handles: number[], ports: number[], pid: number | undefined, commandline: string | undefined, cancellationToken: CancellationToken): Promise<ProvidedPortAttributes[]>;3184}31853186export interface ExtHostTimelineShape {3187$getTimeline(source: string, uri: UriComponents, options: TimelineOptions, token: CancellationToken): Promise<Dto<Timeline> | undefined>;3188}31893190export const enum ExtHostTestingResource {3191Workspace,3192TextDocument3193}31943195export interface ExtHostTestingShape {3196$runControllerTests(req: IStartControllerTests[], token: CancellationToken): Promise<{ error?: string }[]>;3197$startContinuousRun(req: ICallProfileRunHandler[], token: CancellationToken): Promise<{ error?: string }[]>;3198$cancelExtensionTestRun(runId: string | undefined, taskId: string | undefined): void;3199/** Handles a diff of tests, as a result of a subscribeToDiffs() call */3200$acceptDiff(diff: TestsDiffOp.Serialized[]): void;3201/** Expands a test item's children, by the given number of levels. */3202$expandTest(testId: string, levels: number): Promise<void>;3203/** Requests coverage details for a test run. Errors if not available. */3204$getCoverageDetails(coverageId: string, testId: string | undefined, token: CancellationToken): Promise<CoverageDetails.Serialized[]>;3205/** Disposes resources associated with a test run. */3206$disposeRun(runId: string): void;3207/** Configures a test run config. */3208$configureRunProfile(controllerId: string, configId: number): void;3209/** Asks the controller to refresh its tests */3210$refreshTests(controllerId: string, token: CancellationToken): Promise<void>;3211/** Ensures any pending test diffs are flushed */3212$syncTests(): Promise<void>;3213/** Sets the active test run profiles */3214$setDefaultRunProfiles(profiles: Record</* controller id */string, /* profile id */ number[]>): void;3215$getTestsRelatedToCode(uri: UriComponents, position: IPosition, token: CancellationToken): Promise<string[]>;3216$getCodeRelatedToTest(testId: string, token: CancellationToken): Promise<ILocationDto[]>;32173218// --- test results:32193220/** Publishes that a test run finished. */3221$publishTestResults(results: ISerializedTestResults[]): void;3222/** Requests followup actions for a test (failure) message */3223$provideTestFollowups(req: TestMessageFollowupRequest, token: CancellationToken): Promise<TestMessageFollowupResponse[]>;3224/** Actions a followup actions for a test (failure) message */3225$executeTestFollowup(id: number): Promise<void>;3226/** Disposes followup actions for a test (failure) message */3227$disposeTestFollowups(id: number[]): void;3228}32293230export interface IStartMcpOptions {3231launch: McpServerLaunch.Serialized;3232defaultCwd?: UriComponents;3233errorOnUserInteraction?: boolean;3234}32353236export type IHookCommandDto = Dto<IHookCommand>;32373238export interface ExtHostHooksShape {3239$runHookCommand(hookCommand: IHookCommandDto, input: unknown, token: CancellationToken): Promise<IHookCommandResult>;3240}32413242export interface ExtHostMcpShape {3243$substituteVariables(workspaceFolder: UriComponents | undefined, value: McpServerLaunch.Serialized): Promise<McpServerLaunch.Serialized>;3244$resolveMcpLaunch(collectionId: string, label: string): Promise<McpServerLaunch.Serialized | undefined>;3245$startMcp(id: number, opts: IStartMcpOptions): void;3246$stopMcp(id: number): void;3247$sendMessage(id: number, message: string): void;3248$waitForInitialCollectionProviders(): Promise<void>;3249$onDidChangeMcpServerDefinitions(servers: McpServerDefinition.Serialized[]): void;3250}32513252export interface IMcpAuthenticationDetails {3253authorizationServer: UriComponents;3254authorizationServerMetadata: IAuthorizationServerMetadata;3255resourceMetadata: IAuthorizationProtectedResourceMetadata | undefined;3256scopes: string[] | undefined;3257}32583259export interface IMcpAuthenticationOptions {3260errorOnUserInteraction?: boolean;3261forceNewRegistration?: boolean;3262}32633264export const enum IAuthResourceMetadataSource {3265Header = 'header',3266WellKnown = 'wellKnown',3267None = 'none',3268}32693270export const enum IAuthServerMetadataSource {3271ResourceMetadata = 'resourceMetadata',3272WellKnown = 'wellKnown',3273Default = 'default',3274}32753276export interface IAuthMetadataSource {3277resourceMetadataSource: IAuthResourceMetadataSource;3278serverMetadataSource: IAuthServerMetadataSource;3279}32803281export interface MainThreadMcpShape {3282$onDidChangeState(id: number, state: McpConnectionState): void;3283$onDidPublishLog(id: number, level: LogLevel, log: string): void;3284$onDidReceiveMessage(id: number, message: string): void;3285$upsertMcpCollection(collection: McpCollectionDefinition.FromExtHost, servers: McpServerDefinition.Serialized[]): void;3286$deleteMcpCollection(collectionId: string): void;3287$getTokenFromServerMetadata(id: number, authDetails: IMcpAuthenticationDetails, options?: IMcpAuthenticationOptions): Promise<string | undefined>;3288$getTokenForProviderId(id: number, providerId: string, scopes: string[], options?: IMcpAuthenticationOptions): Promise<string | undefined>;3289$logMcpAuthSetup(data: IAuthMetadataSource): void;3290$startMcpGateway(): Promise<{ address: UriComponents; gatewayId: string } | undefined>;3291$disposeMcpGateway(gatewayId: string): void;3292}32933294export interface MainThreadDataChannelsShape extends IDisposable {3295}32963297export interface MainThreadHooksShape extends IDisposable {3298$executeHook(hookType: string, sessionResource: UriComponents, input: unknown, token: CancellationToken): Promise<IHookResult[]>;3299}33003301export interface ExtHostDataChannelsShape {3302$onDidReceiveData(channelId: string, data: unknown): void;3303}33043305export interface ExtHostLocalizationShape {3306getMessage(extensionId: string, details: IStringDetails): string;3307getBundle(extensionId: string): { [key: string]: string } | undefined;3308getBundleUri(extensionId: string): URI | undefined;3309initializeLocalizedMessages(extension: IExtensionDescription): Promise<void>;3310}33113312export interface IStringDetails {3313message: string;3314args?: Record<string | number, any>;3315comment?: string | string[];3316}33173318export interface ITestControllerPatch {3319label?: string;3320capabilities?: TestControllerCapability;3321}33223323export interface MainThreadTestingShape {3324// --- test lifecycle:33253326/** Registers that there's a test controller with the given ID */3327$registerTestController(controllerId: string, label: string, capability: TestControllerCapability): void;3328/** Updates the label of an existing test controller. */3329$updateController(controllerId: string, patch: ITestControllerPatch): void;3330/** Diposes of the test controller with the given ID */3331$unregisterTestController(controllerId: string): void;3332/** Requests tests published to VS Code. */3333$subscribeToDiffs(): void;3334/** Stops requesting tests published to VS Code. */3335$unsubscribeFromDiffs(): void;3336/** Publishes that new tests were available on the given source. */3337$publishDiff(controllerId: string, diff: TestsDiffOp.Serialized[]): void;3338/** Gets coverage details from a test result. */3339$getCoverageDetails(resultId: string, taskIndex: number, uri: UriComponents, token: CancellationToken): Promise<CoverageDetails.Serialized[]>;33403341// --- test run configurations:33423343/** Called when a new test run configuration is available */3344$publishTestRunProfile(config: ITestRunProfile): void;3345/** Updates an existing test run configuration */3346$updateTestRunConfig(controllerId: string, configId: number, update: Partial<ITestRunProfile>): void;3347/** Removes a previously-published test run config */3348$removeTestProfile(controllerId: string, configId: number): void;334933503351// --- test run handling:33523353/** Request by an extension to run tests. */3354$runTests(req: ResolvedTestRunRequest, token: CancellationToken): Promise<string>;3355/**3356* Adds tests to the run. The tests are given in descending depth. The first3357* item will be a previously-known test, or a test root.3358*/3359$addTestsToRun(controllerId: string, runId: string, tests: ITestItem.Serialized[]): void;3360/** Updates the state of a test run in the given run. */3361$updateTestStateInRun(runId: string, taskId: string, testId: string, state: TestResultState, duration?: number): void;3362/** Appends a message to a test in the run. */3363$appendTestMessagesInRun(runId: string, taskId: string, testId: string, messages: ITestMessage.Serialized[]): void;3364/** Appends raw output to the test run.. */3365$appendOutputToRun(runId: string, taskId: string, output: VSBuffer, location?: ILocationDto, testId?: string): void;3366/** Triggered when coverage is added to test results. */3367$appendCoverage(runId: string, taskId: string, coverage: IFileCoverage.Serialized): void;3368/** Signals a task in a test run started. */3369$startedTestRunTask(runId: string, task: ITestRunTask): void;3370/** Signals a task in a test run ended. */3371$finishedTestRunTask(runId: string, taskId: string): void;3372/** Start a new extension-provided test run. */3373$startedExtensionTestRun(req: ExtensionRunTestsRequest): void;3374/** Signals that an extension-provided test run finished. */3375$finishedExtensionTestRun(runId: string): void;3376/** Marks a test (or controller) as retired in all results. */3377$markTestRetired(testIds: string[] | undefined): void;3378}33793380export type ChatStatusItemDto = {3381id: string;3382title: string | { label: string; link: string };3383description: string;3384detail: string | undefined;3385};33863387export interface MainThreadChatStatusShape {3388$setEntry(id: string, entry: ChatStatusItemDto): void;3389$disposeEntry(id: string): void;3390}33913392export type IChatSessionHistoryItemDto = {3393id?: string;3394type: 'request';3395prompt: string;3396participant: string;3397command?: string;3398variableData?: Dto<IChatRequestVariableData>;3399} | {3400type: 'response';3401parts: IChatProgressDto[];3402participant: string;3403};34043405export interface ChatSessionOptionUpdateDto {3406readonly optionId: string;3407readonly value: string | IChatSessionProviderOptionItem | undefined;3408}34093410export interface ChatSessionOptionUpdateDto2 {3411readonly optionId: string;3412readonly value: string | IChatSessionProviderOptionItem;3413}34143415export interface ChatSessionDto {3416id: string;3417resource: UriComponents;3418history: Array<IChatSessionHistoryItemDto>;3419hasActiveResponseCallback: boolean;3420hasRequestHandler: boolean;3421supportsInterruption: boolean;3422options?: Record<string, string | IChatSessionProviderOptionItem>;3423}34243425export interface IChatSessionProviderOptions {3426optionGroups?: IChatSessionProviderOptionGroup[];3427}34283429export interface MainThreadChatSessionsShape extends IDisposable {3430$registerChatSessionItemProvider(handle: number, chatSessionType: string): void;3431$unregisterChatSessionItemProvider(handle: number): void;3432$onDidChangeChatSessionItems(handle: number): void;3433$onDidCommitChatSessionItem(handle: number, original: UriComponents, modified: UriComponents): void;3434$registerChatSessionContentProvider(handle: number, chatSessionScheme: string): void;3435$unregisterChatSessionContentProvider(handle: number): void;3436$onDidChangeChatSessionOptions(handle: number, sessionResource: UriComponents, updates: ReadonlyArray<ChatSessionOptionUpdateDto2>): void;3437$onDidChangeChatSessionProviderOptions(handle: number): void;34383439$handleProgressChunk(handle: number, sessionResource: UriComponents, requestId: string, chunks: (IChatProgressDto | [IChatProgressDto, number])[]): Promise<void>;3440$handleAnchorResolve(handle: number, sessionResource: UriComponents, requestId: string, requestHandle: string, anchor: Dto<IChatContentInlineReference>): void;3441$handleProgressComplete(handle: number, sessionResource: UriComponents, requestId: string): void;3442}34433444export interface ExtHostChatSessionsShape {3445$provideChatSessionItems(providerHandle: number, token: CancellationToken): Promise<Dto<IChatSessionItem>[]>;3446$onDidChangeChatSessionItemState(providerHandle: number, sessionResource: UriComponents, archived: boolean): void;34473448$provideChatSessionContent(providerHandle: number, sessionResource: UriComponents, token: CancellationToken): Promise<ChatSessionDto>;3449$interruptChatSessionActiveResponse(providerHandle: number, sessionResource: UriComponents, requestId: string): Promise<void>;3450$disposeChatSessionContent(providerHandle: number, sessionResource: UriComponents): Promise<void>;3451$invokeChatSessionRequestHandler(providerHandle: number, sessionResource: UriComponents, request: IChatAgentRequest, history: any[], token: CancellationToken): Promise<IChatAgentResult>;3452$provideChatSessionProviderOptions(providerHandle: number, token: CancellationToken): Promise<IChatSessionProviderOptions | undefined>;3453$invokeOptionGroupSearch(providerHandle: number, optionGroupId: string, query: string, token: CancellationToken): Promise<IChatSessionProviderOptionItem[]>;3454$provideHandleOptionsChange(providerHandle: number, sessionResource: UriComponents, updates: ReadonlyArray<ChatSessionOptionUpdateDto>, token: CancellationToken): Promise<void>;3455}34563457// --- proxy identifiers34583459export const MainContext = {3460MainThreadAuthentication: createProxyIdentifier<MainThreadAuthenticationShape>('MainThreadAuthentication'),3461MainThreadBulkEdits: createProxyIdentifier<MainThreadBulkEditsShape>('MainThreadBulkEdits'),3462MainThreadLanguageModels: createProxyIdentifier<MainThreadLanguageModelsShape>('MainThreadLanguageModels'),3463MainThreadEmbeddings: createProxyIdentifier<MainThreadEmbeddingsShape>('MainThreadEmbeddings'),3464MainThreadChatAgents2: createProxyIdentifier<MainThreadChatAgentsShape2>('MainThreadChatAgents2'),3465MainThreadCodeMapper: createProxyIdentifier<MainThreadCodeMapperShape>('MainThreadCodeMapper'),3466MainThreadLanguageModelTools: createProxyIdentifier<MainThreadLanguageModelToolsShape>('MainThreadChatSkills'),3467MainThreadClipboard: createProxyIdentifier<MainThreadClipboardShape>('MainThreadClipboard'),3468MainThreadCommands: createProxyIdentifier<MainThreadCommandsShape>('MainThreadCommands'),3469MainThreadComments: createProxyIdentifier<MainThreadCommentsShape>('MainThreadComments'),3470MainThreadConfiguration: createProxyIdentifier<MainThreadConfigurationShape>('MainThreadConfiguration'),3471MainThreadConsole: createProxyIdentifier<MainThreadConsoleShape>('MainThreadConsole'),3472MainThreadDebugService: createProxyIdentifier<MainThreadDebugServiceShape>('MainThreadDebugService'),3473MainThreadDecorations: createProxyIdentifier<MainThreadDecorationsShape>('MainThreadDecorations'),3474MainThreadDiagnostics: createProxyIdentifier<MainThreadDiagnosticsShape>('MainThreadDiagnostics'),3475MainThreadDialogs: createProxyIdentifier<MainThreadDiaglogsShape>('MainThreadDiaglogs'),3476MainThreadDocuments: createProxyIdentifier<MainThreadDocumentsShape>('MainThreadDocuments'),3477MainThreadDocumentContentProviders: createProxyIdentifier<MainThreadDocumentContentProvidersShape>('MainThreadDocumentContentProviders'),3478MainThreadTextEditors: createProxyIdentifier<MainThreadTextEditorsShape>('MainThreadTextEditors'),3479MainThreadEditorInsets: createProxyIdentifier<MainThreadEditorInsetsShape>('MainThreadEditorInsets'),3480MainThreadEditorTabs: createProxyIdentifier<MainThreadEditorTabsShape>('MainThreadEditorTabs'),3481MainThreadErrors: createProxyIdentifier<MainThreadErrorsShape>('MainThreadErrors'),3482MainThreadTreeViews: createProxyIdentifier<MainThreadTreeViewsShape>('MainThreadTreeViews'),3483MainThreadDownloadService: createProxyIdentifier<MainThreadDownloadServiceShape>('MainThreadDownloadService'),3484MainThreadLanguageFeatures: createProxyIdentifier<MainThreadLanguageFeaturesShape>('MainThreadLanguageFeatures'),3485MainThreadLanguages: createProxyIdentifier<MainThreadLanguagesShape>('MainThreadLanguages'),3486MainThreadLogger: createProxyIdentifier<MainThreadLoggerShape>('MainThreadLogger'),3487MainThreadMessageService: createProxyIdentifier<MainThreadMessageServiceShape>('MainThreadMessageService'),3488MainThreadOutputService: createProxyIdentifier<MainThreadOutputServiceShape>('MainThreadOutputService'),3489MainThreadProgress: createProxyIdentifier<MainThreadProgressShape>('MainThreadProgress'),3490MainThreadQuickDiff: createProxyIdentifier<MainThreadQuickDiffShape>('MainThreadQuickDiff'),3491MainThreadQuickOpen: createProxyIdentifier<MainThreadQuickOpenShape>('MainThreadQuickOpen'),3492MainThreadStatusBar: createProxyIdentifier<MainThreadStatusBarShape>('MainThreadStatusBar'),3493MainThreadSecretState: createProxyIdentifier<MainThreadSecretStateShape>('MainThreadSecretState'),3494MainThreadStorage: createProxyIdentifier<MainThreadStorageShape>('MainThreadStorage'),3495MainThreadSpeech: createProxyIdentifier<MainThreadSpeechShape>('MainThreadSpeechProvider'),3496MainThreadTelemetry: createProxyIdentifier<MainThreadTelemetryShape>('MainThreadTelemetry'),3497MainThreadMeteredConnection: createProxyIdentifier<MainThreadMeteredConnectionShape>('MainThreadMeteredConnection'),3498MainThreadTerminalService: createProxyIdentifier<MainThreadTerminalServiceShape>('MainThreadTerminalService'),3499MainThreadTerminalShellIntegration: createProxyIdentifier<MainThreadTerminalShellIntegrationShape>('MainThreadTerminalShellIntegration'),3500MainThreadWebviews: createProxyIdentifier<MainThreadWebviewsShape>('MainThreadWebviews'),3501MainThreadWebviewPanels: createProxyIdentifier<MainThreadWebviewPanelsShape>('MainThreadWebviewPanels'),3502MainThreadWebviewViews: createProxyIdentifier<MainThreadWebviewViewsShape>('MainThreadWebviewViews'),3503MainThreadCustomEditors: createProxyIdentifier<MainThreadCustomEditorsShape>('MainThreadCustomEditors'),3504MainThreadUrls: createProxyIdentifier<MainThreadUrlsShape>('MainThreadUrls'),3505MainThreadUriOpeners: createProxyIdentifier<MainThreadUriOpenersShape>('MainThreadUriOpeners'),3506MainThreadProfileContentHandlers: createProxyIdentifier<MainThreadProfileContentHandlersShape>('MainThreadProfileContentHandlers'),3507MainThreadWorkspace: createProxyIdentifier<MainThreadWorkspaceShape>('MainThreadWorkspace'),3508MainThreadFileSystem: createProxyIdentifier<MainThreadFileSystemShape>('MainThreadFileSystem'),3509MainThreadFileSystemEventService: createProxyIdentifier<MainThreadFileSystemEventServiceShape>('MainThreadFileSystemEventService'),3510MainThreadExtensionService: createProxyIdentifier<MainThreadExtensionServiceShape>('MainThreadExtensionService'),3511MainThreadSCM: createProxyIdentifier<MainThreadSCMShape>('MainThreadSCM'),3512MainThreadSearch: createProxyIdentifier<MainThreadSearchShape>('MainThreadSearch'),3513MainThreadShare: createProxyIdentifier<MainThreadShareShape>('MainThreadShare'),3514MainThreadTask: createProxyIdentifier<MainThreadTaskShape>('MainThreadTask'),3515MainThreadWindow: createProxyIdentifier<MainThreadWindowShape>('MainThreadWindow'),3516MainThreadPower: createProxyIdentifier<MainThreadPowerShape>('MainThreadPower'),3517MainThreadLabelService: createProxyIdentifier<MainThreadLabelServiceShape>('MainThreadLabelService'),3518MainThreadNotebook: createProxyIdentifier<MainThreadNotebookShape>('MainThreadNotebook'),3519MainThreadNotebookDocuments: createProxyIdentifier<MainThreadNotebookDocumentsShape>('MainThreadNotebookDocumentsShape'),3520MainThreadNotebookEditors: createProxyIdentifier<MainThreadNotebookEditorsShape>('MainThreadNotebookEditorsShape'),3521MainThreadNotebookKernels: createProxyIdentifier<MainThreadNotebookKernelsShape>('MainThreadNotebookKernels'),3522MainThreadNotebookRenderers: createProxyIdentifier<MainThreadNotebookRenderersShape>('MainThreadNotebookRenderers'),3523MainThreadInteractive: createProxyIdentifier<MainThreadInteractiveShape>('MainThreadInteractive'),3524MainThreadTheming: createProxyIdentifier<MainThreadThemingShape>('MainThreadTheming'),3525MainThreadTunnelService: createProxyIdentifier<MainThreadTunnelServiceShape>('MainThreadTunnelService'),3526MainThreadManagedSockets: createProxyIdentifier<MainThreadManagedSocketsShape>('MainThreadManagedSockets'),3527MainThreadTimeline: createProxyIdentifier<MainThreadTimelineShape>('MainThreadTimeline'),3528MainThreadTesting: createProxyIdentifier<MainThreadTestingShape>('MainThreadTesting'),3529MainThreadLocalization: createProxyIdentifier<MainThreadLocalizationShape>('MainThreadLocalizationShape'),3530MainThreadMcp: createProxyIdentifier<MainThreadMcpShape>('MainThreadMcpShape'),3531MainThreadAiRelatedInformation: createProxyIdentifier<MainThreadAiRelatedInformationShape>('MainThreadAiRelatedInformation'),3532MainThreadAiEmbeddingVector: createProxyIdentifier<MainThreadAiEmbeddingVectorShape>('MainThreadAiEmbeddingVector'),3533MainThreadChatStatus: createProxyIdentifier<MainThreadChatStatusShape>('MainThreadChatStatus'),3534MainThreadAiSettingsSearch: createProxyIdentifier<MainThreadAiSettingsSearchShape>('MainThreadAiSettingsSearch'),3535MainThreadDataChannels: createProxyIdentifier<MainThreadDataChannelsShape>('MainThreadDataChannels'),3536MainThreadHooks: createProxyIdentifier<MainThreadHooksShape>('MainThreadHooks'),3537MainThreadChatSessions: createProxyIdentifier<MainThreadChatSessionsShape>('MainThreadChatSessions'),3538MainThreadChatOutputRenderer: createProxyIdentifier<MainThreadChatOutputRendererShape>('MainThreadChatOutputRenderer'),3539MainThreadChatContext: createProxyIdentifier<MainThreadChatContextShape>('MainThreadChatContext'),3540};35413542export const ExtHostContext = {3543ExtHostCodeMapper: createProxyIdentifier<ExtHostCodeMapperShape>('ExtHostCodeMapper'),3544ExtHostCommands: createProxyIdentifier<ExtHostCommandsShape>('ExtHostCommands'),3545ExtHostConfiguration: createProxyIdentifier<ExtHostConfigurationShape>('ExtHostConfiguration'),3546ExtHostDiagnostics: createProxyIdentifier<ExtHostDiagnosticsShape>('ExtHostDiagnostics'),3547ExtHostDebugService: createProxyIdentifier<ExtHostDebugServiceShape>('ExtHostDebugService'),3548ExtHostDecorations: createProxyIdentifier<ExtHostDecorationsShape>('ExtHostDecorations'),3549ExtHostDocumentsAndEditors: createProxyIdentifier<ExtHostDocumentsAndEditorsShape>('ExtHostDocumentsAndEditors'),3550ExtHostDocuments: createProxyIdentifier<ExtHostDocumentsShape>('ExtHostDocuments'),3551ExtHostDocumentContentProviders: createProxyIdentifier<ExtHostDocumentContentProvidersShape>('ExtHostDocumentContentProviders'),3552ExtHostDocumentSaveParticipant: createProxyIdentifier<ExtHostDocumentSaveParticipantShape>('ExtHostDocumentSaveParticipant'),3553ExtHostEditors: createProxyIdentifier<ExtHostEditorsShape>('ExtHostEditors'),3554ExtHostTreeViews: createProxyIdentifier<ExtHostTreeViewsShape>('ExtHostTreeViews'),3555ExtHostFileSystem: createProxyIdentifier<ExtHostFileSystemShape>('ExtHostFileSystem'),3556ExtHostFileSystemInfo: createProxyIdentifier<ExtHostFileSystemInfoShape>('ExtHostFileSystemInfo'),3557ExtHostFileSystemEventService: createProxyIdentifier<ExtHostFileSystemEventServiceShape>('ExtHostFileSystemEventService'),3558ExtHostLanguages: createProxyIdentifier<ExtHostLanguagesShape>('ExtHostLanguages'),3559ExtHostLanguageFeatures: createProxyIdentifier<ExtHostLanguageFeaturesShape>('ExtHostLanguageFeatures'),3560ExtHostQuickOpen: createProxyIdentifier<ExtHostQuickOpenShape>('ExtHostQuickOpen'),3561ExtHostQuickDiff: createProxyIdentifier<ExtHostQuickDiffShape>('ExtHostQuickDiff'),3562ExtHostStatusBar: createProxyIdentifier<ExtHostStatusBarShape>('ExtHostStatusBar'),3563ExtHostShare: createProxyIdentifier<ExtHostShareShape>('ExtHostShare'),3564ExtHostExtensionService: createProxyIdentifier<ExtHostExtensionServiceShape>('ExtHostExtensionService'),3565ExtHostLogLevelServiceShape: createProxyIdentifier<ExtHostLogLevelServiceShape>('ExtHostLogLevelServiceShape'),3566ExtHostTerminalService: createProxyIdentifier<ExtHostTerminalServiceShape>('ExtHostTerminalService'),3567ExtHostTerminalShellIntegration: createProxyIdentifier<ExtHostTerminalShellIntegrationShape>('ExtHostTerminalShellIntegration'),3568ExtHostSCM: createProxyIdentifier<ExtHostSCMShape>('ExtHostSCM'),3569ExtHostSearch: createProxyIdentifier<ExtHostSearchShape>('ExtHostSearch'),3570ExtHostTask: createProxyIdentifier<ExtHostTaskShape>('ExtHostTask'),3571ExtHostWorkspace: createProxyIdentifier<ExtHostWorkspaceShape>('ExtHostWorkspace'),3572ExtHostWindow: createProxyIdentifier<ExtHostWindowShape>('ExtHostWindow'),3573ExtHostPower: createProxyIdentifier<ExtHostPowerShape>('ExtHostPower'),3574ExtHostWebviews: createProxyIdentifier<ExtHostWebviewsShape>('ExtHostWebviews'),3575ExtHostWebviewPanels: createProxyIdentifier<ExtHostWebviewPanelsShape>('ExtHostWebviewPanels'),3576ExtHostCustomEditors: createProxyIdentifier<ExtHostCustomEditorsShape>('ExtHostCustomEditors'),3577ExtHostWebviewViews: createProxyIdentifier<ExtHostWebviewViewsShape>('ExtHostWebviewViews'),3578ExtHostEditorInsets: createProxyIdentifier<ExtHostEditorInsetsShape>('ExtHostEditorInsets'),3579ExtHostEditorTabs: createProxyIdentifier<IExtHostEditorTabsShape>('ExtHostEditorTabs'),3580ExtHostProgress: createProxyIdentifier<ExtHostProgressShape>('ExtHostProgress'),3581ExtHostComments: createProxyIdentifier<ExtHostCommentsShape>('ExtHostComments'),3582ExtHostSecretState: createProxyIdentifier<ExtHostSecretStateShape>('ExtHostSecretState'),3583ExtHostStorage: createProxyIdentifier<ExtHostStorageShape>('ExtHostStorage'),3584ExtHostUrls: createProxyIdentifier<ExtHostUrlsShape>('ExtHostUrls'),3585ExtHostUriOpeners: createProxyIdentifier<ExtHostUriOpenersShape>('ExtHostUriOpeners'),3586ExtHostChatOutputRenderer: createProxyIdentifier<ExtHostChatOutputRendererShape>('ExtHostChatOutputRenderer'),3587ExtHostProfileContentHandlers: createProxyIdentifier<ExtHostProfileContentHandlersShape>('ExtHostProfileContentHandlers'),3588ExtHostOutputService: createProxyIdentifier<ExtHostOutputServiceShape>('ExtHostOutputService'),3589ExtHostLabelService: createProxyIdentifier<ExtHostLabelServiceShape>('ExtHostLabelService'),3590ExtHostNotebook: createProxyIdentifier<ExtHostNotebookShape>('ExtHostNotebook'),3591ExtHostNotebookDocuments: createProxyIdentifier<ExtHostNotebookDocumentsShape>('ExtHostNotebookDocuments'),3592ExtHostNotebookEditors: createProxyIdentifier<ExtHostNotebookEditorsShape>('ExtHostNotebookEditors'),3593ExtHostNotebookKernels: createProxyIdentifier<ExtHostNotebookKernelsShape>('ExtHostNotebookKernels'),3594ExtHostNotebookRenderers: createProxyIdentifier<ExtHostNotebookRenderersShape>('ExtHostNotebookRenderers'),3595ExtHostNotebookDocumentSaveParticipant: createProxyIdentifier<ExtHostNotebookDocumentSaveParticipantShape>('ExtHostNotebookDocumentSaveParticipant'),3596ExtHostInteractive: createProxyIdentifier<ExtHostInteractiveShape>('ExtHostInteractive'),3597ExtHostChatAgents2: createProxyIdentifier<ExtHostChatAgentsShape2>('ExtHostChatAgents'),3598ExtHostLanguageModelTools: createProxyIdentifier<ExtHostLanguageModelToolsShape>('ExtHostChatSkills'),3599ExtHostChatProvider: createProxyIdentifier<ExtHostLanguageModelsShape>('ExtHostChatProvider'),3600ExtHostChatContext: createProxyIdentifier<ExtHostChatContextShape>('ExtHostChatContext'),3601ExtHostSpeech: createProxyIdentifier<ExtHostSpeechShape>('ExtHostSpeech'),3602ExtHostEmbeddings: createProxyIdentifier<ExtHostEmbeddingsShape>('ExtHostEmbeddings'),3603ExtHostAiRelatedInformation: createProxyIdentifier<ExtHostAiRelatedInformationShape>('ExtHostAiRelatedInformation'),3604ExtHostAiEmbeddingVector: createProxyIdentifier<ExtHostAiEmbeddingVectorShape>('ExtHostAiEmbeddingVector'),3605ExtHostAiSettingsSearch: createProxyIdentifier<ExtHostAiSettingsSearchShape>('ExtHostAiSettingsSearch'),3606ExtHostTheming: createProxyIdentifier<ExtHostThemingShape>('ExtHostTheming'),3607ExtHostTunnelService: createProxyIdentifier<ExtHostTunnelServiceShape>('ExtHostTunnelService'),3608ExtHostManagedSockets: createProxyIdentifier<ExtHostManagedSocketsShape>('ExtHostManagedSockets'),3609ExtHostAuthentication: createProxyIdentifier<ExtHostAuthenticationShape>('ExtHostAuthentication'),3610ExtHostTimeline: createProxyIdentifier<ExtHostTimelineShape>('ExtHostTimeline'),3611ExtHostTesting: createProxyIdentifier<ExtHostTestingShape>('ExtHostTesting'),3612ExtHostTelemetry: createProxyIdentifier<ExtHostTelemetryShape>('ExtHostTelemetry'),3613ExtHostMeteredConnection: createProxyIdentifier<ExtHostMeteredConnectionShape>('ExtHostMeteredConnection'),3614ExtHostLocalization: createProxyIdentifier<ExtHostLocalizationShape>('ExtHostLocalization'),3615ExtHostMcp: createProxyIdentifier<ExtHostMcpShape>('ExtHostMcp'),3616ExtHostHooks: createProxyIdentifier<ExtHostHooksShape>('ExtHostHooks'),3617ExtHostDataChannels: createProxyIdentifier<ExtHostDataChannelsShape>('ExtHostDataChannels'),3618ExtHostChatSessions: createProxyIdentifier<ExtHostChatSessionsShape>('ExtHostChatSessions'),3619};362036213622