import { VSBuffer } from "../../../../base/common/buffer.js"; import { URI } from "../../../../base/common/uri.js"; import { ExtensionIdentifier } from "../../../../platform/extensions/common/extensions.js"; import { IRemoteConnectionData, RemoteAuthorityResolverErrorCode, ResolverResult } from "../../../../platform/remote/common/remoteAuthorityResolver.js"; import { IExtensionDescriptionDelta } from "./extensionHostProtocol.js"; import { ActivationKind, ExtensionActivationReason } from "./extensions.js"; export interface IResolveAuthorityErrorResult { type: "error"; error: { message: string | undefined; code: RemoteAuthorityResolverErrorCode; detail: unknown; }; } export interface IResolveAuthorityOKResult { type: "ok"; value: ResolverResult; } export type IResolveAuthorityResult = IResolveAuthorityErrorResult | IResolveAuthorityOKResult; export interface IExtensionHostProxy { resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise; /** * Returns `null` if no resolver for `remoteAuthority` is found. */ getCanonicalURI(remoteAuthority: string, uri: URI): Promise; startExtensionHost(extensionsDelta: IExtensionDescriptionDelta): Promise; extensionTestsExecute(): Promise; activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise; activate(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise; setRemoteEnvironment(env: { [key: string]: string | null; }): Promise; updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise; deltaExtensions(extensionsDelta: IExtensionDescriptionDelta): Promise; test_latency(n: number): Promise; test_up(b: VSBuffer): Promise; test_down(size: number): Promise; }