@codingame/monaco-vscode-extensions-service-override 1.82.4 → 1.82.5-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/dist/main/vscode/src/vs/workbench/api/common/extHost.api.impl.d.ts +14 -0
  2. package/dist/main/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +236 -0
  3. package/dist/main/vscode/src/vs/workbench/api/common/extHostConfiguration.d.ts +43 -0
  4. package/dist/main/vscode/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +33 -0
  5. package/dist/main/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +139 -0
  6. package/dist/main/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.d.ts +21 -0
  7. package/dist/main/vscode/src/vs/workbench/api/common/extHostInitDataService.d.ts +9 -0
  8. package/dist/main/vscode/src/vs/workbench/api/common/extHostLocalizationService.d.ts +29 -0
  9. package/dist/main/vscode/src/vs/workbench/api/common/extHostManagedSockets.d.ts +11 -0
  10. package/dist/main/vscode/src/vs/workbench/api/common/extHostRpcService.d.ts +9 -0
  11. package/dist/main/vscode/src/vs/workbench/api/common/extHostStoragePaths.d.ts +14 -0
  12. package/dist/main/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +54 -0
  13. package/dist/main/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +20 -0
  14. package/dist/main/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +12 -0
  15. package/dist/main/vscode/src/vs/workbench/api/common/extHostUriTransformerService.d.ts +9 -0
  16. package/dist/main/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +92 -0
  17. package/dist/main/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +21 -0
  18. package/dist/main/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +35 -0
  19. package/extensions.d.ts +51 -0
  20. package/index.d.ts +2 -2
  21. package/index.js +2 -2
  22. package/package.json +2 -2
  23. package/vscode-proposed.d.ts +3704 -0
@@ -0,0 +1,14 @@
1
+ import { ExtHostConfigProvider } from './extHostConfiguration.js';
2
+ import { ExtensionDescriptionRegistry } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry';
3
+ import * as vscodeProposed_d from '../../../../../../../../vscode-proposed.js';
4
+ import { IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
5
+
6
+ interface IExtensionRegistries {
7
+ mine: ExtensionDescriptionRegistry;
8
+ all: ExtensionDescriptionRegistry;
9
+ }
10
+ interface IExtensionApiFactory {
11
+ (extension: IExtensionDescription, extensionInfo: IExtensionRegistries, configProvider: ExtHostConfigProvider): typeof vscodeProposed_d;
12
+ }
13
+
14
+ export type { IExtensionApiFactory, IExtensionRegistries };
@@ -0,0 +1,236 @@
1
+ import { Dto } from 'vscode/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
2
+ import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
3
+ import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation';
4
+ import { UriComponents, URI } from 'vscode/vscode/vs/base/common/uri';
5
+ import { SerializedError } from 'vscode/vscode/vs/base/common/errors';
6
+ import { IDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
7
+ import { PerformanceMark } from 'vscode/vscode/vs/base/common/performance';
8
+ import { Command } from 'vscode/vscode/vs/editor/common/languages';
9
+ import { IConfigurationData, ConfigurationTarget, IConfigurationOverrides, IConfigurationChange } from 'vscode/vscode/vs/platform/configuration/common/configuration';
10
+ import { ConfigurationScope } from 'vscode/vscode/vs/platform/configuration/common/configurationRegistry';
11
+ import { IExtensionDescription, ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
12
+ import { IRemoteConnectionData } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
13
+ import { ClassifiedEvent, OmitMetadata, IGDPRProperty, StrictPropertyCheck } from 'vscode/vscode/vs/platform/telemetry/common/gdprTypings';
14
+ import { ISerializableEnvironmentVariableCollection } from 'vscode/vscode/vs/platform/terminal/common/environmentVariable';
15
+ import { TerminalExitReason, IShellLaunchConfigDto, ITerminalLaunchError, ITerminalProfile, ICreateContributedTerminalProfileOptions } from 'vscode/vscode/vs/platform/terminal/common/terminal';
16
+ import { TunnelOptions, TunnelCreationOptions, ProvidedPortAttributes, TunnelPrivacyId } from 'vscode/vscode/vs/platform/tunnel/common/tunnel';
17
+ import { EditSessionIdentityMatch } from 'vscode/vscode/vs/platform/workspace/common/editSessions';
18
+ import { WorkspaceTrustRequestOptions } from 'vscode/vscode/vs/platform/workspace/common/workspaceTrust';
19
+ import { ExtensionActivationReason, MissingExtensionDependency, ActivationKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
20
+ import { IPatternInfo, IRawFileMatch2 } from 'vscode/vscode/vs/workbench/services/search/common/search';
21
+ import { IExtensionDescriptionDelta, IStaticWorkspaceData } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
22
+ import { IResolveAuthorityResult } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProxy';
23
+ import { CandidatePort } from 'vscode/vscode/vs/workbench/services/remote/common/tunnelModel';
24
+ import { ITextQueryBuilderOptions } from '../../services/search/common/queryBuilder.js';
25
+
26
+ interface IWorkspaceData extends IStaticWorkspaceData {
27
+ folders: {
28
+ uri: UriComponents;
29
+ name: string;
30
+ index: number;
31
+ }[];
32
+ }
33
+ interface IConfigurationInitData extends IConfigurationData {
34
+ configurationScopes: [string, ConfigurationScope | undefined][];
35
+ }
36
+ interface MainThreadConfigurationShape extends IDisposable {
37
+ $updateConfigurationOption(target: ConfigurationTarget | null, key: string, value: any, overrides: IConfigurationOverrides | undefined, scopeToLanguage: boolean | undefined): Promise<void>;
38
+ $removeConfigurationOption(target: ConfigurationTarget | null, key: string, overrides: IConfigurationOverrides | undefined, scopeToLanguage: boolean | undefined): Promise<void>;
39
+ }
40
+ /**
41
+ * A terminal that is created on the extension host side is temporarily assigned
42
+ * a UUID by the extension host that created it. Once the renderer side has assigned
43
+ * a real numeric id, the numeric id will be used.
44
+ *
45
+ * All other terminals (that are not created on the extension host side) always
46
+ * use the numeric id.
47
+ */
48
+ type ExtHostTerminalIdentifier = number | string;
49
+ interface MainThreadTelemetryShape extends IDisposable {
50
+ $publicLog(eventName: string, data?: any): void;
51
+ $publicLog2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): void;
52
+ }
53
+ interface ExtHostManagedSocketsShape {
54
+ $openRemoteSocket(socketFactoryId: number): Promise<number>;
55
+ $remoteSocketWrite(socketId: number, buffer: VSBuffer): void;
56
+ $remoteSocketEnd(socketId: number): void;
57
+ $remoteSocketDrain(socketId: number): Promise<void>;
58
+ }
59
+ interface ITextSearchComplete {
60
+ limitHit?: boolean;
61
+ }
62
+ interface MainThreadWorkspaceShape extends IDisposable {
63
+ $startFileSearch(includePattern: string | null, includeFolder: UriComponents | null, excludePatternOrDisregardExcludes: string | false | null, maxResults: number | null, token: CancellationToken): Promise<UriComponents[] | null>;
64
+ $startTextSearch(query: IPatternInfo, folder: UriComponents | null, options: ITextQueryBuilderOptions, requestId: number, token: CancellationToken): Promise<ITextSearchComplete | null>;
65
+ $checkExists(folders: readonly UriComponents[], includes: string[], token: CancellationToken): Promise<boolean>;
66
+ $save(uri: UriComponents, options: {
67
+ saveAs: boolean;
68
+ }): Promise<UriComponents | undefined>;
69
+ $saveAll(includeUntitled?: boolean): Promise<boolean>;
70
+ $updateWorkspaceFolders(extensionName: string, index: number, deleteCount: number, workspaceFoldersToAdd: {
71
+ uri: UriComponents;
72
+ name?: string;
73
+ }[]): Promise<void>;
74
+ $resolveProxy(url: string): Promise<string | undefined>;
75
+ $requestWorkspaceTrust(options?: WorkspaceTrustRequestOptions): Promise<boolean | undefined>;
76
+ $registerEditSessionIdentityProvider(handle: number, scheme: string): void;
77
+ $unregisterEditSessionIdentityProvider(handle: number): void;
78
+ $registerCanonicalUriProvider(handle: number, scheme: string): void;
79
+ $unregisterCanonicalUriProvider(handle: number): void;
80
+ }
81
+ interface MainThreadExtensionServiceShape extends IDisposable {
82
+ $getExtension(extensionId: string): Promise<Dto<IExtensionDescription> | undefined>;
83
+ $activateExtension(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;
84
+ $onWillActivateExtension(extensionId: ExtensionIdentifier): Promise<void>;
85
+ $onDidActivateExtension(extensionId: ExtensionIdentifier, codeLoadingTime: number, activateCallTime: number, activateResolvedTime: number, activationReason: ExtensionActivationReason): void;
86
+ $onExtensionActivationError(extensionId: ExtensionIdentifier, error: SerializedError, missingExtensionDependency: MissingExtensionDependency | null): Promise<void>;
87
+ $onExtensionRuntimeError(extensionId: ExtensionIdentifier, error: SerializedError): void;
88
+ $setPerformanceMarks(marks: PerformanceMark[]): Promise<void>;
89
+ $asBrowserUri(uri: UriComponents): Promise<UriComponents>;
90
+ $getAllStaticBrowserUris(): Promise<[UriComponents, UriComponents][]>;
91
+ }
92
+ interface PortAttributesSelector {
93
+ portRange?: [number, number] | number;
94
+ commandPattern?: RegExp;
95
+ }
96
+ interface ExtHostConfigurationShape {
97
+ $initializeConfiguration(data: IConfigurationInitData): void;
98
+ $acceptConfigurationChanged(data: IConfigurationInitData, change: IConfigurationChange): void;
99
+ }
100
+ interface ExtHostWorkspaceShape {
101
+ $initializeWorkspace(workspace: IWorkspaceData | null, trusted: boolean): void;
102
+ $acceptWorkspaceData(workspace: IWorkspaceData | null): void;
103
+ $handleTextSearchResult(result: IRawFileMatch2, requestId: number): void;
104
+ $onDidGrantWorkspaceTrust(): void;
105
+ $getEditSessionIdentifier(folder: UriComponents, token: CancellationToken): Promise<string | undefined>;
106
+ $provideEditSessionIdentityMatch(folder: UriComponents, identity1: string, identity2: string, token: CancellationToken): Promise<EditSessionIdentityMatch | undefined>;
107
+ $onWillCreateEditSessionIdentity(folder: UriComponents, token: CancellationToken, timeout: number): Promise<void>;
108
+ $provideCanonicalUri(uri: UriComponents, targetScheme: string, token: CancellationToken): Promise<UriComponents | undefined>;
109
+ }
110
+ interface ExtHostFileSystemInfoShape {
111
+ $acceptProviderInfos(uri: UriComponents, capabilities: number | null): void;
112
+ }
113
+ interface ExtHostExtensionServiceShape {
114
+ $resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise<Dto<IResolveAuthorityResult>>;
115
+ /**
116
+ * Returns `null` if no resolver for `remoteAuthority` is found.
117
+ */
118
+ $getCanonicalURI(remoteAuthority: string, uri: UriComponents): Promise<UriComponents | null>;
119
+ $startExtensionHost(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;
120
+ $extensionTestsExecute(): Promise<number>;
121
+ $activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;
122
+ $activate(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;
123
+ $setRemoteEnvironment(env: {
124
+ [key: string]: string | null;
125
+ }): Promise<void>;
126
+ $updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise<void>;
127
+ $deltaExtensions(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;
128
+ $test_latency(n: number): Promise<number>;
129
+ $test_up(b: VSBuffer): Promise<number>;
130
+ $test_down(size: number): Promise<VSBuffer>;
131
+ }
132
+ type ICommandDto = {
133
+ $ident?: string;
134
+ } & Command;
135
+ interface ITerminalLinkDto {
136
+ /** The ID of the link to enable activation and disposal. */
137
+ id: number;
138
+ /** The startIndex of the link in the line. */
139
+ startIndex: number;
140
+ /** The length of the link in the line. */
141
+ length: number;
142
+ /** The descriptive label for what the link does when activated. */
143
+ label?: string;
144
+ }
145
+ interface ITerminalDimensionsDto {
146
+ columns: number;
147
+ rows: number;
148
+ }
149
+ type SingleOrMany<T> = T[] | T;
150
+ interface ITerminalQuickFixExecuteTerminalCommandDto {
151
+ terminalCommand: string;
152
+ }
153
+ interface ITerminalQuickFixOpenerDto {
154
+ uri: UriComponents;
155
+ }
156
+ type TerminalQuickFix = ITerminalQuickFixExecuteTerminalCommandDto | ITerminalQuickFixOpenerDto | ICommandDto;
157
+ interface TerminalCommandMatchResultDto {
158
+ commandLine: string;
159
+ commandLineMatch: RegExpMatchArray;
160
+ outputMatch?: {
161
+ regexMatch: RegExpMatchArray;
162
+ outputLines: string[];
163
+ };
164
+ }
165
+ interface ITerminalCommandDto {
166
+ commandLine: string | undefined;
167
+ cwd: URI | string | undefined;
168
+ exitCode: number | undefined;
169
+ output: string | undefined;
170
+ }
171
+ interface ExtHostTerminalServiceShape {
172
+ $acceptTerminalClosed(id: number, exitCode: number | undefined, exitReason: TerminalExitReason): void;
173
+ $acceptTerminalOpened(id: number, extHostTerminalId: string | undefined, name: string, shellLaunchConfig: IShellLaunchConfigDto): void;
174
+ $acceptActiveTerminalChanged(id: number | null): void;
175
+ $acceptTerminalProcessId(id: number, processId: number): void;
176
+ $acceptTerminalProcessData(id: number, data: string): void;
177
+ $acceptDidExecuteCommand(id: number, command: ITerminalCommandDto): void;
178
+ $acceptTerminalTitleChange(id: number, name: string): void;
179
+ $acceptTerminalDimensions(id: number, cols: number, rows: number): void;
180
+ $acceptTerminalMaximumDimensions(id: number, cols: number, rows: number): void;
181
+ $acceptTerminalInteraction(id: number): void;
182
+ $acceptTerminalSelection(id: number, selection: string | undefined): void;
183
+ $startExtensionTerminal(id: number, initialDimensions: ITerminalDimensionsDto | undefined): Promise<ITerminalLaunchError | undefined>;
184
+ $acceptProcessAckDataEvent(id: number, charCount: number): void;
185
+ $acceptProcessInput(id: number, data: string): void;
186
+ $acceptProcessResize(id: number, cols: number, rows: number): void;
187
+ $acceptProcessShutdown(id: number, immediate: boolean): void;
188
+ $acceptProcessRequestInitialCwd(id: number): void;
189
+ $acceptProcessRequestCwd(id: number): void;
190
+ $acceptProcessRequestLatency(id: number): Promise<number>;
191
+ $provideLinks(id: number, line: string): Promise<ITerminalLinkDto[]>;
192
+ $activateLink(id: number, linkId: number): void;
193
+ $initEnvironmentVariableCollections(collections: [string, ISerializableEnvironmentVariableCollection][]): void;
194
+ $acceptDefaultProfile(profile: ITerminalProfile, automationProfile: ITerminalProfile): void;
195
+ $createContributedProfileTerminal(id: string, options: ICreateContributedTerminalProfileOptions): Promise<void>;
196
+ $provideTerminalQuickFixes(id: string, matchResult: TerminalCommandMatchResultDto, token: CancellationToken): Promise<SingleOrMany<TerminalQuickFix> | undefined>;
197
+ }
198
+ interface TunnelDto {
199
+ remoteAddress: {
200
+ port: number;
201
+ host: string;
202
+ };
203
+ localAddress: {
204
+ port: number;
205
+ host: string;
206
+ } | string;
207
+ public: boolean;
208
+ privacy: TunnelPrivacyId | string;
209
+ protocol: string | undefined;
210
+ }
211
+ interface ExtHostTunnelServiceShape {
212
+ $forwardPort(tunnelOptions: TunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise<TunnelDto | string | undefined>;
213
+ $closeTunnel(remote: {
214
+ host: string;
215
+ port: number;
216
+ }, silent?: boolean): Promise<void>;
217
+ $onDidTunnelsChange(): Promise<void>;
218
+ $registerCandidateFinder(enable: boolean): Promise<void>;
219
+ $applyCandidateFilter(candidates: CandidatePort[]): Promise<CandidatePort[]>;
220
+ $providePortAttributes(handles: number[], ports: number[], pid: number | undefined, commandline: string | undefined, cancellationToken: CancellationToken): Promise<ProvidedPortAttributes[]>;
221
+ }
222
+ interface ExtHostLocalizationShape {
223
+ getMessage(extensionId: string, details: IStringDetails): string;
224
+ getBundle(extensionId: string): {
225
+ [key: string]: string;
226
+ } | undefined;
227
+ getBundleUri(extensionId: string): URI | undefined;
228
+ initializeLocalizedMessages(extension: IExtensionDescription): Promise<void>;
229
+ }
230
+ interface IStringDetails {
231
+ message: string;
232
+ args?: Record<string | number, any>;
233
+ comment?: string | string[];
234
+ }
235
+
236
+ export type { ExtHostConfigurationShape, ExtHostExtensionServiceShape, ExtHostFileSystemInfoShape, ExtHostLocalizationShape, ExtHostManagedSocketsShape, ExtHostTerminalIdentifier, ExtHostTerminalServiceShape, ExtHostTunnelServiceShape, ExtHostWorkspaceShape, ICommandDto, IConfigurationInitData, IStringDetails, ITerminalCommandDto, ITerminalDimensionsDto, ITerminalLinkDto, ITerminalQuickFixExecuteTerminalCommandDto, ITerminalQuickFixOpenerDto, ITextSearchComplete, IWorkspaceData, MainThreadConfigurationShape, MainThreadExtensionServiceShape, MainThreadTelemetryShape, MainThreadWorkspaceShape, PortAttributesSelector, TerminalCommandMatchResultDto, TerminalQuickFix, TunnelDto };
@@ -0,0 +1,43 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { Event } from 'vscode/vscode/vs/base/common/event';
3
+ import { ConfigurationChangeEvent, ConfigurationScope, WorkspaceConfiguration } from 'vscode';
4
+ import { IExtHostWorkspace, ExtHostWorkspace } from './extHostWorkspace.js';
5
+ import { ExtHostConfigurationShape, IConfigurationInitData, MainThreadConfigurationShape } from './extHost.protocol.js';
6
+ import { IConfigurationChange } from 'vscode/vscode/vs/platform/configuration/common/configuration';
7
+ import { IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
8
+ import { IExtHostRpcService } from './extHostRpcService.js';
9
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
10
+
11
+ declare class ExtHostConfiguration implements ExtHostConfigurationShape {
12
+ readonly _serviceBrand: undefined;
13
+ private readonly _proxy;
14
+ private readonly _logService;
15
+ private readonly _extHostWorkspace;
16
+ private readonly _barrier;
17
+ private _actual;
18
+ constructor(extHostRpc: IExtHostRpcService, extHostWorkspace: IExtHostWorkspace, logService: ILogService);
19
+ getConfigProvider(): Promise<ExtHostConfigProvider>;
20
+ $initializeConfiguration(data: IConfigurationInitData): void;
21
+ $acceptConfigurationChanged(data: IConfigurationInitData, change: IConfigurationChange): void;
22
+ }
23
+ declare class ExtHostConfigProvider {
24
+ private readonly _onDidChangeConfiguration;
25
+ private readonly _proxy;
26
+ private readonly _extHostWorkspace;
27
+ private _configurationScopes;
28
+ private _configuration;
29
+ private _logService;
30
+ constructor(proxy: MainThreadConfigurationShape, extHostWorkspace: ExtHostWorkspace, data: IConfigurationInitData, logService: ILogService);
31
+ get onDidChangeConfiguration(): Event<ConfigurationChangeEvent>;
32
+ $acceptConfigurationChanged(data: IConfigurationInitData, change: IConfigurationChange): void;
33
+ getConfiguration(section?: string, scope?: ConfigurationScope | null, extensionDescription?: IExtensionDescription): WorkspaceConfiguration;
34
+ private _toReadonlyValue;
35
+ private _validateConfigurationAccess;
36
+ private _toConfigurationChangeEvent;
37
+ private _toMap;
38
+ }
39
+ declare const IExtHostConfiguration: ServiceIdentifier<IExtHostConfiguration>;
40
+ interface IExtHostConfiguration extends ExtHostConfiguration {
41
+ }
42
+
43
+ export { ExtHostConfigProvider, ExtHostConfiguration, IExtHostConfiguration };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Represents the API of an extension (return value of `activate`).
3
+ */
4
+ interface IExtensionAPI {
5
+ }
6
+ declare class ExtensionActivationTimes {
7
+ static readonly NONE: ExtensionActivationTimes;
8
+ readonly startup: boolean;
9
+ readonly codeLoadingTime: number;
10
+ readonly activateCallTime: number;
11
+ readonly activateResolvedTime: number;
12
+ constructor(startup: boolean, codeLoadingTime: number, activateCallTime: number, activateResolvedTime: number);
13
+ }
14
+ declare class ExtensionActivationTimesBuilder {
15
+ private readonly _startup;
16
+ private _codeLoadingStart;
17
+ private _codeLoadingStop;
18
+ private _activateCallStart;
19
+ private _activateCallStop;
20
+ private _activateResolveStart;
21
+ private _activateResolveStop;
22
+ constructor(startup: boolean);
23
+ private _delta;
24
+ build(): ExtensionActivationTimes;
25
+ codeLoadingStart(): void;
26
+ codeLoadingStop(): void;
27
+ activateCallStart(): void;
28
+ activateCallStop(): void;
29
+ activateResolveStart(): void;
30
+ activateResolveStop(): void;
31
+ }
32
+
33
+ export { ExtensionActivationTimes, ExtensionActivationTimesBuilder, type IExtensionAPI };
@@ -0,0 +1,139 @@
1
+ import { IInstantiationService, ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
+ import { TernarySearchTree } from 'vscode/vscode/vs/base/common/ternarySearchTree';
4
+ import { UriComponents, URI } from 'vscode/vscode/vs/base/common/uri';
5
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
6
+ import { ExtHostExtensionServiceShape, MainThreadWorkspaceShape, MainThreadTelemetryShape, MainThreadExtensionServiceShape } from './extHost.protocol.js';
7
+ import { IExtensionHostInitData, IExtensionDescriptionDelta } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
8
+ import { ExtHostConfiguration, IExtHostConfiguration } from './extHostConfiguration.js';
9
+ import { IExtensionAPI, ExtensionActivationTimesBuilder } from './extHostExtensionActivator.js';
10
+ import { ExtHostWorkspace, IExtHostWorkspace } from './extHostWorkspace.js';
11
+ import { ExtensionActivationReason, ActivationKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
12
+ import { ExtensionDescriptionRegistry } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry';
13
+ import { RemoteAuthorityResolver, ExecServer } from '../../../../../../../../vscode-proposed.js';
14
+ import { ExtensionIdentifier, IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
15
+ import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
16
+ import { ExtensionRuntime } from './extHostTypes.js';
17
+ import { IRemoteConnectionData } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
18
+ import { IExtHostInitDataService } from './extHostInitDataService.js';
19
+ import { IExtensionStoragePaths } from './extHostStoragePaths.js';
20
+ import { IExtHostRpcService } from './extHostRpcService.js';
21
+ import { IExtHostTunnelService } from './extHostTunnelService.js';
22
+ import { IExtHostTerminalService } from './extHostTerminalService.js';
23
+ import { Event } from 'vscode/vscode/vs/base/common/event';
24
+ import { IResolveAuthorityResult } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProxy';
25
+ import { IExtHostLocalizationService } from './extHostLocalizationService.js';
26
+ import { IExtHostManagedSockets } from './extHostManagedSockets.js';
27
+ import { Dto } from 'vscode/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
28
+ import { Disposable as Disposable$1 } from 'vscode';
29
+
30
+ declare const IHostUtils: ServiceIdentifier<IHostUtils>;
31
+ interface IHostUtils {
32
+ readonly _serviceBrand: undefined;
33
+ readonly pid: number | undefined;
34
+ exit(code: number): void;
35
+ fsExists?(path: string): Promise<boolean>;
36
+ fsRealpath?(path: string): Promise<string>;
37
+ }
38
+ declare abstract class AbstractExtHostExtensionService extends Disposable implements ExtHostExtensionServiceShape {
39
+ private readonly _extHostManagedSockets;
40
+ readonly _serviceBrand: undefined;
41
+ abstract readonly extensionRuntime: ExtensionRuntime;
42
+ private readonly _onDidChangeRemoteConnectionData;
43
+ readonly onDidChangeRemoteConnectionData: Event<void>;
44
+ protected readonly _hostUtils: IHostUtils;
45
+ protected readonly _initData: IExtensionHostInitData;
46
+ protected readonly _extHostContext: IExtHostRpcService;
47
+ protected readonly _instaService: IInstantiationService;
48
+ protected readonly _extHostWorkspace: ExtHostWorkspace;
49
+ protected readonly _extHostConfiguration: ExtHostConfiguration;
50
+ protected readonly _logService: ILogService;
51
+ protected readonly _extHostTunnelService: IExtHostTunnelService;
52
+ protected readonly _extHostTerminalService: IExtHostTerminalService;
53
+ protected readonly _extHostLocalizationService: IExtHostLocalizationService;
54
+ protected readonly _mainThreadWorkspaceProxy: MainThreadWorkspaceShape;
55
+ protected readonly _mainThreadTelemetryProxy: MainThreadTelemetryShape;
56
+ protected readonly _mainThreadExtensionsProxy: MainThreadExtensionServiceShape;
57
+ private readonly _almostReadyToRunExtensions;
58
+ private readonly _readyToStartExtensionHost;
59
+ private readonly _readyToRunExtensions;
60
+ private readonly _eagerExtensionsActivated;
61
+ private readonly _activationEventsReader;
62
+ protected readonly _myRegistry: ExtensionDescriptionRegistry;
63
+ protected readonly _globalRegistry: ExtensionDescriptionRegistry;
64
+ private readonly _storage;
65
+ private readonly _secretState;
66
+ private readonly _storagePath;
67
+ private readonly _activator;
68
+ private _extensionPathIndex;
69
+ private readonly _resolvers;
70
+ private _started;
71
+ private _isTerminating;
72
+ private _remoteConnectionData;
73
+ constructor(instaService: IInstantiationService, hostUtils: IHostUtils, extHostContext: IExtHostRpcService, extHostWorkspace: IExtHostWorkspace, extHostConfiguration: IExtHostConfiguration, logService: ILogService, initData: IExtHostInitDataService, storagePath: IExtensionStoragePaths, extHostTunnelService: IExtHostTunnelService, extHostTerminalService: IExtHostTerminalService, extHostLocalizationService: IExtHostLocalizationService, _extHostManagedSockets: IExtHostManagedSockets);
74
+ getRemoteConnectionData(): IRemoteConnectionData | null;
75
+ initialize(): Promise<void>;
76
+ private _deactivateAll;
77
+ terminate(reason: string, code?: number): void;
78
+ isActivated(extensionId: ExtensionIdentifier): boolean;
79
+ getExtension(extensionId: string): Promise<IExtensionDescription | undefined>;
80
+ private _activateByEvent;
81
+ private _activateById;
82
+ activateByIdWithErrors(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;
83
+ getExtensionRegistry(): Promise<ExtensionDescriptionRegistry>;
84
+ getExtensionExports(extensionId: ExtensionIdentifier): IExtensionAPI | null | undefined;
85
+ /**
86
+ * Applies realpath to file-uris and returns all others uris unmodified
87
+ */
88
+ private _realPathExtensionUri;
89
+ getExtensionPathIndex(): Promise<ExtensionPaths>;
90
+ /**
91
+ * create trie to enable fast 'filename -> extension id' look up
92
+ */
93
+ private _createExtensionPathIndex;
94
+ private _deactivate;
95
+ private _activateExtension;
96
+ private _logExtensionActivationTimes;
97
+ private _doActivateExtension;
98
+ private _loadExtensionContext;
99
+ private static _callActivate;
100
+ private static _callActivateOptional;
101
+ private _activateOneStartupFinished;
102
+ private _activateAllStartupFinishedDeferred;
103
+ private _activateAllStartupFinished;
104
+ private _handleEagerExtensions;
105
+ private _handleWorkspaceContainsEagerExtensions;
106
+ private _handleWorkspaceContainsEagerExtension;
107
+ private _handleRemoteResolverEagerExtensions;
108
+ $extensionTestsExecute(): Promise<number>;
109
+ private _doHandleExtensionTests;
110
+ private _startExtensionHost;
111
+ registerRemoteAuthorityResolver(authorityPrefix: string, resolver: RemoteAuthorityResolver): Disposable$1;
112
+ getRemoteExecServer(remoteAuthority: string): Promise<ExecServer | undefined>;
113
+ private _activateAndGetResolver;
114
+ $resolveAuthority(remoteAuthorityChain: string, resolveAttempt: number): Promise<Dto<IResolveAuthorityResult>>;
115
+ $getCanonicalURI(remoteAuthority: string, uriComponents: UriComponents): Promise<UriComponents | null>;
116
+ $startExtensionHost(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;
117
+ $activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;
118
+ $activate(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;
119
+ $deltaExtensions(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;
120
+ $test_latency(n: number): Promise<number>;
121
+ $test_up(b: VSBuffer): Promise<number>;
122
+ $test_down(size: number): Promise<VSBuffer>;
123
+ $updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise<void>;
124
+ protected abstract _beforeAlmostReadyToRunExtensions(): Promise<void>;
125
+ protected abstract _getEntryPoint(extensionDescription: IExtensionDescription): string | undefined;
126
+ protected abstract _loadCommonJSModule<T extends object | undefined>(extensionId: IExtensionDescription | null, module: URI, activationTimesBuilder: ExtensionActivationTimesBuilder): Promise<T>;
127
+ abstract $setRemoteEnvironment(env: {
128
+ [key: string]: string | null;
129
+ }): Promise<void>;
130
+ }
131
+ declare class ExtensionPaths {
132
+ private _searchTree;
133
+ constructor(_searchTree: TernarySearchTree<URI, IExtensionDescription>);
134
+ setSearchTree(searchTree: TernarySearchTree<URI, IExtensionDescription>): void;
135
+ findSubstr(key: URI): IExtensionDescription | undefined;
136
+ forEach(callback: (value: IExtensionDescription, index: URI) => any): void;
137
+ }
138
+
139
+ export { AbstractExtHostExtensionService, ExtensionPaths, IHostUtils };
@@ -0,0 +1,21 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { IExtUri } from 'vscode/vscode/vs/base/common/resources';
3
+ import { UriComponents } from 'vscode/vscode/vs/base/common/uri';
4
+ import { ExtHostFileSystemInfoShape } from './extHost.protocol.js';
5
+
6
+ declare class ExtHostFileSystemInfo implements ExtHostFileSystemInfoShape {
7
+ readonly _serviceBrand: undefined;
8
+ private readonly _systemSchemes;
9
+ private readonly _providerInfo;
10
+ readonly extUri: IExtUri;
11
+ constructor();
12
+ $acceptProviderInfos(uri: UriComponents, capabilities: number | null): void;
13
+ isFreeScheme(scheme: string): boolean;
14
+ getCapabilities(scheme: string): number | undefined;
15
+ }
16
+ interface IExtHostFileSystemInfo extends ExtHostFileSystemInfo {
17
+ readonly extUri: IExtUri;
18
+ }
19
+ declare const IExtHostFileSystemInfo: ServiceIdentifier<IExtHostFileSystemInfo>;
20
+
21
+ export { ExtHostFileSystemInfo, IExtHostFileSystemInfo };
@@ -0,0 +1,9 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { IExtensionHostInitData } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
3
+
4
+ declare const IExtHostInitDataService: ServiceIdentifier<IExtHostInitDataService>;
5
+ interface IExtHostInitDataService extends Readonly<IExtensionHostInitData> {
6
+ readonly _serviceBrand: undefined;
7
+ }
8
+
9
+ export { IExtHostInitDataService };
@@ -0,0 +1,29 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { URI } from 'vscode/vscode/vs/base/common/uri';
3
+ import { IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
4
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
5
+ import { ExtHostLocalizationShape, IStringDetails } from './extHost.protocol.js';
6
+ import { IExtHostInitDataService } from './extHostInitDataService.js';
7
+ import { IExtHostRpcService } from './extHostRpcService.js';
8
+
9
+ declare class ExtHostLocalizationService implements ExtHostLocalizationShape {
10
+ private readonly logService;
11
+ readonly _serviceBrand: undefined;
12
+ private readonly _proxy;
13
+ private readonly currentLanguage;
14
+ private readonly isDefaultLanguage;
15
+ private readonly bundleCache;
16
+ constructor(initData: IExtHostInitDataService, rpc: IExtHostRpcService, logService: ILogService);
17
+ getMessage(extensionId: string, details: IStringDetails): string;
18
+ getBundle(extensionId: string): {
19
+ [key: string]: string;
20
+ } | undefined;
21
+ getBundleUri(extensionId: string): URI | undefined;
22
+ initializeLocalizedMessages(extension: IExtensionDescription): Promise<void>;
23
+ private getBundleLocation;
24
+ }
25
+ declare const IExtHostLocalizationService: ServiceIdentifier<IExtHostLocalizationService>;
26
+ interface IExtHostLocalizationService extends ExtHostLocalizationService {
27
+ }
28
+
29
+ export { ExtHostLocalizationService, IExtHostLocalizationService };
@@ -0,0 +1,11 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { ExtHostManagedSocketsShape } from './extHost.protocol.js';
3
+ import { ManagedMessagePassing } from '../../../../../../../../vscode-proposed.js';
4
+
5
+ interface IExtHostManagedSockets extends ExtHostManagedSocketsShape {
6
+ setFactory(socketFactoryId: number, makeConnection: () => Thenable<ManagedMessagePassing>): void;
7
+ readonly _serviceBrand: undefined;
8
+ }
9
+ declare const IExtHostManagedSockets: ServiceIdentifier<IExtHostManagedSockets>;
10
+
11
+ export { IExtHostManagedSockets };
@@ -0,0 +1,9 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { IRPCProtocol } from 'vscode/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
3
+
4
+ declare const IExtHostRpcService: ServiceIdentifier<IExtHostRpcService>;
5
+ interface IExtHostRpcService extends IRPCProtocol {
6
+ readonly _serviceBrand: undefined;
7
+ }
8
+
9
+ export { IExtHostRpcService };
@@ -0,0 +1,14 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
3
+ import { URI } from 'vscode/vscode/vs/base/common/uri';
4
+
5
+ declare const IExtensionStoragePaths: ServiceIdentifier<IExtensionStoragePaths>;
6
+ interface IExtensionStoragePaths {
7
+ readonly _serviceBrand: undefined;
8
+ whenReady: Promise<any>;
9
+ workspaceValue(extension: IExtensionDescription): URI | undefined;
10
+ globalValue(extension: IExtensionDescription): URI;
11
+ onWillDeactivateAll(): void;
12
+ }
13
+
14
+ export { IExtensionStoragePaths };
@@ -0,0 +1,54 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { Terminal, TerminalDimensionsChangeEvent, TerminalDataWriteEvent, TerminalExecutedCommand, TerminalQuickFixProvider } from '../../../../../../../../vscode-proposed.js';
3
+ import { Event } from 'vscode/vscode/vs/base/common/event';
4
+ import { ExtHostTerminalServiceShape, ExtHostTerminalIdentifier } from './extHost.protocol.js';
5
+ import { IDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
6
+ import { IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
7
+ import { TerminalLocation } from 'vscode/vscode/vs/platform/terminal/common/terminal';
8
+ import { TerminalOptions, ExtensionTerminalOptions, Pseudoterminal, TerminalLinkProvider, Disposable, TerminalProfileProvider, EnvironmentVariableCollection, EnvironmentVariableScope } from 'vscode';
9
+
10
+ interface IEnvironmentVariableCollection extends EnvironmentVariableCollection {
11
+ getScoped(scope: EnvironmentVariableScope): EnvironmentVariableCollection;
12
+ }
13
+ interface ITerminalInternalOptions {
14
+ isFeatureTerminal?: boolean;
15
+ useShellEnvironment?: boolean;
16
+ resolvedExtHostIdentifier?: ExtHostTerminalIdentifier;
17
+ /**
18
+ * This location is different from the API location because it can include splitActiveTerminal,
19
+ * a property we resolve internally
20
+ */
21
+ location?: TerminalLocation | {
22
+ viewColumn: number;
23
+ preserveState?: boolean;
24
+ } | {
25
+ splitActiveTerminal: boolean;
26
+ };
27
+ }
28
+
29
+ interface IExtHostTerminalService extends ExtHostTerminalServiceShape, IDisposable {
30
+ readonly _serviceBrand: undefined;
31
+ activeTerminal: Terminal | undefined;
32
+ terminals: Terminal[];
33
+ readonly onDidCloseTerminal: Event<Terminal>;
34
+ readonly onDidOpenTerminal: Event<Terminal>;
35
+ readonly onDidChangeActiveTerminal: Event<Terminal | undefined>;
36
+ readonly onDidChangeTerminalDimensions: Event<TerminalDimensionsChangeEvent>;
37
+ readonly onDidChangeTerminalState: Event<Terminal>;
38
+ readonly onDidWriteTerminalData: Event<TerminalDataWriteEvent>;
39
+ readonly onDidExecuteTerminalCommand: Event<TerminalExecutedCommand>;
40
+ readonly onDidChangeShell: Event<string>;
41
+ createTerminal(name?: string, shellPath?: string, shellArgs?: readonly string[] | string): Terminal;
42
+ createTerminalFromOptions(options: TerminalOptions, internalOptions?: ITerminalInternalOptions): Terminal;
43
+ createExtensionTerminal(options: ExtensionTerminalOptions): Terminal;
44
+ attachPtyToTerminal(id: number, pty: Pseudoterminal): void;
45
+ getDefaultShell(useAutomationShell: boolean): string;
46
+ getDefaultShellArgs(useAutomationShell: boolean): string[] | string;
47
+ registerLinkProvider(provider: TerminalLinkProvider): Disposable;
48
+ registerProfileProvider(extension: IExtensionDescription, id: string, provider: TerminalProfileProvider): Disposable;
49
+ registerTerminalQuickFixProvider(id: string, extensionId: string, provider: TerminalQuickFixProvider): Disposable;
50
+ getEnvironmentVariableCollection(extension: IExtensionDescription): IEnvironmentVariableCollection;
51
+ }
52
+ declare const IExtHostTerminalService: ServiceIdentifier<IExtHostTerminalService>;
53
+
54
+ export { IExtHostTerminalService, type ITerminalInternalOptions };