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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/extensions.d.ts +51 -0
  2. package/index.d.ts +2 -2
  3. package/index.js +2 -2
  4. package/package.json +2 -2
  5. package/vscode/src/vs/workbench/api/common/extHost.api.impl.d.ts +14 -0
  6. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +236 -0
  7. package/vscode/src/vs/workbench/api/common/extHostConfiguration.d.ts +43 -0
  8. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +33 -0
  9. package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +138 -0
  10. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.d.ts +21 -0
  11. package/vscode/src/vs/workbench/api/common/extHostInitDataService.d.ts +9 -0
  12. package/vscode/src/vs/workbench/api/common/extHostLocalizationService.d.ts +29 -0
  13. package/vscode/src/vs/workbench/api/common/extHostManagedSockets.d.ts +11 -0
  14. package/vscode/src/vs/workbench/api/common/extHostRpcService.d.ts +9 -0
  15. package/vscode/src/vs/workbench/api/common/extHostStoragePaths.d.ts +14 -0
  16. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +53 -0
  17. package/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +19 -0
  18. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +12 -0
  19. package/vscode/src/vs/workbench/api/common/extHostUriTransformerService.d.ts +9 -0
  20. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +91 -0
  21. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +21 -0
  22. package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +35 -0
@@ -0,0 +1,51 @@
1
+ import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
2
+ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
3
+ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
4
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
5
+ import { IExtension, IRelaxedExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
6
+ import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
7
+ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
8
+ import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification';
9
+ import { AbstractExtensionService, ResolvedExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/abstractExtensionService';
10
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
11
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
12
+ import { IRemoteAuthorityResolverService, ResolverResult } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
13
+ import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner';
14
+ import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
15
+ import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
16
+ import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService';
17
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
18
+ import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
19
+ import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
20
+ import { IEditorOverrideServices } from 'vscode/vscode/vs/editor/standalone/browser/standaloneServices';
21
+ import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit';
22
+ import { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
23
+ export { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
24
+ import { ExtHostExtensionService } from './vscode/src/vs/workbench/api/worker/extHostExtensionService.js';
25
+ import * as vscode from 'vscode';
26
+
27
+ declare class LocalExtHostExtensionService extends ExtHostExtensionService {
28
+ private _defaultApiImpl?;
29
+ private readonly _extApiImpl;
30
+ getApi(extensionId?: string): Promise<typeof vscode>;
31
+ }
32
+ interface WorkerConfig {
33
+ url: string;
34
+ options?: WorkerOptions;
35
+ }
36
+ interface IExtensionWithExtHostKind extends IExtension {
37
+ extHostKind?: ExtensionHostKind;
38
+ }
39
+ declare class SimpleExtensionService extends AbstractExtensionService implements IExtensionService {
40
+ constructor(workerConfig: WorkerConfig | undefined, instantiationService: IInstantiationService, notificationService: INotificationService, browserEnvironmentService: IBrowserWorkbenchEnvironmentService, telemetryService: ITelemetryService, extensionEnablementService: IWorkbenchExtensionEnablementService, fileService: IFileService, productService: IProductService, extensionManagementService: IWorkbenchExtensionManagementService, contextService: IWorkspaceContextService, configurationService: IConfigurationService, extensionManifestPropertiesService: IExtensionManifestPropertiesService, logService: ILogService, remoteAgentService: IRemoteAgentService, remoteExtensionsScannerService: IRemoteExtensionsScannerService, lifecycleService: ILifecycleService, remoteAuthorityResolverService: IRemoteAuthorityResolverService, userDataInitializationService: IUserDataInitializationService, dialogService: IDialogService);
41
+ private _initFetchFileSystem;
42
+ deltaExtensions(toAdd: IExtensionWithExtHostKind[], toRemove: IExtension[]): Promise<void>;
43
+ protected _resolveExtensions(): Promise<ResolvedExtensions>;
44
+ protected _scanSingleExtension(extension: IExtension): Promise<Readonly<IRelaxedExtensionDescription> | null>;
45
+ protected _onExtensionHostExit(): void;
46
+ protected _resolveAuthority(remoteAuthority: string): Promise<ResolverResult>;
47
+ }
48
+ declare function getServiceOverride(workerConfig?: WorkerConfig, _iframeAlternateDomains?: string): IEditorOverrideServices;
49
+ declare function getLocalExtHostExtensionService(): Promise<LocalExtHostExtensionService>;
50
+
51
+ export { type IExtensionWithExtHostKind, LocalExtHostExtensionService, SimpleExtensionService, type WorkerConfig, getServiceOverride as default, getLocalExtHostExtensionService };
package/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { default } from 'vscode/service-override/extensions'
2
- export * from 'vscode/service-override/extensions'
1
+ export { IExtensionWithExtHostKind, LocalExtHostExtensionService, SimpleExtensionService, WorkerConfig, default, getLocalExtHostExtensionService } from './extensions.js';
2
+ export { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { default } from 'vscode/service-override/extensions'
2
- export * from 'vscode/service-override/extensions'
1
+ export * from 'vscode/service-override/extensions';
2
+ export { default } from 'vscode/service-override/extensions';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-extensions-service-override",
3
- "version": "1.82.4",
3
+ "version": "1.82.5-next.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -18,7 +18,7 @@
18
18
  "module": "index.js",
19
19
  "types": "index.d.ts",
20
20
  "dependencies": {
21
- "vscode": "npm:@codingame/monaco-vscode-api@1.82.4",
21
+ "vscode": "npm:@codingame/monaco-vscode-api@1.82.5-next.0",
22
22
  "monaco-editor": "0.43.0"
23
23
  }
24
24
  }
@@ -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 vscode from 'vscode';
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 vscode;
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 * as vscode 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<vscode.ConfigurationChangeEvent>;
32
+ $acceptConfigurationChanged(data: IConfigurationInitData, change: IConfigurationChange): void;
33
+ getConfiguration(section?: string, scope?: vscode.ConfigurationScope | null, extensionDescription?: IExtensionDescription): vscode.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,138 @@
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 * as vscode from 'vscode';
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
+
29
+ declare const IHostUtils: ServiceIdentifier<IHostUtils>;
30
+ interface IHostUtils {
31
+ readonly _serviceBrand: undefined;
32
+ readonly pid: number | undefined;
33
+ exit(code: number): void;
34
+ fsExists?(path: string): Promise<boolean>;
35
+ fsRealpath?(path: string): Promise<string>;
36
+ }
37
+ declare abstract class AbstractExtHostExtensionService extends Disposable implements ExtHostExtensionServiceShape {
38
+ private readonly _extHostManagedSockets;
39
+ readonly _serviceBrand: undefined;
40
+ abstract readonly extensionRuntime: ExtensionRuntime;
41
+ private readonly _onDidChangeRemoteConnectionData;
42
+ readonly onDidChangeRemoteConnectionData: Event<void>;
43
+ protected readonly _hostUtils: IHostUtils;
44
+ protected readonly _initData: IExtensionHostInitData;
45
+ protected readonly _extHostContext: IExtHostRpcService;
46
+ protected readonly _instaService: IInstantiationService;
47
+ protected readonly _extHostWorkspace: ExtHostWorkspace;
48
+ protected readonly _extHostConfiguration: ExtHostConfiguration;
49
+ protected readonly _logService: ILogService;
50
+ protected readonly _extHostTunnelService: IExtHostTunnelService;
51
+ protected readonly _extHostTerminalService: IExtHostTerminalService;
52
+ protected readonly _extHostLocalizationService: IExtHostLocalizationService;
53
+ protected readonly _mainThreadWorkspaceProxy: MainThreadWorkspaceShape;
54
+ protected readonly _mainThreadTelemetryProxy: MainThreadTelemetryShape;
55
+ protected readonly _mainThreadExtensionsProxy: MainThreadExtensionServiceShape;
56
+ private readonly _almostReadyToRunExtensions;
57
+ private readonly _readyToStartExtensionHost;
58
+ private readonly _readyToRunExtensions;
59
+ private readonly _eagerExtensionsActivated;
60
+ private readonly _activationEventsReader;
61
+ protected readonly _myRegistry: ExtensionDescriptionRegistry;
62
+ protected readonly _globalRegistry: ExtensionDescriptionRegistry;
63
+ private readonly _storage;
64
+ private readonly _secretState;
65
+ private readonly _storagePath;
66
+ private readonly _activator;
67
+ private _extensionPathIndex;
68
+ private readonly _resolvers;
69
+ private _started;
70
+ private _isTerminating;
71
+ private _remoteConnectionData;
72
+ 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);
73
+ getRemoteConnectionData(): IRemoteConnectionData | null;
74
+ initialize(): Promise<void>;
75
+ private _deactivateAll;
76
+ terminate(reason: string, code?: number): void;
77
+ isActivated(extensionId: ExtensionIdentifier): boolean;
78
+ getExtension(extensionId: string): Promise<IExtensionDescription | undefined>;
79
+ private _activateByEvent;
80
+ private _activateById;
81
+ activateByIdWithErrors(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;
82
+ getExtensionRegistry(): Promise<ExtensionDescriptionRegistry>;
83
+ getExtensionExports(extensionId: ExtensionIdentifier): IExtensionAPI | null | undefined;
84
+ /**
85
+ * Applies realpath to file-uris and returns all others uris unmodified
86
+ */
87
+ private _realPathExtensionUri;
88
+ getExtensionPathIndex(): Promise<ExtensionPaths>;
89
+ /**
90
+ * create trie to enable fast 'filename -> extension id' look up
91
+ */
92
+ private _createExtensionPathIndex;
93
+ private _deactivate;
94
+ private _activateExtension;
95
+ private _logExtensionActivationTimes;
96
+ private _doActivateExtension;
97
+ private _loadExtensionContext;
98
+ private static _callActivate;
99
+ private static _callActivateOptional;
100
+ private _activateOneStartupFinished;
101
+ private _activateAllStartupFinishedDeferred;
102
+ private _activateAllStartupFinished;
103
+ private _handleEagerExtensions;
104
+ private _handleWorkspaceContainsEagerExtensions;
105
+ private _handleWorkspaceContainsEagerExtension;
106
+ private _handleRemoteResolverEagerExtensions;
107
+ $extensionTestsExecute(): Promise<number>;
108
+ private _doHandleExtensionTests;
109
+ private _startExtensionHost;
110
+ registerRemoteAuthorityResolver(authorityPrefix: string, resolver: vscode.RemoteAuthorityResolver): vscode.Disposable;
111
+ getRemoteExecServer(remoteAuthority: string): Promise<vscode.ExecServer | undefined>;
112
+ private _activateAndGetResolver;
113
+ $resolveAuthority(remoteAuthorityChain: string, resolveAttempt: number): Promise<Dto<IResolveAuthorityResult>>;
114
+ $getCanonicalURI(remoteAuthority: string, uriComponents: UriComponents): Promise<UriComponents | null>;
115
+ $startExtensionHost(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;
116
+ $activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;
117
+ $activate(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;
118
+ $deltaExtensions(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;
119
+ $test_latency(n: number): Promise<number>;
120
+ $test_up(b: VSBuffer): Promise<number>;
121
+ $test_down(size: number): Promise<VSBuffer>;
122
+ $updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise<void>;
123
+ protected abstract _beforeAlmostReadyToRunExtensions(): Promise<void>;
124
+ protected abstract _getEntryPoint(extensionDescription: IExtensionDescription): string | undefined;
125
+ protected abstract _loadCommonJSModule<T extends object | undefined>(extensionId: IExtensionDescription | null, module: URI, activationTimesBuilder: ExtensionActivationTimesBuilder): Promise<T>;
126
+ abstract $setRemoteEnvironment(env: {
127
+ [key: string]: string | null;
128
+ }): Promise<void>;
129
+ }
130
+ declare class ExtensionPaths {
131
+ private _searchTree;
132
+ constructor(_searchTree: TernarySearchTree<URI, IExtensionDescription>);
133
+ setSearchTree(searchTree: TernarySearchTree<URI, IExtensionDescription>): void;
134
+ findSubstr(key: URI): IExtensionDescription | undefined;
135
+ forEach(callback: (value: IExtensionDescription, index: URI) => any): void;
136
+ }
137
+
138
+ 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 * as vscode from 'vscode';
4
+
5
+ interface IExtHostManagedSockets extends ExtHostManagedSocketsShape {
6
+ setFactory(socketFactoryId: number, makeConnection: () => Thenable<vscode.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,53 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import * as vscode from 'vscode';
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
+
9
+ interface IEnvironmentVariableCollection extends vscode.EnvironmentVariableCollection {
10
+ getScoped(scope: vscode.EnvironmentVariableScope): vscode.EnvironmentVariableCollection;
11
+ }
12
+ interface ITerminalInternalOptions {
13
+ isFeatureTerminal?: boolean;
14
+ useShellEnvironment?: boolean;
15
+ resolvedExtHostIdentifier?: ExtHostTerminalIdentifier;
16
+ /**
17
+ * This location is different from the API location because it can include splitActiveTerminal,
18
+ * a property we resolve internally
19
+ */
20
+ location?: TerminalLocation | {
21
+ viewColumn: number;
22
+ preserveState?: boolean;
23
+ } | {
24
+ splitActiveTerminal: boolean;
25
+ };
26
+ }
27
+
28
+ interface IExtHostTerminalService extends ExtHostTerminalServiceShape, IDisposable {
29
+ readonly _serviceBrand: undefined;
30
+ activeTerminal: vscode.Terminal | undefined;
31
+ terminals: vscode.Terminal[];
32
+ readonly onDidCloseTerminal: Event<vscode.Terminal>;
33
+ readonly onDidOpenTerminal: Event<vscode.Terminal>;
34
+ readonly onDidChangeActiveTerminal: Event<vscode.Terminal | undefined>;
35
+ readonly onDidChangeTerminalDimensions: Event<vscode.TerminalDimensionsChangeEvent>;
36
+ readonly onDidChangeTerminalState: Event<vscode.Terminal>;
37
+ readonly onDidWriteTerminalData: Event<vscode.TerminalDataWriteEvent>;
38
+ readonly onDidExecuteTerminalCommand: Event<vscode.TerminalExecutedCommand>;
39
+ readonly onDidChangeShell: Event<string>;
40
+ createTerminal(name?: string, shellPath?: string, shellArgs?: readonly string[] | string): vscode.Terminal;
41
+ createTerminalFromOptions(options: vscode.TerminalOptions, internalOptions?: ITerminalInternalOptions): vscode.Terminal;
42
+ createExtensionTerminal(options: vscode.ExtensionTerminalOptions): vscode.Terminal;
43
+ attachPtyToTerminal(id: number, pty: vscode.Pseudoterminal): void;
44
+ getDefaultShell(useAutomationShell: boolean): string;
45
+ getDefaultShellArgs(useAutomationShell: boolean): string[] | string;
46
+ registerLinkProvider(provider: vscode.TerminalLinkProvider): vscode.Disposable;
47
+ registerProfileProvider(extension: IExtensionDescription, id: string, provider: vscode.TerminalProfileProvider): vscode.Disposable;
48
+ registerTerminalQuickFixProvider(id: string, extensionId: string, provider: vscode.TerminalQuickFixProvider): vscode.Disposable;
49
+ getEnvironmentVariableCollection(extension: IExtensionDescription): IEnvironmentVariableCollection;
50
+ }
51
+ declare const IExtHostTerminalService: ServiceIdentifier<IExtHostTerminalService>;
52
+
53
+ export { IExtHostTerminalService, type ITerminalInternalOptions };
@@ -0,0 +1,19 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { IDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
+ import { IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
4
+ import * as vscode from 'vscode';
5
+ import { TunnelOptions } from 'vscode/vscode/vs/platform/tunnel/common/tunnel';
6
+ import { ExtHostTunnelServiceShape, PortAttributesSelector } from './extHost.protocol.js';
7
+
8
+ interface IExtHostTunnelService extends ExtHostTunnelServiceShape {
9
+ readonly _serviceBrand: undefined;
10
+ openTunnel(extension: IExtensionDescription, forward: TunnelOptions): Promise<vscode.Tunnel | undefined>;
11
+ getTunnels(): Promise<vscode.TunnelDescription[]>;
12
+ onDidChangeTunnels: vscode.Event<void>;
13
+ setTunnelFactory(provider: vscode.RemoteAuthorityResolver | undefined, managedRemoteAuthority: vscode.ManagedResolvedAuthority | undefined): Promise<IDisposable>;
14
+ registerPortsAttributesProvider(portSelector: PortAttributesSelector, provider: vscode.PortAttributesProvider): IDisposable;
15
+ registerTunnelProvider(provider: vscode.TunnelProvider, information: vscode.TunnelInformation): Promise<IDisposable>;
16
+ }
17
+ declare const IExtHostTunnelService: ServiceIdentifier<IExtHostTunnelService>;
18
+
19
+ export { IExtHostTunnelService };
@@ -0,0 +1,12 @@
1
+ declare enum ExtensionRuntime {
2
+ /**
3
+ * The extension is running in a NodeJS extension host. Runtime access to NodeJS APIs is available.
4
+ */
5
+ Node = 1,
6
+ /**
7
+ * The extension is running in a Webworker extension host. Runtime access is limited to Webworker APIs.
8
+ */
9
+ Webworker = 2
10
+ }
11
+
12
+ export { ExtensionRuntime };
@@ -0,0 +1,9 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { IURITransformer } from 'vscode/vscode/vs/base/common/uriIpc';
3
+
4
+ interface IURITransformerService extends IURITransformer {
5
+ readonly _serviceBrand: undefined;
6
+ }
7
+ declare const IURITransformerService: ServiceIdentifier<IURITransformerService>;
8
+
9
+ export { IURITransformerService };
@@ -0,0 +1,91 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { IDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
+ import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation';
4
+ import { Event } from 'vscode/vscode/vs/base/common/event';
5
+ import { URI, UriComponents } from 'vscode/vscode/vs/base/common/uri';
6
+ import { IExtensionDescription, ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
7
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
8
+ import { EditSessionIdentityMatch } from 'vscode/vscode/vs/platform/workspace/common/editSessions';
9
+ import { Workspace } from 'vscode/vscode/vs/platform/workspace/common/workspace';
10
+ import { IExtHostFileSystemInfo } from './extHostFileSystemInfo.js';
11
+ import { IExtHostInitDataService } from './extHostInitDataService.js';
12
+ import { IExtHostRpcService } from './extHostRpcService.js';
13
+ import { IURITransformerService } from './extHostUriTransformerService.js';
14
+ import { IRawFileMatch2 } from 'vscode/vscode/vs/workbench/services/search/common/search';
15
+ import * as vscode from 'vscode';
16
+ import { ExtHostWorkspaceShape, IWorkspaceData } from './extHost.protocol.js';
17
+
18
+ interface IExtHostWorkspaceProvider {
19
+ getWorkspaceFolder2(uri: vscode.Uri, resolveParent?: boolean): Promise<vscode.WorkspaceFolder | undefined>;
20
+ resolveWorkspaceFolder(uri: vscode.Uri): Promise<vscode.WorkspaceFolder | undefined>;
21
+ getWorkspaceFolders2(): Promise<vscode.WorkspaceFolder[] | undefined>;
22
+ resolveProxy(url: string): Promise<string | undefined>;
23
+ }
24
+ declare class ExtHostWorkspace implements ExtHostWorkspaceShape, IExtHostWorkspaceProvider {
25
+ readonly _serviceBrand: undefined;
26
+ private readonly _onDidChangeWorkspace;
27
+ readonly onDidChangeWorkspace: Event<vscode.WorkspaceFoldersChangeEvent>;
28
+ private readonly _onDidGrantWorkspaceTrust;
29
+ readonly onDidGrantWorkspaceTrust: Event<void>;
30
+ private readonly _logService;
31
+ private readonly _requestIdProvider;
32
+ private readonly _barrier;
33
+ private _confirmedWorkspace?;
34
+ private _unconfirmedWorkspace?;
35
+ private readonly _proxy;
36
+ private readonly _messageService;
37
+ private readonly _extHostFileSystemInfo;
38
+ private readonly _uriTransformerService;
39
+ private readonly _activeSearchCallbacks;
40
+ private _trusted;
41
+ private readonly _editSessionIdentityProviders;
42
+ constructor(extHostRpc: IExtHostRpcService, initData: IExtHostInitDataService, extHostFileSystemInfo: IExtHostFileSystemInfo, logService: ILogService, uriTransformerService: IURITransformerService);
43
+ $initializeWorkspace(data: IWorkspaceData | null, trusted: boolean): void;
44
+ waitForInitializeCall(): Promise<boolean>;
45
+ get workspace(): Workspace | undefined;
46
+ get name(): string | undefined;
47
+ get workspaceFile(): vscode.Uri | undefined;
48
+ private get _actualWorkspace();
49
+ getWorkspaceFolders(): vscode.WorkspaceFolder[] | undefined;
50
+ getWorkspaceFolders2(): Promise<vscode.WorkspaceFolder[] | undefined>;
51
+ updateWorkspaceFolders(extension: IExtensionDescription, index: number, deleteCount: number, ...workspaceFoldersToAdd: {
52
+ uri: vscode.Uri;
53
+ name?: string;
54
+ }[]): boolean;
55
+ getWorkspaceFolder(uri: vscode.Uri, resolveParent?: boolean): vscode.WorkspaceFolder | undefined;
56
+ getWorkspaceFolder2(uri: vscode.Uri, resolveParent?: boolean): Promise<vscode.WorkspaceFolder | undefined>;
57
+ resolveWorkspaceFolder(uri: vscode.Uri): Promise<vscode.WorkspaceFolder | undefined>;
58
+ getPath(): string | undefined;
59
+ getRelativePath(pathOrUri: string | vscode.Uri, includeWorkspace?: boolean): string;
60
+ private trySetWorkspaceFolders;
61
+ $acceptWorkspaceData(data: IWorkspaceData | null): void;
62
+ /**
63
+ * Note, null/undefined have different and important meanings for "exclude"
64
+ */
65
+ findFiles(include: vscode.GlobPattern | undefined, exclude: vscode.GlobPattern | null | undefined, maxResults: number | undefined, extensionId: ExtensionIdentifier, token?: vscode.CancellationToken): Promise<vscode.Uri[]>;
66
+ findTextInFiles(query: vscode.TextSearchQuery, options: vscode.FindTextInFilesOptions, callback: (result: vscode.TextSearchResult) => void, extensionId: ExtensionIdentifier, token?: vscode.CancellationToken): Promise<vscode.TextSearchComplete>;
67
+ $handleTextSearchResult(result: IRawFileMatch2, requestId: number): void;
68
+ save(uri: URI): Promise<URI | undefined>;
69
+ saveAs(uri: URI): Promise<URI | undefined>;
70
+ saveAll(includeUntitled?: boolean): Promise<boolean>;
71
+ resolveProxy(url: string): Promise<string | undefined>;
72
+ get trusted(): boolean;
73
+ requestWorkspaceTrust(options?: vscode.WorkspaceTrustRequestOptions): Promise<boolean | undefined>;
74
+ $onDidGrantWorkspaceTrust(): void;
75
+ private _providerHandlePool;
76
+ registerEditSessionIdentityProvider(scheme: string, provider: vscode.EditSessionIdentityProvider): IDisposable;
77
+ $getEditSessionIdentifier(workspaceFolder: UriComponents, cancellationToken: CancellationToken): Promise<string | undefined>;
78
+ $provideEditSessionIdentityMatch(workspaceFolder: UriComponents, identity1: string, identity2: string, cancellationToken: CancellationToken): Promise<EditSessionIdentityMatch | undefined>;
79
+ private readonly _onWillCreateEditSessionIdentityEvent;
80
+ getOnWillCreateEditSessionIdentityEvent(extension: IExtensionDescription): Event<vscode.EditSessionIdentityWillCreateEvent>;
81
+ $onWillCreateEditSessionIdentity(workspaceFolder: UriComponents, token: CancellationToken, timeout: number): Promise<void>;
82
+ private readonly _canonicalUriProviders;
83
+ registerCanonicalUriProvider(scheme: string, provider: vscode.CanonicalUriProvider): IDisposable;
84
+ provideCanonicalUri(uri: URI, options: vscode.CanonicalUriRequestOptions, cancellationToken: CancellationToken): Promise<URI | undefined>;
85
+ $provideCanonicalUri(uri: UriComponents, targetScheme: string, cancellationToken: CancellationToken): Promise<UriComponents | undefined>;
86
+ }
87
+ declare const IExtHostWorkspace: ServiceIdentifier<IExtHostWorkspace>;
88
+ interface IExtHostWorkspace extends ExtHostWorkspace, ExtHostWorkspaceShape, IExtHostWorkspaceProvider {
89
+ }
90
+
91
+ export { ExtHostWorkspace, IExtHostWorkspace, type IExtHostWorkspaceProvider };
@@ -0,0 +1,21 @@
1
+ import { IExtensionApiFactory } from '../common/extHost.api.impl.js';
2
+ import { ExtensionActivationTimesBuilder } from '../common/extHostExtensionActivator.js';
3
+ import { AbstractExtHostExtensionService } from '../common/extHostExtensionService.js';
4
+ import { URI } from 'vscode/vscode/vs/base/common/uri';
5
+ import { IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
6
+ import { ExtensionRuntime } from '../common/extHostTypes.js';
7
+
8
+ declare class ExtHostExtensionService extends AbstractExtHostExtensionService {
9
+ readonly extensionRuntime = ExtensionRuntime.Webworker;
10
+ private _fakeModules?;
11
+ protected _apiFactory?: IExtensionApiFactory;
12
+ protected _beforeAlmostReadyToRunExtensions(): Promise<void>;
13
+ protected _getEntryPoint(extensionDescription: IExtensionDescription): string | undefined;
14
+ protected _loadCommonJSModule<T extends object | undefined>(extension: IExtensionDescription | null, module: URI, activationTimesBuilder: ExtensionActivationTimesBuilder): Promise<T>;
15
+ $setRemoteEnvironment(_env: {
16
+ [key: string]: string | null;
17
+ }): Promise<void>;
18
+ private _waitForDebuggerAttachment;
19
+ }
20
+
21
+ export { ExtHostExtensionService };
@@ -0,0 +1,35 @@
1
+ import { URI } from 'vscode/vscode/vs/base/common/uri';
2
+ import { ITextSearchPreviewOptions } from 'vscode/vscode/vs/workbench/services/search/common/search';
3
+
4
+ interface ICommonQueryBuilderOptions {
5
+ _reason?: string;
6
+ excludePattern?: string | string[];
7
+ includePattern?: string | string[];
8
+ extraFileResources?: URI[];
9
+ /** Parse the special ./ syntax supported by the searchview, and expand foo to ** /foo */
10
+ expandPatterns?: boolean;
11
+ maxResults?: number;
12
+ maxFileSize?: number;
13
+ disregardIgnoreFiles?: boolean;
14
+ disregardGlobalIgnoreFiles?: boolean;
15
+ disregardParentIgnoreFiles?: boolean;
16
+ disregardExcludeSettings?: boolean;
17
+ disregardSearchExcludeSettings?: boolean;
18
+ ignoreSymlinks?: boolean;
19
+ onlyOpenEditors?: boolean;
20
+ }
21
+ interface ITextQueryBuilderOptions extends ICommonQueryBuilderOptions {
22
+ previewOptions?: ITextSearchPreviewOptions;
23
+ fileEncoding?: string;
24
+ beforeContext?: number;
25
+ afterContext?: number;
26
+ isSmartCase?: boolean;
27
+ notebookSearchConfig?: {
28
+ includeMarkupInput: boolean;
29
+ includeMarkupPreview: boolean;
30
+ includeCodeInput: boolean;
31
+ includeOutput: boolean;
32
+ };
33
+ }
34
+
35
+ export type { ITextQueryBuilderOptions };